Բովանդակություն:
- Պարագաներ
- Քայլ 1: Կարգավորեք ձեր ազնվամորի Pi- ն
- Քայլ 2: Գործարկեք ձեր ձայնային համակարգը
- Քայլ 3. Փորձարկեք զանգի հնչյունների նվագարկումը և/կամ ստեղծեք նոր հնչյուններ
- Քայլ 4: Տեղադրեք ծածկագիրը և սահմանեք ձեր ժամանակացույցը
- Քայլ 5: Ավտոմատացրեք վազքը Crond- ով
- Քայլ 6: Անհատականացրեք և վայելեք
Video: Դպրոցի զանգ հեռակա ուսանողների համար `6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
COVID-19 համաճարակի պատճառով շատ մանկական դպրոցներ գնացել են հեռակա առաքման: Տնային դպրոցի այս զանգը ժամանակացույցին մնալու զվարճալի միջոց է, որն օգտագործում է Raspberry Pi և USB բարձրախոս: Դուք կարող եք դա անել ձեր երեխայի հետ, և նրանք կարող են սովորել ծրագրավորման մասին և կարող են «զանգահարել»: Ես սա կառուցել եմ 7 -րդ դասարան սովորող իմ դստեր համար (ներկայումս հեռակա առաքման միջոցով), և դա լավ է աշխատում մեզ ժամանակին պահելու համար:
Պարագաներ
Այս նախագծի համար ձեզ հարկավոր է.
- Raspberry Pi համակարգիչ - Այն ամենալավն է աշխատում, եթե ունեք WiFi, ես օգտագործել եմ RPi 3B- ն Կանո հավաքածուից
- Բարձրախոս - ես օգտագործել եմ USB բարձրախոս
Կոդը կարող է հեշտությամբ գործարկել ձեր ուսանողի linux համակարգչի կամ նույնիսկ միկրոհսկողության վրա աշխատող միկրոկոնտրոլերի վրա, քանի դեռ միկրոկոնտրոլերը որոշակի մեխանիզմ ունի ընթացիկ ամսաթիվը/ժամը ստանալու համար: Նաև ցանկացած ուժեղացված բարձրախոս, կամ նույնիսկ ավելի զովացուցիչ ռելե / անալոգային զանգ, կարող է օգտագործվել:
Քայլ 1: Կարգավորեք ձեր ազնվամորի Pi- ն
Գոյություն ունեն մեծ թվով ռեսուրսներ Raspberry Pi համակարգիչ ստեղծելու համար, ուստի ես ձեզ հղում եմ այն, ինչ Google- ը գտնում է: Կարևորն այն է, որ ձեր համակարգիչը հնարավորություն ունենա ճիշտ ամսաթիվ և ժամ ստանալ: WiFiամանակակից WiFi- ով աշխատող Raspberry Pi համակարգիչներից շատերն օգտագործում են NTP արձանագրությունը `ինտերնետից ժամանակը որոշելու համար, ինչը ճիշտ ժամանակն եմ գտել: Ես իմ RPi- ն ստեղծեցի որպես «անգլուխ», այսինքն ՝ այն չունի ստեղնաշար կամ մոնիտոր, բայց հասանելի է ինտերնետի միջոցով ապահով պատյանով (SSH): Եթե դուք լավ եք RPi- ով, կարող եք անել այս կարգավորումը առանց ստեղնաշարի / տեսանյութի / մկնիկի, բայց ավելի հեշտ է պարզապես տեղադրել pi- ն այդ պարագաներով:
Նկատի ունեցեք, որ ինձ պետք չէր գրաֆիկական ինտերֆեյսը օգտագործել, այնպես որ ես պարզապես ներբեռնեցի «Raspberry Pi OS (32-bit) Lite»-ը, որն ավելի փոքր է և արագ ներբեռնման համար և ավելի արագ է բեռնվում:
Կարգավորեք Raspberry Pi- ի ցանցը և միացման տարբերակները
$ sudo raspi-config
Կազմաձևում կատարեք հետևյալը.
- Փոխեք գաղտնաբառը. Դա արեք նախ, հուսով եմ ՝ առցանց մտնելուց առաջ:
-
«Networkանցի ընտրանքներ» բաժնում,
- Փոխել հյուրընկալողի անունը: Ես օգտագործեցի տանտիրոջ անունը ՝ «schoolbell»:
- Միացեք ձեր անլար LAN- ին (եթե դա չեք արել կարգաբերման ժամանակ)
- «Միացման տարբերակներ» բաժնում միացրեք SSH մուտքը
- Միշտ լավ է գործարկել «Թարմացնել» տարբերակը
Երբ դա անեք և վերագործարկեք, դուք պետք է կարողանաք միանալ Raspberry Pi- ին նույն տեղական ցանցի մեկ այլ համակարգչից ՝ օգտագործելով SSH հաճախորդ: Միացեք դրան ՝ օգտագործելով հետևյալ հավատարմագրերը.
հյուրընկալողի անունը ՝ schoolbell.local
օգտվող: pi գաղտնաբառ ՝ whateveryousetitas
Linux- ի տուփից սա նույնքան պարզ է, որքան այս հրամանի տողը մուտքագրելը $ հուշման մեջ.
$ ssh [email protected]
… Մուտքագրեք գաղտնաբառը հուշման մեջ
Դա ձեզ մուտք կգործի և կարող եք ստուգել, որ Raspberry Pi- ի ժամանակը ճիշտ է: Հրամանի տողում մուտքագրեք ամսաթվի հրամանը և ստուգեք պատասխանը.
pi@schoolbell: ~ $ date
Հինգշաբթի 3 սեպտեմբերի 20:44:34 AKDT 2020
Հուսանք, որ սա ներկա ժամանակն է: Եթե դա ճիշտ չէ, google- ը Raspberry Pi- ում NTP ստեղծելու մասին:
Քայլ 2: Գործարկեք ձեր ձայնային համակարգը
Մենք նվագարկելու ենք MP3 ֆայլեր զանգերի համար, ուստի մենք պետք է ներբեռնենք ծրագրակազմ ՝ այս աուդիո ֆայլերը վերծանելու համար: Ես ստացա mpg321 փաթեթը `մուտքագրելով այս հրամանը.
pi@schoolbell: su $ sudo apt-get տեղադրել mpg321
Այս ծրագրաշարը տեղադրելու համար հետևեք հրահանգներին:
Ես օգտագործեցի հին USB բարձրախոս, որն ուներ տարօրինակ վարորդ և ամբողջությամբ չկարգավորվեց որպես կանխադրված ձայնային քարտ, ուստի գտա, որ կարող եմ «կոտրել» բարձրախոսը աշխատելու համար ՝ օգտագործելով դրա ապարատային հասցեն: Բարձրախոսը միացնելուց հետո ես օգտագործեցի 'aplay -l' հրամանը `ձայնային սարքերը թվարկելու համար.
pi@schoolbell: ~ $ aplay -l
**** PLAYBACK ապարատային սարքերի ցանկ **** քարտ 0: Ականջակալներ [bcm2835 Ականջակալներ], սարք 0: bcm2835 Ականջակալներ [bcm2835 Ականջակալներ] Ենթասարքեր. ՝ ենթասարք #2 ենթասարք #3 ՝ ենթասարք #3 ենթասարք #4 ՝ ենթասարք #4 ենթասարք #5 ՝ ենթասարք #5 ենթասարք #6: ենթասարք #6 Ստորև #7: ենթասարք #7 քարտ 1: ԿՈԴԵԿ [USB Audio CODEC], սարք 0: USB Աուդիո [USB Աուդիո] Ենթասարքեր. Ենթասարք #0: ենթասարք #0
Իմ ուզած սարքը ստորինն է ՝ քարտ 1, սարք 0:
Ես փորձարկեցի բարձրախոսը «բարձրախոս-թեստով» ՝ օգտագործելով սարքը «hw: 1, 0», այսինքն ՝ ապարատային քարտ 1, սարք 0
pi@schoolbell: ~ $ speaker -test -D hw: 1, 0
Այս ծրագիրը բարձրախոսներից աղմուկ է բարձրացնում: Վայելեք աղմուկը, ապա գրգռեք, երբ նյարդայնանաք: Եթե աղմուկ չեք լսում, փորձեք google- ը:
Հիմա դու ձայն ունես:
Քայլ 3. Փորձարկեք զանգի հնչյունների նվագարկումը և/կամ ստեղծեք նոր հնչյուններ
Իմ զանգի համար ես ներբեռնեցի «bing-bong» ձայնը «freesound.org»-ից: Շնորհակալություն Benboncan- ին այս ձայնը հասանելի դարձնելու համար.
freesound.org/people/Benboncan/sounds/93646/
Դուք կարող եք ուղղակիորեն նվագարկել ձայնը: Ես կարող եմ ուղղակիորեն ներբեռնել այս ֆայլի mp3 տարբերակը ՝ այս հրահանգը մուտքագրելով Raspberry Pi համակարգչում (ենթադրելով, որ այն WiFi- ում է).
pi@schoolbell: ~ $ wget
Այնուհետև ես վերանվանեցի այս ֆայլը.
pi@schoolbell: ~ $ mv 93646_634166-hq.mp3 bing-bong-chime-hq.mp3
Այնուհետև ես փորձեցի, որ կարող եմ զանգը զանգել այս հրամանով (ելքը ցույց է տալիս).
pi@schoolbell: ~ $ mpg321 -a hw: 1, 0 bing-bong-chime-hq.mp3
High Performance MPEG 1.0/2.0/2.5 աուդիո նվագարկիչ 1-ին, 2-րդ և 3-րդ շերտի համար 0.3.2-1 տարբերակ (2012/03/25): Գրված և հեղինակային իրավունքները ՝ eո Դրյուի կողմից, այժմ պահպանվում են Նանակոս Քրիսոստոմոսի և այլոց կողմից: Օգտագործում է տարբեր մարդկանց ծածկագիրը: Տեսեք «ԿԱՐԴԱԼ» ավելին: ԱՅՍ FԱՌԱՅՈԹՅՈՆԸ ԲԱOLԱՌՈ NOԹՅՈ NOՆ ՉԻ ԵՐԱՇԽԻՔՈՎ: Օգտագործեք ձեր սեփական ռիսկով: MPEG հոսքի նվագարկում bing-bong-chime-hq.mp3… MPEG 1.0 շերտ III, 128 կբիթ/վրկ, 44100 Հց մոնո [0:02] bing-bong-chime-hq.mp3- ի վերծանումն ավարտված է:
Շնորհավոր! Դուք ունեք աուդիո:
Օգտագործելով ձայնային խմբագրման ծածկագիրը «հանդգնություն» նոութբուքում, ֆայլը բաժանեցի «bing»-ի և «bong»-ի ՝ ավելի զվարճանալու համար: Դուք կարող եք օգտագործել ցանկացած mp3 կամ գուցե այլ ձևաչափի (ես ուրիշներին չեմ փորձարկել) ձայնային ֆայլեր:
Քայլ 4: Տեղադրեք ծածկագիրը և սահմանեք ձեր ժամանակացույցը
Կոդը պիթոնի սցենար է, որը ստանում է ընթացիկ ամսաթիվը/ժամը, և եթե ամսաթիվը շաբաթվա օր է, և ոչ արձակուրդ, այն ստուգում է ՝ արդյո՞ք ժամանակը համընկնում է զանգի ժամին, եթե անհրաժեշտ է `չի հնչում:
Սկզբում այն կստանաք աշխատելու, այնուհետև ավտոմատացրեք այն ամեն րոպե աշխատել:
Ներբեռնեք կոդը Github- ից.
gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618
Ինձ համար հեշտ է դա անել ՝ ֆայլը պահելով տեղական համակարգչում, այնուհետև օգտագործելով անվտանգ պատճենը (scp) ՝ այն Raspberry pi- ի վրա դնելու համար:
Տեղական մեքենայի վրա պատճենեք ծածկագիրը ձեր դիտարկիչից, այնուհետև տեղադրեք տեքստային ֆայլում և պահեք այն «schoolbell.py» ֆայլի անունով: Այնուհետև ֆայլը հեռացրեք.
local-machine: ~ $ scp schoolbell.py [email protected]:/
Schoolbell.local- ում ձեզ կառաջարկվի մուտքագրել pi օգտվողի գաղտնաբառը - մուտքագրեք գաղտնաբառը, և ֆայլը ապահով պատճենվում է: Այս հրամանը պետք է գործարկվի նույն գրացուցակում, որտեղ պահվել է python սցենարը, և այն պատճենվում է pi օգտվողի տնային գրացուցակում: Կարող եք ssh անցնել schoolbell.local և ծածկագիրը պետք է լինի այնտեղ ՝
տեղական մեքենա ՝ ~ $ ssh [email protected]
Այնուհետեւ schoolbell.local- ում նշեք ֆայլերը (կարող եք տեսնել ավելի շատ ֆայլեր).
pi@schoolbell: ~ $ ls
bing-bong-chime-hq.mp3 schoolbell.py
Այժմ խմբագրեք կոդը, որպեսզի այն ունենա ձեր զանգերի ժամանակացույցը ՝ օգտագործելով այնպիսի խմբագիր, ինչպիսին է pico- ն ՝
pi@schoolbell: ~ $ pico schoolbell.py
Կոդն ունի երեք «բառարան», որոնք սահմանում են նվագելու զանգերի հնչյունները, դրանք նվագելու ժամանակը և արձակուրդներից խուսափելու համար հանգստյան օրերին զանգերը ինքնաբերաբար բաց են թողնվում:
Օրինակ, զանգերի բառարանը հետևյալն է.
զանգերի հնչյուններ = {
'warning': 'bing-bong-chime-hq.mp3', 'start': 'bing-bong-chime-hq.mp3', 'end': 'bing-bong-chime-hq.mp3'}
Սա սահմանում է զանգերի երեք տեսակ, նախազգուշական զանգ, դասի սկիզբ և ավարտ: Քանի որ մենք ունենք միայն մեկ զանգի հնչերանգ, դրանք բոլորը մատնանշում են նույն ֆայլը, բայց եթե տարբեր երանգներ եք պատրաստում, կարող եք դրանք փոխել: Դուք նույնիսկ կարող եք ավելացնել զանգերի այլ տեսակներ: Ես նաև խաղում էի խոսքի սինթեզատոր օգտագործելով զանգերը հնչեցնելու համար, բայց դա տանը ուրիշների կողմից դրական չէր դիտվում:
Ellsանգերի ժամանակացույցի բառարանը նման է, բայց «բանալին» այժմ զանգի ժամանակն է: դուք պետք է օգտագործեք HH: MM ձևաչափը `առաջատար զրոներով և 24-ժամյա ժամանակով (ռազմական ժամանակ):
զանգերի ժամանակացույց = {
'09: 00 '.' Սկիզբ ', #' Ավտոբուսի 'զանգը պատրաստվում է պատրաստվել '09: 28'. 'Նախազգուշացում',….. '13: 58 '՝' նախազգուշացում ', # 4 '14: 00 ժամանակահատվածի համար ':' սկիզբ ',' 15: 00 ':' ավարտ '}
Այս բանալին. Արժեքը զույգը զանգի հնչերանգի տեսակն է, որը պետք է օգտագործվի և պետք է համապատասխանի վերը նշված զանգակներից մեկին:
Վերջապես, արձակուրդների բառարանում նշվում են արձակուրդի ամսաթվերը: Ձևաչափը YYYY-mm-dd է, ինչպես ցույց է տրված առաջատար զրոներ:
արձակուրդներ = {
'2020-09-07', …. '2021-03-11', '2021-03-12' }
Խմբագրումն ավարտելուց հետո պահպանեք ֆայլը ՝ խմբագրից դուրս գալով, եթե պիկո եք օգտագործում, մուտքագրեք ctrl-X:
Պիթոնի ծածկագիրը կատարելի դարձրեք ՝
pi@schoolbell: ~ $ chmod a+x schoolbell.py
Սա թույլ է տալիս բոլոր օգտվողներին կատարել ծածկագիրը, «a» բոլորի համար, «+» ՝ թույլտվության համար և «x» ՝ կատարման համար:
Այժմ փորձարկեք գործարկեք կոդը և դիտեք ելքը: Նկատի ունեցեք, որ ֆայլը կարող եք գործարկել ՝ մուտքագրելով ֆայլի անունը, սակայն անհրաժեշտ է նշել, որ այն ընթացիկ գրացուցակում է ՝ ֆայլի անունից առաջ մուտքագրելով «./»:
pi@schoolbell: ~ $./schoolbell.py
Դպրոցական օր է, ստուգման ժամը ՝ 21:35
Կոդը ձեզ կասի, թե արդյոք դա ուսումնական օր է (օրինակ ՝ արձակուրդ չէ կամ հանգստյան օրեր), և կտեսնի, թե արդյոք ժամանակը համընկնում է զանգի ժամանակի հետ: Այս դեպքում դա զանգի ժամանակ չէր, ուստի այն մաքուր դուրս եկավ: Եթե պատահեր, որ զանգի ժամանակ լիներ, կհնչեր:
Ստուգելու համար, որ ձեր ծածկագիրը կարող է զանգեր հնչեցնել, օգտագործեք նվագարկելու համար ֆայլի հրամանի տողի տարբերակը: Մենք կօգտագործենք մեր bing-bong ֆայլը.
pi@schoolbell: ~/schoolbell $./schoolbell.py bing-bong-chime-hq.mp3
Դա ուսումնական օր է ՝ ստուգելու ժամանակը 21:38 Բարձր կատարողական MPEG 1.0/2.0/2.5 Աուդիո նվագարկիչ 1-ին, 2-րդ և 3-րդ շերտերի համար: Տարբերակ 0.3.2-1 (2012/03/25): Գրված և հեղինակային իրավունքները ՝ eո Դրյուի կողմից, այժմ պահպանվում են Նանակոս Քրիսոստոմոսի և այլոց կողմից: …. ավելի շատ ելք…
Դուք պետք է լսեիք զանգը:
Այժմ ստուգեք ծածկագիրը ՝ որպես արգումենտ օգտագործելով ժամանակը: Հիշեք, որ ժամանակը մուտքագրեք առաջատար զրոներով: Օրինակ, «դպրոցական ավտոբուսի» զանգը առավոտյան 9 -ին ստուգելու համար ես գրում եմ.
pi@schoolbell: ~ $./schoolbell.py 09:00
Սա պետք է հանգեցնի ձեր զանգի զանգին: Կարող եք նաև ստուգել, որ այն չի զանգում ոչ զանգի ժամանակ:
Քայլ 5: Ավտոմատացրեք վազքը Crond- ով
Cron 'daemon' - ը ժամանակացույց է, որը կատարում է կրկնվող առաջադրանքներ linux համակարգում: Ստուգում է ՝ արդյոք ամսաթիվը/ժամը համընկնում է cron աղյուսակի օրինակի հետ (crontab) և այնուհետև գործարկում է կոդը, եթե այդպես է: Դուք կարող եք այն խմբագրել ՝ օգտագործելով «crontab -e» հրամանը.
pi@schoolbell: ~ $ crontab -e
Սա կբացի ֆայլի խմբագիր, և այս ֆայլի ներքևում կավելացնեք հետևյալ տողը.
* * * * * python3 /home/pi/schoolbell.py
Այս հրամանը cron- ին ասում է, որ գործարկի python3- ը ՝ ձեր սցենարը կատարելով սովորական տնային գրացուցակում (/home/pi): Հինգը ասում են, որ այն պետք է վազի ամեն րոպե (առաջին *), ամեն ժամ (հաջորդ *…), ամսվա ամեն օր, ամեն ամիս և շաբաթվա ամեն օր:
Այժմ, ամեն րոպե schoolbell.py սցենարը կգործարկվի: Րոպեների մեծ մասի ընթացքում կոդը կգործի և կգտնի, որ այն պետք է պարզապես դուրս գա առանց շշնջալու, բայց եթե պարզվի, որ հարվածում է զանգին, այն կզնգա:
Նկատի ունեցեք, որ քանի որ cron- ն աշխատում է միայն ամեն րոպե, դուք չեք կարող զանգերը դարձնել ավելի հատիկավոր, քան րոպեին: Կարծում եմ, որ տեսականորեն հնարավոր է, որ եթե ձեր համակարգը խցանվի, cron- ը կարող է մի քանի վայրկյան չաշխատել րոպեի ավարտից հետո ՝ զանգը ուշացնելով: Եթե ինչ -որ կերպ քրոնը չաշխատեր ամբողջ րոպեն, զանգը բաց կթողնվեր:
Հուշում. Երկարատև արձակուրդների համար (օրինակ ՝ ամառ), այս տողի առաջին նիշին կարող եք ավելացնել հեշթեգ (#), ինչը այն դարձնում է մեկնաբանություն և դրանով իսկ անտեսում այն գործարկելը: Երբ դպրոցը վերսկսվի, պարզապես հանեք # թիվը և այն նորից կսկսի գործել:
Քայլ 6: Անհատականացրեք և վայելեք
Այժմ, դուք պետք է ունենաք աշխատող տնային դպրոցի զանգերի համակարգ, և ձեր աշակերտը երբեք չպետք է ուշանա դասից:
Դուք կարող եք հարմարեցնել այս նախագիծը `փոխելով զանգի հնչերանգները:
- Դուք կարող եք ստիպել այն զանգահարել Բիգ Բենին, քառորդ ժամյա զանգերի ձայնով և ժամերը զանգելով:
- Կարող եք օրինակ վերցնել ձեր նախընտրած ռեփերի ազատ ոճից:
- Դուք կարող եք ենթագիտակցական հաղորդագրություններ կատարել `ուսումնասիրության վրա կենտրոնանալու համար:
Մնացեք ապահով COVID- ի այս պահին:
Երկրորդ տեղը զբաղեցրեց «Չեմ կարող դիպչել այս» ընտանեկան մրցույթին
Խորհուրդ ենք տալիս:
Raspberry Pi հեռակա աշխատասեղան Mac- ի համար. 11 քայլ
Raspberry Pi հեռակա աշխատասեղան Mac- ի համար. Սա ձեռնարկ է, թե ինչպես կարգավորել tightvnc ՝ Mac- ի միջոցով Raspberry Pi- ի աշխատասեղանին մուտք գործելու համար, երբ Pi- ն աշխատում է անգլուխ ռեժիմով:
LED տուփ Դելտայի դպրոցի սիմպոզիումի համար. 7 քայլ
LED տուփ Դելտայի դպրոցի սիմպոզիումի համար
Անլար զանգ / դռան զանգ ՝ 9 քայլ
Անլար զանգ / Դռան զանգ. Բարև տղերք: Այսօր մենք պատրաստվում ենք անլար դուռ կամ զանգի զանգ 300 մետր հեռավորության վրա բաց տարածքում `համեմատած առևտրային դռների զանգերի 50 մետրի հետ, որոնք մենք սովորաբար տեսնում ենք խանութներում: Այս նախագիծը կարող է օգտագործվել որպես դռան զանգ կամ դյուրակիր
Ինչպես կպչել ավագ դպրոցի խաղին (լավ). 6 քայլ (նկարներով)
Ինչպես կպչել ավագ դպրոցի խաղը (լավ). Բարև ձեզ. Ավագ դպրոցում իմ ամբողջ կյանքի ընթացքում ես իսկապես ներգրավված էի դրամատիկական ծրագրում, մասնավորապես ՝ անձնակազմի հետ: Սկսեցի շինարարությունից, անցա վազքի, այնուհետև լուսավորության, և այժմ, երբ ավարտել եմ, հետ քաշվեցի, որպեսզի օգնեի լուսավորությանը
Աշխատեք բազմաթիվ համակարգիչների հետ (ուսանողների համար) `6 քայլ
Աշխատել բազմաթիվ համակարգիչների հետ (ուսանողների համար). Բազմաթիվ համակարգիչների հետ աշխատանքը կարող է շատ դժվար լինել: Դուք երբեք չգիտեք, թե որ ֆայլերը որ համակարգչի վրա են, կարող եք խնդիրներ ունենալ միևնույն ֆայլի տարբեր տարբերակների հետ, և արդյունքում կարող եք միասին կորցնել ձեր ֆայլերը կամ գոնե ունենալ ձեր