Turinys:
- Prekės
- 1 žingsnis: nustatykite „Raspberry Pi“
- 2 veiksmas: pradėkite veikti garso sistema
- 3 žingsnis: išbandykite varpelio garsų atkūrimą ir (arba) skleiskite naujus garsus
- 4 veiksmas: įdiekite kodą ir nustatykite tvarkaraštį
- 5 žingsnis: automatizuokite bėgimą su „Crond“
- 6 žingsnis: pritaikykite ir mėgaukitės
Video: Mokyklos varpas nuotolinių studijų studentams: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Kilus COVID-19 pandemijai, daugelis vaikų mokyklų buvo pristatytos nuotoliniu būdu. Šis namų mokyklos skambutis yra įdomus būdas laikytis tvarkaraščio naudojant „Raspberry Pi“ir USB garsiakalbį. Galite tai padaryti su savo vaiku, o jie gali išmokti programuoti ir „paskambinti“. Aš tai sukūriau savo dukrai, kuri eina į 7 klasę (šiuo metu per nuotolinį pristatymą), ir tai gerai padeda mums laiku.
Prekės
Šiam projektui jums reikės:
- „Raspberry Pi“kompiuteris - geriausiai veikia, jei turite „WiFi“, aš naudojau „RPi 3B“iš „Kano“rinkinio
- Garsiakalbis - naudojau USB garsiakalbį
Kodas gali būti lengvai paleistas jūsų mokinio „Linux“kompiuteryje ar net mikrovaldiklyje, kuriame veikia mikropitonas, jei tik mikrovaldiklis turi tam tikrą mechanizmą dabartinei datai/laikui gauti. Taip pat galima naudoti bet kurį sustiprintą garsiakalbį arba net aušintuvą relę / analoginį varpą.
1 žingsnis: nustatykite „Raspberry Pi“
Yra daug išteklių, skirtų „Raspberry Pi“kompiuteriui nustatyti, todėl siūlau jus rasti tą, kurį randa „Google“. Svarbu tai, kad jūsų kompiuteris turi galimybę gauti teisingą datą ir laiką. Dauguma šiuolaikinių „Raspberry Pi“kompiuterių, kuriuose veikia belaidis internetas, naudoja NTP protokolą, kad nustatytų laiką iš interneto, taigi aš gavau teisingą laiką. Nustatiau, kad mano RPi būtų „be galvos“, tai reiškia, kad jis neturi klaviatūros ar monitoriaus, tačiau yra prieinamas saugiu apvalkalu (SSH) internetu. Jei gerai išmanote RPi, šią sąranką galite atlikti be klaviatūros / vaizdo įrašo / pelės, tačiau lengviau nustatyti pi naudojant šiuos priedus.
Atminkite, kad man nereikėjo naudoti grafinės sąsajos, todėl ką tik atsisiunčiau „Raspberry Pi OS (32-bit) Lite“, kuri yra mažesnė ir greičiau parsisiunčiama bei greičiau įkeliama.
Konfigūruokite „Raspberry Pi“tinklą ir sąsajos parinktis
$ sudo raspi-config
Konfigūracijoje atlikite šiuos veiksmus:
- Pakeiskite slaptažodį - padarykite tai pirmiausia, tikiuosi prieš prisijungdami prie interneto!
-
Skiltyje „Tinklo parinktys“
- Pakeiskite pagrindinio kompiuterio pavadinimą. Aš naudojau prieglobos pavadinimą: „mokyklos skambutis“.
- Prisijunkite prie belaidžio LAN (jei to nepadarėte sąrankoje)
- Skiltyje „Sąsajos parinktys“įjunkite SSH prieigą
- Visada gerai paleisti parinktį „Atnaujinti“
Kai tai padarysite ir iš naujo paleisite, turėtumėte turėti galimybę prisijungti prie „Raspberry Pi“iš kito to paties vietinio tinklo kompiuterio naudodami SSH klientą. Prisijunkite prie jo naudodami šiuos kredencialus:
pagrindinio kompiuterio pavadinimas: mokyklos skambutis.local
vartotojas: pi slaptažodis: whatyousetitas
Iš „Linux“dėžutės tai yra taip paprasta, kaip įvesti komandinę eilutę $ eilutėje:
$ ssh [email protected]
… paraginus įveskite slaptažodį
Taip prisijungsite ir galėsite patikrinti, ar „Raspberry Pi“laikas teisingas. Komandinėje eilutėje įveskite datos komandą ir patikrinkite atsakymą:
pi@mokyklos skambutis: ~ $ data
Ket. Rugsėjo 3 d. 20:44:34 AKDT 2020 m
Tikimės, kad tai yra dabartinis laikas. Jei tai neteisinga, „Google“nustatykite NTP nustatymą „Raspberry Pi“.
2 veiksmas: pradėkite veikti garso sistema
Mes grosime varpų MP3 failus, todėl turime atsisiųsti programinę įrangą, kad galėtume iššifruoti šiuos garso failus. Aš gavau paketą mpg321 įvesdamas šią komandą:
pi@schoolbell: ~ $ sudo apt-get install mpg321
Vykdykite nurodymus, kad įdiegtumėte šią programinę įrangą.
Aš naudojau seną USB garsiakalbį, kuris turėjo keistą tvarkyklę ir nebuvo visiškai automatiškai sukonfigūruotas kaip numatytoji garso plokštė, todėl pastebėjau, kad galiu „nulaužti“garsiakalbį, kad veiktų, naudodamas jo aparatūros adresą. Prijungęs garsiakalbį, garso įrenginiams išvardyti naudojau komandą „aplay -l“:
pi@mokyklos skambutis: ~ $ aplay -l
**** Atkūrimo aparatinės įrangos įtaisų sąrašas **** kortelė 0: ausinės [bcm2835 ausinės], įrenginys 0: bcm2835 ausinės [bcm2835 ausinės] Papildomi įrenginiai: antrasis įrenginys #0: antrinis įrenginys #0 antrinis įrenginys #1: antrinis įrenginys #1 antrasis įrenginys: antrinis įrenginys #2 antrasis įrenginys #3: antrasis įrenginys #3 antrasis įrenginys #4: antrasis įrenginys #4 šalutinis įrenginys #5: antrasis įrenginys #5 antrasis įrenginys #6: antrinis įrenginys #6 antrasis įrenginys #7: antrasis įrenginys #7 kortelė 1: CODEC [USB garso CODEC], įrenginys 0: USB garso įrašas [USB garsas] Papildomi įrenginiai: antrinis įrenginys #0: antrinis įrenginys #0
Norimas įrenginys yra apatinis, 1 kortelė, 0 įrenginys.
Aš išbandžiau garsiakalbį naudodami „garsiakalbio testą“, naudodamas įrenginį „hw: 1, 0“, o tai reiškia 1 aparatūros kortelę, 0 įrenginį
pi@mokyklos skambutis: ~ $ garsiakalbio testas -D hw: 1, 0
Ši programa pašalina garsiakalbių triukšmą. Mėgaukitės triukšmu, tada, kai susierzinate, įveskite „Control-C“. Jei negirdite triukšmo, pabandykite „Google“.
Dabar jūs turite garsą!
3 žingsnis: išbandykite varpelio garsų atkūrimą ir (arba) skleiskite naujus garsus
Savo skambučiui aš atsisiunčiau „bing-bong“garsą iš „freesound.org“. Dėkojame „Benboncan“, kad šis garsas tapo prieinamas:
freesound.org/people/Benboncan/sounds/93646/
Galite tiesiogiai paleisti garsą. Aš galėčiau tiesiogiai atsisiųsti šio failo mp3 versiją, įvesdamas šią komandą „Raspberry Pi“kompiuteryje (darant prielaidą, kad ji veikia „WiFi“):
pi@mokyklos skambutis: ~ $ wget
Tada pervadinau šį failą:
pi@mokyklos skambutis: ~ $ mv 93646_634166-hq.mp3 bing-bong-chime-hq.mp3
Tada išbandžiau, ar galiu skambinti varpeliu naudodami šią komandą (rodančią išvestį):
pi@mokyklos skambutis: ~ $ mpg321 -a hw: 1, 0 bing-bong-chime-hq.mp3
Aukštos kokybės MPEG 1.0/2.0/2.5 garso grotuvas, skirtas 1, 2 ir 3 sluoksniams. 0.3.2-1 versija (2012/03/25). Rašė ir autorinės teisės Joe Drew, dabar prižiūrimos Nanakos Chrysostomos ir kt. Naudoja įvairių žmonių kodą. Daugiau informacijos rasite skiltyje „README“! ŠI PROGRAMINĖ ĮRANGA SUTEIKIAMA BE GARANTIJOS! NAUDOTI SAVO RIZIKA! Paleidžiamas MPEG srautas iš bing-bong-chime-hq.mp3… MPEG 1.0 sluoksnis III, 128 kbit/s, 44100 Hz mono [0:02] Bing-bong-chime-hq.mp3 dekodavimas baigtas.
Sveikinimai! Jūs turite garso įrašą.
Naudodamas nešiojamojo kompiuterio garso redagavimo kodą „audacity“, aš padarau failą į „bing“ir „bong“, kad būtų smagiau. Galite naudoti bet kokį mp3, o gal ir kitokio formato (kitų neišbandžiau) garso failus.
4 veiksmas: įdiekite kodą ir nustatykite tvarkaraštį
Kodas yra „Python“scenarijus, kuris gauna dabartinę datą/laiką, o jei data yra savaitės diena, o ne atostogos, jis tikrina, ar laikas sutampa su skambučio laiku, jei reikia.
Pirmiausia priversite jį veikti, tada automatizuosite, kad jis veiktų kiekvieną minutę.
Atsisiųskite kodą iš „Github“:
gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618
Manau, kad tai lengva padaryti išsaugojus failą vietiniame kompiuteryje, tada naudojant saugią kopiją (scp) ir įdedant jį į „Raspberry pi“.
Vietiniame kompiuteryje nukopijuokite kodą iš savo naršyklės, tada įklijuokite į teksto failą ir išsaugokite jį failo pavadinimu „schoolbell.py“. Tada scp failą per:
local-machine: ~ $ scp schoolbell.py [email protected]: ~/
Būsite paraginti įvesti vartotojo pi slaptažodį „schoolbell.local“- įveskite slaptažodį ir failas bus saugiai nukopijuotas. Ši komanda turėtų būti vykdoma tame pačiame kataloge, kuriame buvo išsaugotas „python“scenarijus, ir nukopijuoja jį į pi vartotojo namų katalogą. Galite pereiti prie „schoolbell.local“ir kodas turėtų būti ten:
local-machine: ~ $ ssh [email protected]
Tada adresu schoolbell.local išvardykite failus (galite pamatyti daugiau failų):
pi@mokyklos skambutis: ~ $ ls
bing-bong-chime-hq.mp3 schoolbell.py
Dabar redaguokite kodą, kad jis atitiktų jūsų skambučių tvarkaraštį, naudodami redaktorių, pvz., „Pico“:
pi@mokyklos skambutis: ~ $ pico schoolbell.py
Kode yra trys „žodynai“, kurie apibrėžia skambėjimo tonus, jų grojimo laikus ir švenčių, kurių reikia vengti, skambučiai savaitgaliais automatiškai praleidžiami.
Pavyzdžiui, varpelių žodynas yra toks:
varpai = {
'įspėti': 'bing-bong-chime-hq.mp3', 'start': 'bing-bong-chime-hq.mp3', 'end': 'bing-bong-chime-hq.mp3'}
Tai apibrėžia trijų tipų varpus, įspėjamąjį, klasės pradžią ir pabaigą. Kadangi turime tik vieną skambučio toną, jie visi nurodo į tą patį failą, bet jei sukuriate skirtingus tonus, galite juos pakeisti. Jūs netgi galite pridėti kitų tipų varpų tonus. Aš taip pat žaidžiau naudodamas kalbos sintezatorių, kad galėčiau kalbėti varpais, tačiau kiti namuose esantys žmonės to nepalankiai įvertino.
„Bellschedule“žodynas yra panašus, tačiau „raktas“dabar yra varpo laikas. jums reikia naudoti formatą HH: MM su nuliais priekyje ir 24 valandų laiką (karinis laikas).
skambučių tvarkaraštis = {
'09: 00 ':' start ', #' Bus 'varpas ruošiasi '09: 28': 'įspėti',….. '13: 58 ':' įspėti ', # 4 laikotarpiui '14: 00 ':' start ', '15: 00': 'end'}
Šio rakto reikšmė: reikšmių pora yra naudojamas skambučio tono tipas ir turi atitikti vieną iš aukščiau apibrėžtų varpelių.
Galiausiai, atostogų žodyne pateikiamos atostogų datos. Formatas yra YYYY-mm-dd, su nuliais priekyje, kaip parodyta.
atostogos = {
'2020-09-07', …. '2021-03-11', '2021-03-12' }
Baigę redaguoti išsaugokite failą išeidami iš redaktoriaus ir įvesdami „Ctrl-X“, jei naudojate „pico“.
Padarykite „Python“kodą vykdomu taip:
pi@mokyklos skambutis: ~ $ chmod a+x schoolbell.py
Tai leidžia visiems vartotojams vykdyti kodą, „a“visiems, „+“pridėti leidimą ir „x“vykdyti.
Dabar išbandykite kodą ir stebėkite išvestį. Atminkite, kad galite paleisti failą įvesdami failo pavadinimą, tačiau turite nurodyti, kad jis yra dabartiniame kataloge, prieš failo pavadinimą įvesdami „./“:
pi@mokyklos skambutis: ~ $./schoolbell.py
Tai mokykla, tikrinimo laikas 21:35
Kodas parodys, ar tai mokyklos diena (pvz., Ne atostogos ar savaitgalis), ir parodys, ar laikas atitinka skambučio laiką. Šiuo atveju tai nebuvo varpo laikas, todėl jis tiesiog išvažiavo švariai. Jei tai būtų varpo laikas, jis būtų suskambėjęs.
Norėdami patikrinti, ar jūsų kodas gali groti varpeliais, naudokite failo, kurį norite paleisti, komandinės eilutės parinktį. Mes naudosime savo „bing-bong“failą:
pi@mokyklos skambutis: ~/schoolbell $./schoolbell.py bing-bong-chime-hq.mp3
Tai mokykla, tikrinimo laikas 21:38 Aukštos kokybės MPEG 1.0/2.0/2.5 garso grotuvas, skirtas 1, 2 ir 3 sluoksniams. 0.3.2-1 versija (2012/03/25). Rašė ir autorinės teisės Joe Drew, dabar prižiūrimos Nanakos Chrysostomos ir kt. …. daugiau produkcijos ….
Jūs turėjote išgirsti varpą.
Dabar išbandykite kodą naudodami argumentą kaip laiką. Nepamirškite įvesti laiko su nuliais. Pavyzdžiui, norėdamas išbandyti savo „mokyklinio autobuso“skambutį 9 val., Įvedu:
pi@mokyklos skambutis: ~ $./schoolbell.py 09:00
Dėl to jūsų varpas turėtų skambėti! Taip pat galite patikrinti, ar jis neskamba ne skambučio metu.
5 žingsnis: automatizuokite bėgimą su „Crond“
„Cron“„demonas“yra planuotojas, vykdantis pasikartojančias užduotis „Linux“sistemoje. Jis patikrina, ar data/laikas atitinka „cron“lentelės modelį („crontab“), ir tada paleidžia kodą, jei jis atitinka. Galite jį redaguoti naudodami komandą „crontab -e“:
pi@mokyklos skambutis: ~ $ crontab -e
Bus atidarytas failų redaktorius, o šio failo apačioje pridėsite šią eilutę:
* * * * * python3 /home/pi/schoolbell.py
Ši komanda nurodo „cron“paleisti „python3“, vykdydama jūsų scenarijų įprastame namų kataloge (/home/pi). Penki *sako, kad tai turėtų būti atliekama kiekvieną minutę (pirmą *), kiekvieną valandą (kitą *…), kiekvieną mėnesio dieną, kiekvieną mėnesį ir kiekvieną savaitės dieną.
Dabar kiekvieną minutę bus paleistas „schoolbell.py“scenarijus. Daugelį minučių kodas bus paleistas ir pamatys, kad jis turėtų tiesiog išeiti be skambėjimo, bet jei pasirodys, kad skambės, skambės.
Atminkite, kad kadangi „cron“veikia tik kiekvieną minutę, jūs negalėjote padaryti varpų smulkesnių nei minutę. Manau, teoriškai įmanoma, kad jei jūsų sistema užstrigs, „cron“gali neveikti kelias sekundes po minutės pabaigos, todėl skambutis pavėluos. Jei kažkaip cronas neveiktų visą minutę, varpas būtų praleistas.
Patarimas: ilgesnėms atostogoms (pvz., Vasarai) prie pirmojo šios eilutės simbolio galite pridėti žymeklį (#), kuris paverčia jį komentarais ir taip ignoruoja jo vykdymą. Kai mokykla grįš į sesiją, tiesiog pašalinkite # ir ji vėl pradės veikti.
6 žingsnis: pritaikykite ir mėgaukitės
Dabar turėtumėte turėti veikiančią namų mokyklos skambučių sistemą ir jūsų mokinys niekada neturėtų vėluoti į pamokas.
Galite pritaikyti šį projektą pakeisdami varpelio tonus.
- Galite skambėti Big Benui, skambindami kas ketvirtį valandos ir skambėdami valandomis.
- Galite paragauti mėgstamo reperio laisvo stiliaus.
- Galite rašyti pasąmoningus pranešimus, kad sutelktumėte dėmesį į studijas.
Būkite saugūs šiuo COVID laikotarpiu.
II vieta šeimos konkurse „Negalima paliesti“
Rekomenduojamas:
Nuostabi mokyklos šnipinėjimo programėlė! Nematomo rašalo rašiklio nulaužimas: 6 žingsniai
Nuostabi mokyklos šnipinėjimo programėlė! „Invisible Ink Pen Hack“: naudodami šį nuostabų įsilaužimą galite kam nors nusiųsti slaptus pranešimus ar net apgauti
Liūdnas kačių fiksatorius, „Catch -Me Cat“žaislas - mokyklos projektas: 3 žingsniai
Liūdnas kačių fiksatorius, „Catch-Me Cat“žaislas-mokyklos projektas: Štai mūsų produktas, interaktyvi žaislinė pelė: „Catch-Me Cat Toy“. Štai problemų, su kuriomis susiduria daugelis mūsų visuomenės kačių, sąrašas: Katės šiais laikais tampa neveiklios ir prislėgtos, neturėdamos ką veikti. Dauguma šeimininkų yra užsiėmę darbu ar mokykla
Ryšių mokymas, mokyklos veikla ar jaunimo žaidimas: 3 žingsniai
Komunikacijos mokymas, mokyklos veikla ar jaunimo žaidimas: aš daug kartų naudojuosi šia veikla su gimnazistais. Tai daroma kaip lenktynės, dalyvaujant tiek komandų, kiek norite. Jis paremtas senu „Telefono“žaidimu, kur frazė šnabžda iš vieno žmogaus kitam, paprastai pabaiga užsidega
Piešimo ranka, kurią valdo garsas - „Arduino“mokyklos projektas: 4 žingsniai (su nuotraukomis)
Piešimo ranka, kurią valdo garsas - „Arduino“mokyklos projektas: tai pirmas kartas, kai dirbu su „Arduino“ir dirbu su kažkuo panašiu, todėl atsiprašau, jei padariau klaidų! Ši mintis man kilo, kai galvojau apie savo pomėgius - piešimą ir muziką. Taigi aš bandžiau sujungti abu šiuos dalykus! A sel
Darbas su keliais kompiuteriais (studentams): 6 žingsniai
Darbas su keliais kompiuteriais (studentams): Darbas su keliais kompiuteriais gali būti labai sunkus. Niekada nežinai, kokie failai yra bet kuriame kompiuteryje, gali kilti problemų dėl kelių to paties failo versijų ir dėl to galite prarasti visus failus arba bent jau turėti