Sadržaj:
- Supplies
- Korak 1: Postavite svoj Raspberry Pi
- Korak 2: Pokrenite zvučni sistem
- Korak 3: Probna reprodukcija zvona i/ili stvaranje novih zvukova
- Korak 4: Instalirajte kôd i postavite svoj raspored
- Korak 5: Automatizirajte trčanje pomoću Cronda
- Korak 6: Prilagodite i uživajte
Video: Školsko zvono za učenike na daljinu: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
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
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
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
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
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
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.
Drugoplasirani na porodičnom takmičenju "Can't Touch This"
Preporučuje se:
HC-12 Senzori meteorološke stanice na daljinu i DHT senzori: 9 koraka
HC-12 daljinska meteorološka stanica na daljinu i DHT senzori: U ovom ćemo vodiču naučiti kako napraviti udaljenu meteorološku stanicu na daljinu pomoću dva dht senzora, HC12 modula i I2C LCD zaslona. Pogledajte video
Prvi koraci s bežičnim senzorima temperature i vibracije na daljinu: 7 koraka
Početak rada sa bežičnim senzorima temperature i vibracije na daljinu: Ponekad su vibracije uzrok ozbiljnih problema u mnogim aplikacijama. Od osovina strojeva i ležajeva do performansi tvrdog diska, vibracije uzrokuju oštećenje stroja, ranu zamjenu, niske performanse i nanose veliki udarac preciznosti. Praćenje
Pretvorite svoje žičano zvono na vrata u pametno zvono sa IFTTT: 8 koraka
Pretvorite svoje žičano zvono u pametna zvona sa IFTTT -om: WiFi zvono na vratima pretvara vaše postojeće žičano zvono na pametno zvono. https://www.fireflyelectronix.com/product/wifidoor
Pretvorite svoje žičano zvono na vrata u pametno zvono sa kućnim pomoćnikom: 6 koraka
Pretvorite svoje žičano zvono u pametna zvona na vratima s kućnim pomoćnikom: Pretvorite svoje postojeće žičano zvono na pametno zvono na vratima. Primite obavijest na svoj telefon ili se uparite sa postojećom kamerom na ulaznim vratima da biste primili upozorenje o fotografiji ili videu kad god vam neko zazvoni. Saznajte više na: fireflyelectronix.com/pro
Uvod u robotiku za učenike osnovnih škola sa kontrolerima kolibri: 18 koraka
Uvod u robotiku za učenike osnovnih škola s kontrolerima kolibri: Većina robotskih alata na tržištu danas zahtijeva od korisnika da preuzme određeni softver na svoj tvrdi disk. Ljepota Robotskog kontrolera kolibri je u tome što se njime može upravljati pomoću računara zasnovanog na webu, poput Chromebooka. Takođe je bilo