Tartalomjegyzék:
- Kellékek
- Lépés: Állítsa be a Raspberry Pi -t
- 2. lépés: Működtesse hangrendszerét
- 3. lépés: Haranghangok tesztelése és/vagy új hangok készítése
- 4. lépés: Telepítse a kódot és állítsa be az ütemtervet
- 5. lépés: Automatizálja a futást Cronddal
- 6. lépés: Testreszabás és élvezet
Videó: Iskolai csengő távoktatóknak: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
A COVID-19 járvány miatt sok gyermekiskola távszállításra került. Ez az otthoni iskolai harangszó szórakoztató módja annak, hogy menetrendben maradjon, Raspberry Pi és USB hangszóró használatával. Készítheted a gyerekeddel, és megtanulhatják a programozást, és "csengethetnek". Ezt a 7. osztályos lányomnak építettem (jelenleg távszállításon keresztül), és jól működik, hogy időben tartunk.
Kellékek
Ehhez a projekthez szüksége lesz:
- Raspberry Pi számítógép - Akkor működik a legjobban, ha van WiFi, én egy Kano készletből származó RPi 3B -t használtam
- Hangszóró - USB hangszórót használtam
A kód könnyen futtatható a tanuló linuxos számítógépén, vagy akár egy mikropitont futtató mikrovezérlőn, amennyiben a mikrokontroller rendelkezik valamilyen mechanizmussal az aktuális dátum/idő lekéréséhez. Bármilyen erősített hangszóró, vagy akár hűtő relé / analóg csengő is használható.
Lépés: Állítsa be a Raspberry Pi -t
Rengeteg erőforrás áll rendelkezésre a Raspberry Pi számítógép beállításához, ezért arra hivatkozom, amelyet a Google talál. A legfontosabb dolog az, hogy a számítógépen mód van a helyes dátum és idő lekérésére. A legtöbb modern WiFi-kompatibilis Raspberry Pi számítógép az NTP protokollt használja az idő beállítására az internetről, így kaptam a helyes időt. Az RPi -t úgy állítottam be, hogy "fejetlen", azaz nincs billentyűzete vagy monitorja, de biztonságos shell (SSH) segítségével elérhető az interneten keresztül. Ha jó az RPi, akkor ezt a beállítást billentyűzet / videó / egér nélkül is elvégezheti, de egyszerűbb a pi beállítása ezekkel a kiegészítőkkel.
Ne feledje, hogy nem kellett használnom a grafikus felületet, ezért csak letöltöttem a "Raspberry Pi OS (32-bit) Lite" -t, amely kisebb és gyorsabb letöltéssel, valamint gyorsabban indul.
Konfigurálja a Raspberry Pi hálózatát és interfész -beállításait
$ sudo raspi-config
A konfigurációban tegye a következőket:
- Változtassa meg a jelszót - először ezt tegye meg, remélhetőleg mielőtt online lesz!
-
A "Hálózati beállítások" részben
- Módosítsa a gazdagép nevét. A hostnevet használtam: "iskolacsengő".
- Csatlakozzon a vezeték nélküli LAN -hoz (ha ezt még nem tette meg a beállítás során)
- Az "Interfészbeállítások" alatt kapcsolja be az SSH -hozzáférést
- Mindig jó futtatni a "Frissítés" opciót
Miután ezt megtette és újraindította, képesnek kell lennie csatlakozni a Raspberry Pi -hez egy másik számítógépről ugyanazon a helyi hálózaton egy SSH ügyfél használatával. Csatlakozzon hozzá a következő hitelesítő adatok használatával:
gazdagépnév: iskolai csengő. helyi
user: pi jelszó: whatyousetitas
Egy linuxos dobozból ez olyan egyszerű, mint beírni ezt a parancssort a $ parancssorba:
$ ssh [email protected]
… Írja be a jelszót a felszólításra
Ezzel bejelentkezik, és ellenőrizheti, hogy a Raspberry Pi -n az idő helyes -e. A parancssorba írja be a date parancsot, és ellenőrizze a választ:
pi@iskolacsengő: ~ $ dátum
Cs. 3. szept. 20:44:34 AKDT 2020
Remélhetőleg ez a mostani idő. Ha nem helyes, google -oljon az NTP beállításáról a Raspberry Pi -n.
2. lépés: Működtesse hangrendszerét
MP3 fájlokat fogunk játszani a harangok számára, ezért le kell töltenünk egy szoftvert az audio fájlok dekódolásához. Az mpg321 csomagot a következő parancs beírásával kaptam:
pi@iskolacsengő: ~ $ sudo apt-get install mpg321
A szoftver telepítéséhez kövesse az utasításokat.
Egy régi USB -hangszórót használtam, amelynek furcsa illesztőprogramja volt, és nem volt teljesen automatikusan beállítva alapértelmezett hangkártyaként, így azt találtam, hogy a hardvercím használatával "feltörhetem" a hangszórót. A hangszóró csatlakoztatása után az 'aplay -l' parancsot használtam az audioeszközök listázására:
pi@iskolacsengő: ~ $ aplay -l
**** A LEJÁTSZÁSI hardvereszközök listája **** kártya 0: Fejhallgató [bcm2835 fejhallgató], eszköz 0: bcm2835 fejhallgató [bcm2835 fejhallgató] Subdevices: Subdevice #0: subdevice #0 Subdevice #1: subdevice #1 Subdevice #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], eszköz 0: USB Audio [USB Audio] Aleszközök: 0
A kívánt eszköz az alsó, 1. kártya, 0. eszköz.
A hangszórót "hangsugárzó-teszteléssel" teszteltem, a "hw: 1, 0", azaz 1-es hardverkártya, 0-as eszköz használatával
pi@iskolacsengő: ~ $ hangszóró -teszt -D hw: 1, 0
Ez a program zajt ad ki a hangszórókból. Élvezze a zajt, majd írja be a control-C billentyűt, ha ideges lesz. Ha nem hall zajt, próbálja meg a google -t.
Most van hangod!
3. lépés: Haranghangok tesztelése és/vagy új hangok készítése
A harangomhoz letöltöttem a "bing-bong" hangot a "freesound.org" oldalról. Köszönet Benboncannak, hogy elérhetővé tette ezt a hangot:
freesound.org/people/Benboncan/sounds/93646/
Közvetlenül lejátszhatja a hangot. Közvetlenül letölthetném a fájl mp3 verzióját, ha beírnám ezt a parancsot a Raspberry Pi számítógépen (feltéve, hogy WiFi -n van):
pi@iskolacsengő: ~ $ wget
Ezután átneveztem ezt a fájlt:
pi@iskolacsengő: ~ $ mv 93646_634166-hq.mp3 bing-bong-chime-hq.mp3
Ezután kipróbáltam, hogy harangozhatok -e ezzel a paranccsal (kimenetet mutatva):
pi@iskolacsengő: ~ $ mpg321 -a hw: 1, 0 bing-bong-chime-hq.mp3
Nagy teljesítményű MPEG 1.0/2.0/2.5 audiolejátszó az 1., 2. és 3. réteghez. 0.3.2-1 verzió (2012/03/25). Írta és szerzői jogait Joe Drew készítette, most Nanakos Chrysostomos és mások tartják fenn. Különböző személyektől származó kódokat használ. További információért olvassa el a „README” részt! EZ A SZOFTVER TELJESEN GARANCIA NÉLKÜL! HASZNÁLAT CSAK SAJÁT FELELŐSSÉGRE! MPEG adatfolyam lejátszása a bing-bong-chime-hq.mp3… MPEG 1.0 réteg III, 128 kbit/s, 44100 Hz mono [0:02] A bing-bong-chime-hq.mp3 dekódolása befejeződött.
Gratula! Hangja van.
A laptopom "audacity" hangszerkesztő kódját használva a szórakozás kedvéért felosztottam a fájlt "bing" -re és "bong" -ra. Használhat bármilyen mp3 vagy esetleg más formátumú (másokat nem teszteltem) hangfájlt.
4. lépés: Telepítse a kódot és állítsa be az ütemtervet
A kód egy python -szkript, amely megkapja az aktuális dátumot/időt, és ha a dátum egy hétköznap, és nem ünnepnap, akkor ellenőrzi, hogy az idő egyezik -e a csengetési idővel, és ha kell, cseng.
Először működésbe hozza, majd automatizálja, hogy minden percben futjon.
Töltse le a kódot a Github -ról:
gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618
Könnyen megtehetem ezt úgy, hogy elmenti a fájlt egy helyi számítógépre, majd biztonságos másolást (scp) használ a Raspberry pi -re.
A helyi gépen másolja ki a kódot a böngészőből, majd illessze be egy szöveges fájlba, és mentse el az "schoolbell.py" fájlnévvel. Ezután scp a fájlt:
local-machine: ~ $ scp schoolbell.py [email protected]: ~/
Meg kell adnia a pi felhasználó jelszavát az schoolbell.local oldalon - írja be a jelszót, és a fájl biztonságosan másolódik. Ezt a parancsot ugyanabban a könyvtárban kell futtatni, ahová a python szkriptet mentették, és átmásolja a pi felhasználó saját könyvtárába. Átléphet az schoolbell.local oldalra, és a kódnak ott kell lennie:
local-machine: ~ $ ssh [email protected]
Ezután a schoolbell.local oldalon sorolja fel a fájlokat (előfordulhat, hogy több fájlt is láthat):
pi@iskolacsengő: ~ $ ls
bing-bong-chime-hq.mp3 iskolai csengő.py
Most szerkessze a kódot, hogy a harangütemezése megfeleljen egy szerkesztőnek, például a pico -nak:
pi@iskolacsengő: ~ $ pico schoolbell.py
A kódnak három "szótára" van, amelyek meghatározzák a lejátszandó csengőhangokat, a lejátszás idejét és az elkerülendő ünnepeket. A hétvégi harangok automatikusan kihagyásra kerülnek.
Például a belltones szótár a következő:
harangok = {
'warn': 'bing-bong-chime-hq.mp3', 'start': 'bing-bong-chime-hq.mp3', 'end': 'bing-bong-chime-hq.mp3'}
Ez háromféle csengőt határoz meg, egy figyelmeztető csengőt, az óra kezdetét és a végét. Mivel csak egy csengőhangunk van, mindegyik ugyanarra a fájlra mutat, de ha különböző hangokat ad meg, akkor megváltoztathatja azokat. Még más típusú csengőhangokat is hozzáadhat. Én is játszottam a beszédszintetizátor használatával a harangok megszólaltatásához, de ezt a ház többi tagja nem nézte jó szemmel.
A bellschedule szótár hasonló, de a "kulcs" most a harang ideje. HH: MM formátumot kell használnia, kezdő nullákkal és 24 órás idővel (katonai idő).
harangütemezés = {
'09: 00 ':' start ', #' Bus 'csengő készülődik '09: 28': 'alert',….. '13: 58 ':' alert ', # 4 -es időszakra '14: 00 ':' start ', '15: 00': 'end'}
Az ebben a kulcsban: értékpár a használandó csengőhang típusa, és meg kell egyeznie a fent meghatározott csengőhangok egyikével.
Végül az ünnepek szótár felsorolja az ünnepnapokat. A formátum YYYY-mm-dd, a kezdő nullákkal az ábrán látható módon.
ünnepek = {
'2020-09-07', …. '2021-03-11', '2021-03-12' }
A szerkesztés befejezése után mentse el a fájlt a szerkesztőből való kilépéssel, és írja be a ctrl-X billentyűt, ha pico-t használ.
Tegye futtathatóvá a python kódot:
pi@iskolacsengő: ~ $ chmod a+x schoolbell.py
Ez lehetővé teszi, hogy minden felhasználó végrehajthassa a kódot, az "a" mindenki számára, a "+" az engedély hozzáadásához és az "x" a végrehajtáshoz.
Most próbálja ki a kódot, és figyelje meg a kimenetet. Ne feledje, hogy a fájlt a fájlnév begépelésével futtathatja, de meg kell adnia, hogy az az aktuális könyvtárban van, a "./" gombbal a fájlnév előtt:
pi@iskolacsengő: ~ $./schoolbell.py
Iskola van, ellenőrzési idő 21:35
A kód megmondja, hogy iskolai nap van -e (pl. Nem ünnep vagy hétvége), és megnézi, hogy az idő egyezik -e a harangozási idővel. Ebben az esetben nem harangozási idő volt, így csak tisztán lépett ki. Ha történetesen harangszó lenne, akkor csengett volna.
Annak ellenőrzéséhez, hogy a kód képes -e harangozni, használja a lejátszandó fájl parancssori opcióját. A bing-bong fájlunkat fogjuk használni:
pi@iskolacsengő: ~/schoolbell $./schoolbell.py bing-bong-chime-hq.mp3
Iskolanap van, ellenőrzési idő 21:38 Nagy teljesítményű MPEG 1.0/2.0/2.5 audiolejátszó az 1., 2. és 3. réteghez. 0.3.2-1 verzió (2012/03/25). Írta és szerzői jogait Joe Drew készítette, most Nanakos Chrysostomos és mások tartják fenn. …. több kimenet….
Hallanod kellett volna a csengőt.
Most tesztelje a kódot egy argumentum használatával. Ne felejtse el beírni az időt kezdő nullákkal. Például, hogy reggel 9 órakor teszteljem az "iskolabusz" csengőmet, beírom:
pi@iskolacsengő: ~ $./schoolbell.py 09:00
Ennek hatására meg kell szólalnia a harangját! Azt is tesztelheti, hogy nem csenget-e nem csengő időben.
5. lépés: Automatizálja a futást Cronddal
A cron 'daemon' egy ütemező, amely ismétlődő feladatokat futtat linuxos rendszeren. Ellenőrzi, hogy a dátum/idő megegyezik -e a cron tábla mintájával (crontab), majd futtatja a kódot, ha igen. Szerkesztheti a "crontab -e" paranccsal:
pi@iskolacsengő: ~ $ crontab -e
Ez megnyit egy fájlszerkesztőt, és a fájl alján a következő sort kell hozzáadnia:
* * * * * python3 /home/pi/schoolbell.py
Ez a parancs utasítja a cron -t, hogy futtassa a python3 -at, végrehajtva a szkriptjét a normál saját könyvtárban (/home/pi). Az ötösök azt mondják, hogy ennek minden percben (első *), óránként (következő *…), a hónap minden napján, minden hónapban és a hét minden napján futnia kell.
Most minden percben az schoolbell.py parancsfájl fut. A legtöbb percben a kód futni fog, és úgy találja, hogy csak kilép csipogás nélkül, de ha kiderül, hogy elér egy csengőidőt, akkor csipog.
Ne feledje, hogy mivel a cron csak minden percben fut, a csengőket nem tehetné részletesebbé, mint a percet. Azt hiszem, elméletileg lehetséges, hogy ha a rendszer elakad, a cron esetleg nem fut néhány másodpercig a perc vége után, ami késlelteti a csengőt. Ha valahogy a cron nem fut a teljes percig, a csengő kimarad.
Tipp: Hosszabb ünnepek (pl. Nyár) esetén a sor első karakteréhez hashtaget (#) adhat, amely megjegyzéssé alakítja, és így figyelmen kívül hagyja a futást. Amikor az iskola újra munkába áll, csak távolítsa el a # karaktert, és újra elindul.
6. lépés: Testreszabás és élvezet
Most működő otthoni iskolai csengőrendszerrel kell rendelkeznie, és a tanuló soha ne késsen az óráról.
Ezt a projektet testreszabhatja a csengőhangok megváltoztatásával.
- Becsengetheti a Big Ben-t, negyedóránként harangozva és csengetve az órákat.
- Kipróbálhatod kedvenc rapper freestyle -dat.
- Tudattalan üzeneteket küldhet a tanulmányozásra.
Maradjon biztonságban a COVID idején.
Második hely a "Ezt nem érinthetem" családi versenyen
Ajánlott:
Folyosó csengő figyelmeztető rendszer: 4 lépés
Folyosó csengő figyelmeztető rendszer: Az iskolában vannak harangok, amelyek jelzik, mikor kell osztályváltást végrehajtani. Először csengetnek, hogy jelezzék, mikor fejeződjön be az óra, majd másodszor csörögve jelzik, hogy mikor kell kezdődnie a következő órának. Ha egy tanuló késik, akkor általában
Arduino koronavírus -csengő: 6 lépés
Arduino koronavírus -bejárati csengő: A globális koronavírus -járvány miatt szeretnék egy olyan csengőt csengetni, hogy nem kell jeleznie a bent tartózkodóknak, hogy itt van, és ki kell nyitniuk az ajtót. Ez a dolog megfertőzheti a vírust, ha megérinti mások ajtaját
Szomorú macskajavító, elkapott macskajáték - Iskolai projekt: 3 lépés
Szomorú macskajavító, elkapott macskajáték-Iskolai projekt: Itt a mi termékünk, ez egy interaktív játék egér: Catch-Me Cat Toy. Íme azoknak a problémáknak a listája, amelyekkel sok macska szembesül társadalmunkban: Manapság a macskák inaktívak és depressziósak, nincs tennivalóuk. A legtöbb tulajdonos elfoglalt a munkával vagy az iskolával, és
Videóajtó csengő adaptálása digitális dallamhoz: 5 lépés
Videóajtó csengőjének adaptálása digitális dalcsengőhöz: Hosszú történet, a Best Buy azt mondta, hogy nem tudom telepíteni a Simplisafe Doorbell -t dallamdal ajtócsengővel. Több száz hozzászólást olvasva azt mondták, hogy ezt nem lehet megtenni. Simplisafe azt mondta, hogy nem lehet megcsinálni, de mindenképpen mellékelt egy készletet. A csatlakozókészlet rúdhoz való
Kommunikációs tréning, iskolai tevékenység vagy ifjúsági játék: 3 lépés
Kommunikációs tréning, iskolai tevékenység vagy ifjúsági játék: Sokszor használtam ezt a tevékenységet középiskolásokkal. Versenyként történik, annyi csapattal, amennyit csak akar. A Telephone régi játékán alapul, ahol egy mondatot suttognak egyik személyről a másikra, általában úgy, hogy a vége világít