فهرست مطالب:

زنگ مدرسه برای دانش آموزان از راه دور: 6 مرحله
زنگ مدرسه برای دانش آموزان از راه دور: 6 مرحله

تصویری: زنگ مدرسه برای دانش آموزان از راه دور: 6 مرحله

تصویری: زنگ مدرسه برای دانش آموزان از راه دور: 6 مرحله
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, جولای
Anonim
زنگ مدرسه برای دانش آموزان از راه دور
زنگ مدرسه برای دانش آموزان از راه دور

با همه گیری کووید -19 ، بسیاری از مدارس کودکان از راه دور تحویل داده اند. این زنگ مدرسه خانگی راهی سرگرم کننده برای ماندن در برنامه است که از رزبری پای و بلندگوی USB استفاده می کند. می توانید با بچه خود کار کنید و آنها می توانند در مورد برنامه نویسی بیاموزند و می توانند "زنگ بزنند". من این را برای دخترم که به کلاس 7 می رود (در حال حاضر از طریق تحویل از راه دور) ساختم ، و به خوبی کار می کند تا ما را به موقع نگه دارد.

تدارکات

برای این پروژه ، شما نیاز دارید:

  • رایانه Raspberry Pi - اگر WiFi دارید بهتر کار می کند ، من از RPi 3B از کیت Kano استفاده کردم
  • بلندگو - من از بلندگوی USB استفاده کردم

این کد می تواند به راحتی روی رایانه لینوکس دانش آموز شما یا حتی میکروکنترلری که میکروپایتون را اجرا می کند اجرا شود ، مادامی که میکروکنترلر مکانیزمی برای بدست آوردن تاریخ/زمان کنونی داشته باشد. همچنین می توان از هر بلندگوی تقویت شده یا حتی زنگ رله / آنالوگ سردتر استفاده کرد.

مرحله 1: رزبری پای خود را تنظیم کنید

Raspberry Pi خود را تنظیم کنید
Raspberry Pi خود را تنظیم کنید

منابع زیادی برای راه اندازی رایانه رزبری پای وجود دارد ، بنابراین من شما را به یکی از مواردی که گوگل پیدا کرده است ارجاع می دهم. نکته مهم این است که رایانه شما راهی برای بدست آوردن تاریخ و زمان صحیح دارد. اکثر رایانه های رزبری پای مجهز به WiFi از پروتکل NTP برای تنظیم زمان از اینترنت استفاده می کنند ، این راهی است که من زمان صحیح را دریافت کردم. من RPi خود را "بدون سر" تنظیم کردم ، به این معنی که صفحه کلید یا مانیتور ندارد ، اما از طریق پوسته ایمن (SSH) از طریق اینترنت قابل دسترسی است. اگر با RPi مهارت دارید ، می توانید این تنظیم را بدون صفحه کلید / ویدئو / ماوس انجام دهید ، اما تنظیم pi با این لوازم جانبی آسان تر است.

توجه داشته باشید که نیازی به استفاده از رابط گرافیکی ندارم ، بنابراین فقط "Raspberry Pi OS (32-bit) Lite" را بارگیری کردم ، که برای بارگیری کوچکتر و سریعتر است و سریعتر راه اندازی می شود.

شبکه Raspberry Pi و گزینه های رابط را پیکربندی کنید

$ sudo raspi-config

در تنظیمات ، موارد زیر را انجام دهید:

  • رمز عبور را تغییر دهید - ابتدا این کار را انجام دهید ، امیدوارم قبل از آنلاین شدن!
  • در "گزینه های شبکه" ،

    • نام میزبان را تغییر دهید. من از نام میزبان استفاده کردم: "زنگ مدرسه".
    • به LAN بی سیم خود متصل شوید (اگر در راه اندازی این کار را نکرده اید)
  • در بخش "گزینه های رابط" ، دسترسی SSH را روشن کنید
  • همیشه خوب است که گزینه "Update" را اجرا کنید

پس از انجام این کار و راه اندازی مجدد ، باید بتوانید با استفاده از یک سرویس گیرنده SSH از رایانه دیگری در همان شبکه محلی به Raspberry Pi متصل شوید. با استفاده از اطلاعات زیر به آن متصل شوید:

نام میزبان: schoolbell.local

کاربر: pi رمز عبور: whateveryousetitas

از طریق جعبه لینوکس ، این کار به سادگی تایپ این خط فرمان در اعلان $ است:

$ ssh [email protected]

… رمز عبور را فوراً وارد کنید

با این کار وارد سیستم می شوید و می توانید صحت زمان رزبری پای را بررسی کنید. در خط فرمان ، دستور date را تایپ کرده و پاسخ را بررسی کنید:

pi@schoolbell: ~ $ date

پنج شنبه 3 سپتامبر 20:44:34 AKDT 2020

امیدوارم این زمان فعلی باشد. اگر صحیح نیست ، در مورد راه اندازی NTP در Raspberry Pi گوگل کنید.

مرحله 2: سیستم صوتی خود را کار کنید

سیستم صوتی خود را کار کنید
سیستم صوتی خود را کار کنید

ما در حال پخش فایل های MP3 برای زنگ ها هستیم ، بنابراین ما باید نرم افزاری را برای رمزگشایی این فایل های صوتی بارگیری کنیم. من با تایپ این دستور بسته mpg321 را دریافت کردم:

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

برای نصب این نرم افزار دستورات را دنبال کنید.

من از بلندگوی USB قدیمی استفاده کردم ، که درایور عجیبی داشت و به طور کامل به عنوان کارت صدای پیش فرض پیکربندی نشده بود ، بنابراین متوجه شدم که می توانم اسپیکر را با استفاده از آدرس سخت افزاری آن "هک" کنم. پس از اتصال بلندگو ، از دستور 'aplay -l' برای لیست دستگاه های صوتی استفاده کردم:

pi@schoolbell: ap $ aplay -l

**** لیست دستگاه های سخت افزاری PLAYBACK **** کارت 0: هدفون [هدفون bcm2835] ، دستگاه 0: هدفون bcm2835 [هدفون bcm2835] زیر دستگاهها: زیر دستگاه #0: زیر دستگاه #0 زیر دستگاه #1: زیر دستگاه #1 زیر دستگاه #2: زیر دستگاه #2 زیر دستگاه #3: زیر دستگاه #3 زیر دستگاه #4: زیر دستگاه #4 زیر دستگاه #5: زیر دستگاه #5 زیر دستگاه #6: زیر دستگاه #6 زیر دستگاه #7: زیر دستگاه #7 کارت 1: CODEC [USB Audio CODEC] ، دستگاه 0: USB Audio [USB Audio] زیر دستگاهها: زیر دستگاه #0: زیر دستگاه #0

دستگاه موردنظر من دستگاه پایینی است ، کارت 1 ، دستگاه 0.

من اسپیکر را با "تست بلندگو" آزمایش کردم ، با استفاده از دستگاه "hw: 1، 0" ، یعنی کارت سخت افزار 1 ، دستگاه 0

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

این برنامه نویز را از بلندگوها خارج می کند. از سر و صدا لذت ببرید و وقتی عصبانی می شوید ، کنترل C را تایپ کنید. اگر صدایی نمی شنوید ، google را امتحان کنید.

حالا شما صدا دارید!

مرحله 3: آزمایش پخش صداهای Bell و/یا ایجاد صداهای جدید

آزمایش پخش صداهای بل و/یا ایجاد صداهای جدید
آزمایش پخش صداهای بل و/یا ایجاد صداهای جدید

برای صدای زنگ من ، صدای "bing-bong" را از "freesound.org" بارگیری کردم. با تشکر از Benboncan برای در دسترس قرار دادن این صدا:

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

می توانید صدا را مستقیماً پخش کنید. من می توانم مستقیماً نسخه mp3 این فایل را با تایپ این دستور در رایانه رزبری پای (با فرض اینکه روی WiFi قرار دارد) بارگیری کنم:

pi@schoolbell: ~ $ wget

سپس این فایل را تغییر نام دادم:

pi@schoolbell: m $ mv 93646_634166-hq.mp3 bing-bong-chime-hq.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 لایه 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]:/

از شما خواسته می شود که گذرواژه کاربر pi را در schoolbell.local وارد کنید - گذرواژه را وارد کنید و فایل به طور ایمن کپی می شود. این دستور باید در همان دایرکتوری که اسکریپت پایتون ذخیره شده است اجرا شود و در فهرست اصلی کاربر pi کپی شود. می توانید به schoolbell.local ssh کنید و کد باید در آنجا باشد:

local-machine: ~ $ ssh [email protected]

سپس در schoolbell.local ، فایلها را لیست کنید (ممکن است فایلهای بیشتری را ببینید):

pi@schoolbell: ~ $ ls

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

حالا کد را ویرایش کنید تا برنامه زنگ خود را با استفاده از ویرایشگری مانند pico:

pi@schoolbell: ~ $ pico schoolbell.py

این کد دارای سه "فرهنگ لغت" است که آهنگ های زنگ را برای پخش ، زمان پخش آنها و تعطیلات را برای جلوگیری از آنها تعیین می کند ، زنگ آخر هفته ها به طور خودکار حذف می شوند.

به عنوان مثال ، فرهنگ لغت belltones عبارت است از:

زنگ = {

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

این سه نوع زنگ ، زنگ هشدار ، شروع کلاس و پایان را تعریف می کند. از آنجا که ما فقط یک زنگ داریم ، همه آنها به یک فایل اشاره می کنند ، اما اگر تن های مختلف ایجاد کنید ، می توانید آنها را تغییر دهید. حتی می توانید انواع دیگر زنگ ها را اضافه کنید. من همچنین با استفاده از یک ترکیب کننده گفتار برای گفتن زنگ ها بازی کردم ، اما دیگران در خانه آن را مورد توجه قرار ندادند.

فرهنگ لغت Bellschedule مشابه است ، اما "کلید" اکنون زمان زنگ است. شما باید از فرمت HH: MM با صفرهای پیشرو و زمان 24 ساعته (زمان نظامی) استفاده کنید.

bellschedule = {

'09: 00 ':' شروع '، # زنگ اتوبوس در حال آماده شدن است '09: 28': 'اخطار' ،….. '13: 58 ':' هشدار '، # برای دوره 4 '14: 00 ':' start '، '15: 00': 'end'}

مقدار در این کلید: جفت مقدار نوع زنگ مورد استفاده است و باید با یکی از زنگ های تعریف شده در بالا مطابقت داشته باشد.

در آخر ، فرهنگ لغت تعطیلات تاریخ تعطیلات را فهرست می کند. قالب YYYY-mm-dd است ، با صفرهای اصلی مطابق شکل.

تعطیلات = {

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

پس از اتمام ویرایش ، فایل را با خروج از ویرایشگر ذخیره کنید ، اگر از pico استفاده می کنید ، 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). نوشته و کپی رایت توسط جو درو ، در حال حاضر توسط ناناکوس کریستوستوم و دیگران حفظ می شود. …. خروجی بیشتر….

باید صدای زنگ را می شنیدی

اکنون کد را با استفاده از یک زمان به عنوان آرگومان آزمایش کنید. به یاد داشته باشید که زمان را با صفرهای پیشرو وارد کنید. به عنوان مثال ، برای آزمایش زنگ "اتوبوس مدرسه" در ساعت 9 صبح ، تایپ می کنم:

pi@schoolbell: ~ $./schoolbell.py 09:00

این باید باعث به صدا در آمدن زنگ شما شود! همچنین می توانید آزمایش کنید که در زمان های غیر زنگ به صدا در نمی آید.

مرحله 5: اجرای خودکار با Crond را خودکار کنید

اجرای خودکار با Crond را خودکار کنید
اجرای خودکار با Crond را خودکار کنید

cron 'daemon' زمانبندی است که کارهای تکراری را بر روی سیستم لینوکس اجرا می کند. بررسی می کند که آیا تاریخ/زمان با الگویی در جدول cron مطابقت دارد یا خیر و در صورت وجود کد را اجرا می کند. می توانید آن را با استفاده از دستور "crontab -e" ویرایش کنید:

pi@schoolbell: cr $ crontab -e

با این کار ویرایشگر فایل باز می شود و در انتهای این فایل ، خط زیر را اضافه می کنید:

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

این دستور به cron می گوید python3 را اجرا کند و اسکریپت شما را در فهرست اصلی خانه (/home/pi) اجرا کند. پنج *می گویند این باید هر دقیقه (اول *) ، هر ساعت (بعدی *…) ، هر روز از ماه ، هر ماه و هر روز از هفته اجرا شود.

اکنون ، هر دقیقه اسکریپت schoolbell.py اجرا می شود. در بیشتر دقایق ، کد اجرا می شود و می بیند که باید بدون زنگ زدن آن را ترک کند ، اما اگر به نظر برسد زمان زنگ خورد ، زنگ می زند.

توجه داشته باشید که چون cron فقط هر دقیقه اجرا می شود ، نمی توانید زنگ ها را دانه ای تر از دقیقه کنید. من فکر می کنم از لحاظ تئوری ممکن است که اگر سیستم شما خراب شود ، cron ممکن است چند ثانیه پس از پایان دقیقه اجرا نشود و زنگ را دیر کند. اگر به نحوی کرون یک دقیقه کامل اجرا نمی شد ، زنگ از دست می رفت.

نکته: برای تعطیلات طولانی مدت (به عنوان مثال تابستان) ، می توانید هشتگ (#) را به اولین نویسه این خط اضافه کنید ، که آن را به نظر تبدیل می کند و بنابراین اجرای آن را نادیده می گیرد. وقتی مدرسه شروع به کار کرد ، فقط # را حذف کنید و دوباره شروع به کار می کند.

مرحله 6: سفارشی کنید و لذت ببرید

اکنون ، شما باید یک سیستم زنگ مدرسه در خانه کار کنید و دانش آموز شما هرگز نباید در کلاس دیر کند.

می توانید این پروژه را با تغییر صدای زنگ سفارشی کنید.

  • می توانید صدای زنگ بیگ بن را به صدا درآورید ، با صدای زنگ های چهار ساعته و ساعت ها.
  • می توانید از سبک آزاد رپر مورد علاقه خود نمونه بگیرید.
  • برای تمرکز بر مطالعه می توانید پیامهای غیرعلمی ارسال کنید.

در این دوران COVID ایمن باشید.

تصویر
تصویر
تصویر
تصویر

در مسابقه خانوادگی "Can't Touch This" نایب قهرمان شد

توصیه شده: