Агуулгын хүснэгт:

Алсын зайн оюутнуудад зориулсан сургуулийн хонх: 6 алхам
Алсын зайн оюутнуудад зориулсан сургуулийн хонх: 6 алхам

Видео: Алсын зайн оюутнуудад зориулсан сургуулийн хонх: 6 алхам

Видео: Алсын зайн оюутнуудад зориулсан сургуулийн хонх: 6 алхам
Видео: Тэр миний нүцгэн зургийг тараачихаж 2024, Долдугаар сарын
Anonim
Алсын зайн оюутнуудад зориулсан сургуулийн хонх
Алсын зайн оюутнуудад зориулсан сургуулийн хонх

COVID-19 тахлын улмаас олон хүүхдийн сургууль холын зайн сургалтанд хамрагдах болсон. Энэхүү гэрийн сургуулийн хонх нь Raspberry Pi болон USB чанга яригч ашигладаг хуваарийн дагуу байх хөгжилтэй арга юм. Та үүнийг хүүхэдтэйгээ хийж чадна, тэд програмчлалын талаар сурч, "хонх дарах" боломжтой. Би үүнийг 7 -р ангид сурч байгаа охиндоо зориулж барьсан (одоогоор зайнаас дамжуулж байгаа), биднийг цагтаа байлгахад сайн ажиллаж байна.

Хангамж

Энэ төслийн хувьд танд хэрэгтэй болно:

  • Raspberry Pi компьютер - Хэрэв танд WiFi байгаа бол хамгийн сайн ажилладаг, би Kano иж бүрдлээс RPi 3B ашигладаг байсан.
  • Илтгэгч - Би USB чанга яригч ашигласан

Микроконтроллер нь одоогийн огноо/цагийг авах зарим механизмтай бол код нь оюутныхаа линукс компьютер дээр эсвэл микропитон дээр ажилладаг микроконтроллер дээр хялбархан ажиллах боломжтой. Мөн ямар ч олшруулсан чанга яригч, бүр сэрүүн реле / аналог хонхыг ашиглаж болно.

Алхам 1: Raspberry Pi -ээ тохируулна уу

Raspberry Pi -ээ тохируулаарай
Raspberry Pi -ээ тохируулаарай

Raspberry Pi компьютерийг тохируулах олон тооны эх сурвалжууд байдаг тул би Google -ээс олсон нэгийг танд хэлье. Хамгийн чухал зүйл бол таны компьютер зөв огноо, цагийг олж авах арга замтай байх явдал юм. Ихэнх орчин үеийн WiFi-тэй Raspberry Pi компьютерууд NTP протоколыг ашиглан интернетээс цагийг тохируулдаг бөгөөд энэ нь миний зөв цагийг олж авсан арга юм. Би RPi -ийг "толгойгүй" болгож тохируулсан бөгөөд энэ нь гар эсвэл дэлгэцгүй боловч интернетээр аюулгүй бүрхүүл (SSH) ашиглан нэвтрэх боломжтой гэсэн үг юм. Хэрэв та RPi -тэй бол энэ тохиргоог гар / видео / хулганагүйгээр хийх боломжтой боловч эдгээр дагалдах хэрэгслийн тусламжтайгаар pi -ийг тохируулах нь илүү хялбар болно.

График интерфэйсийг ашиглах шаардлагагүй байсан тул би жижиг хэмжээтэй, татаж авахад илүү хурдан, илүү хурдан ачаалдаг "Raspberry Pi OS (32-bit) Lite" програмыг татаж авлаа.

Raspberry Pi -ийн сүлжээ болон интерфэйсийн сонголтыг тохируулна уу

$ sudo raspi-config

Тохиргоонд дараахь зүйлийг хийнэ үү.

  • Нууц үгээ солино уу - үүнийг хийх хэрэгтэй, онлайнаар орохоосоо өмнө найдаж байна!
  • "Сүлжээний сонголтууд" хэсэгт

    • Хостын нэрийг өөрчлөх. Би хост сургуулийн нэрийг ашигласан: "сургуулийн хонх".
    • Утасгүй сүлжээндээ холбогдоно уу (хэрэв та үүнийг тохиргоогоор хийгээгүй бол)
  • "Interfacing Options" хэсэгт SSH хандалтыг асаана уу
  • "Шинэчлэх" сонголтыг ажиллуулах нь үргэлж сайн байдаг

Үүнийг хийсний дараа дахин ачаалсны дараа та SSH клиент ашиглан ижил локал сүлжээнд байгаа өөр компьютераас Raspberry Pi -тай холбогдох боломжтой байх ёстой. Дараах итгэмжлэлийг ашиглан түүнтэй холбогдоно уу.

хостын нэр: schoolbell.local

Хэрэглэгч: pi нууц үг: whateveryousetitas

Линукс хайрцгаас энэ тушаалын мөрийг $ prompt дээр бичихтэй адил хялбар юм.

$ ssh [email protected]

… нууц үгээ шууд оруулна уу

Энэ нь таныг нэвтрэх бөгөөд та Raspberry Pi дээрх цаг зөв эсэхийг шалгаж болно. Тушаалын мөрөнд огнооны командыг бичээд хариултыг шалгана уу.

pi@schoolbell: ~ $ date

Пүрэв 3 -р сарын 20:44:34 AKDT 2020

Энэ бол одоогийн цаг гэж найдаж байна. Хэрэв энэ нь буруу бол Raspberry Pi дээр NTP -ийг тохируулах талаар google -ээс үзээрэй.

Алхам 2: Дууны системээ ажиллуул

Дууны системээ ажиллуулаарай
Дууны системээ ажиллуулаарай

Бид хонхны зориулалттай MP3 файлуудыг тоглуулах гэж байгаа тул эдгээр аудио файлуудыг тайлах програмыг татаж авах шаардлагатай байна. Би энэ тушаалыг бичиж mpg321 багцыг авсан.

pi@schoolbell: ~ $ sudo apt-get install mpg321

Энэ програмыг суулгахын тулд зааврыг дагана уу.

Би хуучин USB чанга яригч ашигладаг байсан бөгөөд хачин драйвертай байсан бөгөөд автоматаар дууны картаар бүрэн тохируулагдаагүй байсан тул чанга яригчийг тоног төхөөрөмжийн хаягийг ашиглан "хакердах" боломжтой болсон. Чанга яригчийг залгасны дараа би 'aplay -l' командыг ашиглан аудио төхөөрөмжүүдийг жагсаав.

pi@schoolbell: ~ $ aplay -l

**** PLAYBACK тоног төхөөрөмжийн төхөөрөмжийн жагсаалт **** карт 0: Чихэвч [bcm2835 чихэвч], төхөөрөмж 0: bcm2835 чихэвч [bcm2835 чихэвч] Дэд төхөөрөмж: Дэд төхөөрөмж #0: дэд төхөөрөмж #0 Дэд төхөөрөмж #1: дэд төхөөрөмж #1 Дэд төхөөрөмж #2: subdevice #2 Subdevice #3: subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: subdevice #5 Subdevice #6: subdevice #6 Subdevice #7: subdevice #7 card 1: CODEC [USB Audio CODEC], төхөөрөмж 0: USB аудио [USB аудио] Дэд төхөөрөмжүүд: Дэд төхөөрөмж #0: дэд төхөөрөмж #0

Миний хүсч буй төхөөрөмж бол доод хэсэг, карт 1, төхөөрөмж 0.

Би чанга яригчийг "чанга яригч-тест" ашиглан "hw: 1, 0" төхөөрөмжийг ашиглан туршиж үзсэн бөгөөд энэ нь тоног төхөөрөмжийн карт 1, төхөөрөмж 0 гэсэн үг юм.

pi@schoolbell: ~ $ чанга яригч -тест H -х: 1, 0

Энэ програм нь чанга яригчдаас дуу чимээ гаргадаг. Дуу чимээг сайхан өнгөрүүлээрэй, дараа нь бухимдах үедээ control-C гэж бичээрэй. Хэрэв та ямар ч чимээ сонсохгүй бол google -ийг үзээрэй.

Одоо танд дуу байна!

Алхам 3: Хонхны дууны тоглуулалтыг шалгах ба/эсвэл шинэ дуу гаргах

Хонхны дууны тоглуулалтыг шалгах ба/эсвэл шинэ дуу гаргах
Хонхны дууны тоглуулалтыг шалгах ба/эсвэл шинэ дуу гаргах

Хонхондоо зориулж "freesound.org" -оос "bing-bong" дууг татаж авлаа. Энэ дууг гаргаж өгсөн Benboncan -д баярлалаа.

freesound.org/people/Benboncan/sounds/93646/

Та дууг шууд тоглуулж болно. Би Raspberry Pi компьютер дээр энэ тушаалыг бичээд энэ файлын mp3 хувилбарыг шууд татаж авах боломжтой байсан (WiFi дээр байгаа гэж үзвэл):

pi@schoolbell: ~ $ wget

Дараа нь би энэ файлын нэрийг өөрчилсөн.

pi@schoolbell: ~ $ mv 93646_634166-hq.mp3 bing-bong-chime-hq.mp3

Дараа нь би энэ тушаалаар хонх дарж болохыг туршиж үзсэн (гаралтыг харуулав):

pi@schoolbell: ~ $ mpg321 -a hw: 1, 0 bing-bong-chime-hq.mp3

Өндөр үзүүлэлттэй MPEG 1.0/2.0/2.5 1, 2, 3-р давхарт зориулсан аудио тоглуулагч 0.3.2-1 хувилбар (2012/03/25). Бичсэн болон зохиогчийн эрхийг Жо Дрю бичсэн бөгөөд одоо Нанакос Крисостомос болон бусад хүмүүс хадгалдаг. Янз бүрийн хүмүүсийн кодыг ашигладаг. Дэлгэрэнгүй мэдээллийг 'README' -с үзнэ үү. ЭНЭ ПРОГРАММ БАТАЛГААГҮЙ БОЛОХГҮЙ! ӨӨРИЙН ЭРСДЭЛЭЭ АШИГЛААРАЙ! Bing-bong-chime-hq-аас MPEG дамжуулалтыг тоглуулж байна.mp3… MPEG 1.0 давхарга III, 128 кбит/с, 44100 Гц моно [0:02] bing-bong-chime-hq.mp3-ийн декодчилол дууссан.

Баяр хүргэе! Танд аудио байна.

Зөөврийн компьютер дээрх "audacity" дууны засварлах кодыг ашиглан би илүү хөгжилтэй байхын тулд файлыг "bing" ба "bong" болгон хуваасан. Та ямар ч mp3 эсвэл өөр формат ашиглаж болно (би бусдыг туршиж үзээгүй) дууны файл.

Алхам 4: Кодыг суулгаж, хуваариа тохируулна уу

Кодыг суулгаж, хуваариа тохируулна уу
Кодыг суулгаж, хуваариа тохируулна уу

Энэ код нь одоогийн огноо/цагийг авдаг python скрипт бөгөөд хэрэв огноо нь амралтын өдөр биш харин ажлын өдөр байвал тухайн цаг нь хонхны цагтай таарч байгаа эсэхийг шалгаж, шаардлагатай бол чимээ гаргадаг.

Эхлээд та үүнийг ажиллуулах болно, дараа нь минут тутамд автоматаар ажиллуулах болно.

Github -аас кодыг татаж авах:

gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618

Файлыг локал компьютер дээр хадгалаад аюулгүй хуулбар (scp) ашиглан Raspberry pi дээр байрлуулснаар үүнийг хийхэд хялбар гэж би бодож байна.

Орон нутгийн машин дээрээ кодоо хөтчөөсөө хуулж аваад текст файл руу буулгаад "schoolbell.py" файлын нэрээр хадгална уу. Дараа нь файлыг scp дээр дарна уу:

local-machine: ~ $ scp schoolbell.py [email protected]: ~/

Schoolbell.local дээр pi хэрэглэгчийн нууц үгийг оруулахыг танаас хүсэх болно - нууц үгээ оруулаад файлыг найдвартай хуулж аваарай. Энэ тушаалыг python скрипт хадгалагдсан директор дээр ажиллуулж, pi хэрэглэгчийн гэрийн лавлах руу хуулна. Та ssh -ийг schoolbell.local руу оруулах боломжтой бөгөөд код нь тэнд байх ёстой.

local-machine: ~ $ ssh [email protected]

Дараа нь schoolbell.local дээр файлуудыг жагсааж бичнэ үү (та илүү олон файл харж болно):

pi@сургуулийн хонх: ~ $ ls

bing-bong-chime-hq.mp3 schoolbell.py

Пико гэх мэт редактор ашиглан хонхны хуваариа гаргахын тулд кодыг засна уу.

pi@schoolbell: ~ $ pico schoolbell.py

Уг код нь хонхны ая, тоглох цаг, амралтын өдрүүдээс зайлсхийх гурван "толь бичиг" -тэй бөгөөд амралтын өдрүүдийн хонхыг автоматаар алгасдаг.

Жишээлбэл, хонхны дууны толь бичиг нь:

хонхны ая = {

'анхааруулах': 'bing-bong-chime-hq.mp3', 'эхлэх': 'bing-bong-chime-hq.mp3', 'төгсгөл': 'bing-bong-chime-hq.mp3'}

Энэ нь гурван төрлийн хонх, анхааруулах хонх, хичээлийн эхлэл, төгсгөлийг тодорхойлдог. Бид ганцхан хонхны дуутай учраас тэд бүгд нэг файлыг зааж өгдөг, гэхдээ хэрэв та өөр өөр аялгуу хийвэл өөрчилж болно. Та өөр төрлийн хонхны ая нэмж болно. Би бас хонх ярихын тулд ярианы синтезатор ашиглан тоглосон боловч үүнийг гэрийн бусад хүмүүс тийм ч таатай хүлээж аваагүй.

Хонхны хуваарь толь бичиг ижил төстэй боловч "түлхүүр" нь одоо хонхны цаг болжээ. та HH: MM форматыг тэргүүлэх тэг, 24 цагийн хугацаатай (цэргийн цаг) ашиглах хэрэгтэй.

хонхны хуваарь = {

'09: 00 ':' эхлэх ', #' Автобус 'хонх бэлэн болох гэж байна '09: 28': 'анхааруулах',….. '13: 58 ':' анхааруулах ', # 4 -ний өдрийн 14: 00 ':' эхлэх ', '15: 00': 'төгсгөл'}

Энэ түлхүүр дэх утга: утга хос бол ашиглах хонхны ая бөгөөд дээр тодорхойлсон хонхны аяны аль нэгтэй таарч байх шаардлагатай.

Эцэст нь баярын толь бичигт амралтын өдрүүдийг жагсаасан болно. Формат нь YYYY-mm-dd, зураг дээр харуулснаар тэгийг тэргүүлж байна.

амралтын өдрүүд = {

'2020-09-07', …. '2021-03-11', '2021-03-12' }

Засаж дууссаны дараа редактороос гарч файлыг хадгалж, хэрэв та пико ашиглаж байгаа бол ctrl-X гэж бичнэ үү.

Python кодыг ажиллуулах боломжтой болгох:

pi@schoolbell: ~ $ chmod a+x schoolbell.py

Энэ нь бүх хэрэглэгчдэд кодыг гүйцэтгэх боломжийг олгодог бөгөөд "а" нь хүн бүрт, "+" нэмэх зөвшөөрөл, "x" нь гүйцэтгэх боломжтой болно.

Одоо кодыг ажиллуулж, гаралтыг ажиглаарай. Та файлын нэрийг бичиж файлыг ажиллуулж болох боловч файлын нэрийн өмнө "./" гэж бичээд одоогийн санд байгаа гэдгийг зааж өгөх хэрэгтэйг анхаарна уу.

pi@сургуулийн хонх: ~ $./schoolbell.py

Энэ бол сургуулийн өдөр, шалгах цаг 21:35

Энэ код нь сургуулийн өдөр эсэхийг (жишээлбэл, амралтын өдөр эсвэл амралтын өдөр биш) хэлэх бөгөөд цаг нь хонхны цагтай таарч байгаа эсэхийг харах болно. Энэ тохиолдолд хонхны цаг биш байсан тул цэвэрхэн гарлаа. Хэрэв хонхны цаг болсон бол энэ нь дуугарах байсан.

Таны код хонх тоглож болохыг шалгахын тулд файлын командын мөрийн сонголтыг ашиглана уу. Бид bing-bong файлыг ашиглах болно.

pi@schoolbell: ~/schoolbell $./schoolbell.py bing-bong-chime-hq.mp3

Энэ бол сургуулийн өдөр бөгөөд шалгах цаг 21:38 Өндөр үзүүлэлттэй MPEG 1.0/2.0/2.5 1, 2, 3-р аудио тоглуулагч. 0.3.2-1 хувилбар (2012/03/25). Бичсэн болон зохиогчийн эрхийг Жо Дрю бичсэн бөгөөд одоо Нанакос Крисостомос болон бусад хүмүүс хадгалдаг. …. илүү их гаралт ….

Та хонхыг сонсох ёстой байсан.

Одоо цагийг аргумент болгон ашиглан кодыг туршиж үзээрэй. Цагийг тэргүүлэх тэгээр оруулахаа бүү мартаарай. Жишээлбэл, өглөөний 9 цагт "сургуулийн автобус" хонхыг шалгахын тулд би дараах зүйлийг бичнэ.

pi@сургуулийн хонх: ~ $./schoolbell.py 09:00

Энэ нь таны хонх дуугарах ёстой! Та хонх дуугардаггүй үед ч дуугарахгүй байгааг шалгаж болно.

Алхам 5: Гүйлтийг Crond ашиглан автоматжуулах

Крон ашиглан гүйлтийг автоматжуулах
Крон ашиглан гүйлтийг автоматжуулах

Cron 'демон бол линукс систем дээр давтагддаг ажлуудыг гүйцэтгэдэг хуваарьлагч юм. Энэ нь огноо/цаг нь cron хүснэгтийн (crontab) загвартай таарч байгаа эсэхийг шалгадаг бөгөөд хэрэв таарвал кодыг ажиллуулдаг. Та үүнийг "crontab -e" командыг ашиглан засах боломжтой.

pi@schoolbell: ~ $ crontab -e

Энэ нь файл засварлагчийг нээх бөгөөд энэ файлын доод хэсэгт та дараах мөрийг нэмэх болно.

* * * * * python3 /home/pi/schoolbell.py

Энэ тушаал нь cron -ийг ердийн гэрийн лавлах (/home/pi) дээр скриптээ ажиллуулж python3 ажиллуулахыг хэлдэг. Таван хүн үүнийг минут тутамд (эхний *), цаг тутамд (дараагийн *…), сарын өдөр, сар, долоо хоногийн өдөр бүр хийх ёстой гэж хэлдэг.

Одоо, минут тутамд schoolbell.py скрипт ажиллах болно. Ихэнх минутын турш код ажиллах бөгөөд энэ нь чимээгүйхэн л гарах ёстойг олж хардаг, гэхдээ хэрэв хонхны цаг дуугарвал дуугарах болно.

Крон минут тутамд ажилладаг тул та хонхыг минутнаас илүү нарийн болгож чадахгүй гэдгийг анхаарна уу. Хэрэв таны систем гацах юм бол cron минут дуусахаас хэдхэн секундын дараа ажиллахгүй байж магадгүй тул хонхыг хожимдуулах нь онолын хувьд боломжтой гэж би бодож байна. Хэрэв ямар нэгэн байдлаар крон бүтэн минутын турш гүйхгүй байсан бол хонх дуугарахгүй байв.

Зөвлөгөө: Уртасгасан амралтын өдрүүдэд (жишээлбэл зун) та энэ мөрийн эхний тэмдэгт дээр hashtag (#) нэмж оруулах боломжтой бөгөөд үүнийг тайлбар болгон хувиргаж, ажиллуулахыг үл тоомсорлодог. Сургууль буцаад хичээлээ эхлэх үед # -г хасахад л тэр дахин ажиллаж эхлэх болно.

Алхам 6: Өөрчилж, сайхан өнгөрүүлээрэй

Одоо та гэртээ ажилладаг сургуулийн хонхны системтэй байх ёстой бөгөөд таны оюутан хэзээ ч хичээлээсээ хоцорч болохгүй.

Та хонхны аяыг өөрчлөх замаар энэхүү төслийг өөрчлөх боломжтой.

  • Та үүнийг Биг Бен рүү дуудаж, улирал тутамд дуугарч, цагийг нь дуугаргаж болно.
  • Та дуртай репперийнхээ чөлөөт хэв маягийг туршиж үзэх боломжтой.
  • Та судлахад анхаарлаа төвлөрүүлэхийн тулд далд зурвас бичиж болно.

Коронавируст халдвартай энэ үед аюулгүй байгаарай.

Зураг
Зураг
Зураг
Зураг

"Үүнд хүрч чадахгүй байна" гэр бүлийн уралдаанд дэд байр эзэлсэн

Зөвлөмж болгож буй: