Съдържание:

IoT Cat Feeder Използване на частици Photon интегрирани с Alexa, SmartThings, IFTTT, Google Sheets: 7 стъпки (със снимки)
IoT Cat Feeder Използване на частици Photon интегрирани с Alexa, SmartThings, IFTTT, Google Sheets: 7 стъпки (със снимки)

Видео: IoT Cat Feeder Използване на частици Photon интегрирани с Alexa, SmartThings, IFTTT, Google Sheets: 7 стъпки (със снимки)

Видео: IoT Cat Feeder Използване на частици Photon интегрирани с Alexa, SmartThings, IFTTT, Google Sheets: 7 стъпки (със снимки)
Видео: Квантовая механика, объясненная до смешного простыми словами 2024, Ноември
Anonim
Image
Image
IoT Cat Feeder Използване на частици Photon интегрирани с Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder Използване на частици Photon интегрирани с Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder Използване на частици Photon интегрирани с Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder Използване на частици Photon интегрирани с Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder Използване на частици Photon интегрирани с Alexa, SmartThings, IFTTT, Google Sheets
IoT Cat Feeder Използване на частици Photon интегрирани с Alexa, SmartThings, IFTTT, Google Sheets

Необходимостта от автоматична хранилка за котки е обяснима от само себе си. Котките (името на нашата котка е Бела) могат да бъдат отвратителни, когато са гладни и ако вашата котка е като моята, ще яде купата на сухо всеки път. Имах нужда от начин да разпределя автоматично контролирано количество храна по 3 метода - 1. Alexa гласова команда, 2. по график и 3. чрез бутон в SmartThings. Исках също начин да проследя как и кога котката се храни, така че да не се храним два пъти (понякога, когато когато жена ми храни котката и след това аз отново храня котката 15 минути по -късно).

Този проект не е прекалено труден, не съм разработчик, нито инженер, но имаше много ресурси онлайн, които ми помогнаха. Компилирам всичко, което използвах, и всички необходими стъпки, за да завършите и този проект. Насладете се и щастлива сграда!

Стъпка 1: Вземете всички необходими материали - приблизително 100 долара

Вземете всички необходими материали - приблизително 100 долара
Вземете всички необходими материали - приблизително 100 долара

Ето всичко, което купих, за да направя тази хранилка за котки. Беше около 100 долара, което е малко повече от планираните ми 75 долара, но отидох за някои по -качествени части, за да се уверя, че ще издържи. Някои от материалите, които вече трябваше да направя на кутията, като лепило за дърво, пистолет за горещо лепило, пирон за 18 g, пясъчна хартия, пълнител за дърво и др. Според мен те попадат под „инструменти“и не са всички необходими. Просто отивам над и отвъд понякога, за да направя нещата красиви.

Ако се отклоните от тези точни продукти, просто се уверете, че вашето серво има метална предавка и отбележете броя на зъбите, защото вашата серво рамо/клаксон ще трябва да има същия брой зъби. Сервото и рамото, изброени по -долу, са 25T, което означава 25 зъба. Също така, използвах пластмасова ръка при първото обикаляне и зъбите се оголиха в рамките на една седмица от използването, така че не вървете по пластмасовия път, вземете метал.

1. Фотон на частици $ 19.99

2. Проводни платки и джъмпер 7,99 $

3. Серво $ 19.99

4. Метално серво рамо/клаксон $ 8.98

5. Пиезо зумер 5,05 $

6. Диспенсер за зърнени култури $ 14.95

7. Fiber board от магазин за хардуер за кутията, 2 броя за всеки случай, ако объркате $ 20

8. Боя за пръскане от рустолеум $ 5.97

8. Разни. предмети като винтове, лепило за дърво, пирони, шкурка, пълнител за дърво и др.

Стъпка 2: Настройте фотона на частици

Първата стъпка е свързването на вашия Particle Photon към интернет. Това е много лесно, особено с ръководствата, предоставени от Particle. Изтеглете приложението Particle на телефона си, създайте акаунт за частици и следвайте ръководството за свързването му с вашия wifi. Гледайте видеото и следвайте тези инструкции!

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: Мигащ код към фотона

Мигащ код към фотона
Мигащ код към фотона

Сега, когато сте го свързали, нека преминем кода на фърмуера към фотона и да проверим дали зумерът възпроизвежда мелодия и сервото се завърта.

Влезте в конзолата за изграждане на частици, като използвате вашия акаунт

Щракнете върху бутона за код в лявата лента с инструменти. Копирайте и поставете предоставения код на фърмуера (cat_feeder.c) в конзолата за изграждане, заменете всеки съществуващ код по подразбиране.

Малко обяснение за функцията за подаване. Тъй като храненето може да бъде извикано по 3 различни метода (бутон, глас, график), имаме нужда от 3 различни команди, за да публикуваме всяко събитие, така че да знаем как е хранена котката. Тези команди са „bfeed“, когато се подават от бутона, „sfeed“, когато се подават по график, и „vfeed“, когато се подават чрез гласова команда.

Щракнете върху бутона Търсене на папка, за да запазите кода си, дайте му име по ваш избор.

Щракнете върху бутона за проверка (изглежда като отметка с кръг около него). След няколко минути трябва да видите в долната лента на състоянието:

Компилиране на код … Кодът е проверен. Чудесна работа! Готов.

Сега щракнете върху бутона Flash в лявата лента с инструменти (прилича на мълния). След няколко минути трябва да видите в долната лента на състоянието:

Мигащ код … Flash успешно! Устройството ви се актуализира. Готов.

След това влезте в конзолата за частици

Кликнете върху вашия фотон на частиците. Това е страница за състоянието на вашето устройство, можете да видите в регистрационните файлове на събития кога се предприемат действия, като например мигащ код или когато събитията се публикуват от извикването на командите за емисии. За да стартирате команда за подаване, ще използвате плочката за функции от дясната страна на тази конзола. Тъй като функцията се нарича "емисия" в кода, трябва да я видите и поле за въвеждане на аргумент.

Въведете „bfeed“в полето за въвеждане на аргументи и щракнете върху Извикване.

Това трябва да възпроизведе мелодията и след това да завърти серво. Ако искате, за целите на тестването, променете времето за забавяне в кода от 330 MS на нещо по -дълго като 5000, ако искате да проверите завъртането на серво. Трябва да натискате бутона Flash всеки път, когато правите каквито и да било промени в кода. Вероятно ще трябва да коригирате забавянето по -късно, за да получите желаното количество завой (като например хранене на куче, може да искате да раздадете повече храна).

Стъпка 5: Направете кутия за всичко

Направете кутия, за да приютите всичко
Направете кутия, за да приютите всичко
Направете кутия, за да приютите всичко
Направете кутия, за да приютите всичко
Направете кутия, за да приютите всичко
Направете кутия, за да приютите всичко

Тази стъпка се състои от вашите добри стари модни дърводелски умения. Купих 2 дъски с влакна -2х4 фута, за да направя кутията, защото е здрава, гладка на допир, сравнително евтина и лесна за рязане/работа. Можете да изберете всеки материал. Тази стъпка наистина е по ваша преценка в начина на изграждане, защото всеки има различни нужди. Няма да имам подробна стъпка по стъпка за направата на кутията, но мога да споделя мисловния процес и използваните от мен методи.

Имаше няколко фактора, които взех предвид при проектирането на кутията. Исках това нещо възможно най -компактно. Исках да бъде лесно обслужван за почистване и/или поправяне, ако някога се е повредил. И накрая, исках тръбата на дозатора да бъде открита, за да мога видимо да видя кога храната свършва. Имайки предвид това, първо направих кутията и след това измерих вътрешните размери, за да направя квадратна рамка, към която са прикрепени дозаторният блок, серво и платката. По този начин цялото устройство може да бъде извадено от кутията за обслужване. Вижте снимките.

Стъпка 6: Манипулатори на устройства SmartThings

Манипулатори на устройства SmartThings
Манипулатори на устройства SmartThings
Манипулатори на устройства SmartThings
Манипулатори на устройства SmartThings
Манипулатори на устройства SmartThings
Манипулатори на устройства SmartThings

Тази стъпка обяснява как да приложите извикването на функцията за подаване с помощта на SmartThings и Alexa. За да направя това, трябваше да напиша 2 манипулатора на groovy устройства. Единият от манипулаторите е за „bfeed“, когато натискам бутона в SmartThings, а другият е за „vfeed“, когато помоля Alexa да подаде Бела чрез гласова команда. Друга причина да имате 2 различни манипулатори е, че Alexa разпознава само устройства, които са ключове, а не бутони. Така че трябваше да измамя Алекса да разпознае превключвател, за да извикам функцията (изключено и включено да извърши същото действие). Добре, нека започнем.

Влезте (или създайте акаунт) в портала IDE SmartThings на https://ide.smartthings.com, като използвате вашия акаунт в Samsung или акаунт в SmartThings.

Потвърдете, че вашият център на SmartThings се показва под „Моите местоположения“и „Моите хъбове“. Ако не се показва, отстранете проблема, преди да продължите.

Първо ще създадем манипулатора на бутони

Кликнете върху „Моите устройства за обработка“в горната лента за навигация.

Кликнете върху синия бутон „Създаване на нов манипулатор на устройства“

Изберете раздела „От код“и поставете кода от прикачения файл button_handler.groovy. След това щракнете върху Създаване.

Кликнете върху „Запазване“и „Публикуване“„За мен“. Трябва да видите зелено известие, което гласи: „Типът на устройството е публикуван успешно“.

Сега преминете към телефона си и отворете приложението SmartThings. Трябва да видите манипулатора да се появи като ново устройство. Ще трябва да конфигурирате манипулатора, така че да се публикува на вашето устройство с частици. Изберете новосъздаденото устройство и отворете Настройки (прилича на икона на зъбно колело).

Въведете Име на устройството - Назовете устройството каквото изберете, сигурен съм, че котката ви също не се казва Бела.

Въведете маркер за достъп - Токенът за достъп ще бъде намерен в конзолата за изграждане на частици https://build.particle.io/ под настройките (икона на зъбно колело долу вляво). Токенът за достъп ще бъде низ от 40 знака.

Въведете идентификатор на устройството - Идентификаторът на устройството се намира на страницата на конзолата за частици като низ от 24 знака и също се вижда във всички URL адреси на частици, когато сте влезли в акаунта си, работещ на вашето устройство за частици. Идентификаторът на устройството се вижда ПЪЛЕН в URL адреса:

Щракнете върху Запазване.

Щракнете върху бутона Feed!

Като щракнете върху бутона за подаване, трябва да чуете мелодията и да накарате сервото да се завърти. Трябва също да виждате събития, публикувани в регистъра на събитията на конзолата за частици.

След това ще създадем Device Handler за Alexa

Следвайте същата процедура, както по -горе. Отидете на портала IDE SmartThings и кликнете върху „Моите устройства за обработка“в горната лента за навигация. Кликнете върху синия бутон „Създаване на нов манипулатор на устройства“

Изберете раздела „От код“и поставете кода от прикачения файл alexa_handler.groovy. След това щракнете върху Създаване.

Кликнете върху „Запазване“и „Публикуване“„За мен“. Трябва да видите зелено известие, което гласи: „Типът на устройството е публикуван успешно“.

Сега преминете обратно към телефона си и отворете приложението SmartThings. Трябва да видите манипулатора да се появи като ново устройство, но този път без никакъв бутон. Ще трябва да конфигурирате манипулатора с вашия маркер за достъп и идентификатор на устройството, както сте направили преди.

Изберете новосъздаденото устройство в SmartThings и отворете Настройки (изглежда като икона на зъбно колело).

Въведете името на устройството - Назовете устройството, каквото изберете, аз го нарекох „Cat Feeder Handler for Alexa“, така че съпругата ми знае, че не е бутонът Cat Feeder.

Въведете маркер за достъп и въведете идентификатор на устройството, след което щракнете върху Запазване.

Сега отворете приложението си Alexa на телефона си. Ако все още не сте го направили, активирайте SmartThings Alexa Skill и свържете вашия SmartThings акаунт с приложението Alexa. След това отидете на екрана Smart Home и кликнете върху „Добавяне на устройство“. Това може да стане и като кажете „Alexa, открийте устройства“. Устройството трябва да се покаже с икона на превключвател, то ще бъде кръстено както сте нарекли манипулатора в SmartThings. Можете да промените името му в приложението Alexa, ако искате, но не забравяйте, че това е тип превключвател, така че ще изисква да кажете „Alexa, включи“или „Alexa, изключи“. Знам, че това не е хубаво да се каже „Включете хранилката за котки“, така че алтернатива е да създадете нова рутина в приложението Alexa и да я наречете с фразата, която искате точно. Направих рутина, наречена "Feed Bella", която включва превключвателя за подаване на котки.

Като щракнете върху превключвателя в приложението Alexa, сега трябва успешно да извикате функцията за подаване. Дневникът на събитията на Particle Console също трябва да публикува събитията, които го показват.

След като имате всичко, наречено така, както искате, продължете и опитайте!

Стъпка 7: Съберете всичко заедно

Събирайки всичко заедно
Събирайки всичко заедно
Събирайки всичко заедно
Събирайки всичко заедно
Събирайки всичко заедно
Събирайки всичко заедно
Събирайки всичко заедно
Събирайки всичко заедно

Последното парче, което не съм обхванал, е как да планирам емисиите и да записвам публикуваните събития в Google Sheet. Вероятно мислите, че приложението Alexa може да се използва за създаване на рутина за графика, но това не би ни позволило да регистрираме график срещу гласова команда или бутон. Така че вместо това вече има IFTTT аплет за частици, който ще използваме.

Нека създадем аплета IFTTT за планиране на емисии

Отидете на https://ifttt.com или изтеглете приложението за смартфон IFTTT и влезте (създайте акаунт, ако е необходимо)

Ако сте нов в IFTTT, това е много напред. Всеки аплет се състои от IF (условие или тригер) и THAT (някои действия, които трябва да се направят).

Затова след като влезете в IFTTT, създайте нов аплет, изберете IF и потърсете или изберете „Дата и час“. Конфигурирате това по какъвто график предпочитате. След това преминете през стъпките и след като стигнете до ТОВА, ще потърсите „Частица“и изберете „Извикване на функция“. Попълнете полетата, както на горната снимка на екрана, не забравяйте да използвате „sfeed“като вход, тъй като това е командата, необходима за публикуване на събитие „Fed by schedule“. Може да се наложи да се свържете или да влезете в акаунта си за частици, докато настройвате този аплет. Запазете аплета и трябва да сте готови. Ако искате да тествате, просто променете датата и часа на близки в бъдеще и вижте дали се задейства правилно.

Сега за създаване на аплети IFTTT за обработка на 3 -те типа събития

Има 3 команди, които трябва да отчетем, когато хранилката за котки работи. Те са твърдо кодирани във фърмуера за частици:

Бела се храни по график Бела се храни чрез бутон Бела се храни чрез гласова команда

Ако вашият домашен любимец не е кръстен "Bella", вероятно искате да промените това във фърмуера и да светнете отново. Променете текста в реда Particle.publish на кода на частиците.

Създайте нов аплет IFTTT. (трябва да направите това 3 пъти, за всеки тип събитие)

Започвайки с IF, потърсете Particle и изберете „Публикувано ново събитие“. Името на събитието трябва да е точното публикувано име на събитието, което имате във фърмуера си. Например „Бела се храни по график“е точното име на събитието в кода, който ви предоставих. Вижте екранната снимка, когато я попълних за справка. Ще трябва да създадете още 2 IFTTT, за да се справите и с другите събития. Този аплет ще създаде нов лист във вашия диск на Google, ако той вече не съществува, и ще регистрира нови събития в следващия празен ред.

Препоръчано: