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, Decembar
Anonim
Školsko zvono za studente na daljinu
Školsko zvono za studente na daljinu

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

Supplies

Za ovaj projekat trebat će vam:

  • Računalnik 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 mogao lako pokrenuti na linux računaru vašeg učenika ili čak na mikrokontroleru koji radi na mikropythonu, sve dok mikrokontroler ima neki mehanizam za dobijanje 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čunara 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 tačan datum i vrijeme. Većina modernih računara 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 tastaturu ili monitor, ali je dostupan putem sigurne ljuske (SSH) preko interneta. Ako se dobro snalazite u RPi -u, ovo podešavanje možete obaviti bez tastature / video / miša, ali lakše je samo postaviti pi sa tom dodatnom opremom.

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

Konfigurirajte Raspberry Pi mrežu i opcije sučelja

$ sudo raspi-config

U konfiguraciji učinite sljedeće:

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

    • Promijenite ime 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čunara na istoj lokalnoj mreži pomoću SSH klijenta. Povežite se s njim pomoću sljedećih vjerodajnica:

ime hosta: schoolbell.local

korisnik: pi lozinka: whateveryousetitas

Iz kutije 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. Na komandnoj liniji upišite naredbu date i provjerite odgovor:

pi@školsko zvono: ~ $ datum

Čet 3 rujna 20:44:34 AKDT 2020

Nadam se da je ovo trenutno vrijeme. Ako nije ispravno, poguglajte o postavljanju NTP -a na Raspberry Pi.

Korak 2: Pokrenite zvučni sistem

Pokrenite svoj zvučni sistem
Pokrenite svoj zvučni sistem

Puštat ć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

**** Spisak PLAYBACK hardverskih uređaja **** kartica 0: Slušalice [bcm2835 Slušalice], uređaj 0: bcm2835 Slušalice [bcm2835 Slušalice] Poduređ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: poduređaj 0

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

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

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

Ovaj program ispušta buku iz zvučnika. Uživajte u buci, a zatim se iznervirajte upišite control-C. Ako ne čujete buku, isprobajte Google.

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, preuzeo sam "bing-bong" zvuk sa "freesound.org". Hvala Benboncan -u što je ovaj zvuk učinio dostupnim:

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

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

pi@schoolbell: ~ $ wget

Zatim sam preimenovao ovu datoteku:

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

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

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

MPEG 1.0/2.0/2.5 audio plejer 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 GARANCIJE! KORISTITE NA SVOJ RIZIK! Reprodukcija MPEG toka sa bing-bong-chime-hq.mp3… MPEG 1.0 sloj III, 128 kbit/s, 44100 Hz mono [0:02] Dekodiranje bing-bong-chime-hq.mp3 je završeno.

Čestitam! 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 radni dan, a ne praznik, provjerava odgovara li vrijeme zvonu, oglašavajući ako treba.

Prvo ćete ga aktivirati, zatim ćete ga automatizirati za rad svake minute.

Preuzmite kod sa Github -a:

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 lokalnom računaru kopirajte kôd iz svog 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 sačuvana 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 se automatski 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'}

Ovo definira tri vrste zvona, zvono upozorenja, početak klase 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 sa sintetizatorom govora kako bih izgovorio zvona, ali to drugi u kući nisu pozitivno ocijenili.

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

raspored zvona = {

'09: 00 ':' start ', #' Zvonce autobusa se sprema '09: 28 ':' warn ',….. '13: 58': 'warn', # za period 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.

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

praznici = {

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

Kada završite s uređivanjem, spremite datoteku izlaskom iz uređivača, upisivanjem ctrl-X ako koristite pico.

Učinite python kôd izvršnim:

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

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

Sada testirajte kôd i pogledajte 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 (na primjer, ne 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 došlo vrijeme za zvono, zazvonilo bi.

Da biste provjerili može li vaš kôd svirati zvona, koristite 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 plejer 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 ….

Trebao si č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

Ovo bi trebalo prouzročiti zvonjenje vašeg zvona! Takođe možete testirati da ne zvoni u vrijeme koje nije zvono.

Korak 5: Automatizirajte trčanje pomoću Cronda

Automatizirajte trčanje pomoću Cronda
Automatizirajte trčanje pomoću Cronda

Cron 'daemon' je planer koji pokreće ponavljajuće zadatke na linux sistemu. On provjerava da li se datum/vrijeme podudara s uzorkom u cron tablici (crontab), a zatim pokreće kod 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 kućnom direktoriju (/home/pi). Pet *kažu da bi ovo trebalo raditi svaki minut (prvi *), svaki sat (sljedeći *…), svaki dan u mjesecu, svaki mjesec i svaki dan u sedmici.

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

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

Savjet: Za produžene praznike (npr. Ljeto), možete dodati hashtag (#) prvom znaku ove linije, što ga pretvara u komentar i na taj način zanemaruje njegovo pokretanje. Kad se škola vrati na sesiju, samo uklonite # i ona će se ponovo početi prikazivati.

Korak 6: Prilagodite i uživajte

Sada, trebali biste imati radni sistem kućnih školskih zvona i vaš učenik nikada ne smije kasniti na nastavu.

Ovaj projekt možete prilagoditi promjenom tonova zvona.

  • Mogli biste učiniti da zvoni u Big Benu, sa č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.

Image
Image
Image
Image

Drugoplasirani na porodičnom takmičenju "Can't Touch This"

Preporučuje se: