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

لعبة Raspberry Pi Slack Scroll Bot: 10 خطوات
لعبة Raspberry Pi Slack Scroll Bot: 10 خطوات

فيديو: لعبة Raspberry Pi Slack Scroll Bot: 10 خطوات

فيديو: لعبة Raspberry Pi Slack Scroll Bot: 10 خطوات
فيديو: 10 Raspberry Pi Projects (All models, including Pico) 2024, شهر نوفمبر
Anonim
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!
Raspberry Pi Slack Scroll Bot!

يجمع هذا المشروع بين Raspberry Pi ومجموعة Pimoroni Scroll Bot (المعدلة بالأزرار) و Slack و IFTT للإشعارات المرئية والمسموعة عند نشر مقاطع فيديو youtube على اشتراك!

تعد تعديلات الزر على المجموعة اختيارية ، بالإضافة إلى مكبر الصوت للإعلان عن وصول مقطع فيديو جديد.

يمكنك أيضًا استخدام هذا لإرسال أي رسالة إلى الروبوت من خلال Slack عن طريق تثبيت "bot" في مقدمة الرسالة ، مثل "bot hello world". سيؤدي "bot clear" إلى مسح الشاشة.

الخطوة 1: قم بالتمرير لتجميع الروبوت

أكمل التعليمات الخاصة بتجميع بوت Pimoroni Scroll Bot:

learn.pimoroni.com/tutorial/sandyj/assembl…

الخطوة 2: تثبيت Packages and Codebase

تثبيت حزم الصوت:

sudo apt-get update & sudo apt-get Upgrade -y

sudo apt-get install mpg123

تثبيت حزم بايثون:

قارورة تثبيت الأنابيب

تثبيت نقطة تثبيت psutil pip تثبيت Slackclient

اتبع البرنامج التعليمي في Pimoroni's للبدء مع Scroll Hat:

learn.pimoroni.com/tutorial/sandyj/getting…

والذي يتضمن تنزيل نموذج التعليمات البرمجية والموارد:

حليقة https://get.pimoroni.com/scrollphathd | سحق

نظرًا لأنه تم تركيب الشاشة رأسًا على عقب في مجموعة الروبوت ، فأنت بحاجة إلى إلغاء التعليق لتدوير الشاشة 180:

$ sed -i 's / # scrollphathd.rotate (الدرجات = 180) /scrollphathd.rotate (الدرجات = 180) / g' /home/pi/Pimoroni/scrollphathd/examples/web-api.py

الخطوة 3: تكوين مثيل Slack

تكوين مثيل Slack
تكوين مثيل Slack
تكوين مثيل Slack
تكوين مثيل Slack

لكي يتواصل البرنامج النصي مع Slack ، ستحتاج إلى bot API Key.

ابدأ بتسجيل الدخول إلى صفحة ويب فريق Slack (https://my.slack.com/services/new/bot) واختر اسم مستخدم للروبوت الخاص بك ، ثم انسخ رمز API المقدم.

الخطوة 4: قم بإنشاء قناة Slack ودعوة الروبوت الخاص بك إلى القناة

قم بإنشاء قناة Slack ودعوة الروبوت الخاص بك إلى القناة
قم بإنشاء قناة Slack ودعوة الروبوت الخاص بك إلى القناة

يمكنك استخدام قناة Slack العامة ، أو يمكنك إنشاء قناة Slack منفصلة إذا كنت تفضل ذلك.

في حالتي استخدمت # robot-claire-control

يجب عليك دعوة الروبوت الخاص بك إلى القناة ، وإلا فلن يرى الرسائل المرسلة.

الخطوة 5: تنزيل SlackPiBot Source Code & Configure

قم بتنزيل رمز مصدر slackPiBot من بوابة:

استنساخ بوابة

تحديث السطر 29 بمفتاح API الخاص بك:

slack_client = SlackClient ("xoxb-YOUR-API-KEY-HERE")

تحديث السطر 34 باسم الروبوت الخاص بك:

إذا user.get ('name') == "robot-claire":

الخطوة 6: تكوين Crontabs لبدء التشغيل تلقائيًا عند التمهيد:

إعداد crontabs لبدء التشغيل تلقائيًا عند التمهيد:

كرونتاب -e

أضف ما يلي إلى الجزء السفلي من crontab الخاص بك:

reboot python /home/pi/Pimoroni/scrollphathd/examples/web-api.py@reboot python /home/pi/slackPiBot/check_button.pyreboot python /home/pi/slackPiBot/forever.py / home / pi / slackPiBot / slackPiBot.py >> /home/pi/slackPiBot/outputLog.txt 2> & 1

الخطوة 7: اختياري: أضف مخرج مكبر صوت USB

بالنسبة لهذا المشروع ، أستخدم مكبر صوت USB من شركة US Robotics - متوفر على Amazon أو ebay.

إذا كنت تستخدم شيئًا مشابهًا ، فستحتاج إلى تغيير جهاز صوت النظام الافتراضي عن طريق تحرير تهيئة alsa (/usr/share/alsa/alsa.conf). قم بتغيير الأسطر التالية:

defaults.ctl.card 1defaults.pcm.card 1

1 كونه فهرس جهازك. للعثور على معرف الجهاز لجهاز USB الخاص بك ، قم بتشغيل aplay -l وابحث عن معرف البطاقة.

الخطوة 8: اختياري: أضف أزرارًا سلكية إلى الروبوت لمسح الرسائل

اختياري: أضف أزرارًا سلكية إلى الروبوت لمسح الرسائل
اختياري: أضف أزرارًا سلكية إلى الروبوت لمسح الرسائل
اختياري: أضف أزرارًا سلكية إلى الروبوت لمسح الرسائل
اختياري: أضف أزرارًا سلكية إلى الروبوت لمسح الرسائل

هذه الخطوة اختيارية ولكن يوصى بها بشدة لمسح الرسائل التي تظهر على الشاشة.

لقد أضفت زرين ضغط إلى الروبوت الخاص بي ، لكن في هذا المشروع أستخدم GPIO17 فقط.

يقوم البرنامج النصي check_button.py الذي يتم تشغيله عند التمهيد باستقصاء GPIO17 كل بضعة أجزاء من الثانية وإذا تم الضغط عليه يرسل HTTP POST إلى عينة البرنامج النصي للشاشة لمسح الشاشة.

الخطوة 9: سحبها جميعًا معًا وإرسال الإخراج إلى Pi

هناك 4 نصوص تعمل معًا لهذا المشروع:

/home/pi/Pimoroni/scrollphathd/examples/web-api.py/home/pi/slackPiBot/check_button.py/home/pi/slackPiBot/forever.py /home/pi/slackPiBot/slackPiBot.py

يتم توفير سكربت web-api بواسطة Pimoroni وهو تطبيق ويب بسيط للتحكم في الشاشة بأوامر POST.

يستقصي البرنامج النصي check_button python دبابيس GPIO وعندما يكون الزر مضغوطًا ، يرسل HTTP POST إلى البرنامج النصي web-api.py.

يقوم البرنامج النصي forever.py بإيقاف تشغيل البرنامج النصي slackPiBot.py للتأكد من أنه في حالة وجود أي أخطاء غير معروفة أو قطع الاتصال عن فترة السماح ، يتم إعادة تشغيل البرنامج النصي لتجنب فقدان أي رسائل.

يتصل البرنامج النصي slackPiBot.py بـ Slack ويراقب القناة للرسائل التي تبدأ بـ "bot" أو المنشورات من IFTT. إذا كان هناك تطابق ، فسيرسل HTTP POST إلى البرنامج النصي web-api.py ويعرض على الشاشة.

الخطوة 10: اختياري: تكامل IFTT

اختياري: تكامل IFTT
اختياري: تكامل IFTT
اختياري: تكامل IFTT
اختياري: تكامل IFTT
اختياري: تكامل IFTT
اختياري: تكامل IFTT

تم تصميم هذا المشروع لتنبيه أطفالي بمقاطع الفيديو التي ينشرها الأشخاص الذين يتابعونهم على موقع youtube ، نظرًا لأنهم أصغر من أن يمتلكوا أجهزة iPhone أو iPad الخاصة بهم. لقد أنجزت ذلك من خلال إنشاء وصفات IFTT التي ترسل إشعارًا إلى قناة التحكم في Slack بمجرد نشر مقطع فيديو.

يجعل موقع wiki القابل للتوجيه هذا الأمر معقدًا في خطوة واحدة ، لكن لقطات الشاشة أعلاه تظهر النتيجة النهائية.

موصى به: