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

RabbitPi - تمكين Alexa ، IFTTT متصل ، مساعد IoT المتذبذب للأذن: 12 خطوة
RabbitPi - تمكين Alexa ، IFTTT متصل ، مساعد IoT المتذبذب للأذن: 12 خطوة

فيديو: RabbitPi - تمكين Alexa ، IFTTT متصل ، مساعد IoT المتذبذب للأذن: 12 خطوة

فيديو: RabbitPi - تمكين Alexa ، IFTTT متصل ، مساعد IoT المتذبذب للأذن: 12 خطوة
فيديو: Add Samsung SmartThings to Home Assistant (HOW-TO) 2024, شهر نوفمبر
Anonim
Image
Image
RabbitPi - تمكين Alexa ، IFTTT متصل ، مساعد IoT المتذبذب للأذن
RabbitPi - تمكين Alexa ، IFTTT متصل ، مساعد IoT المتذبذب للأذن
RabbitPi - تمكين Alexa ، IFTTT متصل ، مساعد IoT المتذبذب للأذن
RabbitPi - تمكين Alexa ، IFTTT متصل ، مساعد IoT المتذبذب للأذن
RabbitPi - تمكين Alexa ، IFTTT متصل ، مساعد IoT المتذبذب للأذن
RabbitPi - تمكين Alexa ، IFTTT متصل ، مساعد IoT المتذبذب للأذن

هذا هو "الأرنب الذكي" الذي عفا عليه الزمن 2005 Nabaztag والذي قمت بإعادة بنائه إلى مساعد إنترنت الأشياء الحديث باستخدام Raspberry Pi 3 و Adafruit Motor HAT ، مع ميكروفون كاميرا ويب ومكبر صوت Philips Soundshooter الموجود في العلبة الأصلية اللطيفة. بدأ الزر أوامر صوتية باستخدام خدمة الصوت Alexa من Amazon ، وقراءة الردود عبر مكبر الصوت المدمج. تُستخدم الأوامر الصوتية أيضًا لتشغيل وصفات IFTTT (If This Then That) ، للتفاعل مع الأجهزة الأخرى المتصلة بالإنترنت مثل المقابس الذكية والهواتف المحمولة. ليس كافي؟ بالإضافة إلى تشغيل أحداث IFTTT ، فإنه يستقبلها أيضًا عبر Gmail ، باستخدام محرك Ivona لتحويل النص إلى كلام لقراءة البريد الإلكتروني والرسائل النصية والإشعارات الأخرى ، على سبيل المثال تنبيهات حبوب اللقاح أو الإشعارات من كاميرا الأمن المنزلي. لك ردود فعل بصرية مع LEDS وآذان آلية؟ إنه يحتوي على كاميرا V2 Raspberry Pi في بطنه لتحميل صور سيلفي مفعلة بالصوت على Twitter. من الصعب وصف جاذبية RabbitPi بالكلمات ، تحقق من الفيديو لرؤيتها أثناء العمل!

الخطوة 1: تاريخ موجز للأرانب الذكية

تاريخ موجز للأرانب الذكية
تاريخ موجز للأرانب الذكية
تاريخ موجز للأرانب الذكية
تاريخ موجز للأرانب الذكية
تاريخ موجز للأرانب الذكية
تاريخ موجز للأرانب الذكية
تاريخ موجز للأرانب الذكية
تاريخ موجز للأرانب الذكية

تم إصدار Nabaztag الأصلي "أول أرنب ذكي" في عام 2005 ، وتم وصفه بأنه مساعد المنزل المحيط (يبدو مألوفًا في Amazon و Google؟) - يمكن القول إنه كان أول شيء "إنترنت الأشياء" وكان من نواح كثيرة سابقًا لعصره ، اشتريت واحدة على الفور. لقد جلس على رفنا وهو يقرأ توقعات الطقس اليومية والإخطارات العرضية ولكن لم يكن لديه أبدًا الكثير من الإمكانيات ، حيث يعتمد على اتصال WEP wi-fi والبرامج والخوادم الخاصة لتقديم خدمات تحويل النص إلى كلام (TTS). من الصعب تخيل ذلك الآن ولكن في ذلك الوقت لم يكن هناك الكثير الذي يمكن الاتصال به ، كانت وسائل التواصل الاجتماعي بالكاد شيئًا ، وحكمت نوكيا عالم الهواتف الذكية وكانت مصابيح LED حداثة باهظة الثمن.

في السنوات القادمة ، تبع إصداران إضافيان ، Nabaztag: Tag و Karotz ، كلاهما قدم وظائف محسّنة لكن لم يجد أي منهما مكانته في السوق ، مما خذل في النهاية بسبب قيود الأجهزة والبرامج. كان العار هو أنه بمجرد إيقاف تشغيل الخوادم الداعمة ، أصبحت الأرانب الذكية سابقًا أكثر من مجرد زينة. حاولت عدة مشاريع مجتمعية استبدال خدمات الخوادم "الرسمية" ، وقد استخدمنا "OpenKarotz" لفترة من الوقت ، ولكن بدا أن هذا أيضًا مات منذ عام أو عامين ، تاركًا أرانبي صامتة وغير متحركة فوق مكبرات الصوت.

على أي حال انتهى درس التاريخ! المحصلة هي أننا نتذكر باعتزاز وجود Nabaztag في غرفة المعيشة الخاصة بنا ، وأردت إعادته ، ولكن كجهاز حديث مناسب لإنترنت الأشياء.

الخطوة 2: Nabaztag 2.0

Nabaztag 2.0
Nabaztag 2.0

لقد ألهمتني أخيرًا بدء تشغيل RabbitPi عندما قرأت في مارس أن خدمة الصوت Amazon Alexa قد تم توفيرها لـ Raspberry Pi - المفتاح هو أن زرًا مطلوبًا لتنشيط "الاستماع" - وهذا يتناسب تمامًا مع Nabaztag ، لأنه يحتوي على زر ضغط يتدفق مع الجزء العلوي من رأسه الصغير اللامع. قمت بتفكيك أرنبي وسرعان ما حصلت على رمز Sam Machin الممتاز AlexaPi الذي يعمل على Pi 3 ، تم تنشيطه بالضغط على زر الأرنب. في هذه المرحلة ، انشغلت تمامًا ببناء AlexaPhone ، لكنني قفزت مباشرة إلى أسفل الحاخام الذكي بمجرد الانتهاء منه. كنت بحاجة إلى Nabaztag المحسّن الجديد الخاص بي ليكون على الأقل ذكيًا مثل الأصل ، لذلك أردت أن:

قم بإجراء عمليات البحث الصوتي وقراءة النتائج

اقرأ الإخطارات

حرك أذنيه وفلاش LED

التقاط الصور والسماح بالمراقبة عن بعد

تفاعل مع المقابس الذكية والمصابيح الكهربائية وما إلى ذلك

الخطوة 3: فرم الأرنب

الأرنب فرم
الأرنب فرم
الأرنب فرم
الأرنب فرم
الأرنب فرم
الأرنب فرم
الأرنب فرم
الأرنب فرم

كانت المهمة الأولى هي تفكيك نابازتاغ ومعرفة الأجزاء التي يمكن إعادة استخدامها. تم تصميم الأذنين بحيث تكون قابلة للتبديل ويتم تثبيتها بالمغناطيس فقط ، لذلك كان ذلك سهلاً ، ولم يتم تثبيت الغطاء الرئيسي إلا بواسطة برغيين (مثلثي غريب الأطوار). أدى هذا إلى كشف جميع الدوائر والمكونات ، المبنية حول عمود بلاستيكي مركزي. أمسك جانب واحد بالدائرة الرئيسية ومصابيح LED ، مع وجود مكبر صوت على الجانب الآخر ومحركات / زر مدمج في العمود في الأعلى.

نظرًا لأنني خططت فقط للاحتفاظ بالمحركات ، قمت بقص معظم الكابلات وبدأت في إخراج البراغي. حصلت على مفاجأة حقيقية في هذه المرحلة! خلف دائرة "دماغ الأرنب" كانت هناك فتحة تمتد على ارتفاع العمود بالكامل ، وتحتوي على بطاقة واي فاي PCMCIA بالحجم الكامل ، من النوع الذي تستخدمه في أجهزة الكمبيوتر المحمولة القديمة. أعتقد أنه كان بمثابة حل وسط في التصميم أو التوافق في ذلك الوقت ، لكن مقارنته بالحجم مع دونجل USB حديث أوصل حقًا إلى المنزل مقدار التكنولوجيا التي تقلصت في غضون 10 سنوات.

تمت إزالة الأجزاء المتبقية بسهولة ، مع ترك عمود الدعم البلاستيكي العاري مع مساحة كبيرة حوله؟

الخطوة 4: التحدث والاستماع

يتكلم و يستمع
يتكلم و يستمع
يتكلم و يستمع
يتكلم و يستمع
يتكلم و يستمع
يتكلم و يستمع

لا يمكن أن يكون لديك أرنب يتحدث يتم التحكم فيه صوتيًا بدون مكبر صوت وميكروفون ، لذلك كانت هذه من بين الأشياء الأولى التي قمت بفرزها. لم أضطر حقًا إلى المحاولة بجد ، يبدو أن Pi مرنة جدًا فيما يتعلق بميكروفونات USB وقد استخدمت للتو كاميرا ويب MSI StarCam Clip قديمة للإدخال ، وضبط مستوى الصوت إلى Max في إعدادات الصوت Pi. لتوفير مساحة قمت بتفكيك كاميرا الويب ، وتجاهل عدسة الكاميرا والحافظة. لقد قمت بحفر ثقب في القاعدة حتى يتمكن الميكروفون من اختراقه وتوصيله بـ USB ، وتشغيل الكابلات بدقة قدر الإمكان.

لقد استخدمت مكبر صوت KitSound MiniBuddy في هاتف AlexaPhone ، حيث أثبت فعاليته حقًا ، ولكن عندما ذهبت لشراء واحدة لهذا المشروع وجدت أن التصميم قد تم تغييره ولم يعد يتم شحنه باستخدام موصل micro-usb! بحثت حولي بحثًا عن شيء مشابه وتوصلت إلى Philips SoundShooter ، وهي وحدة صغيرة تشبه القنابل اليدوية. كنت أتمنى أن تتناسب مع العلبة دون تفكيكها لكنها كانت كبيرة جدًا ، لذا خرج مفك البراغي لتفكيكها. تمكنت من قطع أسلاك السماعات في هذه العملية ، لذا تم لحامها في بعض كبلات التوصيل لتسهيل إعادة الاتصال. تم لصق جزء السماعة هذا على العلبة في نفس مكان السماعة الأصلية ، مع تثبيت الدائرة والبطارية على الرف الصغير تحتها.

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

الخطوة 5: القراءة مثل الأرانب

القراءة مثل الأرانب
القراءة مثل الأرانب
القراءة مثل الأرانب
القراءة مثل الأرانب

الآن بعد أن كان جزء Alexa يعمل ، انتقلت إلى حل المشكلة التالية ، كيف سأجعل الأرنب يقرأ الإخطارات؟ كان تحويل النص إلى كلام في نابازتاغ الأصلي جيدًا بشكل مدهش ، على الرغم من أنني أتذكر أنه قرأ دائمًا إشارات الرسائل النصية (مم) على أنها "مليمترات" وزوجتي (سم) باسم "سنتيمترات" - أردت استخدام علامة حديثة و محرك ذو صوت طبيعي يفسر أشياء مثل الرمز "&" بشكل صحيح ويفهم الرموز البسيطة مثل:).

كما هو الحال مع كل شيء على Raspberry Pi ، هناك الكثير من الخيارات المختلفة هناك وقد نظرت في العديد قبل اتخاذ قرار بشأن Ivona ، والذي يبدو أنه نفس المحرك الأساسي الذي تستخدمه خدمة Alexa. لقد كان الخيار الأفضل بالنسبة لي نظرًا لوجود مجموعة من الأصوات وخيارات التكوين المتاحة - وكانت ميزة كبيرة أيضًا أن Zachary Bears أتاح غلاف Python المناسب للخدمة ، Pyvona.

لبدء استخدام Ivona ، تحتاج أولاً إلى إعداد حساب مطور ، ثم تمامًا كما هو الحال مع إعداد Alexa ، يتم تزويدك ببيانات اعتماد لاستخدامها في التطبيق الخاص بك ، وفي هذه الحالة برنامج نصي لقراءة الإشعارات. يُسمح لك بـ 50 ألف عملية بحث شهريًا باستخدام أحد هذه الحسابات ، وهو بالتأكيد الكثير بالنسبة لي.

كان إعداد Pyvona واضحًا حقًا ، ففي غضون دقائق كان لدي نص برمجي من Python تم إنشاؤه من المثال المقدم والذي كان يقرأ أي عبارة كتبتها. ولكن هذا كان الحل جزئيًا بالطبع - لم أكن أرغب في قراءة Ivona للتشفير الثابت إخطارات واردة نصية ولكن ديناميكية.

الخطوة السادسة: قل ماذا؟

يقول ما؟
يقول ما؟
يقول ما؟
يقول ما؟

لذلك كان لدي الآن أرنب (في قطع على المقعد) يمكنه التحدث ، لكنه احتاج إلى آلية لتلقي الإخطارات وتمريرها إلى خدمة Ivona لتتم قراءتها. نظرت في إمكانية المراسلة النصية عبر خدمة عبر الإنترنت أو محول بطاقة SIM ، وكذلك Twitter و Dropbox لتقديم سلاسل / ملفات نصية ، لكنني قررت أخيرًا استخدام imaplib ، وهي وسيلة قائمة على Python للتفاعل مع حسابات البريد الإلكتروني IMAP. لقد قررت هذا الخيار بشكل أساسي لأنه يتكامل جيدًا مع خدمة IFTTT ، يمكنك أن تكون مبدعًا حقًا في تنسيق رسائل البريد الإلكتروني الخاصة بالإشعارات. هذا يعني أيضًا أنني سأكون قادرًا على إرسال رسائل البريد الإلكتروني مباشرة إلى RabbitPi لتتم قراءتها بصوت عالٍ.

لقد بحثت في الكثير من أمثلة imaplib python عبر الإنترنت ، وبعد الجمع بين الأجزاء والقطع والعمل من خلال وثائق imaplib ، تمكنت من الحصول على نص برمجي يفحص Gmail بحثًا عن الرسائل غير المقروءة على فترات منتظمة ويطبع نصًا مختلفًا على الشاشة اعتمادًا على محتوى موضوع الرسالة. كان هذا مفيدًا حقًا ، حيث يمكنني تكييف عبارة "IF" في الكود للعمل فقط إذا جاء البريد الإلكتروني من نفسي ، ثم استبدل إجراء "Print" بالرمز الذي يستدعي خدمة Ivona.

لقد أمضيت وقتًا طويلاً في محاولة تكييف كود imaplib & Pyvona لقراءة نص رسائل البريد الإلكتروني ولكن تبين أن هذا الأمر معقد للغاية - سرعان ما علمت أن حقول البريد الإلكتروني الأساسية (من ، إلى ، الموضوع ، إلخ) منسقة ببساطة شديدة ، ولكن يمكن هيكلة نص البريد الإلكتروني هذا بعدة طرق مختلفة. في النهاية ، لم يكن الأمر مهمًا حقًا ، فقد تمكنت من تحقيق ما أحتاجه باستخدام موضوع البريد الإلكتروني باعتباره الحقل الذي سيتم قراءة نص الإشعار منه.

ثم قمت بعد ذلك بتعديل مثال كود imaplib بحيث بدلاً من التوقف بعد كل فحص للبريد الإلكتروني ، فإنه يتم إجراء حلقة دائرية بلا حدود ، والتحقق من رسائل البريد الإلكتروني عدة مرات في الدقيقة وقراءة أي رسائل جديدة إلى حد كبير بمجرد وصولها. كان هذا مفيدًا للاختبار ولكن من الناحية العملية ، ربما أجعله يتحقق قليلاً في كثير من الأحيان. وتجدر الإشارة أيضًا إلى أن البرنامج النصي يخزن كلمة المرور بنص عادي ، لذا ستحتاج إلى إضافة بعض التشفير في مرحلة ما.

أنا متأكد بنسبة 100٪ من أنه يمكن تحقيق ذلك بشكل أكثر أناقة وكفاءة في Python ، لكن كان من الممتع والتحدي تشغيله على الإطلاق - لقد استعارت "Python for Kids" من المكتبة هذا الأسبوع ، لذا آمل أن تتحسن الكود الخاص بي كما تعلم المزيد.

من خلال العمل النصي الأساسي للحصول على بريد إلكتروني وقراءته ، أضفت الأجزاء الإضافية من التعليمات البرمجية التي من شأنها أن تجعل آذان الأرنب تتحرك وتضيء مصابيح LED أثناء قراءة الإشعارات. الكود الذي استخدمته موجود على GitHub ولكن من فضلك ضع في اعتبارك افتقاري الحالي إلى براعة الثعبان!

الخطوة 7: قبعة للأرنب

قبعة للأرنب
قبعة للأرنب
قبعة للأرنب
قبعة للأرنب
قبعة للأرنب
قبعة للأرنب
قبعة للأرنب
قبعة للأرنب

كانت إحدى أكثر الأشياء شهرة في Nabaztag هي الطريقة التي تحرك بها أذنيها عندما يأتي إشعار. يمكن ضبطها على اتجاه معين إما عن طريق تحريكها يدويًا أو عن طريق تحديد موضع باستخدام برنامج التحكم - كان هدفي هو فقط لجعلهم يتحركون.

لم أستخدم المحركات مع Raspberry Pi من قبل ، لذلك كان هذا موضوعًا بحثيًا جديدًا آخر بالنسبة لي - أولاً كنت بحاجة لمعرفة نوع المحركات التي كنت أتعامل معها ، كل ما كنت أعرفه هو وجود محركين ، كل منهما به سلكان. عند القراءة على الإنترنت ، خلصت إلى أن هذه يجب أن تكون محركات DC مباشرة وليست محركات متدرجة ، وهي حقيقة أكدتها هذه التعليمات المفيدة بشكل خيالي "Hack the Nabaztag" بواسطة Liana_B ، والتي كنت أتمنى أن أقرأها قبل شهر تقريبًا.

مرة أخرى بفضل مرونة Pi ، هناك العديد من الطرق المختلفة التي يمكن من خلالها التحكم في المحركات ، لكنني قررت استخدام لوحة Adafruit DC & Stepper Motor HAT. لقد استخدمت شاشات وحلي Adafruit من قبل وأحب الإرشادات التفصيلية والأمثلة التي تأتي كمعيار.

إن استخدام لوحة بمعيار HAT (الأجهزة المرفقة بالأعلى) يعني أن وحدة التحكم في المحرك ستلائم بشكل مرتب أعلى Pi التي تشغل مساحة صغيرة ، ولأنها تستخدم واجهة I2C ، فقد تركت دبابيس GPIO التي أحتاجها لـ Alexa / Clap مجانًا زر ومصابيح LED.

كما هو متوقع ، كان لحام HAT معًا أمرًا سهلاً حقًا ، وسرعان ما قمت بتثبيته على PI وتوصيله بمحركي الأذن. كنت قد خططت لتشغيل المحركات من بنك طاقة USB بحيث أحتاج فقط إلى قابس طاقة واحد ، ولكن تبين أن هذا لا يحتوي على ما يكفي من النخر ، حتى أنه لن يضيء "العمل" بقيادة HAT. قررت بدلاً من ذلك استخدام محول طاقة تيار مستمر لتشغيل HAT والأذنين ، وكان لدي بسهولة واحدة من تلك العالمية مع نصائح قابلة للتبديل في متناول يدي. ما لم يكن لدي هو مقبس DC لتوصيل المحول بـ HAT. كنت على وشك المغادرة إلى نورويتش مابلين (مرة أخرى) عندما تذكرت من التمزيق أن سلك الطاقة الأصلي لنابازتاغ كان مقبسًا قياسيًا للتيار المستمر - لذلك يمكنني فقط إعادة توصيل مقبس الطاقة الأصلي إلى HAT - أنيق! في النهاية ، أعدت أيضًا استخدام مصدر الطاقة الأصلي Nabaztag ، لأنه يوفر المقدار المناسب من الطاقة.

مع كل شيء موصّل بالأسلاك والجهد المعقول الذي تم تحديده ، قمت مبدئيًا بتشغيل مثال الثعبان المتضمن مع DC Motor Hat ، رمز العينة الذي غيّر باستمرار سرعة واتجاه المحرك لتوضيح خيارات التحكم المختلفة. لقد كنت متحمسًا جدًا عندما نجحت ، أول محرك لي يتم التحكم فيه بواسطة Pi! لكن بعد ذلك لاحظت شيئًا - أنين عالي الصوت حقًا مثل شخص يركض إصبعًا مبللاً حول كأس نبيذ. لم يكن هذا جيدًا على الإطلاق ، كنت أرغب في تحريك الأذنين أثناء قراءة الإشعارات ، وعلى الرغم من عدم تصم الآذان ، كان الأنين ملحوظًا حقًا. حاولت الفولتية مختلفة ولكن دون تغيير. بالانتقال إلى Google ، اكتشفت أن هذا يمكن أن يحدث بسبب PWM (تعديل عرض النبضة) وأن أحد العلاجات يمكن أن يكون لحام المكثفات الصغيرة عبر أطراف المحرك. بالنظر إلى المحركات ، كانت هذه موجودة بالفعل. لقد جربت أيضًا تغيير تردد PWM ولكن لم يتغير بعد. بعد بعض التجارب ، أدركت أن الأنين يحدث فقط عندما يتم تغيير سرعة المحرك بواسطة الكود من منخفضة إلى عالية - لذا فإن ضبطه على سرعة عالية ثابتة يلغي الأنين تمامًا - phew!

لقد أنشأت نصوصًا برمجية لاختبار Python استنادًا إلى أمثلة Adafruit ، أحدهما للحركة أثناء الإشعارات والآخر لجعل الأذنين تؤدي "دائرة" كاملة عند بدء التشغيل ، بهدف نسخ رمز العمل من هذه البرامج إلى البرامج النصية الرئيسية المستخدمة للتعامل مع تفاعلات Alexa و Gmail / Ivona.

الخطوة 8: الكاميرا والقرص

الكاميرا والقرص
الكاميرا والقرص
الكاميرا والقرص
الكاميرا والقرص
الكاميرا والقرص
الكاميرا والقرص

قبل أن أبدأ التجميع ، اختبرت كل شيء. حيثما كان ذلك ممكنًا في هذا التصميم ، استخدمت كبلات توصيل لربط المكونات الفردية معًا ، إذا علمتني البنايات السابقة أي شيء يجب التخطيط لتفكيكه في المستقبل! لقد أوضحت أيضًا نقطة في رسم مخطط اتصال يوضح ماهية الكابلات اللونية التي كانت موجودة في المكان ، وكابلات التوصيل ممتازة ولكن في بعض الأحيان يتم إخراجها بسهولة عند حشر المكونات في مساحات ضيقة!

لقد قررت بعيدًا إلى حد ما في التصميم تضمين وحدة Pi Camera أيضًا ، تم إطلاق الإصدار 2 بدقة 8 ميجابكسل للتو وكشيء آخر جديد بالنسبة لي اعتقدت أنه سيكون إضافة جيدة. تضمنت أحدث نسخة من Karotz rabbit كاميرا ويب في معدتها ، لكن هذا لم ينجح أبدًا بشكل جيد ، اعتقدت أن كاميرا Pi ستكون ممتعة للصور الذاتية التي يتم تنشيطها بالصوت وربما حتى المراقبة عن بُعد إذا كان بإمكان Pi التعامل مع تشغيل الكود في في نفس الوقت مثل كل شيء آخر.

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

لقد أضفت أيضًا كبل طاقة Pimoroni Dual Micro USB في هذه المرحلة - أعطاني هذا مقبس micro-USB لطيفًا في الجزء الخلفي من العلبة ، ووفر قابس طاقة ثانٍ. كنت أنوي استخدام القابس الإضافي لشحن بطارية السماعة ، واقتحمتها حتى أتمكن من الاتصال في مفتاح "كتم الصوت" الأصلي في Nabaztag للتحكم في الشحن.

الخطوة 9: ما هو Cookin 'Doc؟ وصفات IFTTT

ما هو Cookin 'Doc؟ وصفات IFTTT!
ما هو Cookin 'Doc؟ وصفات IFTTT!
ما هو Cookin 'Doc؟ وصفات IFTTT!
ما هو Cookin 'Doc؟ وصفات IFTTT!

إن الشيء الهائل في بناء جهاز إنترنت الأشياء في الوقت الحالي هو العدد الهائل من خدمات الويب المتاحة ، وتقوم خدمة IFTTT (If This Then That) بعمل رائع بربطها جميعًا معًا في حزمة مباشرة وعملية. إذا لم تكن قد استخدمتها بعد ، فهي خدمة عبر الإنترنت ، وبمجرد قيامك بالتسجيل ، يمكنك توصيل جميع العناصر الأخرى المستندة إلى الويب بها ، مثل Gmail و Facebook و Twitter و (كما خمنت ذلك) Amazon Alexa. هناك مجموعة متنوعة من الخدمات للاختيار من بينها ، بما في ذلك أيضًا خيارات التحكم في الأجهزة الذكية مثل المصابيح الكهربائية وأجهزة الترموستات والمقابس.

تم إعداد قواعد IFTTT في "وصفات" - مثل قاعدة Outlook أو عبارة IF في SQL أو Visual Basic ، على سبيل المثال ، لدي وصفة تقول "إذا قام شخص ما بتمييزي في صورة على Facebook ، فأرسل إليّ بريدًا إلكترونيًا مع الموضوع "Holy guacamole ، [وضع علامة باسم الشخص] تم وضع علامة باسمك في صورة على Facebook" - لأنه تم إرسال هذا إليّ من عنواني الخاص ، ثم يقرأ RabbitPi نص الموضوع.

استخدام آخر رائع لـ IFTTT هو مع خدمة Alexa الصوتية - بالنسبة لجزء IF من الوصفة ، يمكنك إعداد عبارة ، على سبيل المثال "الليزر" وإذا قلت بعد ذلك لـ Alexa "Trigger the laser" فسوف تقوم بتمرير الطلب إلى IFTTT ، والتي ستطلق الجزء التالي من الوصفة ، في هذه الحالة يتم تنشيط مقبس بعيد متصل بليزر الديسكو.

بل إنه يتجاوز "الأشياء الذكية" - إذا كان لديك IFTTT مثبتًا على هاتفك (ملكي هو إصدار Android) ، فيمكنك التفاعل معه في كلا الاتجاهين ، فالوصفة المستخدمة في الفيديو هي: "إذا قلت" Trigger Chas & Dave "إلى Alexa ، ثم قم بتشغيل الأغنية المحددة" Rabbit "على هاتفي الذي يعمل بنظام Android. كما أنها تعمل في الاتجاه المعاكس - يمكن تخصيص تطبيق AnyMote العالمي للتحكم عن بُعد على هاتفي بحيث يتم تخصيص زر محدد به تشغيل جزء" IF " من وصفة - لدي زر على شاشتي يقوم بتشغيل RabbitPi لالتقاط صورة شخصية وتحميلها على Twitter.

وظيفة أخرى تمكن RabbitPi من قراءة رسائلي النصية ، على هاتفي لدي وصفة "إذا تلقيت رسالة SMS جديدة ، فأرسل لنفسي رسالة بريد إلكتروني مع الموضوع التالي" مرحبًا! [مرسل النص] يقول [نص الرسالة النصية]"

إنه سهل الاستخدام ، وممتع للغاية ويعمل بشكل جيد ، ويتم تمرير الإشعارات ذهابًا وإيابًا بسرعة كبيرة ، خاصةً إلى مفتاح WeMo Insight الذي أملكه ، وهو فوري إلى حد كبير. إن وجود IFTTT و RabbitPi يجعل توصيل الأشياء والخدمات أمرًا سهلاً حقًا.

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

التجميع والاختبار
التجميع والاختبار
التجميع والاختبار
التجميع والاختبار
التجميع والاختبار
التجميع والاختبار

الآن جاء الجزء الصعب - حشر جميع المكونات في العلبة! كنت متأكدًا تمامًا من أنها ستكون مناسبة تمامًا ولكن التجميع الفعلي كان صعبًا حقًا ، لقد استفدت جيدًا من بعض الأدوات الجراحية والملاقط لكز الكابلات من خلال فجوات صغيرة.

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

الخطوة 11: أرنب جاهز؟

أرنب جاهز؟
أرنب جاهز؟
أرنب جاهز؟
أرنب جاهز؟
أرنب جاهز؟
أرنب جاهز؟
أرنب جاهز؟
أرنب جاهز؟

الآن وبعد الانتهاء من كل جانب المبنى المادي ، فقد حان الوقت "لقطع الحبل" ، وإزالة RabbitPi من راحة كابل إيثرنت والشاشة ولوحة المفاتيح في ورشة العمل حتى أتمكن من إنهاء الكود في مكان آخر عبر SSH (الإشارة اللاسلكية هي ضعيف حقًا هناك!)

مستقرًا على المكتب في مكتبي ، قمت بتمهيد الأرنب و- لا يوجد اتصال wi-fi على الإطلاق ، لا شيء. كنت أعلم أنه يجب أن تكون هناك إشارة لأن هاتفي كان يعمل بشكل جيد - هل كانت هناك مشكلة في محول الشبكة على Pi 3 لم أسمع عنها؟ أخبرني القليل من googling أن Pi 3 سيجد إشارة wi-fi فقط إذا كان جهاز التوجيه يبث على القنوات 1-11 - تم تعييني على القناة 13! بعد ذلك بعدة تعديلات ، أصبحنا متصلين ، وتنهدنا ارتياحًا كبيرًا.

بعد ذلك جاء فرز النصوص المختلفة. أولاً ، قمت بتعديل البرنامج النصي main.py لرمز AlexaPi ، مضيفًا سطورًا إضافية بحيث بالإضافة إلى وميض مصابيح LED الخاصة به عند بدء التشغيل ، يقوم RabbitPi أيضًا بأداء تذبذب لطيف في الأذن. لقد استبدلت أيضًا رسالة "Hello" القياسية بتأثير صوت "boing" مرح من أجل المتعة.

يُطلق على النص الثاني اسم rabbit.py (SWIDT؟) ويحتوي على جميع التعليمات البرمجية لاسترداد رسائل gmail وقراءتها باستخدام Pyvona. لقد أضفت أيضًا بعض رموز Twython التي تم تعديلها من البرنامج التعليمي Raspberry Pi "Tweeting Babbage" ، مما مكن RabbitPi من التقاط صورة وتحميلها على حساب Twitter (NabazPi). أضفت بعض حركات الأذن ومضات LED لإعطائك تحذيرًا عادلًا عند اقتراب التقاط الصورة ، بالإضافة إلى ضوضاء الغالق وتأكيد تغريدة قراءة Pyvona.

أخيرًا ، أضفت في عبارة IF إلى كود imaplib gmail ، بحيث إذا كان موضوع البريد الإلكتروني هو "selfie" ، فإن RabbitPi سيفعل شيئًا سيلفي ، ولكن بخلاف ذلك سيقرأ موضوع البريد الإلكتروني كالمعتاد.

الكود الذي استخدمته متاح على GitHub - يرجى قراءة ملف ReadMe!

كلمسة نهائية ، قمت بطباعة شعار Raspberry Pi على ورق شفاف ولصقه داخل علبة RabbitPi ، بحيث يضيء مصباح البطن الأبيض الصورة من خلال بشرتها الشفافة.

الخطوة 12: عودة Nabaztag

عودة Nabaztag!
عودة Nabaztag!
عودة Nabaztag!
عودة Nabaztag!
عودة Nabaztag!
عودة Nabaztag!

مع إنجاز كل شيء ، لم يتبق سوى مقطع الفيديو. كان من الممتع جدًا وضع RabbitPi في خطواته على الكاميرا ، وكان الجانب السلبي الوحيد هو تحرير لقطات HD على جهاز الكمبيوتر المحمول المسن الخاص بي في وقت لاحق. بالنسبة لبعض الإخطارات (بشكل رئيسي الرسائل النصية بسبب إشارة فودافون الرهيبة) قمت بخفض فترات التوقف بين الإجراء والإشعار ، أو ربما كان مقطع فيديو طويلًا ومملًا ، لكن معظمه يُظهر السرعة الحقيقية للاستجابة.

لقد جربت استخدام مستشعر التصفيق لتشغيل خدمة Alexa (كما هو موضح في Snap إلى فيديو Alexa) ، لكنني تركته خارج التصميم النهائي لأنه لم يكن موثوقًا به حقًا عندما كان هناك ضوضاء في الخلفية. أعلم أن المصلحين الآخرين يعملون على استخدام أجهزة التحكم عن بعد بالأشعة تحت الحمراء ، ووحدات التحكم wii وحتى الاستماع النشط باستخدام كود AlexaPi ، لذلك هناك الكثير من الخيارات للمستقبل.

آمل أن أضيف حلقة adafruit neopixel لتحل محل مؤشر LED للبطن لأن هذا من شأنه أن يوفر إشعارات بصرية أفضل بكثير ، كما أود أن أضع في الاعتبار "كتم" الإشعارات الصوتية في الليل. قدم أطفالي بعض الاقتراحات الرائعة أيضًا ، والآن بعد أن أصبحت مرتاحًا أكثر مع Python ، سنعمل معًا لتوسيع نطاق الإشعارات ، على سبيل المثال ، بحيث يتم أخذ نص تأكيد الصورة الذاتية من قائمة القيم بشكل عشوائي ، وهكذا يمكن توجيه الأرنب لمحاولة رقص المعكرونة بأذنيه ومصابيح LED.

لقد صادف أن لدي نابازتاغ آخر هنا ، بالإضافة إلى أرنب كاروتز لاحق ، لذلك قد أقوم ببناء شيء آخر معهم - من المغري تجربة المراقبة عن بعد وأجهزة الاستشعار من جميع الأنواع! إنها منصة أجهزة مثالية لـ Pi مع علبتها ذات الحجم المثالي والمحركات والزر. أتساءل عما إذا كان المصنعون الأصليون لديهم مخزون من Nabaztags غير المباعة في مكان ما ، مثل مكب أتاري للنفايات؟ بالتأكيد مع بعض الميزات المطبوعة ثلاثية الأبعاد لتركيب الكاميرا و PI و HAT المخصص لتشغيل المحركات ومصابيح LED والصوت ، فإنهم سيصنعون مجموعة أدوات Raspberry Pi المثالية ، يجب أن يكون لكل نادي ترميز واحد!

إذا كنت تحب هذا المشروع وترغب في رؤية المزيد ، يمكنك التحقق من موقع الويب الخاص بي للحصول على تحديثات المشروع الجارية في bit.ly/OldTechNewSpec ، أو الانضمام إلى TwitterOldTechNewSpec أو الاشتراك في قناة YouTube المتنامية على bit.ly/oldtechtube - أعط بعض من التكنولوجيا القديمة الخاصة بك مواصفات جديدة!

مسابقة إنترنت الأشياء 2016
مسابقة إنترنت الأشياء 2016
مسابقة إنترنت الأشياء 2016
مسابقة إنترنت الأشياء 2016

الوصيف في مسابقة إنترنت الأشياء 2016

موصى به: