فهرست مطالب:

RabbitPi - Alexa Enabled ، IFTTT Connected ، Ear -Wiggling IoT Assistant: 12 مرحله
RabbitPi - Alexa Enabled ، IFTTT Connected ، Ear -Wiggling IoT Assistant: 12 مرحله

تصویری: RabbitPi - Alexa Enabled ، IFTTT Connected ، Ear -Wiggling IoT Assistant: 12 مرحله

تصویری: RabbitPi - Alexa Enabled ، IFTTT Connected ، Ear -Wiggling IoT Assistant: 12 مرحله
تصویری: RabbitPi - The Raspberry Pi Digital Assistant 2024, دسامبر
Anonim
Image
Image
RabbitPi - Alexa Enabled ، IFTTT Connected ، Ear -Wiggling IoT Assistant
RabbitPi - Alexa Enabled ، IFTTT Connected ، Ear -Wiggling IoT Assistant
RabbitPi - Alexa Enabled ، IFTTT Connected ، Ear -Wiggling IoT Assistant
RabbitPi - Alexa Enabled ، IFTTT Connected ، Ear -Wiggling IoT Assistant
RabbitPi - Alexa Enabled ، IFTTT Connected ، Ear -Wiggling IoT Assistant
RabbitPi - Alexa Enabled ، IFTTT Connected ، Ear -Wiggling IoT Assistant

این یک "خرگوش هوشمند" Nabaztag 2005 منسوخ است که من با استفاده از Raspberry Pi 3 و Adafruit Motor HAT با یک میکروفون وب کم و بلندگوی Philips Soundshooter موجود در قاب اصلی زیبا ، آن را به عنوان یک دستیار اینترنت اشیا مدرن بازسازی کرده ام. دکمه دستورات صوتی را با استفاده از سرویس صوتی Alexa آمازون آغاز می کند و پاسخ ها را از طریق بلندگوی یکپارچه می خواند. همچنین از دستورات صوتی برای ایجاد دستور العمل های IFTTT (If This Then That) ، برای تعامل با سایر دستگاه های متصل به اینترنت مانند سوکت های هوشمند و تلفن های همراه استفاده می شود. کافی نیست؟ علاوه بر راه اندازی رویدادهای IFTTT ، آنها را از طریق Gmail نیز دریافت می کند ، با استفاده از موتور نوشتار به گفتار Ivona برای خواندن ایمیل ، پیام های متنی و سایر اعلان ها ، به عنوان مثال هشدارهای گرده یا اعلانات از دوربین امنیتی خانه. آیا ذکر کردم آیا بازخورد بصری با LEDS و گوش های موتوری دارید؟ اوه و دارای یک دوربین V2 Raspberry Pi در شکم خود برای بارگذاری عکس های سلفی با صدای فعال در توییتر است. توصیف جذابیت RabbitPi با کلمات دشوار است ، ویدئو را مشاهده کنید تا در عمل ببینید!

مرحله 1: تاریخچه مختصری از خرگوش های هوشمند

مختصری از تاریخچه خرگوش های هوشمند
مختصری از تاریخچه خرگوش های هوشمند
مختصری از تاریخچه خرگوش های هوشمند
مختصری از تاریخچه خرگوش های هوشمند
مختصری از تاریخچه خرگوش های هوشمند
مختصری از تاریخچه خرگوش های هوشمند
مختصری از تاریخچه خرگوش های هوشمند
مختصری از تاریخچه خرگوش های هوشمند

Nabaztag اصلی "اولین خرگوش هوشمند" در سال 2005 منتشر شد ، به عنوان دستیار محیط خانه (با آمازون و گوگل آشنا به نظر می رسید؟) - مسلماً این اولین مورد "اینترنت اشیا" بود و از بسیاری جهات از زمان خود جلوتر بود ، من فوراً یکی خریدم روی پیشخوان ما نصب شد و پیش بینی های روزانه آب و هوا و اطلاعیه های گاه به گاه را می خواند ، اما هرگز از قابلیت های زیادی برخوردار نبود و با اتکا به اتصال WEP وای فای WEP و نرم افزارها و سرورهای اختصاصی ، خدمات متن به گفتار (TTS) خود را ارائه می داد. تصور آن در حال حاضر دشوار است ، اما در آن زمان آنقدرها که می شد به آن متصل شد ، رسانه های اجتماعی تقریباً چیزی نبودند ، نوکیا دنیای تلفن های هوشمند را کنترل کرد و لامپ های LED یک تازگی گران قیمت بودند.

در سالهای آتی دو نسخه دیگر وجود داشت ، Nabaztag: Tag و Karotz ، هر دو عملکرد بهتری را ارائه می دادند ، اما هیچ کدام طاقچه خود را در بازار پیدا نکردند ، در نهایت با محدودیت های سخت افزاری و نرم افزاری از بین رفت. شرم آور این بود که به محض خاموش شدن سرورهای پشتیبانی ، خرگوش های هوشمند قبلی کمی بیشتر از زیور آلات بودند. چندین پروژه اجتماعی سعی کردند خدمات سرورهای "رسمی" را جایگزین کنند ، و ما مدتی از "OpenKarotz" استفاده کردیم ، اما به نظر می رسید که این نیز یکی دو سال پیش از بین رفت و خرگوش های من در بالای بلندگوهای من ساکت و بی حرکت ماند.

به هر حال درس تاریخ تمام شد! نتیجه این است که ما با علاقه حضور Nabaztag را در اتاق نشیمن خود به یاد می آوریم ، و من می خواستم آن را برگردانم ، اما به عنوان یک دستگاه IoT مناسب و مدرن.

مرحله 2: نابازتاگ 2.0

نابازتاگ 2.0
نابازتاگ 2.0

وقتی در ماه مارس خواندم که سرویس صوتی آمازون الکسا در دسترس رزبری پای قرار گرفته است ، من الهام گرفتم تا RabbitPi را راه اندازی کنم - نکته اصلی این است که برای فعال کردن "گوش دادن" یک دکمه لازم بود - این کاملاً با Nabaztag مطابقت داشت. ، زیرا دارای یک دکمه فلاش با بالای سر کوچک براق آن است. من خرگوش خود را برچیدم و به زودی کد عالی Alex Machine Sam Machin روی Pi 3 من اجرا شد که با فشار دادن دکمه خرگوش فعال شد. در این مرحله من با ساختن AlexaPhone کاملا حواسم پرت شد ، اما به محض اتمام آن مستقیماً به پایین خرگوش پایین پریدم. من نیاز به نبازتگ جدید بهبودیافته خود داشتم که حداقل به اندازه نسخه اصلی هوشمند باشد ، بنابراین می خواستم:

جستجوهای صوتی را انجام داده و نتایج را بخوانید

اعلان ها را بخوانید

گوش های آن را حرکت دهید و LED های فلش را بچرخانید

عکس بگیرید و اجازه دهید از راه دور نظارت شود

با سوکت های هوشمند ، لامپ ها و غیره تعامل داشته باشید

مرحله 3: Bunny Chop

اسم حیوان دست اموز
اسم حیوان دست اموز
اسم حیوان دست اموز
اسم حیوان دست اموز
اسم حیوان دست اموز
اسم حیوان دست اموز
اسم حیوان دست اموز
اسم حیوان دست اموز

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

همانطور که قصد داشتم موتورها را نگه دارم ، اکثر کابل ها را از بین بردم و پیچ ها را بیرون آوردم. من در این مرحله یک سورپرایز واقعی داشتم! پشت مدار "مغز" خرگوش ، شکافی وجود داشت که در تمام ارتفاع ستون قرار داشت و حاوی یک کارت Wi-Fi PCMCIA در اندازه کامل بود ، همان چیزی که در لپ تاپ های قدیمی استفاده می کردید. من حدس می زنم که در آن زمان یک طرح یا سازگاری وجود داشت اما مقایسه آن با یک دانگل USB مدرن واقعاً نشان داد که فناوری در مدت 10 سال چقدر کاهش یافته است.

بقیه قطعات به راحتی برداشته می شوند و فقط ستون پلاستیکی برهنه با فضای کافی در اطراف آن باقی می ماند؟

مرحله 4: صحبت کردن و گوش دادن

گفتار و شنیدار
گفتار و شنیدار
گفتار و شنیدار
گفتار و شنیدار
گفتار و شنیدار
گفتار و شنیدار

شما نمی توانید بدون بلندگو و میکروفون یک خرگوش صحبت کننده با صدا داشته باشید ، بنابراین این اولین چیزی بود که من آنها را مرتب کردم. من واقعاً مجبور نبودم خیلی تلاش کنم ، به نظر می رسد Pi در مورد میکروفون USB بسیار انعطاف پذیر است و من فقط از یک وب کم قدیمی MSI StarCam Clip برای ورودی استفاده کردم و سطح صدا را در تنظیمات صوتی Pi به حداکثر تنظیم کردم. برای صرفه جویی در فضا ، وب کم را برچیدم ، لنز و قاب دوربین را دور انداختم. من یک سوراخ در پایه ایجاد کردم تا میکروفون از آن عبور کند و آن را به USB Pi متصل کردم و کابل ها را تا آنجا که امکان داشت مرتب اجرا کردم.

من از بلندگوی KitSound MiniBuddy در AlexaPhone استفاده کردم ، زیرا واقعا م effectiveثر بود ، اما وقتی برای خرید این پروژه رفتم متوجه شدم که طراحی تغییر کرده است و دیگر با استفاده از اتصال micro-usb شارژ نمی شوند! من برای چیزی مشابه به اطراف نگاه کردم و با Philips SoundShooter ، یک واحد کوچک شبیه نارنجک دستی برخورد کردم. امیدوار بودم بدون جدا شدن در قاب قرار گیرد اما خیلی بزرگ بود ، بنابراین پیچ گوشتی بیرون آمد تا آن را برچیند. من موفق شدم سیمهای بلندگو را بکشم ، بنابراین در برخی از کابل های بلوز لحیم شد تا اتصال مجدد آسان تر شود. این قطعه اسپیکر در همان محل بلندگوی اصلی به صورت چسبناک روی بدنه چسبانده شده بود و مدار و باتری به قفسه کوچکی در زیر آن ثابت شده بود.

با نگاهی به گذشته ، ای کاش من فقط از روده های یک بلندگوی بلندگوی اصلی یا چیزی دیگر استفاده می کردم ، زیرا نیازی به بلند کردن بلندگو نیست - با این حال مدت زمان زیادی طول می کشد و عالی به نظر می رسد و به عنوان جلد اصلی به راحتی برطرف می شود در واقع یک مشکل توقف نمایش نیست.

مرحله 5: خواندن مانند خرگوش

خواندن مثل خرگوش
خواندن مثل خرگوش
خواندن مثل خرگوش
خواندن مثل خرگوش

حالا که قسمت الکسا کار می کرد ، من به حل مشکل بعدی ادامه دادم ، چگونه می توانم خرگوش را وادار به خواندن اعلان ها کنم؟ متن به گفتار نبضتگ اصلی به طرز شگفت آوری خوب بود ، اگرچه به خاطر دارم که همیشه پیامهای پیامک من (MM) را به عنوان "میلی متر" و نامه همسرم (CM) را به عنوان "سانتی متر" می خواند-من می خواستم از یک دستگاه مدرن و موتور طبیعی که چیزهایی مانند نماد "&" را به درستی تفسیر می کند و شکلک های ساده مانند:) را درک می کند.

مانند همه چیز در Raspberry Pi ، گزینه های مختلفی وجود دارد و قبل از تصمیم گیری در مورد Ivona ، که به نظر می رسد همان موتور اصلی است که توسط سرویس Alexa استفاده می شود ، چندین مورد را بررسی کردم. این بهترین گزینه برای من بود زیرا طیف وسیعی از صداهای موجود و گزینه های پیکربندی وجود دارد - همچنین یک مزیت بزرگ این بود که Zachary Bears یک بسته مناسب پایتون را برای سرویس ، Pyvona ، در دسترس قرار داده بود.

برای شروع کار با Ivona ، ابتدا باید یک حساب توسعه دهنده ایجاد کنید ، سپس درست مانند تنظیمات Alexa ، سپس اعتبارنامه هایی را برای استفاده در برنامه خود به شما ارائه می دهند ، در این مورد یک اسکریپت برای خواندن اعلان ها. شما مجاز به 50،000 جستجو در ماه با یکی از این حساب ها هستید ، که مطمئناً برای من زیاد است.

راه اندازی Pyvona واقعاً ساده بود ، در عرض چند دقیقه من یک اسکریپت پایتون از مثال ارائه شده ایجاد کردم که هر عبارتی را که تایپ کرده بودم بخواند. اما این البته فقط تا حدی راه حل بود - من نمی خواستم که ایوونا با سخت افزار بخواند متن اما اعلان های ورودی پویا.

مرحله ششم: بگو چی؟

بگو چی؟
بگو چی؟
بگو چی؟
بگو چی؟

بنابراین من در حال حاضر یک خرگوش (تکه تکه در سراسر نیمکت) دارم که می تواند صحبت کند ، اما به مکانیزمی برای دریافت اعلانات و ارسال آنها به سرویس Ivona برای خواندن نیاز داشت. من به امکان ارسال پیام متنی از طریق یک سرویس آنلاین یا آداپتور سیم کارت و همچنین توییتر و Dropbox برای ارائه رشته ها/فایل های متنی نگاه کردم ، اما در نهایت تصمیم گرفتم از imaplib ، وسیله ای برای تعامل با حساب های ایمیل IMAP مبتنی بر پایتون ، استفاده کنم. من عمدتاً به این دلیل تصمیم گرفتم که به خوبی با سرویس IFTTT ادغام شده است ، شما می توانید با قالب بندی ایمیل های اطلاع رسانی واقعاً خلاق باشید. همچنین به این معنی است که من می توانم ایمیل ها را مستقیماً به RabbitPi ارسال کنم تا با صدای بلند خوانده شود.

من بسیاری از نمونه های imaplib python را به صورت آنلاین بررسی کردم ، و پس از ترکیب بیت ها و قطعات و کار با اسناد imaplib ، موفق شدم به اسکریپتی دست یابم که Gmail را در فواصل منظم برای پیام های خوانده نشده بررسی می کند و متن های مختلف را بر اساس صفحه بسته به محتوای آن چاپ می کند. موضوع پیام این واقعاً مفید بود ، زیرا من می توانم یک عبارت "IF" در کد را فقط در صورتی کار کنم که ایمیل از طرف من آمده باشد ، و سپس عمل "چاپ" را با کدی که سرویس Ivona را فرا می گیرد عوض کنم.

من مدتی را صرف تطبیق کد imaplib و Pyvona برای خواندن متن ایمیل ها کردم اما این بسیار پیچیده بود - به زودی متوجه شدم که زمینه های اصلی ایمیل (از ، به ، موضوع و غیره) بسیار ساده قالب بندی شده اند ، اما متن اصلی ایمیل را می توان به روش های مختلف ساختار داد. درنهایت اهمیت چندانی نداشت ، من توانستم با استفاده از موضوع ایمیل به عنوان زمینه ای که متن اعلانات از آن خوانده می شود ، به آنچه نیاز داشتم دست پیدا کنم.

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

من 100٪ مطمئن هستم که می توان این کار را در پایتون بسیار ظریف تر و کارآمدتر انجام داد ، اما کارکردن آن بسیار سرگرم کننده و چالش برانگیز بود - من این هفته "Python for Kids" را از کتابخانه وام گرفتم ، بنابراین امیدوارم کد من بهبود یابد. همانطور که بیشتر می آموزم

با استفاده از اسکریپت اصلی دریافت ایمیل و خواندن آن ، من قطعات اضافی کد را اضافه کردم که باعث می شود گوش خرگوش حرکت کند و LED ها هنگام خواندن اعلانات روشن شوند. کدی که من استفاده کردم در GitHub است اما لطفاً در حال حاضر عدم توانایی پایتون را در نظر داشته باشید!

مرحله 7: یک کلاه برای RabbitPi

کلاه برای RabbitPi
کلاه برای RabbitPi
کلاه برای RabbitPi
کلاه برای RabbitPi
کلاه برای RabbitPi
کلاه برای RabbitPi
کلاه برای RabbitPi
کلاه برای RabbitPi

یکی از نمادین ترین موارد در مورد Nabaztag نحوه حرکت دادن گوش هایش هنگام ورود اعلان بود. آنها را می توان با جابجایی دستی آنها یا تنظیم موقعیت با استفاده از نرم افزار کنترل تنظیم کرد - هدف من این بود فقط برای حرکت آنها

من قبلاً با Raspberry Pi از موتور استفاده نکرده بودم ، بنابراین این موضوع تحقیق دیگری بود برای من - ابتدا باید دریابم که با چه نوع موتورهایی سروکار دارم ، تنها چیزی که می دانستم 2 موتور بود ، هر کدام دارای 2 سیم. با خواندن آنلاین به این نتیجه رسیدم که اینها باید موتورهای مستقیم DC باشند نه موتورهای پله ای ، واقعیتی که توسط این راهنمای فوق العاده مفید "Hack the Nabaztag" توسط Liana_B تأیید می شود ، که ای کاش یک ماه قبل می خواندم.

باز هم به لطف انعطاف پذیری Pi راههای متفاوتی برای کنترل موتورها وجود دارد ، اما من تصمیم گرفتم از برد Adafruit DC & Stepper Motor HAT استفاده کنم. من قبلاً از پرده ها و تزیینات Adafruit استفاده کرده ام و دستورالعمل ها و نمونه های دقیق را که به صورت استاندارد ارائه می شود دوست دارم.

استفاده از تخته با استاندارد HAT (سخت افزار پیوست شده در بالا) به این معنی است که کنترل کننده موتور به طور مرتب در بالای Pi قرار می گیرد و حداقل فضا را اشغال می کند و چون از رابط I2C استفاده می کند ، پین های GPIO مورد نیاز من برای Alexa/Clap را آزاد گذاشت. دکمه و LED ها

همانطور که انتظار می رفت HAT را با هم لحیم کنید بسیار ساده بود و من به زودی آن را روی PI نصب کردم و به دو موتور گوش وصل کردم. من برنامه ریزی کرده بودم که موتورها را از پاوربانک usb بچرخانم تا فقط به یک پریز برق نیاز داشته باشم ، اما معلوم شد که صدای خش خش کافی ندارد ، حتی چراغ "کار" روی HAT را روشن نمی کند. در عوض تصمیم گرفتم از یک آداپتور برق DC برای کارکردن HAT و گوش ها استفاده کنم ، من به راحتی یکی از آن مدلهای جهانی را با راهنمایی های قابل تعویض در دست داشتم. چیزی که من نداشتم یک سوکت DC برای اتصال آداپتور به HAT بود. در آستانه عزیمت به نورویچ مپلین بودم (دوباره) وقتی از پایین چشم به یاد آوردم که سیم اصلی Nabaztag یک پریز DC استاندارد است - بنابراین می توانم پریز برق اصلی را دوباره به HAT وصل کنم - مرتب! در پایان ، من دوباره از منبع اصلی نابازتاگ استفاده کردم ، زیرا قدرت مورد نیاز را به درستی تامین می کرد.

با همه چیز وصل شده و ولتاژ معقول انتخاب شده ، من به طور آزمایشی مثال پایتون همراه با DC Motor Hat را اجرا کردم ، کد نمونه ای که به طور مداوم سرعت و جهت موتور را تغییر می دهد تا گزینه های مختلف کنترل را نشان دهد. وقتی کار می کرد ، بسیار هیجان زده بودم ، اولین موتور کنترل شده Pi! اما بعداً متوجه چیزی شدم - یک ناله واقعا بلند با صدای بلند مانند کسی که انگشت خیس خود را دور لیوان شراب می چرخاند. این به هیچ وجه خوب نبود ، من می خواستم گوش ها در حین خواندن اعلان ها تکان بخورند و اگرچه نشنیدن کر کردن واقعاً قابل توجه بود. ولتاژهای مختلف رو امتحان کردم ولی تغییری نکرد. با مراجعه به گوگل متوجه شدم که این می تواند به دلیل PWM (تعدیل عرض پالس) اتفاق بیفتد و یکی از راه حل ها می تواند لحیم کردن خازن های کوچک در پایانه های موتور باشد. با نگاهی به موتورها ، این موتورها قبلاً سر جایش بودند. من همچنین با تغییر فرکانس PWM آزمایش کردم اما هنوز تغییری ایجاد نشد. پس از انجام برخی آزمایشات متوجه شدم که ناله فقط زمانی اتفاق می افتد که سرعت موتور توسط کد از پایین به زیاد تغییر می کند - بنابراین تنظیم آن روی یک سرعت ثابت ثابت ، ناله را به طور کلی از بین می برد.

من چندین اسکریپت آزمایشی پایتون را بر اساس نمونه های Adafruit ایجاد کردم ، یکی برای حرکت در حین اطلاع رسانی و دیگری برای ایجاد یک "مدار" کامل در هنگام راه اندازی ، با هدف کپی کردن کد کار از اینها در اسکریپت های اصلی مورد استفاده برای مدیریت تعاملات الکسا و Gmail/Ivona.

مرحله 8: دوربین و ترفندها

دوربین و ترفندها
دوربین و ترفندها
دوربین و ترفندها
دوربین و ترفندها
دوربین و ترفندها
دوربین و ترفندها

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

من خیلی تصمیم گرفتم که یک ماژول دوربین Pi را نیز در بر بگیرم ، نسخه 8 مگاپیکسلی 2 به تازگی منتشر شده بود و به عنوان چیز جدیدی برای من فکر کردم که این یک افزودنی خوب خواهد بود. آخرین نسخه خرگوش Karotz دارای یک وب کم در شکم خود بود اما این هرگز به این خوبی کار نمی کرد ، من فکر کردم که دوربین Pi برای عکس های سلفی فعال شده با صدا و شاید حتی نظارت از راه دور سرگرم کننده خواهد بود اگر Pi بتواند کد را در زمان زیر کنترل کند همزمان با بقیه موارد

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

من همچنین در این مرحله یک کابل برق دو سیم میکرو USB Pimoroni را اضافه کردم - این یک سوکت میکرو 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 ، به عنوان مثال من یک دستورالعمل دارم که می گوید "اگر کسی در عکسی در فیس بوک من را نشان می کند سپس برای من ایمیل بفرستید با موضوع "guacamole مقدس ، [برچسب زدن نام شخص] فقط شما را در یک عکس فیس بوک برچسب زده است" - زیرا این از آدرس من برای من ارسال شده است RabbitPi سپس متن موضوع را می خواند.

یکی دیگر از کاربردهای عالی IFTTT سرویس صوتی Alexa است - برای بخش IF دستور غذا می توانید عبارتی را تنظیم کنید ، به عنوان مثال "لیزر" و اگر به الکسا بگویید "لیزر را فعال کن" او درخواست را به IFTTT ، که قسمت THEN دستور غذا را روشن می کند ، در این حالت یک سوکت از راه دور متصل به لیزر دیسکو را فعال می کند.

حتی فراتر از "چیزهای هوشمند" است - اگر IFTTT را بر روی تلفن خود نصب کرده اید (نسخه Android من است) ، می توانید در هر دو جهت با آن تعامل داشته باشید ، دستورالعمل مورد استفاده در ویدیو این است: "اگر بگویم" Trigger Chas & دیو "به الکسا ، سپس آهنگ خاص" خرگوش "را در تلفن اندرویدی من پخش کنید. همچنین برعکس کار می کند - برنامه کنترل از راه دور AnyMote روی تلفن من می تواند به گونه ای سفارشی شود که یک دکمه خاص با ماشه بخش" IF "را فعال کند یک دستور غذا - بنابراین من دکمه ای روی صفحه دارم که باعث می شود RabbitPi سلفی بگیرد و آن را در توییتر بارگذاری کند.

یکی دیگر از عملکردها RabbitPi را قادر می سازد تا پیام های متنی من را بخواند ، در تلفن من دستور تهیه دارم "اگر پیامک جدیدی دریافت کنم سپس برای خودم ایمیلی با موضوع زیر ارسال کنم" سلام! [فرستنده متن] می گوید [متن پیام متنی]"

استفاده از آن بسیار آسان است ، بسیار سرگرم کننده است و به خوبی کار می کند ، اعلان ها به سرعت به عقب و جلو ارسال می شوند ، به ویژه به سوئیچ WeMo Insight که من دارم ، که تقریباً فوری است. داشتن IFTTT و RabbitPi اتصال همه چیز و خدمات را بسیار ساده می کند.

مرحله 10: مونتاژ و آزمایش

مونتاژ و آزمایش
مونتاژ و آزمایش
مونتاژ و آزمایش
مونتاژ و آزمایش
مونتاژ و آزمایش
مونتاژ و آزمایش

اکنون قسمت پیچیده ای فرا رسید - همه اجزا را در کیس جمع کنید! من کاملاً مطمئن بودم که همه چیز مناسب است ، اما مونتاژ واقعاً مبهم بود ، من از برخی از ابزارهای جراحی و موچین به خوبی استفاده کردم تا کابل ها را از بین شکاف های کوچک بیرون بیاورم.

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

مرحله 11: خرگوش آماده؟

خرگوش آماده؟
خرگوش آماده؟
خرگوش آماده؟
خرگوش آماده؟
خرگوش آماده؟
خرگوش آماده؟
خرگوش آماده؟
خرگوش آماده؟

اکنون که تمام جنبه های فیزیکی ساختمان انجام شده است ، زمان "قطع سیم" فرا رسیده است و RabbitPi را از راحتی کابل اترنت ، مانیتور و صفحه کلید خود در کارگاه خارج کرده اید تا بتوانم کد را در جاهای دیگر از طریق SSH به پایان برسانم (سیگنال بی سیم واقعاً ضعیف است!)

من روی میز کارم نشستم و خرگوش را راه انداختم و - بدون اتصال به وای فای ، هیچ. من می دانستم که باید سیگنالی وجود داشته باشد زیرا تلفن من خوب کار می کند - آیا مشکلی در آداپتور شبکه در Pi 3 وجود داشت که من در مورد آن نشنیده بودم؟ کمی جستجوی گوگل به من اطلاع داد که Pi 3 فقط در صورتی سیگنال wi-fi پیدا می کند که روتر در کانال های 1-11 پخش می شود-شبکه من روی کانال 13 تنظیم شده است! چند ترفند بعداً و ما به هم متصل شدیم ، آه بزرگی برای تسکین درد.

بعد مرتب سازی اسکریپت های مختلف آمد. ابتدا اسکریپت main.py کد AlexaPi را تغییر دادم و خطوط اضافی را اضافه کردم تا علاوه بر چشمک زدن LED های آن در هنگام راه اندازی ، RabbitPi یک تکان دادن گوش خوب را نیز انجام دهد. من همچنین پیام استاندارد "سلام" را با یک جلوه صوتی "boing" بازیگوشانه برای سرگرمی جایگزین کردم.

اسکریپت دوم rabbit.py (SWIDT؟) نام دارد و شامل تمام کد بازیابی پیام های جیمیل و خواندن آنها با Pyvona است. من همچنین تعدادی کد Twython را که از آموزش Raspberry Pi "Tweeting Babbage" اقتباس کرده ام ، اضافه کردم ، و RabbitPi را قادر می سازد تا عکس بگیرد و آن را در حساب توییتر خود (NabazPi) بارگذاری کند. برخی حرکات گوش و چشمک زن LED را اضافه کردم تا هنگام عکاسی به شما هشدار عادلانه بدهم ، همچنین صدای شاتر و تأیید توییت خوانده شده توسط پیونا.

سرانجام در یک بیانیه IF به کد imaplib gmail اضافه کردم ، بنابراین اگر موضوع ایمیل "سلفی" باشد ، RabbitPi کار سلفی خود را انجام می دهد ، اما در غیر این صورت موضوع ایمیل را به طور معمول می خواند.

کدی که استفاده کردم در GitHub موجود است - لطفاً فایل ReadMe را بخوانید!

به عنوان یک لمس پایانی ، من یک آرم رزبری پای را روی کاغذ شفاف چاپ کردم و داخل قاب RabbitPi چسباندم تا LED سفید شکم تصویر را از طریق پوست شفاف خود روشن کند.

مرحله دوازدهم: نبازتاگ برگشت

نبازتاگ برگشت!
نبازتاگ برگشت!
نبازتاگ برگشت!
نبازتاگ برگشت!
نبازتاگ برگشت!
نبازتاگ برگشت!

با انجام همه کارها فقط ویدئو باقی مانده بود تا تهیه شود. قرار دادن RabbitPi روی دوربین بسیار سرگرم کننده بود ، تنها نقطه ضعف آن ویرایش فیلم HD در لپ تاپ مسن من بعدا بود. برای برخی از اعلان ها (عمدتا پیام های متنی به دلیل سیگنال وحشتناک وودافون) ، مکث بین اقدام و اعلان را قطع کردم ، یا این که یک ویدیوی طولانی و خسته کننده بود ، اما اکثر آنها سرعت واقعی پاسخ را نشان می دهد.

من با استفاده از سنسور کف زدن برای فعال کردن سرویس الکسا (همانطور که در فیلم Snap to it Alexa مشاهده می شود) آزمایش کردم ، اما آن را از ساخت نهایی خارج کردم زیرا در هنگام ایجاد نویز در پس زمینه به اندازه کافی قابل اعتماد نبود. من می دانم که دیگر متخصصان کار روی استفاده از کنترل از راه دور IR ، کنترل کننده های wii و حتی گوش دادن فعال با کد AlexaPi کار می کنند ، بنابراین گزینه های زیادی برای آینده وجود دارد.

امیدوارم یک حلقه نئوپیکسلی adafruit برای جایگزینی LED شکم اضافه کنم زیرا این امر اعلان های بصری بسیار بهتری را ایجاد می کند ، همچنین من می خواهم در "بی صدا کردن" اعلان های صوتی در شب نقش داشته باشم. فرزندان من نیز پیشنهادات فوق العاده ای ارائه دادند ، و اکنون که کمی با پایتون راحت تر هستم ، برای افزایش دامنه اعلان ها ، به عنوان مثال ، متن تأیید سلفی را به صورت تصادفی از لیست مقادیر برداشته ایم. ، و بنابراین می توان به خرگوش دستور داد که ماکارا را با گوش ها و LED هایش رقص کند.

من به طور اتفاقی یک نابازتاگ دیگر در اینجا و همچنین یک خرگوش کاروتز بعدی دارم ، بنابراین ممکن است چیز دیگری با آنها بسازم - آزمایش وسایل وسوسه انگیز با نظارت از راه دور و انواع حسگرها وسوسه انگیز است! این یک پلت فرم سخت افزاری ایده آل برای Pi با قاب کامل ، موتورها و دکمه است. من تعجب می کنم که آیا تولیدکنندگان اصلی انبار انبارهای فروخته نشده نبازتاگ در جایی مانند محل دفن زباله آتاری دارند؟ مطمئناً با استفاده از قابلیت چاپ سه بعدی برای نصب دوربین و PI و یک HAT سفارشی برای راه اندازی موتورها ، LED ها و صدا ، آنها یک کیت سازنده رزبری پای ایده آل می سازند ، هر کدنویسی باید دارای یک کیت باشد!

اگر از این پروژه خوشتان می آید و می خواهید بیشتر ببینید ، می توانید از وب سایت من برای به روزرسانی پروژه در حال پیشرفت در bit.ly/OldTechNewSpec دیدن کنید ، در توییترOldTechNewSpec بپیوندید یا در کانال رو به رشد YouTube در bit.ly/oldtechtube مشترک شوید - بده برخی از فناوری های قدیمی شما یک مشخصات جدید!

مسابقه اینترنت اشیا 2016
مسابقه اینترنت اشیا 2016
مسابقه اینترنت اشیا 2016
مسابقه اینترنت اشیا 2016

نفر دوم مسابقات اینترنت اشیاء 2016

توصیه شده: