Мазмуну:

Дистанциялык студенттер үчүн мектеп коңгуроосу: 6 кадам
Дистанциялык студенттер үчүн мектеп коңгуроосу: 6 кадам

Video: Дистанциялык студенттер үчүн мектеп коңгуроосу: 6 кадам

Video: Дистанциялык студенттер үчүн мектеп коңгуроосу: 6 кадам
Video: Кайсы мектеп мыкты? К.Алтыбаев мектебиби, же К.Датка мектебиби? Биринчи бол программасы 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-бит) Lite" программасын жүктөп алдым жана тезирээк өтөт.

Raspberry Pi тармагын жана интерфейс параметрлерин конфигурациялаңыз

$ sudo raspi-config

Конфигурацияда төмөнкүлөрдү аткарыңыз:

  • Сырсөздү алмаштырыңыз - муну биринчи жолу кылыңыз, үмүттөнөм онлайнга кирерден мурун!
  • "Тармак параметрлери" бөлүмүндө,

    • Хосттун атын өзгөртүү. Мен хосттун атын колдондум: "мектеп коңгуроосу".
    • Зымсыз LAN тармагыңызга туташыңыз (эгер сиз муну орнотууда кыла элек болсоңуз)
  • "Interfacing Options" астында SSH кирүүнү күйгүзүңүз
  • "Жаңыртуу" опциясын иштетүү дайыма жакшы

Муну жасап, кайра жүктөгөндөн кийин, SSH кардарын колдонуп, ошол эле жергиликтүү тармактын башка компьютеринен Raspberry Pi менен туташуу керек. Ага төмөнкү ишеним грамоталарын колдонуу менен туташыңыз:

хосттун аты: schoolbell.local

колдонуучу: pi сырсөзү: whateveryousetitas

Linux кутусунан, бул буйрук сабын $ чакыруусун терүү сыяктуу жөнөкөй:

$ ssh [email protected]

… Сырсөздү дароо киргизиңиз

Бул сизди киргизет жана Raspberry Piдеги убакыттын туура экендигин текшере аласыз. Буйрук сабында дата буйругун териңиз жана жоопту текшериңиз:

pi@schoolbell: ~ $ дата

3 -сентябрь 20:44:34 АКДТ 2020

Буюрса, бул учур. Эгер бул туура эмес болсо, Google Raspberry Piде NTPти орнотуу жөнүндө.

2 -кадам: Үн тутумуңузду иштетиңиз

Үн тутумуңузду иштетиңиз
Үн тутумуңузду иштетиңиз

Биз MP3 файлдарын коңгуроолор үчүн ойнотуп жатабыз, андыктан бул аудио файлдарды чечүү үчүн программаны жүктөп алышыбыз керек. Мен бул буйрукту терүү менен mpg321 пакетин алдым:

pi@schoolbell: ~ $ sudo apt-get mpg321 орнотуу

Бул программаны орнотуу үчүн көрсөтмөлөрдү аткарыңыз.

Мен таң калыштуу драйвери бар жана демейки үн картасы катары толугу менен автоматтык түрдө конфигурацияланбаган эски USB динамикти колдондум, ошондуктан спикердин аппараттык дарегин колдонуу менен аны "бузуп" алаарымды таптым. Динамикти туташтыргандан кийин, аудио түзмөктөрдү тизмектөө үчүн 'aplay -l' буйругун колдондум:

pi@schoolbell: ~ $ aplay -l

**** PLAYBACK аппараттык түзмөктөрүнүн тизмеси **** карта 0: гарнитуралар [bcm2835 гарнитуралар], түзмөк 0: bcm2835 гарнитуралар [bcm2835 гарнитуралар] көмөкчү түзүлүштөр: субдивиска #0: поддержива #0 поддержива #1: поддержива #1 поддвижения #2: подстанция #2 Подписка #3: субдивиска #3 Подводка #4: поддивиска #4 Подводка #5: субдивиска #5 Подводка #6: поддивиска #6 Подводка #7: поддержива #7 карта 1: CODEC [USB Аудио CODEC], түзмөк 0: USB Аудио [USB Аудио] Көмөкчү түзүлүштөр: Subdevice #0: subdevice #0

Мен каалаган түзмөк төмөнкү, карта 1, түзмөк 0.

Мен динамикти "спикер-тест" менен сынап көрдүм, "hw: 1, 0" аппаратын колдонуп, аппараттык карта 1, түзмөк 0

pi@schoolbell: ~ $ спикер -тест -D hw: 1, 0

Бул программа спикерлерден ызы -чууну жок кылат. Ызы-чуудан ырахат алып, ачууланганыңызда control-C териңиз. Эгерде сиз эч кандай ызы -чуу укпасаңыз, google'ду колдонуп көрүңүз.

Эми сизде үн бар!

3 -кадам: Коңгуроонун үнүн текшерүү жана/же жаңы үндөрдү жасоо

Коңгуроонун үнүн текшерүү жана/же жаңы үндөрдү жасоо
Коңгуроонун үнүн текшерүү жана/же жаңы үндөрдү жасоо

Коңгуроо үчүн "freesound.org" сайтынан "bing-bong" үнүн жүктөп алдым. Бул үндү жеткиликтүү кылуу үчүн Benboncan рахмат:

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

Сиз үн түздөн -түз ойной алат. Мен бул файлдын mp3 версиясын Raspberry Pi компьютерине терүү менен жүктөп алмакмын (ал 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

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

Куттуктайм! Сизде аудио бар.

Ноутбугумдагы "audacity" үн түзөтүү кодун колдонуп, көңүл ачуу үчүн файлды "bing" жана "bong" деп бөлдүм. Сиз каалаган mp3 же башка форматты колдоно аласыз (мен башкаларды сынап көргөн эмесмин) үн файлдары.

4 -кадам: Кодду орнотуп, графигиңизди орнотуңуз

Кодду орнотуп, графигиңизди орнотуңуз
Кодду орнотуп, графигиңизди орнотуңуз

Код - бул учурдагы күндү/убакытты алган питон скрипти, эгерде бул күн майрам эмес, иш күнү болсо, анда ал убактын коңгуроо убактысына дал келерин текшерет, керек болсо чырылдайт.

Адегенде сиз аны ишке киргизесиз, андан кийин аны ар бир мүнөт сайын автоматташтырасыз.

Githubдан кодду жүктөп алыңыз:

gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618

Мен муну файлды жергиликтүү компьютерде сактоо жана коопсуз көчүрүү (scp) аркылуу Raspberry piге коюу аркылуу оңой деп эсептейм.

Жергиликтүү машинаңызда кодду браузериңизден көчүрүп алыңыз, андан кийин текст файлына чаптаңыз жана "schoolbell.py" деген ат менен сактаңыз. Андан кийин файлды скриптке бериңиз:

жергиликтүү машина: ~ $ scp schoolbell.py [email protected]: ~/

Сизден schoolbell.local дарегине пи колдонуучусунун сырсөзүн киргизүү сунушталат - сырсөздү киргизиңиз жана файл коопсуз түрдө көчүрүлөт. Бул буйрук python скрипти сакталган каталогдо иштеши керек жана аны pi колдонуучунун үй каталогуна көчүрүшү керек. Сиз schoolbell.local дарегине ssh жөнөтө аласыз жана код ошол жерде болушу керек:

жергиликтүү-машина: ~ $ ssh [email protected]

Андан кийин schoolbell.localде файлдарды тизмектеңиз (дагы файлдарды көрө аласыз):

pi@schoolbell: ~ $ ls

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

Эми кодду pico сыяктуу редактордун жардамы менен коңгуроо графигиңизге өзгөртүү үчүн түзөтүңүз:

pi@schoolbell: ~ $ pico schoolbell.py

Коддо үч "сөздүк" бар, алар коңгуроо обондорун, аларды ойноо убактысын жана каникулдан качуу үчүн дем алыш күндөрүндөгү коңгуроолорду автоматтык түрдө өткөрүп жиберет.

Мисалы, коңгуроолордун сөздүгү:

коңгуроо = {

'эскертүү': 'bing-bong-chime-hq.mp3', 'start': 'bing-bong-chime-hq.mp3', 'end': '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). Жазылган жана автордук укуктар Джо Дрю тарабынан, азыр Nanakos Chrysostomos жана башкалар тарабынан корголот. …. дагы чыгаруу….

Сиз коңгуроону угушуңуз керек болчу.

Эми аргумент катары убакытты колдонуу менен кодду текшериңиз. Убакытты алдыңкы нөлдөр менен киргизүүнү унутпаңыз. Мисалы, "мектеп автобусу" коңгуроосун саат 9да сыноо үчүн, мен терем:

pi@мектеп коңгуроосу: ~ $./schoolbell.py 09:00

Бул сиздин коңгурооңуздун шыңгырашына алып келиши керек! Сиз ошондой эле коңгуроо эмес убакытта шыңгырабай турганын текшере аласыз.

5 -кадам: Crond менен чуркоону автоматташтыруу

Crond менен чуркоону автоматташтырыңыз
Crond менен чуркоону автоматташтырыңыз

Cron 'Daemon' - бул Linux системасында кайталануучу тапшырмаларды аткаруучу пландоочу. Ал датанын/убакыттын cron таблицасындагы (crontab) үлгүгө дал келээрин текшерет жана эгер туура келсе кодду иштетет. Сиз аны "crontab -e" буйругу менен түзөтө аласыз:

pi@schoolbell: ~ $ crontab -e

Бул файл редакторун ачат жана бул файлдын түбүнө төмөнкү сапты кошосуз:

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

Бул буйрук cronго сценарийиңизди кадимки үй каталогунда (/home/pi) аткарган python3 иштетүүнү айтат. Бешөөнүн айтымында, бул ар бир мүнөт (биринчи *), ар бир саат (кийинки *…), айдын ар бир күнү, айдын жана жуманын ар бир күнү болушу керек.

Эми, мүнөт сайын schoolbell.py скрипти иштейт. Көпчүлүк мүнөттөрдүн ичинде код иштейт жана ал чырылдабастан эле чыгып кетиши керек, бирок коңгуроо убактысы чыкса, ал коңгуроо кагат.

Көңүл буруңуз, анткени cron ар бир мүнөт сайын иштейт, сиз коңгуроолорду мүнөтүнө чейин жасай албайсыз. Теориялык жактан мүмкүн, эгер сиздин системаңыз тыгылып калса, cron мүнөттүн чокусунан кийин бир нече секундага чейин иштебей калышы мүмкүн, бул коңгуроону кечиктирет. Эгерде кандайдыр бир жол менен крон толук мүнөткө чуркабаса, коңгуроо өткөрүлбөй калмак.

Кеңеш: Узартылган майрамдарда (мисалы, жайкы мезгилде), бул саптын биринчи белгисине хэштег (#) кошуп койсоңуз болот, ал аны комментарийге айландырат жана ошону менен анын иштөөсүн этибарга албайт. Мектеп сессияга кайтып келгенде, # дегенди алып салыңыз, ал кайра иштей баштайт.

6 -кадам: Ыңгайлаштырыңыз жана ырахат алыңыз

Эми, сизде үйдө иштеген коңгуроо системасы болушу керек жана сиздин окуучуңуз эч качан сабакка кечикпеши керек.

Сиз коңгуроо обондорун өзгөртүү менен бул долбоорду ыңгайлаштыра аласыз.

  • Сиз Биг Бенге чейрек саат сайын коңгуроо кагып, сааттын шыңгырашын жасай аласыз.
  • Сиз сүйүктүү рэпердин фристайлынан үлгү алсаңыз болот.
  • Сиз окууга басым жасоо үчүн сублиминалдуу билдирүүлөрдү жасай аласыз.

Коронавирустун ушул учурунда сак болуңуз.

Сүрөт
Сүрөт
Сүрөт
Сүрөт

"Тийбейм" үй -бүлөлүк сынагында экинчи орунду ээледи

Сунушталууда: