فهرست مطالب:

IoT Cat Feeder با استفاده از ذرات فوتون یکپارچه با Alexa ، SmartThings ، IFTTT ، Google Sheets: 7 مرحله (همراه با تصاویر)
IoT Cat Feeder با استفاده از ذرات فوتون یکپارچه با Alexa ، SmartThings ، IFTTT ، Google Sheets: 7 مرحله (همراه با تصاویر)

تصویری: IoT Cat Feeder با استفاده از ذرات فوتون یکپارچه با Alexa ، SmartThings ، IFTTT ، Google Sheets: 7 مرحله (همراه با تصاویر)

تصویری: IoT Cat Feeder با استفاده از ذرات فوتون یکپارچه با Alexa ، SmartThings ، IFTTT ، Google Sheets: 7 مرحله (همراه با تصاویر)
تصویری: روزی ۱۰ مقاله با چت جی پی تی Chat GPT 2024, جولای
Anonim
Image
Image
IoT Cat Feeder با استفاده از ذرات فوتون یکپارچه با Alexa ، SmartThings ، IFTTT ، Google Sheets
IoT Cat Feeder با استفاده از ذرات فوتون یکپارچه با Alexa ، SmartThings ، IFTTT ، Google Sheets
IoT Cat Feeder با استفاده از ذرات فوتون یکپارچه با Alexa ، SmartThings ، IFTTT ، Google Sheets
IoT Cat Feeder با استفاده از ذرات فوتون یکپارچه با Alexa ، SmartThings ، IFTTT ، Google Sheets
IoT Cat Feeder با استفاده از ذرات فوتون یکپارچه با Alexa ، SmartThings ، IFTTT ، Google Sheets
IoT Cat Feeder با استفاده از ذرات فوتون یکپارچه با Alexa ، SmartThings ، IFTTT ، Google Sheets

نیاز به تغذیه گربه اتوماتیک خود گویاست. گربه ها (نام گربه ما بلا است) هنگام گرسنگی می تواند ناخوشایند باشد و اگر گربه شما مانند من باشد ، هر بار کاسه را خشک می خورد. من به روشی نیاز داشتم که مقدار کنترل شده غذا را به طور خودکار با 3 روش توزیع کنم - 1. فرمان صوتی Alexa ، 2. طبق برنامه و 3. با یک دکمه در SmartThings. من همچنین راهی برای پیگیری نحوه و زمان تغذیه گربه می خواستم تا دو بار غذا ندهیم (گاهی اوقات وقتی همسرم به گربه غذا می دهد و من 15 دقیقه بعد دوباره گربه را تغذیه می کنم).

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

مرحله 1: تمام مواد مورد نیاز خود را تهیه کنید - تقریباً 100 دلار

تمام مواد مورد نیاز خود را تهیه کنید - تقریباً 100 دلار
تمام مواد مورد نیاز خود را تهیه کنید - تقریباً 100 دلار

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

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

1. ذره فوتون 19.99 دلار

2. Breadboard and Jumper wires 7.69 دلار

3. سرو 19.99 دلار

4. بازو/شاخ فلزی سرو 8.98 دلار

5. Piezo Buzzer 5.05 دلار

6. توزیع کننده غلات 14.95 دلار

7. تخته فیبر از فروشگاه سخت افزار برای جعبه ، 2 عدد فقط در صورت خراب شدن 20 دلار

8. رنگ اسپری چکش دار Rustoleum 5.97 دلار

8. متفرقه مواردی مانند پیچ ، چسب چوب ، میخ ، کاغذ ماسه ، پرکننده چوب و غیره.

مرحله 2: تنظیم ذرات فوتون

اولین قدم اتصال ذرات فوتون به اینترنت است. این بسیار آسان است ، به ویژه با راهنماهای ارائه شده توسط Particle. برنامه Particle را روی تلفن خود بارگیری کنید ، یک حساب ذره ای ایجاد کنید و راهنمای اتصال آن به وای فای خود را دنبال کنید. ویدیو را تماشا کنید و این دستورالعمل ها را دنبال کنید!

docs.particle.io/guide/getting-started/start/photon/

مرحله 3: ذرات را به Servo ، Breadboard و Buzzer وصل کنید

ذرات را به Servo ، Breadboard و Buzzer وصل کنید
ذرات را به Servo ، Breadboard و Buzzer وصل کنید
ذرات را به Servo ، Breadboard و Buzzer وصل کنید
ذرات را به Servo ، Breadboard و Buzzer وصل کنید

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

سیمهای سروو را وصل کنید:

سیم سروو VIN قرمز

سیم سروو زرد A5

سیم سروو GND مشکی

سیمهای زنگ را وصل کنید (مهم نیست که کدام است):

سیم زنگ D0

سیم زنگ GND

مرحله 4: چشمک زدن کد به فوتون

چشمک زدن کد به فوتون
چشمک زدن کد به فوتون

حالا که آن را متصل کرده اید ، اجازه دهید کد سیستم عامل را روی فوتون فلش کرده و آزمایش کنید که زنگ ملودی را پخش می کند و سروو می چرخد.

با استفاده از حساب کاربری خود https://build.particle.io وارد کنسول particle build شوید

روی دکمه کد در نوار ابزار سمت چپ کلیک کنید. کد سیستم عامل ارائه شده (cat_feeder.c) را در کنسول ساخت کپی و جایگذاری کنید ، هر کد موجود را به طور پیش فرض در آنجا جایگزین کنید.

توضیح کوچکی در مورد عملکرد خوراک. از آنجا که تغذیه را می توان با 3 روش مختلف (دکمه ، صدا ، برنامه) فراخوانی کرد ، برای انتشار هر رویداد به 3 دستور مختلف نیاز داریم تا بدانیم گربه چگونه تغذیه شده است. این دستورات هنگام تغذیه توسط دکمه "bfeed" ، هنگام تغذیه طبق برنامه "sfeed" و هنگام تغذیه با فرمان صوتی "vfeed" هستند.

برای ذخیره کد خود روی دکمه Folder look کلیک کنید و نام دلخواه خود را به آن بدهید.

روی دکمه تأیید کلیک کنید (به نظر می رسد یک علامت چک با یک دایره در اطراف آن است). پس از چند لحظه باید در نوار وضعیت پایین مشاهده کنید:

در حال گردآوری کد… کد تأیید شد. کار عالی! آماده.

اکنون ، روی دکمه فلش در نوار ابزار سمت چپ کلیک کنید (شبیه یک صاعقه است). پس از چند لحظه باید در نوار وضعیت پایین مشاهده کنید:

کد چشمک زن … فلش موفق شد! دستگاه شما در حال بروزرسانی است. آماده.

بعد ، وارد کنسول ذرات شوید

روی ذره ذره خود کلیک کنید. این یک صفحه وضعیت برای دستگاه شما است ، هنگامی که اقداماتی انجام می شود ، مانند چشمک زدن کد یا زمانی که رویدادها از فراخوانی دستورات فید منتشر می شوند ، می توانید آن را در گزارش وقایع مشاهده کنید. برای شروع فرمان تغذیه ، از تابع Function در سمت راست این کنسول استفاده می کنید. از آنجا که این تابع در کد "feed" نامیده می شود ، باید آن را و یک کادر ورودی آرگومان را مشاهده کنید.

در کادر ورودی استدلال "bfeed" را تایپ کرده و روی Call کلیک کنید.

این باید ملودی را پخش کند و سپس سروو را بچرخاند. در صورت تمایل ، برای تأیید چرخش سروو ، زمان تأخیر در کد را از 330 MS به چیزی بیشتر از 5000 تغییر دهید. شما باید هر بار که کد را تغییر می دهید روی دکمه Flash کلیک کنید. احتمالاً بعداً باید تاخیر را تنظیم کنید تا مقدار مورد نظر را بچرخانید (مانند تغذیه سگ ، ممکن است بخواهید غذای بیشتری توزیع کنید).

مرحله 5: جعبه ای بسازید تا همه چیز را در خود جای دهید

یک جعبه بسازید تا همه چیز را در خود جای دهید
یک جعبه بسازید تا همه چیز را در خود جای دهید
یک جعبه بسازید تا همه چیز را در خود جای دهید
یک جعبه بسازید تا همه چیز را در خود جای دهید
یک جعبه بسازید تا همه چیز را در خود جای دهید
یک جعبه بسازید تا همه چیز را در خود جای دهید

این مرحله شامل مهارت های خوب نجاری شماست. من 2 تخته فیبر -2x4ft برای ساخت جعبه خریدم زیرا محکم ، صاف در لمس ، نسبتاً ارزان و برش/کار با آن آسان است. شما می توانید هر ماده ای را انتخاب کنید. این مرحله در مورد نحوه ساخت آن به تشخیص شما بستگی دارد زیرا هر کسی نیازهای متفاوتی دارد. من مرحله به مرحله برای ساخت جعبه توضیح نمی دهم ، اما می توانم فرآیند فکر و روش هایی را که استفاده کردم به اشتراک بگذارم.

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

مرحله 6: کنترل کننده های دستگاه SmartThings

کنترل کننده های دستگاه SmartThings
کنترل کننده های دستگاه SmartThings
کنترل کننده های دستگاه SmartThings
کنترل کننده های دستگاه SmartThings
کنترل کننده های دستگاه SmartThings
کنترل کننده های دستگاه SmartThings

این مرحله نحوه پیاده سازی فراخوانی تابع فید با استفاده از SmartThings و Alexa را توضیح می دهد. برای انجام این کار ، من مجبور شدم 2 کنترل کننده دستگاه شیار را بنویسم. هنگامی که من دکمه را در SmartThings فشار می دهم ، یکی از کنترل کننده ها برای "bfeed" است و هنگامی که از Alexa می خواهم با فرمان صوتی بلا را تغذیه کند ، کنترل کننده دیگر برای "vfeed" است. یکی دیگر از دلایل داشتن 2 دستگیره متفاوت این است که الکسا فقط دستگاه هایی را که سوئیچ هستند تشخیص می دهد نه دکمه ها. بنابراین مجبور شدم الکسا را فریب دهم تا یک سوئیچ را بشناسد تا عملکرد را فراخوانی کند (خاموش و روشن همان عملکرد را انجام دهید). خوب ، بیایید شروع کنیم.

با استفاده از حساب Samsung یا SmartThings خود ، به پورتال IDE SmartThings در https://ide.smartthings.com وارد شوید (یا حساب ایجاد کنید).

تأیید کنید که مرکز SmartThings شما در بخش "مکانهای من" و "مراکز من" نمایش داده می شود. اگر نشان داده نشد ، قبل از ادامه این مشکل را عیب یابی کنید.

ما ابتدا Button Handler را ایجاد می کنیم

در نوار پیمایش بالا روی "My Device Handlers" کلیک کنید.

روی دکمه آبی "ایجاد کنترل کننده دستگاه جدید" کلیک کنید

برگه "از کد" را انتخاب کرده و کد را در فایل ضمیمه button_handler.groovy وارد کنید. سپس روی Create کلیک کنید.

روی "ذخیره" و "انتشار" "برای من" کلیک کنید. باید یک اعلان سبز مشاهده کنید که می گوید: "نوع دستگاه با موفقیت منتشر شد."

اکنون ، به سراغ تلفن خود بروید و برنامه SmartThings را باز کنید. باید ببینید کنترل کننده به عنوان یک دستگاه جدید ظاهر می شود. شما باید کنترل کننده را طوری پیکربندی کنید که به دستگاه ذره شما ارسال شود. دستگاه تازه ایجاد شده را انتخاب کرده و تنظیمات را باز کنید (مانند نماد چرخ دنده است).

نام دستگاه را وارد کنید - هر دستگاهی که انتخاب می کنید نام دستگاه را بگذارید ، من مطمئن هستم که گربه شما نیز بلا نام ندارد.

رمز دسترسی را وارد کنید - رمز دسترسی در کنسول Particle Build https://build.particle.io/ در زیر تنظیمات (نماد چرخ دنده در پایین سمت چپ) یافت می شود. Access Access یک رشته 40 کاراکتری خواهد بود.

شناسه دستگاه را وارد کنید - شناسه دستگاه در صفحه Particle Console به عنوان یک رشته 24 کاراکتری یافت می شود و همچنین در هنگام ورود به حساب کاربری خود در دستگاه ذره ای خود در همه URL های ذرات مشاهده می شود. شناسه دستگاه در آدرس اینترنتی BOLD دیده می شود:

روی ذخیره کلیک کنید.

روی دکمه Feed کلیک کنید!

با کلیک روی دکمه تغذیه ، باید ملودی را بشنوید و سروو بچرخاند. همچنین باید رویدادهایی را مشاهده کنید که در گزارش رویداد کنسول ذره منتشر شده اند.

در مرحله بعد ، ما Device Handler را برای الکسا ایجاد می کنیم

همان روال بالا را دنبال کنید. به پورتال IDE SmartThings بروید و در نوار ناوبری بالا روی "My Device Handlers" کلیک کنید. روی دکمه آبی "Create New Device Handler" کلیک کنید

برگه "From Code" را انتخاب کرده و کد را در فایل ضمیمه alexa_handler.groovy وارد کنید. سپس روی Create کلیک کنید.

روی "ذخیره" و "انتشار" "برای من" کلیک کنید. باید یک اعلان سبز مشاهده کنید که می گوید: "نوع دستگاه با موفقیت منتشر شد."

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

دستگاه تازه ایجاد شده را در SmartThings انتخاب کرده و تنظیمات را باز کنید (مانند یک نماد چرخ دنده است).

نام دستگاه را وارد کنید - هر دستگاهی که انتخاب می کنید نام دستگاه را بگذارید ، من آن را "کنترل کننده تغذیه گربه برای الکسا" نامیدم ، بنابراین همسرم می داند که دکمه فیدر گربه نیست.

Access Token و ID Device را وارد کنید ، سپس روی ذخیره کلیک کنید.

اکنون ، برنامه Alexa خود را در تلفن خود باز کنید. اگر قبلاً این کار را نکرده اید ، SmartThings Alexa Skill را فعال کرده و حساب SmartThings خود را به برنامه Alexa پیوند دهید. سپس به صفحه اصلی Smart رفته و روی "افزودن دستگاه" کلیک کنید. این کار را می توان با گفتن "الکسا ، دستگاه ها را کشف کنید" انجام دهید. یک دستگاه باید با نماد سوئیچ نشان داده شود ، هر چیزی که در SmartThings نام آن را کنترل کننده گذاشته اید ، نامگذاری می شود. در صورت تمایل می توانید نام آن را در برنامه Alexa تغییر دهید ، اما به یاد داشته باشید که این نوع سوئیچ است ، بنابراین نیاز به گفتن "Alexa، turn" یا "Alexa، off" است. می دانم که گفتن "تغذیه گربه را روشن کنید" خوب نیست ، بنابراین جایگزین این است که یک روال جدید در برنامه Alexa ایجاد کنید و آن را با عبارتی که دقیقا می خواهید صدا کنید. من یک روال معمول به نام "تغذیه بلا" ایجاد کردم که کلید تغذیه گربه را روشن می کند.

با کلیک روی سوئیچ در برنامه Alexa ، اکنون باید با موفقیت تابع تغذیه را فراخوانی کنید. گزارش رویداد Particle Console نیز باید رویدادهایی را نشان دهد که این امر را نشان می دهد.

هنگامی که همه چیز را به همان شکلی که می خواهید نامگذاری کردید ، پیش بروید و آن را امتحان کنید!

مرحله 7: همه چیز را با هم ترکیب کنید

همه اش را بگذار کنار هم
همه اش را بگذار کنار هم
همه اش را بگذار کنار هم
همه اش را بگذار کنار هم
همه اش را بگذار کنار هم
همه اش را بگذار کنار هم
همه اش را بگذار کنار هم
همه اش را بگذار کنار هم

آخرین قطعه ای که به آن توجه نکرده ام نحوه برنامه ریزی فیدها و ثبت رویدادهای منتشر شده در یک کاربرگ Google است. احتمالاً فکر می کنید که برنامه Alexa می تواند برای ایجاد یک برنامه معمول برای برنامه استفاده شود ، اما این به ما اجازه نمی دهد برنامه را در مقابل فرمان صوتی یا دکمه ثبت کنیم. بنابراین در عوض ، یک برنامه کوچک IFTTT برای ذرات وجود دارد که ما از آن استفاده خواهیم کرد.

بیایید اپلت IFTTT را برای زمانبندی فیدها ایجاد کنیم

به https://ifttt.com بروید یا برنامه تلفن هوشمند IFTTT را بارگیری کرده و وارد شوید (در صورت نیاز حساب ایجاد کنید)

اگر در IFTTT تازه کار هستید ، بسیار مستقیم است. هر اپلت شامل یک IF (یک شرط یا ماشه) و یک THAT (برخی از اقدامات برای انجام) است.

بنابراین پس از ورود به IFTTT ، یک اپلت جدید ایجاد کنید ، IF را انتخاب کنید و "Date and Time" را جستجو یا انتخاب کنید. شما این را به هر برنامه ای که ترجیح می دهید پیکربندی می کنید. سپس مراحل را ادامه دهید و پس از رسیدن به THAT عبارت "Particle" را جستجو کرده و "Call a Function" را انتخاب کنید. فیلدها را مانند تصویر بالا پر کنید ، مطمئن شوید که از "sfeed" به عنوان ورودی استفاده کنید زیرا این دستور لازم برای انتشار رویداد "Fed by schedule" است. هنگام راه اندازی این اپلت ، ممکن است لازم باشد به حساب ذرات خود متصل یا وارد شوید. برنامه را ذخیره کنید و باید خوب بروید. اگر می خواهید آزمایش کنید ، فقط تاریخ و ساعت را در آینده به نزدیک تغییر دهید و ببینید آیا به درستی شروع می شود یا خیر.

اکنون برای ایجاد 3 نوع رویداد ، اپلت های IFTTT ایجاد کنید

هنگام اجرای تغذیه گربه ، 3 دستور باید به آنها توجه کنیم. اینها به سختی در سیستم عامل ذرات کدگذاری شده اند:

بلا از طریق برنامه تغذیه می شود بلا با دکمه تغذیه می شود بلا با دستور صوتی تغذیه می شود

اگر حیوان خانگی شما "بلا" نیست ، احتمالاً می خواهید این مورد را در سیستم عامل تغییر دهید و دوباره فلش کنید. متن را در خط Particle.publish کد ذره تغییر دهید.

یک اپلت جدید IFTTT ایجاد کنید. (لازم است این کار را 3 بار ، برای هر نوع رویداد انجام دهید)

با شروع از IF ، Particle را جستجو کرده و "New event published" را انتخاب کنید. نام رویداد باید دقیقاً نام رویداد منتشر شده باشد که در سیستم عامل خود دارید. به عنوان مثال "بلا تغذیه شده توسط برنامه" نام دقیق رویداد در کدی است که به شما ارائه کردم. تصویر صفحه را همانطور که برای مرجع آن را پر کردم بررسی کنید. برای مدیریت سایر رویدادها نیز باید 2 IFTTT دیگر ایجاد کنید. اگر این اپلت یک برگه جدید در درایو گوگل شما ایجاد کند ، اگر قبلاً وجود نداشته باشد ، رویدادهای جدید را در ردیف خالی بعدی وارد کنید.

توصیه شده: