Sadržaj:

Školsko zvono za učenike na daljinu: 6 koraka
Školsko zvono za učenike na daljinu: 6 koraka

Video: Školsko zvono za učenike na daljinu: 6 koraka

Video: Školsko zvono za učenike na daljinu: 6 koraka
Video: Školski čas - nastava na daljinu // 1.-6. razred // 22. april 2020. 2024, Studeni
Anonim
Školsko zvono za učenike na daljinu
Školsko zvono za učenike na daljinu

S pandemijom COVID-19 mnoge dječje škole otišle su na daljinu. Ovo kućno školsko zvono zabavan je način pridržavanja rasporeda koji koristi Raspberry Pi i USB zvučnik. Možete to učiniti sa svojim djetetom i ono može učiti o programiranju i može "pozvoniti". Ovo sam sagradio za svoju kćer koja ide u sedmi razred (trenutno putem dostave na daljinu), i dobro radi kako bismo bili na vrijeme.

Pribor

Za ovaj projekt trebat će vam:

  • Računalo Raspberry Pi - Najbolje radi ako imate WiFi, koristio sam RPi 3B iz Kano kompleta
  • Zvučnik - Koristio sam USB zvučnik

Kôd bi se lako mogao izvoditi na linux računalu vašeg učenika ili čak na mikrokontroleru koji pokreće micropython, sve dok mikrokontroler ima neki mehanizam za dobivanje trenutnog datuma/vremena. Također se može koristiti bilo koji pojačani zvučnik, ili čak hladnije relejno / analogno zvono.

Korak 1: Postavite svoj Raspberry Pi

Postavite svoj Raspberry Pi
Postavite svoj Raspberry Pi

Postoji veliki broj resursa za postavljanje računala Raspberry Pi pa vas upućujem na onaj koji Google pronađe. Važno je da vaše računalo ima način da dobije točan datum i vrijeme. Većina modernih računala Raspberry Pi s omogućenim WiFi-om koristi NTP protokol za postavljanje vremena s interneta, što je način na koji sam dobio točno vrijeme. Postavio sam svoj RPi da bude "bez glave", što znači da nema tipkovnicu ili monitor, ali je dostupan putem sigurne ljuske (SSH) putem interneta. Ako ste dobri s RPi -em, ovo podešavanje možete obaviti bez tipkovnice / video / miša, ali lakše je samo postaviti pi s tim priborom.

Imajte na umu da nisam trebao koristiti grafičko sučelje, pa sam upravo preuzeo "Raspberry Pi OS (32-bitni) Lite", koji je manji i brži za preuzimanje i brže se podiže.

Konfigurirajte Raspberry Pi mrežu i mogućnosti sučelja

$ sudo raspi-config

U konfiguraciji učinite sljedeće:

  • Promijenite lozinku - učinite to prvo, nadam se prije nego što se povežete na internet!
  • U "Opcije mreže",

    • Promijenite naziv hosta. Koristio sam naziv hosta: "školsko zvono".
    • Povežite se na bežični LAN (ako to niste učinili u postavljanju)
  • U odjeljku "Opcije sučelja" uključite pristup SSH -u
  • Uvijek je dobro pokrenuti opciju "Ažuriraj"

Nakon što ste to učinili i ponovno pokrenuli sustav, trebali biste se moći povezati s Raspberry Pi s drugog računala na istoj lokalnoj mreži pomoću SSH klijenta. Povežite se s njim pomoću sljedećih vjerodajnica:

naziv hosta: školsko zvono.lokalno

user: pi lozinka: whateveryousetitas

Iz okvira za Linux ovo je jednostavno kao upisivanje ove naredbene linije u $ prompt:

$ ssh [email protected]

… unesite lozinku na upit

To će vas prijaviti i možete provjeriti je li vrijeme na Raspberry Pi točno. U naredbeni redak upišite naredbu date i provjerite odgovor:

pi@školsko zvono: ~ $ date

Čet 3. rujna 20:44:34 AKDT 2020

Nadam se da je ovo trenutno vrijeme. Ako nije točna, proguglajte o postavljanju NTP -a na Raspberry Pi.

2. korak: Pokrenite svoj zvučni sustav

Neka vaš zvučni sustav radi
Neka vaš zvučni sustav radi

Pustit ćemo MP3 datoteke za zvona, pa moramo preuzeti softver za dekodiranje ovih audio datoteka. Dobio sam paket mpg321 upisivanjem ove naredbe:

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

Slijedite upute za instaliranje ovog softvera.

Koristio sam stari USB zvučnik koji je imao čudan upravljački program i nije se automatski automatski konfigurirao kao zadana zvučna kartica, pa sam otkrio da mogu "hakirati" zvučnik da radi pomoću njegove hardverske adrese. Nakon što sam priključio zvučnik, upotrijebio sam naredbu 'aplay -l' za popis audio uređaja:

pi@školsko zvono: ~ $ aplay -l

**** Popis PLAYBACK hardverskih uređaja **** kartica 0: Slušalice [bcm2835 Slušalice], uređaj 0: bcm2835 Slušalice [bcm2835 Slušalice] Podređaji: Poduređaj #0: poduređaj #0 Podređaj #1: poduređaj #1 Podređaj #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], uređaj 0: USB audio [USB zvuk] Poduređaji: Poduređaj #0: podureaj #0

Uređaj koji želim je donji, kartica 1, uređaj 0.

Testirao sam zvučnik s "speaker-test", koristeći uređaj "hw: 1, 0", što znači hardverska kartica 1, uređaj 0

pi@školsko zvono: ~ $ zvučnik -test -D hw: 1, 0

Ovaj program ispušta zvuk iz zvučnika. Uživajte u buci pa upišite control-C kad se iznervirate. Ako ne čujete buku, pokušajte s googlom.

Sada imate zvuk!

Korak 3: Probna reprodukcija zvona i/ili stvaranje novih zvukova

Probna reprodukcija zvona i/ili stvaranje novih zvukova
Probna reprodukcija zvona i/ili stvaranje novih zvukova

Za moje zvono, zvuk "bing-bong" preuzeo sam s "freesound.org". Hvala Benboncan -u što je ovaj zvuk učinio dostupnim:

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

Zvuk možete reproducirati izravno. Mogao bih izravno preuzeti mp3 verziju ove datoteke upisivanjem ove naredbe na računalo Raspberry Pi (pod pretpostavkom da je na WiFi -u):

pi@schoolbell: ~ $ wget

Zatim sam preimenovao ovu datoteku:

pi@školsko zvono: ~ $ mv 93646_634166-hq.mp3 bing-bong-chime-hq.mp3

Zatim sam testirao da mogu pozvati zvonce ovom naredbom (prikazuje izlaz):

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

MPEG 1.0/2.0/2.5 audio player visokih performansi za Layer 1, 2 i 3. Verzija 0.3.2-1 (2012/03/25). Napisao i autorska prava Joe Drew, a sada ga održavaju Nanakos Chrysostomos i drugi. Koristi kod različitih ljudi. Za više informacija pogledajte "README"! OVAJ SOFTVER NIJE APSOLUTNO BEZ JAMSTVA! KORISTITE NA SVOJ RIZIK! Reprodukcija MPEG streama s bing-bong-chime-hq.mp3… MPEG 1.0 sloj III, 128 kbit/s, 44100 Hz mono [0:02] Dekodiranje bing-bong-chime-hq.mp3 završeno.

Čestitamo! Imate zvuk.

Koristeći kod za uređivanje zvuka "audacity" na svom prijenosnom računalu, podijelio sam datoteku na "bing" i "bong" radi veće zabave. Možete koristiti bilo koji mp3 ili možda drugi format (nisam testirao druge) zvučne datoteke.

Korak 4: Instalirajte kôd i postavite svoj raspored

Instalirajte kôd i postavite svoj raspored
Instalirajte kôd i postavite svoj raspored

Kôd je python skripta koja dobiva trenutni datum/vrijeme, a ako je dan radnim danom, a ne blagdanom, provjerava podudara li se vrijeme s vremenom zvona, oglašavajući ako treba.

Prvo ćete ga natjerati da radi, zatim ćete ga automatizirati za rad svake minute.

Preuzmite kôd s Githuba:

gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618

Lako mi je to učiniti spremanjem datoteke na lokalno računalo, a zatim pomoću sigurne kopije (scp) za stavljanje na Raspberry pi.

Na svom lokalnom računalu kopirajte kôd iz preglednika, a zatim ga zalijepite u tekstualnu datoteku i spremite s imenom datoteke "schoolbell.py". Zatim skenirajte datoteku:

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

Od vas će biti zatraženo da unesete lozinku za korisnika pi na schoolbell.local - unesite lozinku i datoteka će se sigurno kopirati. Ovu naredbu treba pokrenuti u istom direktoriju u kojem je spremljena python skripta i kopira je u početni direktorij korisnika pi. Možete preći na schoolbell.local i kôd bi trebao biti tamo:

local-machine: ~ $ ssh [email protected]

Zatim na schoolbell.local navedite datoteke (možda ćete vidjeti više datoteka):

pi@školsko zvono: ~ $ ls

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

Sada uredite kôd tako da ima vaš raspored zvona pomoću uređivača, poput pico:

pi@schoolbell: ~ $ pico schoolbell.py

Kôd ima tri "rječnika" koji definiraju tonove zvona za reprodukciju, vrijeme za njihovo sviranje i praznike koje treba izbjegavati, zvona vikendom automatski se preskaču.

Na primjer, rječnik zvona je:

zvona = {

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

Time se definiraju tri vrste zvona, zvono upozorenja, početak nastave i kraj. Budući da imamo samo jedan ton zvona, svi oni upućuju na istu datoteku, ali ako napravite različite tonove, možete ih promijeniti. Možete čak dodati i druge vrste zvona. Igrao sam se i s pomoću sintetizatora govora kako bih izgovorio zvona, ali drugi u kući to nisu pozitivno ocijenili.

Rječnik zvona je sličan, ali "ključ" je sada vrijeme za zvono. morate koristiti format HH: MM s vodećim nulama i 24-satno vrijeme (vojno vrijeme).

raspored zvona = {

'09: 00 ':' start ', #' Bus 'bell to be ready '09: 28': 'warn',….. '13: 58 ':' warn ', # za razdoblje 4 '14: 00 ':' start ', '15: 00': 'end'}

Vrijednost u ovom paru ključ: vrijednost je tip zvona koji se koristi i mora odgovarati jednom od gore navedenih zvona.

Naposljetku, rječnik praznika navodi datume odmora. Format je GGGG-mm-dd, s početnim nulama kako je prikazano.

praznici = {

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

Nakon što završite s uređivanjem, spremite datoteku tako da izađete iz uređivača, upišite ctrl-X ako koristite pico.

Učinite python kôd izvršnim:

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

To omogućuje svim korisnicima izvršavanje koda, "a" za sve, "+" za dopuštenje za dodavanje i "x" za izvršavanje.

Sada testirajte kôd i promatrajte izlaz. Imajte na umu da datoteku možete pokrenuti upisivanjem naziva datoteke, ali morate navesti da se nalazi u trenutnom direktoriju upisivanjem "./" prije naziva datoteke:

pi@schoolbell: ~ $./schoolbell.py

Školski je dan, vrijeme provjere 21:35

Kôd će vam reći je li školski dan (npr. Nije praznik ili vikend) i provjeriti odgovara li vrijeme zvonu. U ovom slučaju to nije bilo vrijeme zvona, pa je jednostavno izašlo čisto. Da je slučajno bilo vrijeme zvona, zazvonilo bi.

Da biste provjerili može li vaš kôd svirati zvona, upotrijebite opciju naredbenog retka datoteke za reprodukciju. Koristit ćemo našu bing-bong datoteku:

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

To je školski dan, vrijeme provjere 21:38 MPEG 1.0/2.0/2.5 audio player visokih performansi za slojeve 1, 2 i 3. Verzija 0.3.2-1 (2012/03/25). Napisao i autorska prava Joe Drew, a sada ga održavaju Nanakos Chrysostomos i drugi. …. više izlaza ….

Trebali ste čuti zvono.

Sada testirajte kôd koristeći vrijeme kao argument. Ne zaboravite unijeti vrijeme s vodećim nulama. Na primjer, da bih testirao zvono "školskog autobusa" u 9 sati ujutro, otkucam:

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

To bi trebalo uzrokovati zvonjenje vašeg zvona! Također možete testirati da ne zvoni u vrijeme koje nije zvono.

Korak 5: Automatizirajte trčanje s Crondom

Automatizirajte trčanje s Crondom
Automatizirajte trčanje s Crondom

Cron 'daemon' je planer koji pokreće ponavljajuće zadatke na Linux sustavu. On provjerava odgovara li datum/vrijeme uzorku u cron tablici (crontab), a zatim pokreće kôd ako se slaže. Možete ga urediti pomoću naredbe "crontab -e":

pi@školsko zvono: ~ $ crontab -e

Ovo će otvoriti uređivač datoteka, a na dnu ove datoteke ćete dodati sljedeći redak:

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

Ova naredba govori cronu da pokrene python3 izvršavajući vašu skriptu u normalnom matičnom direktoriju (/home/pi). Pet *kaže da bi se to trebalo izvoditi svake minute (prva *), svaki sat (sljedeća *…), svaki dan u mjesecu, svaki mjesec i svaki dan u tjednu.

Sada će se svake minute pokretati skripta schoolbell.py. Tijekom većine minuta kôd će se pokrenuti i otkriti da bi trebao jednostavno izaći bez zvonjenja, ali ako se pokaže da je pogodio zvono, oglasit će se.

Imajte na umu da, budući da cron radi samo svaku minutu, zvona niste mogli učiniti detaljnijima od minute. Mislim da je teoretski moguće da ako se vaš sustav zaglavi, cron se možda neće pokrenuti nekoliko sekundi nakon isteka minute, pa će zvono zakasniti. Da nekako cron ne radi cijelu minutu, zvono bi se propustilo.

Savjet: Za produžene praznike (npr. Ljeto) prvom znaku ovog retka možete dodati hashtag (#), što ga pretvara u komentar i tako zanemaruje njegovo pokretanje. Kad se škola vrati na sesiju, samo uklonite # i on će se ponovno početi izvoditi.

Korak 6: Prilagodite i uživajte

Sada biste trebali imati funkcionirajući sustav kućnih školskih zvona i vaš učenik nikada ne bi trebao kasniti na nastavu.

Ovaj projekt možete prilagoditi promjenom tonova zvona.

  • Mogli biste ga natjerati da zazvoni u Big Benu, s četverosatnim zvonjavama i zvonjenjem sati.
  • Možete probati slobodni stil vašeg omiljenog repera.
  • Mogli biste uputiti podsvjesne poruke kako biste se usredotočili na učenje.

Čuvajte se u ovo doba COVID -a.

Slika
Slika
Slika
Slika

Drugoplasirani na obiteljskom natjecanju "Can't Touch This"

Preporučeni: