- مادة رائعة:
- الجزء 1: إعداد Raspberry Pi باستخدام SSH و VNC
- الجزء 2: قم بإعداد حساب Amazon Developer الخاص بك وتكوين خدمات Alexa الصوتية على Raspberry Pi:
- الجزء 3: إعداد PubNub و IFTTT لـ Alexa Pi Home Automation :
- الجزء 3-2: إعداد IFTTT لخدمة Amazon Alexa:
- الجزء 4: توصيلات الأجهزة ومخطط الدائرة:
- الجزء الخامس: كود بايثون للتحكم في الضوء:
هل فكرت يومًا في مكبر صوت يمكن التحكم فيه بصوتك !!! ماذا لو تمكنا من التحكم في أجهزتنا المنزلية بهذه الطريقة وجعلها أكثر ذكاءً؟ أصبح المساعدون الصوتيون أكثر شيوعًا مع اقترابنا من عصر الأنظمة القائمة على الذكاء الاصطناعي وإنترنت الأشياء. لقد سمعت عن Google Assistant و Apple Siri و Amazon Alexa . هذه كلها أنظمة ذكاء اصطناعي تعتمد على الصوت ، ما يجعل هذه الأنظمة مختلفة عن بعضها البعض هو أنظمتها البيئية ، وهذا هو المكان الذي تبرز فيه Amazon Alexa أكثر من غيرها. غوغل وآبل وأمازون ، أطلقت جميع هذه الشركات مكبرات الصوت الذكية ، لكن أمازون كانت أول من قدمها. Amazon echo و Echo Dot Spot وما إلى ذلك هي مكبرات الصوت الذكية المتوفرة في السوق.
توفر أمازون واجهة برمجة التطبيقات لاستخدام خدمتها الصوتية المشهورة ، Alexa. إنه مفتوح المصدر ومتوفر على جيثب. علاوة على ذلك ، يمكنك تثبيت Alexa أو دمجها على أجهزة مخصصة مثل Raspberry Pi والحصول على وظائف Amazon Echo الكاملة في هذا الجهاز.
باستخدام خدمة Alexa الصوتية ، يمكننا تشغيل الموسيقى والحصول على معلومات حول الطقس وحجز التذاكر وغير ذلك الكثير. كل ما عليك فعله هو السؤال. في البرنامج التعليمي السابق ، قمنا بالتحكم في Raspberry Pi GPIO باستخدام Amazon Alexa. في هذا البرنامج التعليمي ، دعنا نرى كيفية إنشاء نظام أتمتة منزلي يتم التحكم فيه صوتيًا باستخدام Amazon Alexa و Raspberry Pi. سنرى كيف يمكننا استخدام Raspberry Pi لتشغيل خدمة Alexa الصوتية والتحكم في المصباح الكهربائي.
مادة رائعة:
متطلبات الأجهزة:
- Raspberry Pi 3 أو Raspberry Pi 2 موديل B وبطاقة SD (8 جيجابايت أو أكثر)
- مكبر صوت خارجي مع كابل AUX مقاس 3.5 ملم
- أي كاميرا ويب أو ميكروفون USB 2.0
- وحدة التتابع
- لمبة LED / AC
ملاحظة: تحتوي كاميرا الويب على ميكروفون يحمل في ثناياه عوامل ، لذا سنستخدمه بدلاً من ميكروفون 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 Home Automation
اذا هيا بنا نبدأ!!
الجزء 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. نحن هنا نركز على التحكم في الأجهزة المنزلية باستخدام Alexa ، لذا فإننا لا نشرح العملية برمتها مرة أخرى ، لذا اقرأ المقالة السابقة واجعل السماعة جاهزة مع خدمات Alexa الصوتية المثبتة على Raspberry Pi الخاص بك.
لاختبار Alexa ، فقط أيقظها بقول اسمها! تحقق من الفيديو التوضيحي المقدم في نهاية البرنامج التعليمي.
يمكنك أن تسألها عن درجة حرارة مدينتك للتأكد من أنها تعمل أم لا.
الجزء 3: إعداد PubNub و IFTTT لـ Alexa Pi Home Automation :
لبناء نظام أتمتة للمنزل باستخدام Alexa Pi ، نحتاج إلى مساعدة PubNub python SDK و IFTTT. سنعطي أوامر IFTTT من خلال Alexa ، ويعطي PubNub إشارة إلى RPi لتشغيل / إيقاف الضوء. لذلك سنقوم أولاً بتثبيت PubNub على Raspberry Pi.
الجزء 3-1: تثبيت PubNub Python SDK:
يوفر PubNub واجهة برمجة تطبيقات للمراسلة لنشر / الاشتراك في أي رسالة على شبكتهم العالمية. نحن هنا نستخدم IFTTT و Alexa لنشر الرسالة على PubNub ، لتشغيل / إيقاف تشغيل Relay. تم استلام هذه الرسالة بواسطة Raspberry Pi وسيقوم Pi بتشغيل أو إيقاف تشغيل الضوء وفقًا لذلك. اتبع الخطوات التالية لإعداد 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 لتشغيل أوامر تشغيل / إيقاف تشغيل الضوء بناءً على أمر الكلام الذي تتلقاه خدمة 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 بسيط لغرض الاختبار. يوجد أدناه مخطط الدائرة وتوصيلات الأجهزة للتحكم في جهاز التيار المتردد باستخدام Amazon Alexa.
سنستخدم GPIO18 في برنامج python النصي الخاص بنا ، لذلك ، قم بتوصيل الترحيل بـ GPIO 18. يمكنك تغيير ذلك في برنامج Python النصي.
الجزء الخامس: كود بايثون للتحكم في الضوء:
ابحث عن نص 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 " ، يجب أن ينطفئ الضوء .
هذا هو…. يمكنك إضافة المزيد من أجهزة التيار المتردد في برنامج Python النصي عن طريق إضافتها مع دبابيس GPIO الأخرى من RPi ويمكنك التحكم في العديد من الأجهزة باستخدام نظام أتمتة المنزل الذكي.
تحقق من الكود الكامل وفيديو العرض أدناه. تحقق أيضًا من جميع مشاريع أتمتة المنزل هنا.