Turinys:

Mokyklos varpas nuotolinių studijų studentams: 6 žingsniai
Mokyklos varpas nuotolinių studijų studentams: 6 žingsniai

Video: Mokyklos varpas nuotolinių studijų studentams: 6 žingsniai

Video: Mokyklos varpas nuotolinių studijų studentams: 6 žingsniai
Video: Книга 04 — Аудиокнига Виктора Гюго «Горбун из Нотр-Дама» (главы 1–6) 2024, Lapkritis
Anonim
Mokyklos varpas nuotolinių studijų studentams
Mokyklos varpas nuotolinių studijų studentams

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“

Nustatykite „Raspberry Pi“
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

Įjunkite garso sistemą
Įjunkite garso sistemą

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

Išbandykite varpelio garsų atkūrimą ir (arba) sukurkite naujų garsų
Išbandykite varpelio garsų atkūrimą ir (arba) sukurkite naujų garsų

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į

Įdiekite kodą ir nustatykite tvarkaraštį
Į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“

Automatizuokite bėgimą su Crond
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.

Vaizdas
Vaizdas
Vaizdas
Vaizdas

II vieta šeimos konkurse „Negalima paliesti“

Rekomenduojamas: