Obsah:

Školský zvonček pre diaľkových študentov: 6 krokov
Školský zvonček pre diaľkových študentov: 6 krokov

Video: Školský zvonček pre diaľkových študentov: 6 krokov

Video: Školský zvonček pre diaľkových študentov: 6 krokov
Video: Podnikanie v škole (BOLA RAZ JEDNA ŠKOLA) 2024, Júl
Anonim
Školský zvonček pre diaľkových študentov
Školský zvonček pre diaľkových študentov

V súvislosti s pandémiou COVID-19 sa mnoho detských škôl rozhodlo doručiť na diaľku. Tento zvonček pre domácu školu je zábavný spôsob, ako zostať podľa plánu, a to pomocou Raspberry Pi a USB reproduktora. S dieťaťom to zvládnete a oni sa môžu naučiť programovať a môžu „zazvoniť“. Postavil som to pre svoju dcéru, ktorá chodí do 7. triedy (v súčasnej dobe prostredníctvom doručovania na diaľku), a funguje to dobre, že sme včas.

Zásoby

Na tento projekt budete potrebovať:

  • Počítač Raspberry Pi - funguje to najlepšie, ak máte WiFi, použil som RPi 3B zo súpravy Kano
  • Reproduktor - Použil som reproduktor USB

Kód by mohol ľahko bežať na linuxovom počítači vášho študenta alebo dokonca na mikrokontroléri s mikropythonom, pokiaľ má mikrokontrolér nejaký mechanizmus na získanie aktuálneho dátumu/času. Tiež je možné použiť akýkoľvek zosilnený reproduktor alebo dokonca chladič relé / analógový zvonček.

Krok 1: Nastavte si Raspberry Pi

Nastavte si Raspberry Pi
Nastavte si Raspberry Pi

Existuje veľké množstvo zdrojov na nastavenie počítača Raspberry Pi, preto vás odkazujem na ten, ktorý nájde Google. Dôležité je, že váš počítač má spôsob, ako získať správny dátum a čas. Väčšina moderných počítačov Raspberry Pi s podporou WiFi používa na nastavenie času z internetu protokol NTP, čo je spôsob, akým som získal správny čas. Nastavil som svoj RPi ako „bezhlavý“, čo znamená, že nemá klávesnicu ani monitor, ale je prístupný cez zabezpečený shell (SSH) cez internet. Ak ste dobrí v RPi, môžete toto nastavenie vykonať bez klávesnice / videa / myši, ale je jednoduchšie jednoducho nastaviť pi s týmto príslušenstvom.

Všimnite si toho, že som nepotreboval používať grafické rozhranie, tak som si stiahol „Raspberry Pi OS (32-bit) Lite“, ktorý je menší a rýchlejšie na sťahovanie a rýchlejšie bootovanie.

Konfigurujte možnosti siete a rozhrania Raspberry Pi

$ sudo raspi-config

V konfigurácii postupujte takto:

  • Zmeňte heslo - urobte to najskôr, dúfajme, že potom, ako prejdete na internet!
  • V časti „Možnosti siete“

    • Zmeňte názov hostiteľa. Použil som názov hostiteľa: „školský zvonček“.
    • Pripojte sa k bezdrôtovej sieti LAN (ak ste to neurobili v nastavení)
  • V časti „Možnosti rozhrania“zapnite prístup SSH
  • Vždy je dobré spustiť možnosť „Aktualizovať“

Akonáhle to urobíte a reštartujete, mali by ste sa môcť pripojiť k Raspberry Pi z iného počítača v tej istej lokálnej sieti pomocou klienta SSH. Pripojte sa k nemu pomocou nasledujúcich poverení:

názov hostiteľa: schoolbell.local

užívateľ: pi heslo: whateveryousetitas

V poli Linux je to také jednoduché, ako zadať tento príkazový riadok do príkazového riadka $:

$ ssh [email protected]

… zadajte heslo na výzvu

To vás prihlási a môžete skontrolovať, či je čas na Raspberry Pi správny. Do príkazového riadka zadajte príkaz date a skontrolujte odpoveď:

pi@schoolbell: ~ $ date

Št 3. septembra 20:44:34 AKDT 2020

Našťastie je to aktuálny čas. Ak to nie je správne, googlite o nastavení NTP na Raspberry Pi.

Krok 2: Spustite zvukový systém

Nechajte svoj zvukový systém fungovať
Nechajte svoj zvukový systém fungovať

Budeme hrať súbory MP3 pre zvončeky, takže si musíme stiahnuť softvér na dekódovanie týchto zvukových súborov. Balíček mpg321 som získal zadaním tohto príkazu:

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

Pri inštalácii tohto softvéru postupujte podľa pokynov.

Použil som starý reproduktor USB, ktorý mal podivný ovládač a ako predvolenú zvukovú kartu sa úplne automaticky nenakonfiguroval, takže som zistil, že reproduktor môžem „hacknúť“do prevádzky pomocou jeho hardvérovej adresy. Po zapojení reproduktora som na príkaz zvukového zariadenia použil príkaz „aplay -l“:

pi@schoolbell: ~ $ aplay -l

**** Zoznam hardvérových zariadení PLAYBACK **** karta 0: Slúchadlá [bcm2835 Slúchadlá], zariadenie 0: bcm2835 Slúchadlá [bcm2835 Slúchadlá] Podzariadenia: Podzariadenie #0: podzariadenie #0 Podzariadenie #1: podzariadenie #1 Podzariadenie #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], device 0: USB Audio [USB Audio] Podzariadenia: Podzariadenie #0: podzariadenie #0

Zariadenie, ktoré chcem, je nižšie, karta 1, zariadenie 0.

Reproduktor som testoval pomocou „testu reproduktorov“pomocou zariadenia „hw: 1, 0“, čo znamená hardvérovú kartu 1, zariadenie 0

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

Tento program vytvára hluk z reproduktorov. Vychutnajte si šum a potom, ako vás rozčúli, napíšte control-C. Ak nepočujete žiadny hluk, skúste google.

Teraz máte zvuk!

Krok 3: Otestujte prehrávanie zvukov Bell a/alebo vytvorte nové zvuky

Vyskúšajte prehrávanie zvukov zvončeka a/alebo vytvorte nové zvuky
Vyskúšajte prehrávanie zvukov zvončeka a/alebo vytvorte nové zvuky

Pre svoj zvonček som si stiahol zvuk „bing-bong“z „freesound.org“. Ďakujem Benboncanu za sprístupnenie tohto zvuku:

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

Zvuk môžete prehrávať priamo. Mohol by som priamo stiahnuť mp3 verziu tohto súboru zadaním tohto príkazu do počítača Raspberry Pi (za predpokladu, že je na WiFi):

pi@schoolbell: ~ $ wget

Potom som premenoval tento súbor:

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

Potom som vyskúšal, či môžem zazvoniť na zvonček týmto príkazom (zobrazujúcim výstup):

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

Vysokovýkonný zvukový prehrávač MPEG 1.0/2.0/2.5 pre vrstvu 1, 2 a 3. Verzia 0.3.2-1 (2012/03/25). Autorské práva a autorské práva: Joe Drew, v súčasnosti ich spravuje Nanakos Chrysostomos a ďalší. Používa kód od rôznych ľudí. Viac nájdete v časti „README“! TENTO SOFTVÉR NEDÁVA ABSOLÚTNE ŽIADNU ZÁRUKU! POUŽÍVAJTE NA VLASTNÉ RIZIKO! Prehráva sa stream MPEG z bing-bong-chime-hq.mp3 … MPEG 1.0 vrstva III, 128 kbit/s, 44100 Hz mono [0:02] Dekódovanie bing-bong-chime-hq.mp3 bolo dokončené.

Gratulujem! Máte zvuk.

Pomocou kódu na úpravu zvuku „audacity“na prenosnom počítači som pre väčšiu zábavu rozdelil súbor na „bing“a „bong“. Môžete použiť akékoľvek zvukové súbory mp3 alebo možno iný formát (ostatné som netestoval).

Krok 4: Nainštalujte kód a nastavte si rozvrh

Nainštalujte kód a nastavte si rozvrh
Nainštalujte kód a nastavte si rozvrh

Kód je skript pythonu, ktorý získa aktuálny dátum/čas, a ak je dátum dňom v týždni, a nie sviatkom, skontroluje, či sa čas zhoduje s časom zvončeka, a zazvoní, ak by mal.

Najprv ho uvediete do prevádzky, potom ho zautomatizujete, aby bežal každú minútu.

Stiahnite si kód z Githubu:

gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618

Považujem to za jednoduché, uložením súboru na miestny počítač a jeho následným použitím zabezpečenej kópie (scp) na Raspberry pi.

Na miestnom počítači skopírujte kód z prehliadača, vložte ho do textového súboru a uložte ho s názvom „schoolbell.py“. Potom súbor presuňte na:

miestny stroj: ~ $ scp schoolbell.py [email protected]: ~/

Budete vyzvaní na zadanie hesla pre používateľa pi na schoolbell.local - zadajte heslo a súbor sa bezpečne skopíruje. Tento príkaz by mal byť spustený v rovnakom adresári, kde bol uložený skript python, a skopírovať ho do domovského adresára používateľa pi. Môžete prejsť na schoolbell.local a kód by mal byť tam:

miestny stroj: ~ $ ssh [email protected]

Potom na schoolbell.local vypíšte zoznam súborov (môžu sa vám zobraziť ďalšie súbory):

pi@schoolbell: ~ $ ls

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

Teraz upravte kód, aby mal rozvrh zvončekov pomocou editora, ako je napríklad pico:

pi@schoolbell: ~ $ pico schoolbell.py

Kód má tri „slovníky“, ktoré definujú tóny zvončekov, ktoré sa majú hrať, časy, kedy sa majú hrať a sviatky, ktorým sa treba vyhnúť, zvončeky cez víkendy sa automaticky preskočia.

Slovník zvonov je napríklad:

zvončeky = {

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

To definuje tri druhy zvonov, výstražný zvon, začiatok hodiny a koniec. Pretože máme iba jeden tón zvončeka, všetky smerujú k rovnakému súboru, ale ak vytvárate rôzne tóny, môžete ich zmeniť. Môžete dokonca pridať ďalšie typy tónov zvonov. Tiež som sa hrával s použitím syntetizátora reči na zvonenie, ale to ostatní v dome nevideli priaznivo.

Slovník Bellschedule je podobný, ale „kľúč“je teraz načase na zvonček. musíte použiť formát HH: MM s úvodnými nulami a 24-hodinový čas (vojenský čas).

bellschedule = {

'09: 00 ':' start ', #' Bus 'zvonček sa pripravuje '09: 28': 'varovať', ….. '13: 58 ':' varovať ', # pre obdobie 4 '14: 00 ':' start ', '15: 00': 'end'}

Hodnota v tomto páre kľúč: hodnota je typ zvončekového tónu, ktorý sa má použiť, a musí sa zhodovať s jedným z vyššie definovaných zvonení.

Nakoniec slovník sviatkov uvádza dátumy sviatkov. Formát je RRRR-mm-dd, s úvodnými nulami, ako je znázornené.

prázdniny = {

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

Po dokončení úprav uložte súbor ukončením editora a zadajte príkaz ctrl-X, ak používate program pico.

Vykonajte spustenie kódu pythonu podľa:

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

To umožní všetkým používateľom spustiť kód, „a“pre všetkých, „+“pre povolenie na pridanie a „x“pre spustenie.

Teraz vyskúšajte spustenie kódu a sledujte výstup. Všimnite si toho, že súbor môžete spustiť zadaním názvu súboru, ale musíte zadať, že sa nachádza v aktuálnom adresári, zadaním „./“pred názov súboru:

pi@schoolbell: ~ $./schoolbell.py

Je školský deň, kontrolný čas 21:35

Kód vám oznámi, či je školský deň (napr. Nie je sviatok alebo víkend), a zistí, či sa čas zhoduje s časom zvončeka. V tomto prípade nebol čas zvončeka, takže vyšiel iba čisto. Ak by náhodou nastal čas zvonenia, odzvonilo by.

Ak chcete otestovať, či váš kód dokáže prehrávať zvončeky, prehrajte súbor pomocou príkazového riadka. Použijeme náš súbor bing-bong:

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

Je školský čas, kontrolný čas 21:38 Vysokovýkonný zvukový prehrávač MPEG 1.0/2.0/2.5 pre vrstvu 1, 2 a 3. Verzia 0.3.2-1 (2012/03/25). Autorské práva a autorské práva: Joe Drew, v súčasnosti ich spravuje Nanakos Chrysostomos a ďalší. …. viac výstupu ….

Mali ste počuť zvonček.

Teraz otestujte kód s použitím času ako argumentu. Nezabudnite zadať čas s úvodnými nulami. Na testovanie zvončeka „školského autobusu“napríklad o 9:00 napíšem:

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

To by malo zazvoniť! Môžete si tiež vyskúšať, či nezvoní v čase, keď nie je zvonček.

Krok 5: Automatizujte beh s Crondom

Automatizujte beh s Crondom
Automatizujte beh s Crondom

Dron cron je plánovač, ktorý vykonáva opakujúce sa úlohy v systéme Linux. Skontroluje, či sa dátum/čas zhoduje so vzorom v tabuľke cron (crontab), a potom spustí kód, ak áno. Môžete ho upraviť pomocou príkazu „crontab -e“:

pi@schoolbell: ~ $ crontab -e

Otvorí sa editor súborov a v spodnej časti tohto súboru pridáte nasledujúci riadok:

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

Tento príkaz hovorí cronu, aby spustil python3 spustením vášho skriptu v normálnom domovskom adresári (/home/pi). Piati *hovoria, že by to malo bežať každú minútu (prvý *), každú hodinu (ďalší *…), každý deň v mesiaci, každý mesiac a každý deň v týždni.

Teraz bude každú minútu bežať skript schoolbell.py. Počas väčšiny minút sa kód spustí a zistí, že by sa mal ukončiť bez zvonenia, ale ak sa ukáže, že zasiahne zvonček, zazvoní.

Všimnite si toho, že pretože cron beží iba každú minútu, nemohli by ste urobiť zvony granulovanejšie než na minútu. Myslím si, že je teoreticky možné, že ak sa váš systém zablokuje, cron nemusí bežať niekoľko sekúnd po uplynutí minúty, takže zvonček bude neskorý. Ak by cron nejako nebežal celú minútu, zvonček by sa minul.

Tip: Na predĺžené prázdniny (napr. V lete) môžete k prvému znaku tohto riadku pridať hashtag (#), ktorý z neho urobí komentár, a teda jeho spustenie ignoruje. Keď sa škola vráti do školského vyučovania, odstráňte # a začne sa znova zobrazovať.

Krok 6: Prispôsobte si a užívajte si

Teraz by ste mali mať fungujúci systém zvonenia v domácej škole a váš študent by nikdy nemal meškať na vyučovanie.

Tento projekt môžete prispôsobiť zmenou tónov zvončeka.

  • Môžete to nechať zazvoniť v Big Ben so štvrťhodinovým zvonkohrou a zvonením hodín.
  • Môžete ochutnať freestyle svojho obľúbeného rappera.
  • Môžete podávať podprahové správy, ktoré sa budú zameriavať na štúdium.

Zostaňte v bezpečí v tejto dobe COVID.

Obrázok
Obrázok
Obrázok
Obrázok

Druhé miesto v rodinnej súťaži „Nedá sa toho dotknúť“

Odporúča: