جدول المحتويات:

جرس المدرسة للطلاب عن بعد: 6 خطوات
جرس المدرسة للطلاب عن بعد: 6 خطوات

فيديو: جرس المدرسة للطلاب عن بعد: 6 خطوات

فيديو: جرس المدرسة للطلاب عن بعد: 6 خطوات
فيديو: فوائد التعليم عن بعد 2024, يوليو
Anonim
جرس المدرسة للطلاب عن بعد
جرس المدرسة للطلاب عن بعد

مع جائحة COVID-19 ، ذهب العديد من مدارس الأطفال إلى التوصيل عن بعد. يعد جرس المدرسة المنزلية هذا وسيلة ممتعة للبقاء في الموعد المحدد باستخدام Raspberry Pi ومكبر صوت USB. يمكنك تحقيق ذلك مع طفلك ويمكنه التعرف على البرمجة و "قرع الجرس". لقد قمت ببناء هذا لابنتي التي ستلتحق بالصف السابع (حاليًا عن طريق التوصيل عن بعد) ، وهي تعمل بشكل جيد لإبقائنا في الوقت المحدد.

اللوازم

بالنسبة لهذا المشروع ، سوف تحتاج إلى:

  • كمبيوتر Raspberry Pi - يعمل بشكل أفضل إذا كان لديك شبكة WiFi ، لقد استخدمت RPi 3B من مجموعة Kano
  • مكبر صوت - لقد استخدمت مكبر صوت USB

يمكن تشغيل الكود بسهولة على كمبيوتر Linux الخاص بطلابك أو حتى متحكم دقيق يعمل على micropython ، طالما أن المتحكم الدقيق لديه بعض الآليات للحصول على التاريخ / الوقت الحالي. يمكن أيضًا استخدام أي مكبر صوت مضخم ، أو حتى جرس مرحل / تناظري أكثر برودة.

الخطوة 1: قم بإعداد Raspberry Pi الخاص بك

قم بإعداد Raspberry Pi الخاص بك
قم بإعداد Raspberry Pi الخاص بك

هناك عدد كبير من الموارد لإعداد جهاز كمبيوتر Raspberry Pi ، لذلك أحيلك إلى جهاز يعثر عليه Google. الشيء المهم هو أن جهاز الكمبيوتر الخاص بك لديه طريقة للحصول على التاريخ والوقت الصحيحين. تستخدم معظم أجهزة Raspberry Pi الحديثة المزودة بتقنية WiFi بروتوكول NTP لضبط الوقت من الإنترنت ، وهي الطريقة التي أحصل بها على الوقت الصحيح. لقد قمت بإعداد RPi الخاص بي ليكون "بلا رأس" ، مما يعني أنه لا يحتوي على لوحة مفاتيح أو شاشة ، ولكن يمكن الوصول إليه عن طريق غلاف آمن (SSH) عبر الإنترنت. إذا كنت جيدًا مع RPi ، فيمكنك القيام بهذا الإعداد بدون لوحة مفاتيح / فيديو / ماوس ، ولكن من الأسهل فقط إعداد pi باستخدام هذه الملحقات.

لاحظ أنني لم أكن بحاجة إلى استخدام الواجهة الرسومية ، لذلك قمت بتنزيل "Raspberry Pi OS (32-bit) Lite" ، وهو أصغر حجمًا وأسرع في التنزيل والتشغيل بشكل أسرع.

تكوين شبكة Raspberry Pi وخيارات الاتصال

sudo raspi-config. $

في التكوين ، قم بما يلي:

  • قم بتغيير كلمة المرور - افعل ذلك أولاً ، ونأمل أن تكون قبل الاتصال بالإنترنت!
  • في "خيارات الشبكة" ،

    • قم بتغيير اسم المضيف. لقد استخدمت اسم المضيف: "schoolbell".
    • اتصل بشبكة LAN اللاسلكية الخاصة بك (إذا لم تكن قد فعلت ذلك في الإعداد)
  • ضمن "خيارات التفاعل" ، شغّل وصول SSH
  • من الجيد دائمًا تشغيل خيار "التحديث"

بمجرد القيام بذلك وإعادة التشغيل ، يجب أن تكون قادرًا على الاتصال بـ Raspberry Pi من كمبيوتر آخر على نفس الشبكة المحلية باستخدام عميل SSH. اتصل به باستخدام بيانات الاعتماد التالية:

اسم المضيف: schoolbell.local

المستخدم: كلمة مرور pi: whateveryousetitas

من صندوق لينكس ، يكون هذا أمرًا بسيطًا مثل كتابة سطر الأوامر هذا في موجه $:

$ ssh [email protected]

… أدخل كلمة المرور على الفور

سيؤدي ذلك إلى تسجيل دخولك ويمكنك التحقق من صحة الوقت على Raspberry Pi. في سطر الأوامر ، اكتب أمر التاريخ وتحقق من الرد:

pi @ schoolbell: ~ $ التاريخ

الخميس 3 سبتمبر 20:44:34 AKDT 2020

نأمل أن يكون هذا هو الوقت الحالي. إذا لم يكن صحيحًا ، فابحث في Google عن إعداد NTP على Raspberry Pi.

الخطوة 2: احصل على نظام الصوت الخاص بك يعمل

احصل على نظام الصوت الخاص بك يعمل
احصل على نظام الصوت الخاص بك يعمل

سنقوم بتشغيل ملفات MP3 للأجراس ، لذلك نحتاج إلى تنزيل برنامج لفك تشفير هذه الملفات الصوتية. حصلت على حزمة mpg321 بكتابة هذا الأمر:

pi @ schoolbell: ~ sudo apt-get install mpg321

اتبع التعليمات لتثبيت هذا البرنامج.

لقد استخدمت مكبر صوت USB قديم ، كان به برنامج تشغيل غريب ولم يتم تكوينه تلقائيًا بالكامل كبطاقة الصوت الافتراضية ، لذلك وجدت أنه يمكنني "اختراق" مكبر الصوت للعمل باستخدام عنوان الجهاز الخاص به. بعد توصيل السماعة ، استخدمت الأمر "aplay -l" لسرد أجهزة الصوت:

pi @ schoolbell: ~ $ aplay -l

**** قائمة أجهزة PLAYBACK Hardware **** card 0: سماعات الرأس [bcm2835 Headphones] ، الجهاز 0: bcm2835 Headphones [bcm2835 Headphones] الفرعية: Subdevice # 0: subdevice # 0 Subdevice # 1: subdevice # 1 Subdevice # 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]، device 0: USB Audio [USB Audio] الأجهزة الفرعية: Subdevice # 0: subdevice # 0

الجهاز الذي أريده هو الجهاز السفلي ، البطاقة 1 ، الجهاز 0.

اختبرت السماعة باستخدام "Speaker-test" ، باستخدام الجهاز "hw: 1 ، 0" ، أي بطاقة الأجهزة 1 ، الجهاز 0

pi @ schoolbell: ~ $ Speaker-test -D hw: 1، 0

هذا البرنامج يخرج الضوضاء من مكبرات الصوت. استمتع بالضوضاء ثم اكتب control-C عندما تتضايق. إذا لم تسمع أي ضوضاء ، فجرّب google.

الآن لديك صوت!

الخطوة 3: اختبر تشغيل أصوات الجرس و / أو اصنع أصواتًا جديدة

اختبر تشغيل أصوات الجرس و / أو اصنع أصواتًا جديدة
اختبر تشغيل أصوات الجرس و / أو اصنع أصواتًا جديدة

بالنسبة إلى الجرس الخاص بي ، قمت بتنزيل صوت "bing-bong" من موقع "freesound.org". بفضل Benboncan لجعل هذا الصوت متاحًا:

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

يمكنك تشغيل الصوت مباشرة. يمكنني تنزيل إصدار mp3 من هذا الملف مباشرةً عن طريق كتابة هذا الأمر على كمبيوتر Raspberry Pi (بافتراض أنه على شبكة WiFi):

pi @ schoolbell: ~ $ wget

ثم أعدت تسمية هذا الملف:

. mp3

ثم اختبرت أنه يمكنني رنين الجرس بهذا الأمر (إظهار الإخراج):

pi @ schoolbell: ~ $ mpg321 -a hw: 1 ، 0 bing-bong-chime-hq.mp3

مشغل صوت MPEG 1.0 / 2.0 / 2.5 عالي الأداء للطبقة 1 و 2 و 3. الإصدار 0.3.2-1 (2012/03/25). مكتوبة وحقوق التأليف والنشر من قبل جو درو ، يحتفظ بها الآن ناناكوس كريسوستوموس وآخرين. يستخدم رمز من مختلف الناس. انظر "README" للمزيد! يأتي هذا البرنامج بدون أي ضمان على الإطلاق! استخدام على مسؤوليتك الخاصة! تشغيل دفق MPEG من bing-bong-chime-hq.mp3 … MPEG 1.0 layer III، 128 kbit / s، 44100 Hz mono [0:02] انتهى فك تشفير bing-bong-chime-hq.mp3.

تهاني! لديك صوت.

باستخدام كود تحرير الصوت "audacity" على جهاز الكمبيوتر المحمول ، قمت بتقسيم الملف إلى "bing" و "bong" لمزيد من المتعة. يمكنك استخدام أي ملفات صوتية بتنسيق mp3 أو ربما تنسيق آخر (لم أختبر الآخرين).

الخطوة 4: قم بتثبيت الرمز وضبط الجدول الزمني الخاص بك

قم بتثبيت الكود وضبط الجدول الزمني الخاص بك
قم بتثبيت الكود وضبط الجدول الزمني الخاص بك

الكود عبارة عن نص برمجي من نوع Python يحصل على التاريخ / الوقت الحالي وإذا كان التاريخ هو يوم من أيام الأسبوع وليس يوم عطلة ، فإنه يتحقق مما إذا كان الوقت يتطابق مع وقت الجرس أم لا.

أولاً ، ستعمل على تشغيله ، ثم ستقوم بأتمتة تشغيله كل دقيقة.

قم بتنزيل الكود من Github:

gist.github.com/BillSimpson/d7a1a531995c8b63492bb47ef8872618

أجد أنه من السهل القيام بذلك عن طريق حفظ الملف على جهاز كمبيوتر محلي ثم استخدام نسخة آمنة (scp) لوضعه على Raspberry pi.

على جهازك المحلي ، انسخ الرمز من المتصفح ، ثم الصقه في ملف نصي واحفظه باسم الملف "schoolbell.py". ثم قم بنسخ الملف على النحو التالي:

آلة محلية: ~ $ scp schoolbell.py [email protected]: ~ /

سيُطلب منك إدخال كلمة المرور للمستخدم pi على schoolbell.local - أدخل كلمة المرور ، وسيتم نسخ الملف بشكل آمن. يجب تشغيل هذا الأمر في نفس الدليل حيث تم حفظ نص Python ، ونسخه إلى الدليل الرئيسي لمستخدم pi. يمكنك الإرسال إلى schoolbell.local ويجب أن يكون الرمز موجودًا:

آلة محلية: ~ $ ssh [email protected]

ثم في schoolbell.local ، قم بإدراج الملفات (قد ترى المزيد من الملفات):

pi @ schoolbell: ~ $ ls

بنج بونج رنين hq.mp3 schoolbell.py

الآن قم بتحرير الكود لجعله يحتوي على جدول الجرس الخاص بك باستخدام محرر مثل pico:

pi @ schoolbell: ~ $ pico schoolbell.py

يحتوي الكود على ثلاثة "قواميس" تحدد نغمات الجرس التي يجب تشغيلها ، وأوقات العزف عليها ، والعطلات التي يجب تجنبها ، ويتم تخطي الأجراس في عطلات نهاية الأسبوع تلقائيًا.

على سبيل المثال ، قاموس belltones هو:

belltones = {

'warn': 'bing-bong-chime-hq.mp3'، 'start': 'bing-bong-chime-hq.mp3'، 'end': 'bing-bong-chime-hq.mp3'}

يحدد هذا ثلاثة أنواع من الأجراس ، جرس التحذير ، بداية الفصل ، والنهاية. نظرًا لأن لدينا نغمة جرس واحدة فقط ، فإنهم جميعًا يشيرون إلى نفس الملف ، ولكن إذا قمت بعمل نغمات مختلفة ، فيمكنك تغييرها. يمكنك حتى إضافة أنواع أخرى من نغمات الأجراس. لقد لعبت أيضًا باستخدام مُركِّب الكلام للتحدث على الأجراس ، لكن لم يكن الآخرون في المنزل ينظرون إلى ذلك بشكل إيجابي.

قاموس جدول الجرس مشابه ، لكن "المفتاح" هو الآن وقت الجرس. تحتاج إلى استخدام التنسيق HH: MM مع الأصفار البادئة و 24 ساعة (الوقت العسكري).

الجرس = {

'09: 00 ':' start '، #' Bus 'bell to be ready '09: 28': 'warn'،….. '13: 58 ':' warn '، # للفترة 4 '14: 00 ':' start '، '15: 00': 'end'}

القيمة في هذا المفتاح: زوج القيمة هو نوع نغمة الجرس التي يجب استخدامها ويجب أن تتطابق مع أحد النغمات المحددة أعلاه.

أخيرًا ، يسرد قاموس الإجازات تواريخ العطلات. التنسيق هو YYYY-mm-dd ، بأصفار بادئة كما هو موضح.

العطل = {

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

بمجرد الانتهاء من التحرير ، احفظ الملف عن طريق الخروج من المحرر ، وكتابة ctrl-X إذا كنت تستخدم pico.

اجعل كود Python قابلاً للتنفيذ من خلال:

pi @ schoolbell: ~ $ chmod a + x schoolbell.py

يتيح هذا لجميع المستخدمين تنفيذ التعليمات البرمجية ، و "أ" للجميع ، و "+" للحصول على إذن إضافة ، و "س" للتنفيذ.

الآن اختبر تشغيل الكود ولاحظ الإخراج. لاحظ أنه يمكنك تشغيل الملف عن طريق كتابة اسم الملف ولكن تحتاج إلى تحديد أنه موجود في الدليل الحالي عن طريق كتابة "./" قبل اسم الملف:

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). مكتوبة وحقوق التأليف والنشر من قبل جو درو ، يحتفظ بها الآن ناناكوس كريسوستوموس وآخرين. …. المزيد من الانتاج….

كان يجب أن تسمع الجرس.

الآن اختبر الكود باستخدام الوقت كوسيطة. تذكر إدخال الوقت بالأصفار البادئة. على سبيل المثال ، لاختبار جرس "الحافلة المدرسية" في الساعة 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.

صورة
صورة
صورة
صورة

الوصيف في المسابقة العائلية "لا يمكن لمس هذا"

موصى به: