Mundarija:

Masofadagi talabalar uchun maktab qo'ng'irog'i: 6 qadam
Masofadagi talabalar uchun maktab qo'ng'irog'i: 6 qadam

Video: Masofadagi talabalar uchun maktab qo'ng'irog'i: 6 qadam

Video: Masofadagi talabalar uchun maktab qo'ng'irog'i: 6 qadam
Video: Talabaman, qanday pul topsam bo'ladi? 2024, Noyabr
Anonim
Masofadagi talabalar uchun maktab qo'ng'irog'i
Masofadagi talabalar uchun maktab qo'ng'irog'i

COVID-19 pandemiyasi tufayli ko'plab bolalar maktablari masofadan etkazib berishga o'tdilar. Bu uy maktab qo'ng'irog'i - bu Raspberry Pi va USB karnaydan foydalanadigan jadvalda qolishning qiziqarli usuli. Siz buni bolangiz bilan qilishingiz mumkin, ular dasturlash haqida bilib olishadi va "qo'ng'iroqni" chalishadi. Men buni 7 -sinfda o'qiyotgan qizim uchun qurganman (hozirda masofadan etkazib berish orqali) va bizni o'z vaqtida ushlab turish yaxshi ishlamoqda.

Ta'minotlar

Ushbu loyiha uchun sizga kerak bo'ladi:

  • Raspberry Pi kompyuteri - Agar sizda Wi -Fi bo'lsa, u eng yaxshi ishlaydi, men Kano to'plamidan RPi 3B ishlatardim.
  • Karnay - Men USB karnaydan foydalanardim

Kod sizning talabangizning Linux kompyuterida yoki hatto mikropritonda ishlaydigan mikrokontrollerda osonlikcha ishlashi mumkin, agar mikrokontrollerda joriy sana/vaqtni olish mexanizmi bo'lsa. Bundan tashqari, har qanday kuchaytirgich yoki hatto sovutgichli o'rni / analog qo'ng'irog'i ishlatilishi mumkin.

1 -qadam: Raspberry Pi -ni o'rnating

Raspberry Pi -ni o'rnating
Raspberry Pi -ni o'rnating

Raspberry Pi kompyuterini sozlash uchun juda ko'p manbalar mavjud, shuning uchun men sizni Google topadigan kompyuterga havola qilaman. Eng muhimi, sizning kompyuteringizda to'g'ri sana va vaqtni olish usuli. Ko'pchilik zamonaviy Wi-Fi-ni qo'llab-quvvatlaydigan Raspberry Pi kompyuterlari Internetdan vaqtni belgilash uchun NTP protokolidan foydalanadilar, bu men uchun to'g'ri vaqt. Men RPi -ni "boshsiz" qilib o'rnatdim, ya'ni klaviatura yoki monitor yo'q, lekin Internet orqali himoyalangan qobiq (SSH) orqali kirish mumkin. Agar siz RPi -ni yaxshi bilsangiz, bu sozlamani klaviatura / video / sichqonchasiz bajarishingiz mumkin, lekin pi -ni o'sha aksessuarlar yordamida sozlash osonroq.

E'tibor bering, menga grafik interfeysdan foydalanishning hojati yo'q edi, shuning uchun men "Raspberry Pi OS (32-bit) Lite" ni yukladim, u kichikroq va tezroq yuklanadi va tezroq yuklanadi.

Raspberry Pi tarmog'ini va interfeys parametrlarini sozlang

$ sudo raspi-config

Konfiguratsiyada quyidagilarni bajaring:

  • Parolni o'zgartiring - avval buni, umid qilamanki, Internetga kirishdan oldin!
  • "Tarmoq parametrlari" bo'limida
    • Xost nomini o'zgartiring. Men mezbon nomidan foydalanardim: "maktab qo'ng'irog'i".
    • Simsiz tarmoqqa ulaning (agar siz buni sozlashda qilmagan bo'lsangiz)
  • "Interfacing Options" ostida SSH -ga kirishni yoqing
  • "Yangilash" variantini ishga tushirish har doim yaxshi

Buni qilganingizdan va qayta ishga tushirgandan so'ng, siz SSH mijozi yordamida o'sha mahalliy tarmoqdagi boshqa kompyuterdan Raspberry Pi -ga ulanishingiz kerak. Unga quyidagi ma'lumotlardan foydalanib ulaning:

Xost nomi: schoolbell.local

foydalanuvchi: pi parol: juda ko'p ma'lumotlar

Linux qutisidan, bu buyruq satrini $ buyrug'iga kiritish kabi oddiy:

$ ssh [email protected]

… darhol parolni kiriting

Bu sizga tizimga kiradi va siz Raspberry Pi -da vaqt to'g'ri ekanligini tekshirishingiz mumkin. Buyruq satriga sana buyrug'ini kiriting va javobni tekshiring:

pi@maktab qo'ng'irog'i: ~ $ sana

3 -sentabr, 20:44:34, AKDT 2020 yil

Umid qilamanki, bu hozirgi vaqt. Agar bu noto'g'ri bo'lsa, Google Raspberry Pi -da NTP -ni o'rnatish haqida.

2 -qadam: Ovoz tizimini ishga tushiring

Ovoz tizimini ishga tushiring
Ovoz tizimini ishga tushiring

Biz qo'ng'iroqlar uchun MP3 fayllarini o'ynaymiz, shuning uchun biz ushbu audio fayllarni dekodlash uchun dasturlarni yuklab olishimiz kerak. Men ushbu buyruqni yozib mpg321 paketini oldim:

pi@schoolbell: ~ $ sudo apt-get install mpg321

Ushbu dasturiy ta'minotni o'rnatish uchun ko'rsatmalarga amal qiling.

Men g'alati haydovchiga ega bo'lgan va standart ovoz kartasi sifatida to'liq avtomatik konfiguratsiya qilinmagan eski USB karnaydan foydalanardim, shuning uchun men uning apparat manzilidan foydalanib, dinamikni "sindirish" mumkinligini topdim. Karnayni ulaganimdan so'ng, audio qurilmalarni ro'yxatga olish uchun "aplay -l" buyrug'idan foydalandim:

pi@maktab qo'ng'irog'i: ~ $ aplay -l

**** PLAYBACK uskuna qurilmalari ro'yxati **** karta 0: minigarnituralar [bcm2835 minigarnituralar], qurilma 0: bcm2835 minigarnituralar [bcm2835 minigarnituralar] pastki qurilmalar: pastki qurilma #0: pastki qurilma #0 pastki qurilma #1: pastki qurilma #1 pastki qurilma #2: subdevice #2 Subdevice #3: Subdevice #3 Subdevice #4: subdevice #4 Subdevice #5: Subdevice #5 Subdevice #6: Subdevice #6 Subdevice #7: Subdevice #7 Card 1: CODEC [USB Audio CODEC], qurilma 0: USB Audio [USB Audio] Subdevices: Subdevice #0: subdevice #0

Men xohlagan qurilma pastroq, 1 -karta, 0 -qurilma.

Men karnayni "dinamik-test" bilan "hw: 1, 0" qurilmasi yordamida sinab ko'rdim, ya'ni apparat kartasi 1, qurilma 0.

pi@maktab qo'ng'irog'i: ~ $ karnay -test -D hw: 1, 0

Bu dastur karnaylardan shovqin chiqaradi. Shovqin-surondan rohatlaning va asabiylashganda control-C yozing. Agar siz hech qanday shovqin eshitmasangiz, google -dan foydalaning.

Endi sizda ovoz bor!

3 -qadam: Qo'ng'iroq tovushlarini ijro etishni sinab ko'ring va/yoki yangi tovushlarni chiqaring

Qo'ng'iroq tovushlarini sinab ko'ring va/yoki yangi tovushlarni chiqaring
Qo'ng'iroq tovushlarini sinab ko'ring va/yoki yangi tovushlarni chiqaring

Qo'ng'iroq uchun men "freesound.org" saytidan "bing-bong" ovozini yukladim. Bu ovozni taqdim etgani uchun Benboncanga rahmat:

freesound.org/people/Benboncan/sounds/93646/

Ovozni to'g'ridan -to'g'ri ijro etishingiz mumkin. Men Raspberry Pi kompyuteriga ushbu buyruqni yozib, ushbu faylning mp3 versiyasini to'g'ridan -to'g'ri yuklab olishim mumkin edi (agar u WiFi -da bo'lsa):

pi@maktab qo'ng'irog'i: ~ $ wget

Keyin men ushbu fayl nomini o'zgartirdim:

pi@maktab qo'ng'irog'i: ~ $ mv 93646_634166-hq.mp3 bing-bong-chime-hq.mp3

Keyin men ushbu buyruq bilan qo'ng'iroq qilishim mumkinligini sinab ko'rdim (chiqish ko'rsatiladi):

pi@maktab qo'ng'irog'i: ~ $ mpg321 -a-chw: 1, 0 bing-bong-chime-hq.mp3

Yuqori ishlash MPEG 1.0/2.0/2.5 1, 2 va 3-qatlamli audio pleer. 0.3.2-1 versiyasi (2012/03/25). Jo Dryu tomonidan yozilgan va mualliflik huquqlari, hozirda Nanakos Xrizostomos va boshqalar tomonidan saqlanadi. Har xil odamlarning kodlaridan foydalanadi. Qo'shimcha ma'lumot uchun "README" ga qarang! Bu dasturiy ta'minot mutlaqo kafolatsiz keladi! O'Z XATARINGIZDAN FOYDALANING! MPEG oqimi bing-bong-chime-hq.mp3 dan ijro etilmoqda… MPEG 1.0 qatlami III, 128 kbit/s, 44100 Hz mono [0:02] Bing-bong-chime-hq.mp3 kodini dekodlash tugallandi.

Tabriklaymiz! Sizda audio bor.

Noutbukimdagi "jasorat" ovozli tahrirlash kodidan foydalanib, men ko'proq o'yin-kulgi uchun faylni "bing" va "bong" ga ajratdim. Siz har qanday mp3 yoki boshqa formatni ishlatishingiz mumkin (men boshqalarni sinab ko'rmaganman) ovozli fayllar.

4 -qadam: Kodni o'rnating va jadvalingizni o'rnating

Kodni o'rnating va jadvalingizni o'rnating
Kodni o'rnating va jadvalingizni o'rnating

Kod - bu python skriptidir, u joriy sana/vaqtni oladi va agar sana dam olish kuni emas, balki ish kuni bo'lsa, u qo'ng'iroq vaqtiga to'g'ri keladimi yoki yo'qligini tekshiradi.

Avval siz uni ishga tushirasiz, keyin uni har daqiqada ishga tushirishni avtomatlashtirasiz.

Github -dan kodni yuklab oling:

gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618

Men buni faylni mahalliy kompyuterda saqlash va Raspberry pi -ga joylashtirish uchun xavfsiz nusxa ko'chirish (scp) yordamida oson bajaraman.

Mahalliy kompyuteringizda brauzerdan kodni nusxa oling, so'ngra matnli faylga joylashtiring va "schoolbell.py" fayl nomi bilan saqlang. Keyin faylni skp qiling:

mahalliy mashina: ~ $ scp schoolbell.py [email protected]: ~/

Sizdan schoolbell.local saytida pi foydalanuvchi parolini kiritish talab qilinadi - parolni kiriting va fayl xavfsiz tarzda nusxalanadi. Bu buyruq python skript saqlangan katalogda bajarilishi va uni pi foydalanuvchining uy katalogiga nusxalashi kerak. Siz sb ni schoolbell.local -ga yuborishingiz mumkin va kod u erda bo'lishi kerak:

mahalliy-mashina: ~ $ ssh [email protected]

Keyin schoolbell.local -da fayllarni ro'yxatga oling (ko'proq fayllarni ko'rishingiz mumkin):

pi@maktab qo'ng'irog'i: ~ $ ls

bing-bong-chime-hq.mp3 schoolbell.py

Endi kodni tahrir qiling, shunda piko kabi tahrirlovchidan foydalanib qo'ng'iroq jadvaliga ega bo'lasiz:

pi@maktab qo'ng'irog'i: ~ $ pico schoolbell.py

Kodda uchta "lug'at" bor, ular qo'ng'iroq ohanglarini, ularni ijro etish vaqtlarini va ta'tildan saqlanishini belgilaydi, dam olish kunlari qo'ng'iroqlar avtomatik ravishda o'tkazib yuboriladi.

Masalan, qo'ng'iroq ohanglari lug'ati:

qo'ng'iroq tovushlari = {

'ogohlantirish': 'bing-bong-chime-hq.mp3', 'start': 'bing-bong-chime-hq.mp3', 'oxiri': 'bing-bong-chime-hq.mp3'}

Bu uchta turdagi qo'ng'iroqlarni, ogohlantirish qo'ng'irog'ini, darsning boshlanishi va tugashini belgilaydi. Chunki bizda faqat bitta qo'ng'iroq tovushi bor, ularning hammasi bitta faylga ishora qiladi, lekin agar siz turli xil ohanglar qilsangiz, ularni o'zgartirishingiz mumkin. Siz hatto boshqa turdagi qo'ng'iroq ohanglarini qo'shishingiz mumkin. Men ham qo'ng'iroqlarni gapirish uchun nutq sintezatoridan foydalanib o'ynadim, lekin uydagilar buni yaxshi ko'rishmadi.

Qo'ng'iroqlar jadvali shunga o'xshash, ammo "kalit" endi qo'ng'iroq qilish vaqti. siz HH: MM formatini etakchi nol va 24 soatlik vaqt bilan (harbiy vaqt) ishlatishingiz kerak.

qo'ng'iroq jadvali = {

'09: 00 ':' boshlash ', #' avtobus 'qo'ng'irog'i tayyorlanmoqda '09: 28': 'ogohlantirish',….. '13: 58 ':' ogohlantirish ', # 4 '14: 00 davriga ':' boshlanish ', '15: 00': 'oxiri'}

Bu kalitdagi qiymat: qiymat juftligi - bu qo'ng'iroq ohangining turi va yuqorida ko'rsatilgan qo'ng'iroq ohanglaridan biriga mos kelishi kerak.

Nihoyat, bayramlar lug'atida dam olish sanalari ko'rsatilgan. Format YYYY-mm-gg, ko'rsatilgandek nol bosh.

bayram = {

'2020-09-07', …. '2021-03-11', '2021-03-12' }

Tahrirlashni tugatgandan so'ng, agar siz piko ishlatayotgan bo'lsangiz, ctrl-X yozib, tahrirlovchidan chiqib, faylni saqlang.

Python kodini bajariladigan qilib qo'ying:

pi@maktab qo'ng'irog'i: ~ $ chmod a+x schoolbell.py

Bu barcha foydalanuvchilarga kodni bajarishga imkon beradi, hamma uchun "a", ruxsat berish uchun "+" va bajarish uchun "x".

Endi kodni ishga tushiring va chiqishni kuzating. E'tibor bering, siz fayl nomini yozib faylni ishga tushirishingiz mumkin, lekin fayl nomidan oldin "./" yozib, u joriy katalogda ekanligini ko'rsatishingiz kerak:

pi@maktab qo'ng'irog'i: ~ $./schoolbell.py

Bu maktab kuni, tekshirish vaqti 21:35

Kod sizga maktab kuni yoki yo'qligini aytadi (masalan, bayram yoki dam olish kuni emas) va vaqt qo'ng'iroq vaqtiga to'g'ri keladimi -yo'qligini ko'rsatadi. Bu holatda, qo'ng'iroq vaqti emas edi, shuning uchun u toza bo'lib chiqdi. Agar qo'ng'iroq vaqti kelganida, u jiringlagan bo'lardi.

Sizning kodingiz qo'ng'iroqlarni o'ynashi mumkinligini tekshirish uchun, faylning buyruq qatori variantidan foydalaning. Biz bing-bong faylimizdan foydalanamiz:

pi@maktab qo'ng'irog'i: ~/maktab qo'ng'irog'i $./schoolbell.py bing-bong-chime-hq.mp3

Bu maktab kuni, tekshirish vaqti 21:38 1, 2 va 3-qatlamlar uchun MPEG 1.0/2.0/2.5 yuqori ijrochi audio pleer. 0.3.2-1 versiyasi (2012/03/25). Jo Dryu tomonidan yozilgan va mualliflik huquqlari, hozirda Nanakos Xrizostomos va boshqalar tomonidan saqlanadi. …. ko'proq chiqish ….

Siz qo'ng'iroqni eshitishingiz kerak edi.

Endi argument sifatida vaqtdan foydalanib kodni sinab ko'ring. Vaqtni etakchi nol bilan kiritishni unutmang. Masalan, ertalab soat 9 da "maktab avtobusi" qo'ng'irog'ini sinab ko'rish uchun men yozaman:

pi@maktab qo'ng'irog'i: ~ $./schoolbell.py 09:00

Bu sizning qo'ng'irog'ingizning jiringlashiga olib kelishi kerak! Bundan tashqari, qo'ng'iroq bo'lmagan vaqtda jiringlamasligini tekshirishingiz mumkin.

5 -qadam: Yugurishni Crond bilan avtomatlashtirish

Crond yordamida yugurishni avtomatlashtiring
Crond yordamida yugurishni avtomatlashtiring

Cron "daemon" - bu Linux tizimida takrorlanadigan vazifalarni bajaradigan rejalashtiruvchi. Sana/vaqt cron jadvalidagi (crontab) naqshga mos keladimi -yo'qligini tekshiradi va agar shunday bo'lsa, kodni ishga tushiradi. Siz uni "crontab -e" buyrug'i yordamida o'zgartirishingiz mumkin:

pi@maktab qo'ng'irog'i: ~ $ crontab -e

Bu fayl muharririni ochadi va faylning pastki qismiga quyidagi qatorni qo'shasiz:

* * * * * python3 /home/pi/schoolbell.py

Bu buyruq cron -ni oddiy uy katalogida (/home/pi) skriptni bajaradigan python3 -ni ishga tushirishni aytadi. Besh kishining aytishicha, bu har daqiqada (birinchi *), har soatda (keyingi *…), oyning har kuni, har oy va haftaning har kuni bo'lishi kerak.

Endi, har daqiqada schoolbell.py skript ishlaydi. Ko'p soniya davomida kod ishlaydi va u jim bo'lmasdan o'chishi kerakligini aniqlaydi, lekin agar qo'ng'iroq vaqtiga to'g'ri kelsa, u jiringlaydi.

E'tibor bering, cron har daqiqada ishlaydi, siz qo'ng'iroqlarni daqiqadan ko'ra aniqroq qila olmaysiz. Nazariy jihatdan, agar sizning tizimingiz tiqilib qolsa, cron daqiqaning yuqori qismidan keyin bir necha soniya davomida ishlamasligi mumkin, bu qo'ng'iroqni kechiktiradi. Agar biron -bir tarzda cron to'liq daqiqa davomida ishlamasa, qo'ng'iroq o'tkazib yuboriladi.

Maslahat: Uzaytirilgan ta'tillar uchun (masalan, yoz), siz ushbu satrning birinchi belgisiga xeshteg (#) qo'shishingiz mumkin, bu uni sharhga aylantiradi va shu bilan uning bajarilishini e'tiborsiz qoldiradi. Maktab mashg'ulotlarga qaytganda, # raqamini olib tashlang va u yana ishlay boshlaydi.

6 -qadam: Moslashtiring va zavqlaning

Endi sizda maktabda ishlaydigan qo'ng'iroq tizimi bo'lishi kerak va sizning talabangiz darsga hech qachon kech qolmasligi kerak.

Siz qo'ng'iroq ohanglarini o'zgartirish orqali ushbu loyihani sozlashingiz mumkin.

  • Siz Big Ben-ga qo'ng'iroq qilishingiz mumkin, chorak soatlik qo'ng'iroqlar va soatlarning jiringlashi.
  • Siz o'zingiz yoqtirgan rapperning erkin uslubidan namuna olishingiz mumkin.
  • Siz diqqatni o'rganishga yo'naltirish uchun subliminal xabarlar yuborishingiz mumkin.

COVID -ning ushbu davrida xavfsiz bo'ling.

Rasm
Rasm
Rasm
Rasm

"Bunga tegib bo'lmaydi" oilaviy tanlovida ikkinchi o'rinni egalladi

Tavsiya: