Përmbajtje:

Këmbana e shkollës për studentët në distancë: 6 hapa
Këmbana e shkollës për studentët në distancë: 6 hapa

Video: Këmbana e shkollës për studentët në distancë: 6 hapa

Video: Këmbana e shkollës për studentët në distancë: 6 hapa
Video: Zbardhet projekt-rregullorja per universitetet |Lajme-News 2024, Nëntor
Anonim
Këmbana e shkollës për studentët në distancë
Këmbana e shkollës për studentët në distancë

Me pandeminë COVID-19, shumë shkolla për fëmijë kanë shkuar në shpërndarje në distancë. Kjo kambanë e shkollës në shtëpi është një mënyrë argëtuese për të qëndruar sipas orarit që përdor një Raspberry Pi dhe një altoparlant USB. Ju mund ta bëni atë me fëmijën tuaj dhe ata mund të mësojnë rreth programimit dhe mund të "bien ziles". Unë e ndërtova këtë për vajzën time që po shkon në klasën e 7 -të (aktualisht përmes shpërndarjes në distancë), dhe po funksionon mirë për të na mbajtur në kohë.

Furnizimet

Për këtë projekt, do t'ju duhet:

  • Një kompjuter Raspberry Pi - Punon më mirë nëse keni WiFi, unë kam përdorur një RPi 3B nga një pajisje Kano
  • Një altoparlant - Kam përdorur një altoparlant USB

Kodi mund të funksionojë lehtësisht në kompjuterin linux të studentit tuaj ose edhe në një mikrokontrollues që funksionon me mikropiton, për sa kohë që mikrokontrolluesi ka ndonjë mekanizëm për të marrë datën/kohën aktuale. Gjithashtu çdo altoparlant i përforcuar, ose edhe më i ftohtë një stafetë / zile analoge, mund të përdoret.

Hapi 1: Vendosni Raspberry Pi tuaj

Vendosni Raspberry Pi tuaj
Vendosni Raspberry Pi tuaj

Ekzistojnë një numër i madh burimesh për vendosjen e një kompjuteri Raspberry Pi, kështu që unë ju referoj tek ai që Google gjen. Gjëja e rëndësishme është që kompjuteri juaj të ketë një mënyrë për të marrë datën dhe kohën e duhur. Shumica e kompjuterëve modernë të aktivizuar me WiFi Raspberry Pi përdorin protokollin NTP për të vendosur kohën nga interneti, e cila është mënyra se si kam gjetur kohën e duhur. Unë e vendosa RPi -në time të jetë "pa kokë", që do të thotë se nuk ka tastierë ose monitor, por është i arritshëm me një guaskë të sigurt (SSH) në internet. Nëse jeni të mirë me RPi, mund ta bëni këtë konfigurim pa tastierë / video / mi, por është më e lehtë të vendosni pi vetëm me ato pajisje.

Vini re se nuk kam nevojë të përdor ndërfaqen grafike, kështu që thjesht shkarkova "Raspberry Pi OS (32-bit) Lite", i cili është më i vogël dhe më i shpejtë për tu shkarkuar dhe fillon më shpejt.

Konfiguroni rrjetin e Raspberry Pi dhe opsionet e ndërlidhjes

$ sudo raspi-config

Në konfigurimin, bëni sa më poshtë:

  • Ndryshoni fjalëkalimin - bëjeni këtë së pari, me shpresë para se të hyni në internet!
  • Në "Opsionet e Rrjetit",

    • Ndryshoni emrin e hostit. Kam përdorur emrin e hostit: "zile e shkollës".
    • Lidhuni me LAN -in tuaj pa tel (nëse nuk e keni bërë këtë në konfigurim)
  • Nën "Opsionet e Ndërfaqes", aktivizoni qasjen në SSH
  • Alwaysshtë gjithmonë mirë të ekzekutosh opsionin "Përditëso"

Pasi ta keni bërë këtë dhe të rindizni, duhet të jeni në gjendje të lidheni me Raspberry Pi nga një kompjuter tjetër në të njëjtin rrjet lokal duke përdorur një klient SSH. Lidhuni me të duke përdorur kredencialet e mëposhtme:

emri i hostit: zile e shkollës.lokal

përdoruesi: pi fjalëkalimi: whateveryousetitas

Nga një kuti linux, kjo është aq e thjeshtë sa të shtypni këtë linjë komande në $ $:

$ ssh [email protected]

… Futni fjalëkalimin në çast

Kjo do t'ju regjistrojë dhe mund të kontrolloni që koha në Raspberry Pi është e saktë. Në rreshtin e komandës, shkruani komandën e datës dhe kontrolloni përgjigjen:

pi@schoolbell: ~ $ date

Thu 3 Shtator 20:44:34 AKDT 2020

Shpresoj se kjo është koha aktuale. Nëse nuk është e saktë, kërkoni në Google për konfigurimin e NTP në Raspberry Pi.

Hapi 2: Punoni sistemin tuaj të zërit

Punoni sistemin tuaj të zërit
Punoni sistemin tuaj të zërit

Ne do të luajmë skedarë MP3 për kambanat, kështu që duhet të shkarkojmë softuer për të deshifruar këto skedarë audio. Unë mora paketën mpg321 duke shtypur këtë komandë:

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

Ndiqni udhëzimet për të instaluar këtë softuer.

Kam përdorur një altoparlant të vjetër USB, i cili kishte një drejtues të çuditshëm dhe nuk ishte konfiguruar plotësisht automatikisht si karta e parazgjedhur e zërit, kështu që gjeta se mund ta "hakoja" altoparlantin në punë duke përdorur adresën e tij të harduerit. Pas lidhjes së altoparlantit, kam përdorur komandën 'aplay -l' për të listuar pajisjet audio:

pi@schoolbell: ~ $ aplay -l

**** Lista e PLAYBACK Hardware Devices **** kartës 0: Kufje [bcm2835 Kufje], pajisje 0: bcm2835 Kufje [bcm2835 Kufje] Nënpajisje: Nën -pajisje #0: nën -pajisje #0 Nën -pajisje #1: nën -pajisje #1 Nën -pajisje #2: nënpajisja #2 Nënpajisja #3: nënpajisja #3 Nënpajisja #4: nënpajisja #4 Nënpajisja #5: nënpajisja #5 Nënpajisja #6: nënpajisja #6 Nënpajisja #7: nën -pajisja #7 karta 1: KODI [USB Audio CODEC], pajisje 0: USB Audio [USB Audio] Nënpajisjet: Nënpajisja #0: nën -pajisja #0

Pajisja që dua është ajo e poshtme, karta 1, pajisja 0.

E testova altoparlantin me "testin e altoparlantit", duke përdorur pajisjen "hw: 1, 0", që do të thotë karta e harduerit 1, pajisja 0

pi@schoolbell: test $ speaker -test -D hw: 1, 0

Ky program nxjerr zhurmë nga altoparlantët. Shijoni zhurmën dhe shtypni kontrollin-C kur të acaroheni. Nëse nuk dëgjoni zhurmë, provoni google.

Tani keni zë!

Hapi 3: Provoni riprodhimin e tingujve të kambanës dhe/ose bëni tinguj të rinj

Provoni Riprodhimin e Tingujve të Bellit dhe/ose Bëni Tinguj të Rinj
Provoni Riprodhimin e Tingujve të Bellit dhe/ose Bëni Tinguj të Rinj

Për kambanën time, shkarkova tingullin "bing-bong" nga "freesound.org". Faleminderit Benboncan për vënien në dispozicion të këtij tingulli:

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

Mund ta luani tingullin direkt. Unë mund të shkarkoj drejtpërdrejt një version mp3 të këtij skedari duke shtypur këtë komandë në kompjuterin Raspberry Pi (duke supozuar se është në WiFi):

pi@schoolbell: ~ $ wget

Pastaj e riemërtova këtë skedar:

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

Pastaj testova që mund të bini zile me këtë komandë (duke treguar daljen):

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

Performancë e lartë MPEG 1.0/2.0/2.5 Audio Player për Shtresën 1, 2 dhe 3. Versioni 0.3.2-1 (2012/03/25). Shkruar dhe të drejtat e autorit nga Joe Drew, tani mirëmbahen nga Nanakos Chrysostomos dhe të tjerë. Përdor kodin nga njerëz të ndryshëm. Shikoni 'README' për më shumë! KJO SOFTUER vjen me absolutisht asnjë garanci! P USRDORNI N AT RREZIKIN TUAJ! Luajtja e rrjedhës MPEG nga bing-bong-chime-hq.mp3… MPEG 1.0 shtresa III, 128 kbit/s, mono 44100 Hz [0:02] Dekodimi i bing-bong-chime-hq.mp3 përfundoi.

Urime! Ju keni audio.

Duke përdorur kodin e redaktimit të zërit "guxim" në laptopin tim, e ndava skedarin në "bing" dhe "bong" për më shumë argëtim. Ju mund të përdorni çdo skedar zanor mp3 ose ndoshta format tjetër (nuk i kam testuar të tjerët).

Hapi 4: Instaloni Kodin dhe Vendosni Programin tuaj

Instaloni Kodin dhe Vendosni Programin tuaj
Instaloni Kodin dhe Vendosni Programin tuaj

Kodi është një skenar python që merr datën/kohën aktuale dhe nëse data është një ditë jave dhe jo një ditë pushimi, ai kontrollon nëse koha përputhet me një kohë zileje, duke kërcitur nëse duhet.

Së pari do ta vini në punë, pastaj do ta automatizoni që të funksionojë çdo minutë.

Shkarkoni kodin nga Github:

gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618

E kam të lehtë ta bëj këtë duke e ruajtur skedarin në një kompjuter lokal, pastaj duke përdorur një kopje të sigurt (scp) për ta vendosur atë në Raspberry pi.

Në makinën tuaj lokale, kopjoni kodin nga shfletuesi juaj, pastaj ngjiteni në një skedar teksti dhe ruajeni me emrin e skedarit "schoolbell.py". Pastaj scp skedarin mbi:

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

Do t'ju kërkohet të futni fjalëkalimin për përdoruesin pi në schoolbell.local - futni fjalëkalimin dhe skedari kopjohet në mënyrë të sigurt. Kjo komandë duhet të ekzekutohet në të njëjtën drejtori ku u ruajt skripti python dhe ta kopjojë atë në drejtorinë kryesore të përdoruesit pi. Ju mund të ssh kaloni në schoolbell.local dhe kodi duhet të jetë atje:

lokal-makinë: ~ $ ssh [email protected]

Pastaj në schoolbell.local, listoni skedarët (mund të shihni më shumë skedarë):

pi@schoolbell: ~ $ ls

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

Tani modifikoni kodin për ta bërë atë të ketë orarin tuaj të ziles duke përdorur një redaktues të tillë si pico:

pi@schoolbell: ~ $ pico schoolbell.py

Kodi ka tre "fjalorë" që përcaktojnë tonet e kambanës për të luajtur, kohën për t'i luajtur ato dhe festat për të shmangur, Këmbanat në fundjavë anashkalohen automatikisht.

Për shembull, fjalori i zileve është:

tonet e ziles = {

'paralajmëro': 'bing-bong-chime-hq.mp3', 'start': 'bing-bong-chime-hq.mp3', 'end': 'bing-bong-chime-hq.mp3'}

Kjo përcakton tre lloje të kambanave, një zile paralajmëruese, një fillim të klasës dhe një fund. Meqenëse kemi vetëm një ton zile, të gjithë tregojnë të njëjtën skedar, por nëse bëni tone të ndryshme, mund t'i ndryshoni. Ju madje mund të shtoni lloje të tjera të toneve të kambanave. Unë gjithashtu luaja duke përdorur një sintetizues të të folurit për të folur kambanat, por kjo nuk u shikua në mënyrë të favorshme nga të tjerët në shtëpi.

Fjalori i kambanës është i ngjashëm, por "çelësi" tani është koha për zile. ju duhet të përdorni formatin HH: MM me zero kryesore dhe kohë 24-orëshe (kohë ushtarake).

programi i ziles = {

'09: 00 ':' fillimi ', # Zilja e autobusit po bëhet gati '09: 28': 'paralajmëro',….. '13: 58 ':' paralajmëro ', # për periudhën 4 '14: 00 ':' start ', '15: 00': 'end'}

Vlera në këtë çelës: çifti i vlerës është lloji i tonit të kambanës për t'u përdorur dhe duhet të përputhet me një nga tonet e kambanës të përcaktuar më sipër.

Së fundmi, fjalori i festave liston datat e festave. Formati është YYYY-mm-dd, me zerot kryesorë siç tregohet.

pushime = {

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

Pasi të keni mbaruar me redaktimin, ruani skedarin duke dalë nga redaktori, duke shtypur ctrl-X nëse jeni duke përdorur pico.

Bëni kodin python të ekzekutueshëm nga:

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

Kjo i lejon të gjithë përdoruesit të ekzekutojnë kodin, "a" për të gjithë, "+" për shtimin e lejes dhe "x" për ekzekutim.

Tani ekzekutoni testin e kodit dhe vëzhgoni daljen. Vini re se ju mund ta ekzekutoni skedarin duke shtypur emrin e skedarit, por duhet të specifikoni se është në drejtorinë aktuale duke shtypur një "./" para emrit të skedarit:

pi@schoolbell: ~ $./schoolbell.py

Shtë një ditë shkollore, duke kontrolluar kohën 21:35

Kodi do t'ju tregojë nëse është një shkollë (p.sh. nuk është pushim apo fundjavë) dhe shikon nëse koha përputhet me kohën e kambanës. Në këtë rast, nuk ishte një kohë zile, kështu që thjesht doli pastër. Nëse do të ishte koha e kambanës, do të kishte rënë.

Për të provuar që kodi juaj mund të luajë kambanat, përdorni opsionin e linjës komanduese të një skedari për të luajtur. Ne do të përdorim skedarin tonë bing-bong:

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

Ashtë një ditë shkollore, koha e kontrollimit 21:38 Audio Player MPEG 1.0/2.0/2.5 me Performancë të Lartë për Shtresën 1, 2 dhe 3. Versioni 0.3.2-1 (2012/03/25). Shkruar dhe të drejtat e autorit nga Joe Drew, tani mirëmbahen nga Nanakos Chrysostomos dhe të tjerë. … më shumë prodhim….

Duhet të kishit dëgjuar kambanën.

Tani testoni kodin duke përdorur një kohë si argument. Mos harroni të futni kohën me zero kryesore. Për shembull, për të provuar kambanën time të "autobusit të shkollës" në orën 9 të mëngjesit, unë shkruaj:

pi@schoolbell: ~ $./schoolbell.py 09:00

Kjo duhet të bëjë që të bjerë zilja juaj! Ju gjithashtu mund të provoni që nuk bie në kohë pa zile.

Hapi 5: Automatizoni Vrapimin me Crond

Automate Running With Crond
Automate Running With Crond

Cron 'daemon' është një programues që kryen detyra të përsëritura në një sistem linux. Kontrollon nëse data/ora përputhet me një model në tabelën cron (crontab) dhe më pas ekzekuton kodin nëse e bën. Mund ta ndryshoni duke përdorur komandën "crontab -e":

pi@schoolbell: ~ $ crontab -e

Kjo do të hapë një redaktues skedari dhe në fund të këtij skedari, do të shtoni rreshtin e mëposhtëm:

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

Kjo komandë i thotë cron të ekzekutojë python3 duke ekzekutuar skriptin tuaj në direktorinë normale të shtëpisë (/home/pi). Të pestët *thonë se kjo duhet të kalojë çdo minutë (e para *), çdo orë (tjetra *…), çdo ditë të muajit, çdo muaj dhe çdo ditë të javës.

Tani, çdo minutë shkrimi i schoolbell.py do të ekzekutohet. Gjatë shumicës së minutave, kodi do të ekzekutohet dhe do të zbulojë se ai duhet të lërë pa zhurmë, por nëse rezulton të godasë një zile, do të bie.

Vini re se për shkak se cron funksionon vetëm çdo minutë, nuk mund t'i bëni këmbanat më të grimcuara sesa në minutë. Unë mendoj se është teorikisht e mundur që nëse sistemi juaj bllokohet, cron mund të mos funksionojë për disa sekonda pas përfundimit të minutës, duke e bërë kambanën vonë. Nëse disi cron nuk vraponte për minutën e plotë, zilja do të mungonte.

Këshillë: Për pushime të zgjatura (p.sh. verë), mund të shtoni një hashtag (#) në karakterin e parë të kësaj rreshti, i cili e kthen atë në një koment dhe kështu injoron drejtimin e tij. Kur shkolla të kthehet në sesion, thjesht hiqni numrin # dhe do të fillojë të funksionojë përsëri.

Hapi 6: Përshtateni dhe kënaquni

Tani, ju duhet të keni një sistem zileje të shkollës në shtëpi dhe studenti juaj nuk duhet të jetë vonë për mësim.

Ju mund ta personalizoni këtë projekt duke ndryshuar tonet e kambanës.

  • Mund ta bësh të bjerë në Big Ben, me zile çerek ore dhe të bjerë jashtë orarit.
  • Ju mund të provoni stilin e lirë të reperit tuaj të preferuar.
  • Ju mund të bëni mesazhe subliminaliste për t'u përqëndruar në studimin.

Qëndroni të sigurt në këtë kohë të COVID.

Imazhi
Imazhi
Imazhi
Imazhi

Vendi i dytë në konkursin familjar "Nuk mund ta prek këtë"

Recommended: