- مادة رائعة:
- الجزء 1: إعداد Raspberry Pi باستخدام SSH و VNC
- الجزء 2: قم بإعداد حساب Amazon Developer الخاص بك وتكوين خدمات Alexa الصوتية على Raspberry Pi:
- الجزء 3: إعداد PubNub و IFTTT لـ Alexa Pi Home Automation :
- الجزء 3-2: إعداد IFTTT لخدمة Amazon Alexa:
- الجزء 4: توصيلات الأجهزة ومخطط الدائرة:
- الجزء 5: كود Python للتحكم في مؤشر LED:
هل فكرت يومًا في مكبر صوت يمكن التحكم فيه بصوتك !!! ماذا لو تمكنا من التحكم في أجهزتنا المنزلية بهذه الطريقة وجعلها أكثر ذكاءً؟ أصبح المساعدون الصوتيون أكثر شيوعًا مع اقترابنا من عصر الأنظمة القائمة على الذكاء الاصطناعي وإنترنت الأشياء. لقد سمعت عن Google Assistant و Apple Siri و Amazon Alexa . هذه كلها أنظمة ذكاء اصطناعي تعتمد على الصوت ، ما يجعل هذه الأنظمة مختلفة عن بعضها البعض هو أنظمتها البيئية ، وهذا هو المكان الذي تبرز فيه Amazon Alexa أكثر من غيرها. جوجل وآبل وأمازون ، أطلقت كل هذه الشركات مكبرات الصوت الذكية الخاصة بها ، لكن أمازون كانت أول من أدخل مكبرات الصوت الذكية. Amazon echo و Echo Dot Spot وما إلى ذلك هي مكبرات الصوت الذكية المتوفرة في السوق.
توفر أمازون واجهة برمجة التطبيقات لاستخدام خدمتها الصوتية المشهورة ، Alexa. إنه مفتوح المصدر ومتوفر على جيثب. علاوة على ذلك ، يمكنك تثبيت Alexa أو دمجها على أجهزة مخصصة مثل Raspberry Pi والحصول على وظائف Amazon Echo الكاملة في هذا الجهاز.
باستخدام خدمة Alexa الصوتية ، يمكننا تشغيل الموسيقى والحصول على معلومات حول الطقس وحجز التذاكر وغير ذلك الكثير. كل ما عليك فعله هو "اسأل". في هذا البرنامج التعليمي ، سنرى كيف يمكننا التحكم في Raspberry Pi GPIO باستخدام خدمات Alexa Voice لتوهج مؤشر LED.
مادة رائعة:
متطلبات الأجهزة:
- Raspberry Pi 3 أو Raspberry Pi 2 موديل B وبطاقة SD (8 جيجابايت أو أكثر)
- مكبر صوت خارجي مع كابل AUX مقاس 3.5 ملم
- أي كاميرا ويب أو ميكروفون USB 2.0
- وحدة التتابع
- يؤدى
ملاحظة: تحتوي كاميرا الويب على ميكروفون يحمل في ثناياه عوامل ، لذا سنستخدمه بدلاً من ميكروفون USB 2.0.
تطبيقات البرامج ومتطلبات الويب:
- قم بتسجيل حساب في Alexa Voice Services
- قم بتسجيل حساب في PubNub
- قم بتسجيل حساب في IFTTT
نفترض أيضًا أن Raspberry pi الخاص بك قد تم إعداده بالفعل باستخدام نظام تشغيل Raspbian ومتصل بالإنترنت. مع وجود هذه في مكانها الصحيح ، فلننتقل إلى البرنامج التعليمي. إذا كنت جديدًا على Raspberry Pi ، فانتقل إلى Getting started with Raspberry Pi أولاً.
ينقسم البرنامج التعليمي بأكمله بشكل أساسي إلى 5 أجزاء ، وهي كالتالي:
- إذا لم يكن لديك شاشة ، فعلينا إعداد Raspberry Pi باستخدام SSH و VNC ، وتحقق أيضًا من اتصال ميكروفون USB.
- قم بإعداد مطور Amazon وتثبيت Alexa على Raspberry Pi
- إعداد PubNub و IFTTT لـ Alexa Home Automation
- اتصال الأجهزة
- كود Python للتحكم في Alexa Pi GPIO
إذا كنت تريد ببساطة التحكم في مؤشر LED بصوتك ، فتحقق أيضًا من مشروع LED الذي يعمل بالتحكم الصوتي باستخدام Bluetooth.
الجزء 1: إعداد Raspberry Pi باستخدام SSH و VNC
أولاً ، سنقوم بتوصيل Raspberry Pi بـ SSH و VNC. لمتابعة البرامج التعليمية على موقع Raspberry Pi الرسمي ، يتم توفير الروابط أدناه.
بالنسبة إلى SSH: رابط SSh
بالنسبة إلى VNC: رابط VNC
إذا كان لديك جهاز مراقبة ، فيمكنك ترك هذه الخطوة والانتقال مباشرة إلى الخطوة 2 وهي إعداد خدمة Alexa Voice Service (Avs). قبل ذلك علينا التحقق من اتصال الميكروفون.
التحقق من ميكروفون كاميرا الويب باستخدام Raspberry Pi:
1. افتح Raspberry Pi Terminal واكتب الأمر arecord -l. سيعرض هذا الأجهزة المتصلة بـ Raspberry Pi كما هو موضح أدناه:
البطاقة 1 هي ميكروفون كاميرا الويب الذي سنستخدمه. إذا لم يتم عرضه ، فقد تكون كاميرا الويب معيبة.
2. الآن ، تحقق مما إذا كان الميكروفون يعمل عن طريق تشغيل أمر تسجيل الصوت على النحو التالي:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. لتشغيل الصوت المسجل ، اكتب هذا الأمر:
omxplayer -p -o local /home/pi/Desktop/test.wav
إذا قمت بتوصيل Raspberry Pi بجهاز عرض باستخدام كابل HDMI ، فسيكون إخراج الصوت افتراضيًا من خلال مكبر صوت الشاشة (إذا كان هناك مكبر صوت مدمج فيه). لذلك ، لتغييره إلى 3.5 ملم ، يجب عليك كتابة الأمر التالي:
sudo raspi-config وانتقل إلى خيار Advance.
حدد الصوت من القائمة -> حدد Force 3.5mm -> حدد موافق وأعد تشغيل Raspberry Pi.
الآن ، يجب أن تسمع الصوت من مقبس مقاس 3.5 مم.
ملاحظة: إذا كنت ترغب في زيادة أو تقليل جهارة صوت الإدخال للميكروفون ، فاكتب alsamixer في الجهاز. حدد بطاقة الصوت من الجهاز بالضغط على F6.
اضغط على F4 لتغيير كسب الميكروفون وضبطه كما تريد.
إذا كان لديك ميكروفون USB 2.0 ، فإن الخطوات المتبعة هي نفسها للتحقق من الميكروفون. هنا استخدمنا Webcam لـ USB microcphone.
الجزء 2: قم بإعداد حساب Amazon Developer الخاص بك وتكوين خدمات Alexa الصوتية على Raspberry Pi:
لقد أوضحنا هذا بالفعل بالتفصيل في برنامجنا التعليمي السابق حيث قمنا ببناء مكبر صوت ذكي من Amazon Echo. نحن هنا نركز على التحكم في Raspberry Pi GPIO مع Alexa لذلك نحن لا نشرح العملية برمتها مرة أخرى ، لذا اقرأ المقالة السابقة واجعل السماعة جاهزة مع خدمات Alexa الصوتية المثبتة على Raspberry pi.
لاختبار Alexa ، فقط أيقظها بقول اسمها! تحقق من الفيديو التوضيحي المقدم في نهاية البرنامج التعليمي.
يمكنك أن تسألها عن درجة حرارة مدينتك للتأكد من أنها تعمل أم لا.
الجزء 3: إعداد PubNub و IFTTT لـ Alexa Pi Home Automation :
لل سيطرة على التوت بي GPIO باستخدام هذا اليكسا بي ، نحن بحاجة إلى مساعدة من PubNub الثعبان SDK و إفتتت. سنعطي أوامر IFTTT من خلال Alexa ، ويقدم PubNub إشارة إلى RPi لتشغيل / إيقاف تشغيل LED. لذلك سنقوم أولاً بتثبيت PubNub على Raspberry Pi.
الجزء 3-1: تثبيت PubNub Python SDK:
يوفر PubNub واجهة برمجة تطبيقات للمراسلة لنشر / الاشتراك في أي رسالة على شبكتهم العالمية. نحن هنا نستخدم IFTTT و Alexa لنشر الرسالة على PubNub ، لجعل Raspberry Pi GPIO منخفضًا / مرتفعًا. تم استلام هذه الرسالة بواسطة Raspberry Pi وسيقوم Pi بتشغيل أو إيقاف تشغيل مؤشر LED وفقًا لذلك. اتبع الخطوات التالية لإعداد PubNub على Raspberry Pi:
الخطوة 1: افتح Terminal على RPi الخاص بك وقم بتشغيل الأمر التالي لتثبيت SDK:
تثبيت sudo pip pubnub == 3.9.0
قم بتثبيت الإصدار 3.9.0 فقط ، ولن يعمل الإصدار الآخر مع نص Python الذي سنقوم بتشغيله في الأخير.
الخطوة 2: الآن ، انتقل إلى PubNub وقم بتسجيل الدخول باستخدام بيانات اعتمادك.
الخطوة 3:. احصل على مفتاحي النشر والاشتراك الذي سنستخدمه لاحقًا.
الجزء 3-2: إعداد IFTTT لخدمة Amazon Alexa:
IFTTT هي خدمة مجانية قائمة على الويب تتيح للمستخدمين إنشاء سلاسل من العبارات الشرطية البسيطة ، تسمى "الوصفات" ، والتي يتم تشغيلها بناءً على التغييرات في خدمات الويب الأخرى مثل Gmail و Facebook و Instagram و. IFTTT هو اختصار لـ "If This Then That".
بالنسبة لهذا المشروع ، يتم استخدام IFTTT لإنشاء Raspberry Pi GPIO LOW / HIGH استنادًا إلى أمر الكلام الذي تتلقاه خدمة Alexa التي تعمل على RPi.
اتبع هذه الخطوات لإنشاء تطبيق صغير:
خطوة 1: - الدخول إلى إفتتت مع بيانات الاعتماد الخاصة بك أو تسجيل لأعلى إذا لم يكن لديك حساب على ذلك.
الخطوة 2: - في تطبيقاتي الصغيرة ، انقر فوق تطبيق صغير جديد
الخطوة 3: - اضغط على + this
الخطوة 4: - ابحث في Amazon Alexa وانقر فوقه ، وقم بتسجيل الدخول باستخدام تفاصيل حساب مطور أمازون الخاص بك.
الخطوة 5: - اختر المشغل ، قل عبارة محددة
الخطوة 6: - قم بتوفير " turn on the light" مثل العبارة ، انقر فوق Create Trigger.
الخطوة السابعة: - الضغط على + ذلك
الخطوة 8: - ابحث عن Webhooks ، وانقر عليها واختر Make a Web Request
الخطوة 9: - توفر Webhooks طلب REST WEB ، استخدم مفاتيح النشر والاشتراك التي تم الحصول عليها من PubNub وقم بتعديل عنوان URL التالي.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa"،"trigger":"light"،"status":1}
الخطوة 10: - الصق عنوان URL المعدل في مربع نص URL.
الخطوة 11: - اضبط الطريقة على أنها GET ، المحتوى كتطبيق / json وانقر فوق حفظ.
الخطوة 12: - اتبع نفس الخطوات لإنشاء مشغل " إطفاء الضوء " وتعديل عنوان URL إلى ما يلي.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa"،"trigger":"light"،"status":0
الخطوة 13: - نحن الآن جاهزون مع جميع مكونات الويب للعرض التوضيحي.
الجزء 4: توصيلات الأجهزة ومخطط الدائرة:
بالنسبة لهذا المشروع ، نحتاج إلى مصباح LED بسيط لغرض الاختبار. يوجد أدناه مخطط الدائرة وتوصيلات الأجهزة للتحكم في Raspberry Pi GPIO باستخدام Amazon Alexa.
سنستخدم GPIO18 في برنامج Python النصي الخاص بنا ، لذلك ، قم بتوصيل مرحل LED 18. يمكنك تغيير ذلك في برنامج Python النصي.
الجزء 5: كود Python للتحكم في مؤشر LED:
ابحث عن نص Python Script الكامل في نهاية هذا البرنامج التعليمي.
تحتاج إلى تعديل مفتاح Pub و Sub باستخدام مفاتيح pubnub في كود python.
# تهيئة Pubnub Keys pub_key = "***************************" sub_key = "*********** ************* "
الآن قم بتشغيل البرنامج النصي
بيثون alexaRpi.py
الآن نحن جاهزون للعرض التوضيحي ، تأكد من تشغيل جميع الخدمات الثلاثة من الجزء 1 (المحطات الثلاث) قبل المتابعة.
لإعطاء أي أمر ، تحتاج إلى إيقاظ خدمة Alexa عن طريق الاتصال بـ "Alexa" في كل مرة تريد فيها إرسال أمر. سوف تسمع صوت صفير. بمجرد سماع الصفارة ، قل " Alexa Trigger Turn on the Light. يمكنك أن ترى الضوء يتم تشغيله في غضون لحظة. ثم إذا قلت " Alexa Trigger Turn off the Light " ، يجب أن ينطفئ الضوء .
هذا هو…. يمكنك أيضًا إضافة مرحل للتحكم في جهاز التيار المتردد ، حتى يمكنك التحكم في العديد من الأجهزة باستخدام المزيد من المرحلات والمزيد من دبابيس GPIO الخاصة بـ Raspberry pi.
تحقق من الكود الكامل وفيديو العرض أدناه. تحقق أيضًا من جميع مشاريع أتمتة المنزل هنا.