Satura rādītājs:
- Piegādes
- 1. darbība: iestatiet savu Raspberry Pi
- 2. darbība. Iedarbiniet skaņas sistēmu
- 3. darbība: pārbaudiet zvanu skaņu atskaņošanu un/vai radiet jaunas skaņas
- 4. solis: instalējiet kodu un iestatiet savu grafiku
- 5. solis: automatizējiet skriešanu ar Crond
- 6. darbība: pielāgojiet un izbaudiet
Video: Skolas zvans tālmācības skolēniem: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Sakarā ar COVID-19 pandēmiju daudzas bērnu skolas ir devušās uz tālvadību. Šis mājas skolas zvans ir jautrs veids, kā saglabāt grafiku, izmantojot Raspberry Pi un USB skaļruni. Jūs varat to pagatavot kopā ar savu bērnu, un viņi var uzzināt par programmēšanu un var “zvanīt”. Es to uzbūvēju savai meitai, kura mācās 7. klasē (šobrīd, izmantojot attālināto piegādi), un tas darbojas labi, lai mūs laikus.
Piegādes
Šim projektam jums būs nepieciešams:
- Raspberry Pi dators - tas vislabāk darbojas, ja jums ir WiFi, es izmantoju RPi 3B no Kano komplekta
- Skaļrunis - es izmantoju USB skaļruni
Kods var viegli darboties jūsu skolēna Linux datorā vai pat mikrokontrollerī, kurā darbojas mikropitons, ja vien mikrokontrolleram ir kāds mehānisms pašreizējā datuma/laika iegūšanai. Var izmantot arī jebkuru pastiprinātu skaļruni vai pat vēsāku releja / analogo zvanu.
1. darbība: iestatiet savu Raspberry Pi
Raspberry Pi datora iestatīšanai ir liels resursu skaits, tāpēc es atsaucos uz to, ko Google atrod. Svarīgi ir tas, ka jūsu datoram ir veids, kā iegūt pareizo datumu un laiku. Lielākā daļa mūsdienu Raspberry Pi datoru, kuros ir iespējots WiFi, izmanto NTP protokolu, lai iestatītu laiku no interneta, kas ir veids, kā es saņēmu pareizo laiku. Es iestatīju savu RPi kā “bez galvas”, kas nozīmē, ka tam nav tastatūras vai monitora, bet tas ir pieejams ar drošu apvalku (SSH) internetā. Ja jums labi padodas RPi, varat veikt šo iestatīšanu bez tastatūras / video / peles, taču ir vieglāk vienkārši iestatīt pi ar šiem piederumiem.
Ņemiet vērā, ka man nebija jāizmanto grafiskais interfeiss, tāpēc es vienkārši lejupielādēju "Raspberry Pi OS (32 bitu) Lite", kas ir mazāka un ātrāk lejupielādējama un ātrāk sāk darboties.
Konfigurējiet Raspberry Pi tīklu un saskarnes opcijas
$ sudo raspi-config
Konfigurācijā rīkojieties šādi:
- Mainiet paroli - vispirms dariet to, cerams, pirms došanās tiešsaistē!
-
Sadaļā "Tīkla opcijas"
- Mainiet saimniekdatora nosaukumu. Es izmantoju saimniekdatora nosaukumu: "skolas zvans".
- Izveidojiet savienojumu ar bezvadu LAN (ja neesat to izdarījis iestatīšanas laikā)
- Sadaļā “Saskarnes opcijas” ieslēdziet SSH piekļuvi
- Vienmēr ir labi palaist opciju "Atjaunināt"
Kad esat to izdarījis un restartējis, jums vajadzētu būt iespējai izveidot savienojumu ar Raspberry Pi no cita datora tajā pašā vietējā tīklā, izmantojot SSH klientu. Izveidojiet savienojumu ar to, izmantojot šādus akreditācijas datus:
saimniekdatora nosaukums: schoolbell.local
lietotājs: pi parole: neatkarīgi no tā
No Linux kastes tas ir tik vienkārši, kā ievadīt šo komandrindu $ uzvednē:
$ ssh [email protected]
… pēc uzvednes ievadiet paroli
Tas jūs pieteiks un jūs varēsit pārbaudīt, vai Raspberry Pi laiks ir pareizs. Komandrindā ierakstiet datuma komandu un pārbaudiet atbildi:
pi@skolas zvans: ~ $ datums
Thu 3 Sep 20:44:34 AKDT 2020
Cerams, ka šis ir pašreizējais laiks. Ja tas nav pareizi, google par NTP iestatīšanu Raspberry Pi.
2. darbība. Iedarbiniet skaņas sistēmu
Mēs atskaņosim zvanu MP3 failus, tāpēc mums ir jālejupielādē programmatūra, lai atšifrētu šos audio failus. Es saņēmu paketi mpg321, ierakstot šo komandu:
pi@skolas zvans: ~ $ sudo apt-get install mpg321
Izpildiet norādījumus, lai instalētu šo programmatūru.
Es izmantoju veco USB skaļruni, kuram bija dīvains draiveris un kas nebija pilnībā automātiski konfigurēts kā noklusējuma skaņas karte, tāpēc es atklāju, ka varu “uzlauzt” skaļruni darbam, izmantojot tā aparatūras adresi. Pēc skaļruņa pievienošanas es izmantoju komandu “aplay -l”, lai uzskaitītu audio ierīces:
pi@skolas zvans: ~ $ aplay -l
**** ATSKAŅOTO aparatūras ierīču saraksts **** karte 0: austiņas [bcm2835 austiņas], ierīce 0: bcm2835 austiņas [bcm2835 austiņas] Apakšierīces: 0.: apakšierīce #2 Apakšierīce #3: apakšierīce #3 Apakšierīce #4: apakšiekārta #4 Apakšierīce #5: apakšiekārta #5 Apakšierīce #6: apakšierīce #6 Apakšierīce #7: apakšierīce #7 karte 1: CODEC [USB audio CODEC], ierīce 0: USB audio [USB audio] Apakšierīces: Apakšierīce #0: apakšierīce #0
Ierīce, kuru es vēlos, ir zemākā, 1. karte, 0. ierīce.
Es pārbaudīju skaļruni ar "speaker-test", izmantojot ierīci "hw: 1, 0", kas nozīmē aparatūras karti 1, ierīci 0
pi@skolas zvans: ~ $ speaker -test -D hw: 1, 0
Šī programma izslēdz skaļruņu troksni. Izbaudiet troksni un pēc tam ierakstiet control-C, kad esat nokaitināts. Ja jūs nedzirdat troksni, izmēģiniet google.
Tagad jums ir skaņa!
3. darbība: pārbaudiet zvanu skaņu atskaņošanu un/vai radiet jaunas skaņas
Savam zvanam es lejupielādēju "bing-bong" skaņu no "freesound.org". Paldies Benboncan par šīs skaņas pieejamību:
freesound.org/people/Benboncan/sounds/93646/
Jūs varat atskaņot skaņu tieši. Es varētu tieši lejupielādēt šī faila mp3 versiju, ierakstot šo komandu Raspberry Pi datorā (pieņemot, ka tas ir WiFi):
pi@skolas zvans: ~ $ wget
Pēc tam es pārdēvēju šo failu:
pi@skolas zvans: ~ $ mv 93646_634166-hq.mp3 bing-bong-chime-hq.mp3
Pēc tam es pārbaudīju, vai varu zvanīt ar šo komandu (parādot izvadi):
pi@skolas zvans: ~ $ mpg321 -a hw: 1, 0 bing-bong-chime-hq.mp3
Augstas veiktspējas MPEG 1.0/2.0/2.5 audio atskaņotājs 1., 2. un 3. slānim. Versija 0.3.2-1 (2012/03/25). Džo Drū rakstītās un autortiesības, kuras tagad uztur Nanakos Chrysostomos un citi. Izmanto dažādu cilvēku kodu. Lai uzzinātu vairāk, skatiet “README”! Šai PROGRAMMATŪRAI NAV BEZ GARANTIJAS! LIETOJIET UZ SAVU RISKU! Tiek atskaņota MPEG straume no bing-bong-chime-hq.mp3… MPEG 1.0 slānis III, 128 kbit/s, 44100 Hz mono [0:02] Bing-bong-chime-hq.mp3 dekodēšana ir pabeigta.
Apsveicu! Jums ir audio.
Izmantojot klēpjdatora skaņas rediģēšanas kodu "audacity", es jautrības labad sadalīju failu "bing" un "bong". Jūs varat izmantot jebkuru mp3 vai varbūt cita formāta (citus neesmu pārbaudījis) skaņas failus.
4. solis: instalējiet kodu un iestatiet savu grafiku
Kods ir python skripts, kas iegūst pašreizējo datumu/laiku, un, ja datums ir darbdiena, nevis brīvdiena, tas pārbauda, vai laiks atbilst zvana laikam, un, ja vajadzētu, tas zvana.
Vispirms jūs saņemsiet to, lai tas darbotos, tad jūs automatizēsit tā darbību katru minūti.
Lejupielādējiet kodu no Github:
gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618
Man šķiet, ka to ir viegli izdarīt, saglabājot failu vietējā datorā un pēc tam izmantojot drošu kopiju (scp), lai to ievietotu Raspberry pi.
Vietējā datorā nokopējiet kodu no pārlūkprogrammas, pēc tam ielīmējiet teksta failā un saglabājiet to ar faila nosaukumu "schoolbell.py". Pēc tam scp failu:
local-machine: ~ $ scp schoolbell.py [email protected]: ~/
Jums tiks piedāvāts ievadīt lietotāja pi paroli vietnē schoolbell.local - ievadiet paroli, un fails tiks droši nokopēts. Šī komanda jāizpilda tajā pašā direktorijā, kurā tika saglabāts python skripts, un nokopē to pi lietotāja mājas direktorijā. Jūs varat pāriet uz vietni schoolbell.local, un kodam jābūt tur:
local-machine: ~ $ ssh [email protected]
Pēc tam vietnē schoolbell.local uzskaitiet failus (iespējams, redzēsit vairāk failu):
pi@skolas zvans: ~ $ ls
bing-bong-chime-hq.mp3 schoolbell.py
Tagad rediģējiet kodu, lai tas atbilstu jūsu zvanu grafikam, izmantojot redaktoru, piemēram, pico:
pi@skolas zvans: ~ $ pico schoolbell.py
Kodam ir trīs "vārdnīcas", kas nosaka atskaņojamos zvanu toņus, to atskaņošanas laikus un brīvdienas, no kurām jāizvairās, zvani nedēļas nogalēs tiek automātiski izlaisti.
Piemēram, zvanu signālu vārdnīca ir šāda:
zvanu toņi = {
'warn': 'bing-bong-chime-hq.mp3', 'start': 'bing-bong-chime-hq.mp3', 'end': 'bing-bong-chime-hq.mp3'}
Tas nosaka trīs veidu zvanus, brīdinājuma zvanu, klases sākumu un beigas. Tā kā mums ir tikai viens zvana signāls, tie visi norāda uz vienu failu, bet, ja jūs izveidojat dažādus toņus, varat tos mainīt. Jūs pat varat pievienot cita veida zvanu toņus. Spēlēju arī ar runas sintezatoru, lai runātu zvani, bet citi mājā to neuztvēra labvēlīgi.
Zvanu grafika vārdnīca ir līdzīga, taču tagad "atslēga" ir zvana laiks. jums jāizmanto formāts HH: MM ar nullēm un 24 stundu laiku (militārais laiks).
zvanu grafiks = {
'09: 00 ':' sākums ', #' autobusa 'zvans gatavojas '09: 28': 'brīdināt',….. '13: 58 ':' brīdināt ', # par periodu 4 '14: 00 ':' sākums ',' 15: 00 ':' beigas '}
Šīs atslēgas vērtība: vērtību pāris ir zvana signāla veids, kas jāizmanto, un tam jāatbilst vienam no iepriekš definētajiem zvanu toņiem.
Visbeidzot, brīvdienu vārdnīcā ir norādīti svētku datumi. Formāts ir GGGG-mm-dd, ar nullēm priekšā, kā parādīts attēlā.
brīvdienas = {
'2020-09-07', …. '2021-03-11', '2021-03-12' }
Kad esat pabeidzis rediģēšanu, saglabājiet failu, izejot no redaktora, ierakstot ctrl-X, ja izmantojat pico.
Padariet pitona kodu izpildāmu, izmantojot:
pi@skolas zvans: ~ $ chmod a+x schoolbell.py
Tas ļauj visiem lietotājiem izpildīt kodu, "a" visiem, "+" pievienot atļauju un "x" izpildīt.
Tagad pārbaudiet kodu un novērojiet rezultātu. Ņemiet vērā, ka failu var palaist, ierakstot faila nosaukumu, taču jānorāda, ka tas atrodas pašreizējā direktorijā, pirms faila nosaukuma ierakstot "./":
pi@skolas zvans: ~ $./schoolbell.py
Ir skolas diena, pārbaudes laiks 21:35
Kods jums pateiks, vai tā ir skolas diena (piemēram, nav brīvdiena vai nedēļas nogale), un redzēs, vai laiks atbilst zvana laikam. Šajā gadījumā tas nebija zvana laiks, tāpēc tas vienkārši izgāja tīri. Ja tas būtu bijis zvana laiks, tas būtu atskanējis.
Lai pārbaudītu, vai jūsu kods var atskaņot zvanus, izmantojiet atskaņojamā faila komandrindas opciju. Mēs izmantosim mūsu bing-bong failu:
pi@skolasbell: ~/schoolbell $./schoolbell.py bing-bong-chime-hq.mp3
Ir skolas diena, pārbaudes laiks 21:38 Augstas veiktspējas MPEG 1.0/2.0/2.5 audio atskaņotājs 1., 2. un 3. slānim. Versija 0.3.2-1 (2012/03/25). Džo Drū rakstītās un autortiesības, kuras tagad uztur Nanakos Chrysostomos un citi. …. vairāk produkcijas….
Jums vajadzēja dzirdēt zvanu.
Tagad pārbaudiet kodu, kā argumentu izmantojot laiku. Atcerieties ievadīt laiku ar nullēm. Piemēram, lai pārbaudītu savu "skolas autobusa" zvanu pulksten 9:00, es ierakstīju:
pi@skolas zvans: ~ $./schoolbell.py 09:00
Tam vajadzētu izraisīt zvana zvanu! Varat arī pārbaudīt, vai tas neskan zvana laikā.
5. solis: automatizējiet skriešanu ar Crond
Cron 'dēmons' ir plānotājs, kas Linux sistēmā veic atkārtotus uzdevumus. Tas pārbauda, vai datums/laiks atbilst cron tabulas modelim (crontab), un pēc tam palaiž kodu, ja tas tā ir. To var rediģēt, izmantojot komandu "crontab -e":
pi@skolas zvans: ~ $ crontab -e
Tiks atvērts failu redaktors, un šī faila apakšā jūs pievienosit šādu rindu:
* * * * * python3 /home/pi/schoolbell.py
Šī komanda liek cron palaist python3, izpildot jūsu skriptu parastajā mājas direktorijā (/home/pi). Pieci *saka, ka tam vajadzētu darboties katru minūti (pirmo *), katru stundu (nākamo *…), katru mēneša dienu, katru mēnesi un katru nedēļas dienu.
Tagad katru minūti skripts schoolbell.py darbosies. Lielāko daļu minūšu laikā kods darbosies un atklās, ka tam vajadzētu vienkārši iziet bez zvana, bet, ja izrādās, ka zvana laiks, tas atskanēs.
Ņemiet vērā: tā kā cron darbojas tikai katru minūti, jūs nevarētu padarīt zvaniņus sīkākus par minūti. Es domāju, ka teorētiski ir iespējams, ka, ja jūsu sistēma tiks apgrūtināta, cron varētu nedarboties dažas sekundes pēc minūtes beigām, padarot zvanu vēlu. Ja kronis kaut kā neskrietu visu minūti, zvans tiktu palaists garām.
Padoms. Pagarinātām brīvdienām (piemēram, vasarai) šīs rindas pirmajai rakstzīmei varat pievienot atsauci (#), kas to pārvērš par komentāru un tādējādi ignorē tās izpildi. Kad skola atgriežas sesijā, vienkārši noņemiet #, un tā atkal sāks darboties.
6. darbība: pielāgojiet un izbaudiet
Tagad jums vajadzētu būt strādājošai mājas skolas zvanu sistēmai, un jūsu studentam nekad nevajadzētu kavēties stundā.
Jūs varat pielāgot šo projektu, mainot zvanu toņus.
- Jūs varētu likt tai zvanīt Big Benam, zvanot katru ceturksni stundā un zvanot.
- Jūs varētu izlasīt sava iecienītākā repera frīstailu.
- Jūs varētu rakstīt zemapziņas ziņojumus, lai koncentrētos uz studijām.
Esiet drošs šajā COVID laikā.
Otrā vieta ģimenes konkursā “Nevaru pieskarties šim”
Ieteicams:
Satriecošs skolas spiegu sīkrīks! Invisible Ink Pen Hack: 6 soļi
Satriecošs skolas spiegu sīkrīks! Invisible Ink Pen Hack: Ar šo satriecošo uzlaušanu jūs varat kādam nosūtīt slepenus ziņojumus vai pat krāpties klases pārbaudījumos
IoT skolas projekts Philips Hue: 19 soļi
IoT School Project Philips Hue: Šī ir rokasgrāmata, kas man bija jāraksta skolai. Tas nav pilnīgs, un es neesmu pārliecināts, vai jūs to pat varat izmantot. Manas zināšanas par API ir minimums. Mēs vēlējāmies izveidot interaktīvu spoguli ar gaismām aizmugurē, kas reaģēja uz laika apstākļiem, gaismu no
Skumju kaķu fiksators, kaķīšu rotaļlieta - skolas projekts: 3 soļi
Skumju kaķu fiksators, Catch-Me Cat Toy-skolas projekts: Šeit ir mūsu produkts, tā ir interaktīva rotaļu pele: Catch-Me Cat Toy. Šeit ir saraksts ar problēmām, ar kurām saskaras daudzi mūsu sabiedrības kaķi: Mūsdienās kaķi kļūst neaktīvi un nomākti, un viņiem nav ko darīt. Lielākā daļa īpašnieku ir aizņemti ar darbu vai skolu un jūsu
LED kaste Delta skolas simpozijam: 7 soļi
LED kaste Delta skolu simpozijam:
Ievads robotikā sākumskolas skolēniem ar kolibri kontrolieriem: 18 soļi
Ievads robotikā sākumskolas skolēniem ar kolibri kontrolieriem: lielākajai daļai mūsdienu tirgū pieejamo robotikas rīku lietotājam ir nepieciešams lejupielādēt īpašu programmatūru cietajā diskā. Kolibri robotu kontroliera skaistums ir tas, ka to var palaist, izmantojot tīmekļa datoru, piemēram, chromebook. Ir bijis arī