Բովանդակություն:

Դպրոցի զանգ հեռակա ուսանողների համար `6 քայլ
Դպրոցի զանգ հեռակա ուսանողների համար `6 քայլ

Video: Դպրոցի զանգ հեռակա ուսանողների համար `6 քայլ

Video: Դպրոցի զանգ հեռակա ուսանողների համար `6 քայլ
Video: Երգեց հայերեն😳😍Իսպանացին երգեց հայերեն🥰🥰🥰 #reels #shorts #trending 2024, Հուլիսի
Anonim
Դպրոցի զանգ հեռակա ուսանողների համար
Դպրոցի զանգ հեռակա ուսանողների համար

COVID-19 համաճարակի պատճառով շատ մանկական դպրոցներ գնացել են հեռակա առաքման: Տնային դպրոցի այս զանգը ժամանակացույցին մնալու զվարճալի միջոց է, որն օգտագործում է Raspberry Pi և USB բարձրախոս: Դուք կարող եք դա անել ձեր երեխայի հետ, և նրանք կարող են սովորել ծրագրավորման մասին և կարող են «զանգահարել»: Ես սա կառուցել եմ 7 -րդ դասարան սովորող իմ դստեր համար (ներկայումս հեռակա առաքման միջոցով), և դա լավ է աշխատում մեզ ժամանակին պահելու համար:

Պարագաներ

Այս նախագծի համար ձեզ հարկավոր է.

  • Raspberry Pi համակարգիչ - Այն ամենալավն է աշխատում, եթե ունեք WiFi, ես օգտագործել եմ RPi 3B- ն Կանո հավաքածուից
  • Բարձրախոս - ես օգտագործել եմ USB բարձրախոս

Կոդը կարող է հեշտությամբ գործարկել ձեր ուսանողի linux համակարգչի կամ նույնիսկ միկրոհսկողության վրա աշխատող միկրոկոնտրոլերի վրա, քանի դեռ միկրոկոնտրոլերը որոշակի մեխանիզմ ունի ընթացիկ ամսաթիվը/ժամը ստանալու համար: Նաև ցանկացած ուժեղացված բարձրախոս, կամ նույնիսկ ավելի զովացուցիչ ռելե / անալոգային զանգ, կարող է օգտագործվել:

Քայլ 1: Կարգավորեք ձեր ազնվամորի Pi- ն

Ստեղծեք ձեր ազնվամորի Pi- ն
Ստեղծեք ձեր ազնվամորի 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. Փորձարկեք զանգի հնչյունների նվագարկումը և/կամ ստեղծեք նոր հնչյուններ

Testանգի հնչյունների փորձարկում և/կամ նոր հնչյունների ստեղծում
Testանգի հնչյունների փորձարկում և/կամ նոր հնչյունների ստեղծում

Իմ զանգի համար ես ներբեռնեցի «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- ով

Ավտոմատացրեք վազքը Crond- ով
Ավտոմատացրեք վազքը 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- ի այս պահին:

Պատկեր
Պատկեր
Պատկեր
Պատկեր

Երկրորդ տեղը զբաղեցրեց «Չեմ կարող դիպչել այս» ընտանեկան մրցույթին

Խորհուրդ ենք տալիս: