Sisukord:

Koolikell kaugõppuritele: 6 sammu
Koolikell kaugõppuritele: 6 sammu

Video: Koolikell kaugõppuritele: 6 sammu

Video: Koolikell kaugõppuritele: 6 sammu
Video: Женщина-лев - Драма - Полный английский фильм - HD 2024, Juuli
Anonim
Koolikell kaugõppuritele
Koolikell kaugõppuritele

COVID-19 pandeemia tõttu on paljud lastekoolid läinud kaugjaama. See kodukooli kell on lõbus viis graafikus püsimiseks, mis kasutab Raspberry Pi ja USB -kõlarit. Saate seda koos oma lapsega teha ja nad saavad õppida programmeerimisest ning saavad kella helistada. Ehitasin selle oma tütrele, kes läheb seitsmendasse klassi (praegu kaugtranspordi kaudu), ja see aitab hästi, et meid õigel ajal hoida.

Tarvikud

Selle projekti jaoks vajate:

  • Vaarika Pi arvuti - See töötab kõige paremini, kui teil on WiFi, ma kasutasin Kano komplekti RPi 3B
  • Kõlar - kasutasin USB -kõlarit

Kood võib kergesti töötada teie õpilase Linuxi arvutis või isegi mikrokontrollerit käitavas mikrokontrolleris, kui mikrokontrolleril on mingi mehhanism praeguse kuupäeva/kellaaja saamiseks. Samuti võib kasutada mis tahes võimendatud kõlarit või isegi relee / analoogkella jahedamat.

Samm: seadistage oma Raspberry Pi

Seadistage oma Raspberry Pi
Seadistage oma Raspberry Pi

Raspberry Pi arvuti seadistamiseks on palju ressursse, seega viitan teile ühele, mille Google leiab. Oluline on see, et teie arvutil on võimalus saada õige kuupäev ja kellaaeg. Enamik tänapäevaseid WiFi-toega Raspberry Pi arvuteid kasutab Internetist kellaaja määramiseks NTP-protokolli, mille abil sain õige aja. Seadistasin oma RPi peata, see tähendab, et sellel pole klaviatuuri ega monitori, kuid sellele pääseb turvalise kesta (SSH) kaudu üle Interneti. Kui teil on RPi hea, saate seda seadistust teha ilma klaviatuuri / video / hiireta, kuid lihtsam on lihtsalt nende lisaseadmetega pi seadistada.

Pange tähele, et ma ei pidanud graafilist liidest kasutama, nii et laadisin lihtsalt alla "Raspberry Pi OS (32-bit) Lite", mille allalaadimine on väiksem ja kiirem ning käivitub kiiremini.

Seadistage Raspberry Pi võrk ja liidesevalikud

$ sudo raspi-config

Konfiguratsioonis tehke järgmist.

  • Muutke parooli - tehke seda kõigepealt, loodetavasti enne võrku minekut!
  • Jaotises „Võrguvalikud”

    • Muutke hostinime. Ma kasutasin hostinime: "koolikell".
    • Ühendage oma traadita kohtvõrguga (kui te pole seda seadistamisel teinud)
  • Lülitage jaotises „Liidesevalikud” sisse SSH -juurdepääs
  • Alati on hea käivitada suvand "Värskenda"

Kui olete seda teinud ja taaskäivitanud, peaksite saama SSH -kliendi abil ühenduse luua Raspberry Pi -ga teisest sama kohaliku võrgu arvutist. Ühendage sellega, kasutades järgmisi mandaate:

hostinimi: koolikell.local

kasutaja: pi parool: whatyousetitas

Linuxi kastist on see sama lihtne kui sisestada see käsurea $ $ viipale:

$ ssh [email protected]

… Sisestage parool kiiresti

See logib teid sisse ja saate kontrollida, kas Raspberry Pi aeg on õige. Tippige käsureale kuupäeva käsk ja kontrollige vastust:

pi@koolikell: ~ $ kuupäev

Thu 3 Sep 20:44:34 AKDT 2020

Loodetavasti on see praegune aeg. Kui see pole õige, googeldage NTP seadistamise kohta Raspberry Pi -s.

Samm: pange helisüsteem tööle

Pange oma helisüsteem tööle
Pange oma helisüsteem tööle

Mängime kellade jaoks MP3 -faile, seega peame nende helifailide dekodeerimiseks alla laadima tarkvara. Paketi mpg321 sain, sisestades selle käsu:

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

Selle tarkvara installimiseks järgige juhiseid.

Kasutasin vana USB -kõlarit, millel oli kummaline draiver ja mis ei olnud vaikimisi helikaardina täielikult automaatselt konfigureeritud, seega leidsin, et suudan kõlari riistvara -aadressi abil tööle häkkida. Pärast kõlari ühendamist kasutasin heliseadmete loetlemiseks käsku "aplay -l":

pi@koolikell: ~ $ aplay -l

**** Taasesituse riistvaraseadmete loend **** kaart 0: kõrvaklapid [bcm2835 kõrvaklapid], seade 0: bcm2835 kõrvaklapid [bcm2835 kõrvaklapid] Alamseadmed: alamseade #0: alamseade #0 alamseade #1: alamseade #1 alamseade #2: alamseade #2 Alamseade #3: alamseade #3 Alamseade #4: alamseade #4 Alamseade #5: alamseade #5 Alamseade #6: alamseade #6 Alamseade #7: alamseade #7 kaart 1: CODEC [USB -heli CODEC], seade 0: USB -heli [USB -heli] Alamseadmed: alamseade #0: alamseade #0

Seade, mida ma tahan, on alumine, kaart 1, seade 0.

Testisin kõlarit "kõlaritestiga", kasutades seadet "hw: 1, 0", mis tähendab riistvarakaarti 1, seadet 0

pi@koolikell: ~ $ kõlari test -D hw: 1, 0

See programm summutab kõlaritest müra. Nautige müra ja tippige tüütu tüübiga Control-C. Kui te ei kuule müra, proovige googeldada.

Nüüd on teil heli!

Samm 3: Kellahelide taasesituse testimine ja/või uute helide esitamine

Kellahelide testimine ja/või uute helide esitamine
Kellahelide testimine ja/või uute helide esitamine

Oma kella jaoks laadisin alla "freesound.org" heli "bing-bong". Täname Benboncanit selle heli kättesaadavaks tegemise eest:

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

Saate heli otse esitada. Ma saaksin selle faili mp3 -versiooni otse alla laadida, sisestades selle käsu Raspberry Pi arvutisse (eeldades, et see on WiFi -s):

pi@koolikell: ~ $ wget

Seejärel nimetasin selle faili ümber:

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

Seejärel katsetasin, et saaksin selle käsuga kella näidata (näidates väljundit):

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

Suure jõudlusega MPEG 1.0/2.0/2.5 helipleier kihtidele 1, 2 ja 3. Versioon 0.3.2-1 (2012/03/25). Kirjutanud ja autoriõigused autoriks Joe Drew, nüüd säilitavad Nanakos Chrysostomos jt. Kasutab erinevate inimeste koodi. Lisateabe saamiseks vaadake "LUGEGE"! KÄESOLEV TARKVARA TULEB TAGASI MITTE GARANTIID! KASUTA OMA RISKIL! MPEG-voo esitamine bing-bong-chime-hq.mp3… MPEG 1.0 kiht III, 128 kbit/s, 44100 Hz mono [0:02] Bing-bong-chime-hq.mp3 dekodeerimine on lõpetatud.

Palju õnne! Teil on heli.

Kasutades oma sülearvutis helitöötluskoodi "audacity", jagasin faili lõbu pärast "bingiks" ja "bongiks". Võite kasutada mis tahes mp3- või võib -olla mõnes muus vormingus (ma pole teisi testinud) helifaile.

Samm: installige kood ja seadke oma ajakava

Installige kood ja määrake ajakava
Installige kood ja määrake ajakava

Kood on pythoni skript, mis saab praeguse kuupäeva/kellaaja ja kui kuupäev on nädalapäev, mitte puhkus, kontrollib see, kas kellaaeg vastab kellaajale, helistades, kui peaks.

Esmalt saate selle tööle, seejärel automatiseerite selle töötamiseks iga minut.

Laadige kood alla Githubist:

gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618

Minu arvates on seda lihtne teha, salvestades faili kohalikku arvutisse ja kasutades seejärel Raspberry pi -le panemiseks turvalist koopiat (scp).

Kopeerige oma kohalikus masinas kood oma brauserist, kleepige see tekstifaili ja salvestage see failinimega "schoolbell.py". Seejärel scp fail üle:

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

Teil palutakse sisestada parooli kasutajale pi saidil schoolbell.local - sisestage parool ja fail kopeeritakse turvaliselt. See käsk tuleks käivitada samas kataloogis, kuhu pythoni skript salvestati, ja kopeerida see pi kasutaja kodukataloogi. Võite minna üle saidile schoolbell.local ja kood peaks seal olema:

local-machine: ~ $ ssh [email protected]

Seejärel loetlege saidil schoolbell.local failid (võite näha rohkem faile):

pi@koolikell: ~ $ ls

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

Nüüd redigeerige koodi, et sellel oleks kellaajagraafik, kasutades sellist redaktorit nagu pico:

pi@koolikell: ~ $ pico schoolbell.py

Koodil on kolm "sõnaraamatut", mis määravad mängitavad kellahelinad, nende esitamise ajad ja pühade vältimise, nädalavahetustel kellad jäetakse automaatselt vahele.

Näiteks kellukeste sõnastik on järgmine:

kellad = {

'warn': 'bing-bong-chime-hq.mp3', 'start': 'bing-bong-chime-hq.mp3', 'end': 'bing-bong-chime-hq.mp3'}

See määratleb kolme tüüpi kellad, hoiatuskella, klassi alguse ja lõpu. Kuna meil on ainult üks kellahelin, osutavad nad kõik samale failile, kuid kui teete erinevaid toone, saate neid muuta. Võite isegi lisada muud tüüpi kellad. Mängisin ka kõnesüntesaatori kasutamisega kellade rääkimiseks, kuid seda ei vaadanud majas teised positiivselt.

Bellschedule'i sõnastik on sarnane, kuid "võti" on nüüd kella aeg. peate kasutama vormingut HH: MM koos nullide ja 24-tunnise ajaga (sõjaväeline aeg).

kellaajakava = {

'09: 00 ':' start ', #' bussi 'kell hakkab valmistuma '09: 28': 'hoiatama',….. '13: 58 ':' hoiatama ', # perioodiks 4 '14: 00 ':' algus ',' 15: 00 ':' lõpp '}

Selle võtme väärtus: väärtuspaar on kasutatav kellahelin ja see peab vastama ühele ülaltoodud kellahelist.

Lõpuks loetleb pühade sõnastik pühade kuupäevad. Vorming on AAAA-kk-pp, nullid ees, nagu näidatud.

pühad = {

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

Kui olete redigeerimise lõpetanud, salvestage fail redaktorist väljumisel, tippides ctrl-X, kui kasutate pico.

Tehke püütoni kood käivitatavaks järgmiselt:

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

See võimaldab kõigil kasutajatel koodi täita, "a" kõigi jaoks, "+" lisamisloa jaoks ja "x" täitmiseks.

Nüüd proovige käivitada kood ja jälgida väljundit. Pange tähele, et saate faili käivitada, tippides failinime, kuid peate määrama, et see on praeguses kataloogis, sisestades failinime ette "./":

pi@koolikell: ~ $./schoolbell.py

On koolipäev, kontrolliaeg 21:35

Kood ütleb teile, kas on koolipäev (nt mitte püha või nädalavahetus), ja näeb, kas kellaaeg vastab kellaajale. Sel juhul ei olnud see kellaaeg, nii et see väljus lihtsalt puhtalt. Kui juhtus olema kellaaeg, oleks see helisenud.

Et testida, kas teie kood suudab kellad esitada, kasutage esitatava faili käsurea valikut. Kasutame oma bing-bongi faili:

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

On koolipäev, kontrollimise aeg 21:38 Suure jõudlusega MPEG 1.0/2.0/2.5 helipleier kihtidele 1, 2 ja 3. Versioon 0.3.2-1 (2012/03/25). Kirjutanud ja autoriõigused autoriks Joe Drew, nüüd säilitavad Nanakos Chrysostomos jt. …. rohkem väljundit….

Te oleksite pidanud kella kuulama.

Testige koodi, kasutades argumendina aega. Ärge unustage aega sisestada nullidega. Näiteks selleks, et testida kell 9 hommikul oma koolibussi kella, kirjutan:

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

See peaks teie kella helisema panema! Samuti saate testida, et see ei heliseks kellahelinateta aegadel.

Samm: automatiseerige Crondiga jooksmine

Automatiseeri Crondiga jooksmine
Automatiseeri Crondiga jooksmine

Cron 'deemon' on ajakava, mis käivitab Linuxi süsteemis korduvaid ülesandeid. See kontrollib, kas kuupäev/kellaaeg vastab cron -tabeli mustrile (crontab), ja käivitab seejärel koodi. Saate seda muuta käsuga "crontab -e":

pi@koolikell: ~ $ crontab -e

See avab failiredaktori ja selle faili allosas lisate järgmise rea:

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

See käsk käsib cronil käivitada python3, käivitades teie skripti tavalises kodukataloogis (/home/pi). Viis *ütlevad, et see peaks toimuma iga minut (esimene *), iga tund (järgmine *…), iga kuu päev, iga kuu ja iga nädalapäev.

Nüüd käivitub skript schoolbell.py iga minut. Enamiku minutite jooksul kood töötab ja leiab, et see peaks lihtsalt helistamata lõpetama, kuid kui selgub, et see lööb kellaaega, kostab see.

Pange tähele, et kuna cron töötab ainult iga minuti järel, ei saa te kellad muuta teravamaks kui minut. Ma arvan, et teoreetiliselt on võimalik, et kui teie süsteem takerdub, ei pruugi cron mõne minuti jooksul pärast minuti lõppu töötada, muutes kella hiljaks. Kui cron kuidagi täispikka minutit ei jookseks, jääks kell vahele.

Näpunäide. Pikema puhkuse korral (nt suvel) saate selle rea esimesele tähemärgile lisada räsimärgi (#), mis muudab selle kommentaariks ja ignoreerib seega selle esitamist. Kui kool on tagasi, eemaldage lihtsalt # ja see hakkab uuesti tööle.

6. samm: kohandage ja nautige

Nüüd peaks teil olema toimiv kodukooli kellasüsteem ja teie õpilane ei tohiks kunagi tundi hiljaks jääda.

Saate seda projekti kohandada, muutes kellahelinaid.

  • Võite panna selle helisema Big Benile, esitades kord kvartalis kellad ja helistades tunde.
  • Võite proovida oma lemmikräppari vabastiili.
  • Õppimisele keskendumiseks võiksite teha alateadlikke sõnumeid.

Olge COVID -i ajal turvaline.

Pilt
Pilt
Pilt
Pilt

Perekonkursi "Seda ei saa puudutada" teine koht

Soovitan: