Съдържание:

Система за уведомяване за пране, базирана на IoT: 18 стъпки
Система за уведомяване за пране, базирана на IoT: 18 стъпки

Видео: Система за уведомяване за пране, базирана на IoT: 18 стъпки

Видео: Система за уведомяване за пране, базирана на IoT: 18 стъпки
Видео: Жена се върна от 3800 г., за да предупреди 2024, Юли
Anonim
IoT базирана система за известия за пране
IoT базирана система за известия за пране

Здравейте

Тази инструкция дава стъпка по стъпка въведение за това как да се изгради базирана на IoT система за уведомяване за пране.

Устройството е прикрепено във вашите чекмеджета и чанта за пране. В името на демонстрацията тук сме взели две чекмеджета и една торба за пране. Той усеща колко празни/пълни са чекмеджетата/торбата за пране и уведомява потребителя, казвайки, че трябва да се изпере прането. Той използва ултразвуков сензор, който основно измерва празното пространство в контейнерите. Сензорът е свързан към ESP, който от своя страна е свързан с облачна услуга. Облачната услуга е свързана с IFTTT, който използва аплети за изпращане на известия до потребителя по имейл, SMS, събитие в календара на Google. Облакът идва с табло, на което може да се види състоянието на всички контейнери. Когато облакът види, че изчерпвате чистите дрехи, той инструктира аплетите да ви уведомят. Освен това аплетът инструктира облака да проверява редовно за данни всеки ден. Това може да бъде веднъж всеки ден или на час, в зависимост от това как потребителят иска да бъде. Подробни инструкции за изграждане на тази система са описани по -долу.

Стъпка 1: Съберете необходимия материал

Събиране на необходимия материал
Събиране на необходимия материал

ще ви трябва:

1. 3 ултразвукови сензора HC SR04 (5V)

2. 3 ESP8266 12 (5V)

3. 3 9V батерии

4. 3 5V потенциометъра (за захранване на ESP и сензори)

5. Куп женски към женски и мъжки към женски конектори

6. Калъф за батерия

Можете лесно да закупите тези неща в Amazon. Сензорите и ESP са наистина евтини, ако купите пакет с 6 от тях в него.

Стъпка 2: Архитектура на системата

Системна Архитектура
Системна Архитектура

Архитектурата на системата може да се разбере от снимката. Сензорите са свързани към ESP. ESP изпраща данните (разстоянието) до Adafruit, които след това се обработват, за да се види колко са пълни контейнерите. В зависимост от това кое чекмедже е празно и колко пълно е пликът за пране, потребителят ще получи известие, което казва и трябва да се пере утре. IFTTT се задейства от Adafruit и предприема действие дали да изпрати имейл чрез Gmai, да създаде събитие в календара или да изпрати известие чрез приложението IFTTT. Това устройство се предлага с табло, което може да се отваря във всеки браузър. Таблото за управление е свързано към хардуера с помощта на среда Adafruit, която показва показания от сензорите. Освен това от това ниво е възможно да се включват и изключват ESP от таблото.

Стъпка 3: Конфигуриране на вашия ESP

Конфигуриране на вашия ESP
Конфигуриране на вашия ESP
Конфигуриране на вашия ESP
Конфигуриране на вашия ESP
Конфигуриране на вашия ESP
Конфигуриране на вашия ESP

Можете лесно да управлявате вашия ESP, като го свържете към Arduino IDE. Всичко, от което се нуждаете, е да изтеглите и конфигурирате библиотеките за него. Можете да следвате стъпките по -долу:

1. Изтеглете най -новата версия на Arduino IDE.

2. Отворете вашата IDE, отидете на файлове <предпочитания и копирайте връзката по -долу в мениджъра на допълнителните дъски и щракнете върху OK, за да затворите раздела предпочитания.

arduino.esp8266.com/stable/package_esp8266…

3. Отидете на Tools <Board Manager <и потърсете ESP8266 и инсталирайте версия 2.4.1. Можете да инсталирате други версии в зависимост от обема на вашата IDE. Но той работи най -добре.

След всичко това, избра платката NodeMCU 1.0. Сега сте готови да използвате вашия ESP точно като Arduino (или дори по -добре).

4. След като приключите с свързването и работата на вашия ESP с лаптопа като Arduino, преминете към следващото ниво и се свържете или с вашата WiFi, или с мобилната си гореща точка.

Стъпка 4: Свързване на вашия хардуер: Сензор към ESP

Свързване на вашия хардуер: Сензор към ESP
Свързване на вашия хардуер: Сензор към ESP
Свързване на вашия хардуер: Сензор към ESP
Свързване на вашия хардуер: Сензор към ESP

Ето как трябва да свържете сензора си и да го кодирате, така че да ви даде празното място в контейнерите.

1. Сензорът Vcc е свързан към Vode на NodeMCU. Ако го свържете към 3.3V, вашият сензор няма да работи, тъй като работното му напрежение е 5V.

2. Сензорът GND е свързан към NodeMCU GND.

3. Сензорният тригерен щифт е свързан към цифровия I/O D4 на NodeMCU.

4. Echo Pin на сензора е свързан към NodeMCU Digital I/O D3.

След това можете да напишете кода по -долу, за да видите дали вашият ултразвук работи. След като установите, че сензорите, кодът и ESP работят добре, можете да свържете вашия ESP към WiFi и да проверите дали работи. Но като направите това, хардуерните връзки ще се променят малко, както е описано по -долу. Но преди това се уверете, че сте свързали своите 9V батерии към POT и те са били настроени за 5V изходно напрежение. Не искате да изгорите вашите ESP (миришат лошо).

1. ESP Vin и сензорът Vcc са свързани към положителното на батерията.

2. ESP GND и сензор GND са свързани към минуса на батерията. Не забравяйте да направите земята обща, в противен случай вашият сензор ще даде произволни данни.

3. Сензорният тригерен щифт е свързан към NodeMCU Digital I/O D4.

4. Echo Pin на сензора е свързан към NodeMCU Digital I/O D3.

Нейното малко за това как работи ултразвуковият сензор и как е кодиран.

Сензорът основно изпраща импулс и го измерва, докато отрази и достигне обратно до сензора. Въз основа на времето и скоростта на звука трябва да формулираме разстоянието. Това е по същество това, което направихме тук. Самият сензор просто държи своя "ECHO" щифт HIGH за период от време, съответстващ на времето, необходимо за приемане на отражението (ехо) от изпратената вълна. Модулът изпраща поредица от звукови вълни, като в същото време подава напрежение към ехоконта. Модулът получава отражението обратно от звуковите вълни и премахва напрежението от ехоконта. Въз основа на разстоянието в ултразвуковия сензор се генерира импулс за изпращане на данните до ESP. Стартовият импулс е около 10us и PWM сигналът ще бъде 150 us-25us в основата на разстоянието. Ако няма препятствия, тогава се генерира импулс от 38us за ESP, за да се потвърди, че няма открити обекти.

D = 1/2 × T × C; D е разстоянието, T е времето между излъчването и приемането, а C е звуковата скорост, стойността се умножава по 1/2, тъй като Т е времето за разстоянието отиване и връщане.

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

Стъпка 5: Свързване на ESP8266 с Adafruit IO: Създаване на Adafruit IO акаунт

Свързване на ESP8266 с Adafruit IO: Създаване на Adafruit IO акаунт
Свързване на ESP8266 с Adafruit IO: Създаване на Adafruit IO акаунт
Свързване на ESP8266 с Adafruit IO: Създаване на Adafruit IO акаунт
Свързване на ESP8266 с Adafruit IO: Създаване на Adafruit IO акаунт

За свързване на ултразвуков сензор и ESP8266 към облачната услуга Adafruit IO (използвайки протокол MQTT) беше избрано.

MQTT е прост и изключително лек протокол, който позволява на устройствата да публикуват данни (от устройството към сървъра) и да се абонират за данни (да събират данни от сървъра). Лекотата на това решение се осигурява от брокер MQTT, който в този случай е Adafruit. IO. Чрез него устройствата могат да изпращат и получават съобщения.

За да се регистрирате, въведете уебсайта: https://io.adafruit.com/ и щракнете върху Започнете безплатно. На следващия сайт потребителят трябва да постави лични данни и да натисне бутона Създаване на акаунт. След регистрацията потребителят се премества в началната секция на акаунт. За по -нататъшно писане на код за ултразвукови сензори е важно да проверите AIO ключа (бутон Преглед на AIO ключа) и за двете: Потребителско име и Активен ключ.

Сега сме готови да създадем емисии (които съдържат стойности на данните от сензорите) и табло за управление, на които ще бъде възможно да се наблюдава система за пране.

Стъпка 6: Свързване на ESP8266 с Adafruit IO: Създаване на емисии

Свързване на ESP8266 с Adafruit IO: Създаване на емисии
Свързване на ESP8266 с Adafruit IO: Създаване на емисии
Свързване на ESP8266 с Adafruit IO: Създаване на емисии
Свързване на ESP8266 с Adafruit IO: Създаване на емисии

За този проект бяха използвани 6 различни емисии:

  • ON/OFF емисии- канали, които активират/деактивират ESP8266, за да получат измервания. Добавено поради управление на енергията. (Захранване: чекмедже-1-Onoff, чекмедже-2-включено-изключено, чанта за пране-включено-изключено).
  • Четене на емисии-емисии, които получават данни за съхранение от ултразвукови сензори (чекмедже-1, чекмедже-2, торба за пране).

Създаване на емисия

  1. Влезте в секцията Емисии
  2. Щракнете върху Действия и създайте нова емисия
  3. Попълване: Име на емисията (тук за първото чекмедже- чекмедже-1 и кратко описание)

По същия начин създайте още пет емисии. Не забравяйте, че имената ще бъдат използвани за по -нататъшно разработване на кода на ESP8266.

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

Стъпка 7: Свързване на ESP8266 с Adafruit IO: Създаване на табло за управление

Свързване на ESP8266 с Adafruit IO: Създаване на табло за управление
Свързване на ESP8266 с Adafruit IO: Създаване на табло за управление
Свързване на ESP8266 с Adafruit IO: Създаване на табло за управление
Свързване на ESP8266 с Adafruit IO: Създаване на табло за управление
Свързване на ESP8266 с Adafruit IO: Създаване на табло за управление
Свързване на ESP8266 с Adafruit IO: Създаване на табло за управление

Създаването на табло за управление започва в раздела Табла. Щракнете върху бутона Действия (подобно на този в секцията Емисии)-> Създайте ново табло за управление-> попълнете име (в този случай: Вашата_правна_система) и кратко описание-> Щракнете върху бутона Създаване. След това можете да влезете в таблото за управление.

В таблото за управление щракнете върху бутона Създаване на нов блок. За това приложение имаме нужда от три типа блокове:

  • 3x превключване (за включване и изключване на засичането)
  • 3x габарит (показва действителното ниво в чекмедже/торба за пране)
  • 3x линейна диаграма (показваща исторически данни)

Превключване

  1. Кликнете върху иконата за превключване.
  2. Изберете първото захранване за включване/изключване, т.е. чекмедже-1-Onoff.
  3. Добавяне на заглавие на блок, т.е. почистване на тениски- чекмедже 1. Щракнете върху Създаване на блок.

Поставете превключвателя в горния ъгъл на таблото. По същия начин свържете останалите ON/OFF емисии с Toogle.

Манометър

  1. Кликнете върху иконата Gauge.
  2. Изберете първа емисия за събиране на данни: Чекмедже-1.
  3. Попълнете съответно данните: за заглавие на блок, т.е.: Почистете тениски- чекмедже 1, максимална стойност на габарита (в зависимост от дълбочината на чекмеджето- в този случай 10), ниска/висока предупредителна стойност (промяна на цвета на габарита).

Поставете индикатора на таблото. По същия начин свържете останалите емисии за съхранение на данни с Gauge.

Линейна диаграма

  1. Кликнете върху иконата Линейна диаграма.
  2. Изберете фураж за събиране на емисия: Чекмедже-1.
  3. Променете полето История на показване на 24 часа, променете максималното и десетичното място по оста Y в зависимост от дълбочината на чекмеджето.

Поставете линейната диаграма на таблото за управление. По същия начин свържете останалите емисии за съхранение на данни с линейната диаграма.

Окончателното табло е затворено в раздела с изображения. Не забравяйте, че таблата показват колко празно място все още има в торбата/чекмеджетата за пране.

Стъпка 8: Свързване на ESP8266 с Adafruit IO: Създаване на код за ултразвукови сензори

Свързване на ESP8266 с Adafruit IO: Създаване на код за ултразвукови сензори
Свързване на ESP8266 с Adafruit IO: Създаване на код за ултразвукови сензори
Свързване на ESP8266 с Adafruit IO: Създаване на код за ултразвукови сензори
Свързване на ESP8266 с Adafruit IO: Създаване на код за ултразвукови сензори

Първо, необходима е библиотека Adafruit MQTT. За да го инсталирате, отворете Arduino IDE-> Инструменти-> Управление на библиотеки и въведете в търсенето: Adafruit MQTT. Библиотеката трябва да бъде инсталирана на вашия компютър.

След това изтеглете приложен пример за кода (тук е приложен код за ултразвуков сензор, работещ в торбата за пране).

За да го направите приложим за вашата конфигурация, трябва да промените следните подробности:

  • WLAN_SSID- името на вашата WiFi мрежа.
  • WLAN_PASS- парола за вашата WiFi мрежа.
  • AIO_USERNAME- име на вашия потребител в Adafruit IO (от стъпка 4).
  • AIO_KEY- Adafruit IO ключ (от стъпка 4).
  • Adafruit_MQTT_ Публикувай…. "/feeds/Laundry-bag"- тук трябва да поставите име на емисията, към която ще бъдат публикувани данните.
  • Adafruit_MQTT_Subscribe "/feeds/Laundry-bag-On-off"-тук трябва да поставите име на емисията, която задейства сензора.

След това програмата трябва да бъде качена в ESP8266. Необходимо е да промените имената на емисии за чекмедже 1 и чекмедже 2.

Важна забележка: поради if (съобщение == "ON") системата ще измери разстоянието само веднъж и когато бутонът ON/OFF на таблото е включен. За да се измери отново, потребителят трябва да изключи и отново да включи сензора на таблото.

След качване на програмата на всяко табло за управление на ESP8266 трябва да се показват показания от всеки сензор. Сензорите могат да се задействат от нивото на таблото. Тигрирането на системата е възможно и от нивото на аплета IFTTT (стъпка 13).

Стъпка 9: IFTTT, Свържете IFTTT към Adafruit

IFTTT, Свържете IFTTT към Adafruit
IFTTT, Свържете IFTTT към Adafruit
IFTTT, Свържете IFTTT към Adafruit
IFTTT, Свържете IFTTT към Adafruit
IFTTT, Свържете IFTTT към Adafruit
IFTTT, Свържете IFTTT към Adafruit

Предупреждение: IFTTT не е най-надеждната връзка при задействане на Google Календар и електронна поща с помощта на три сензора, свързани към IO Adafruit. Отидете на Стъпка 14, за да научите повече за Zapier

IFTTT е уеб базирана услуга, която създава просто условие „Ако това значи онова“. Работи с други уеб базирани услуги като Gmail, Facebook, Instagram и др. Простото условие се състои от „Това“, което всъщност е задействането, и „Това“, което е действието, което трябва да се извърши. Аплетите трябва да бъдат създадени, за да може това просто условие да работи в платформата IFTTT. Този проект използва Adafruit.io MQTT като облак за показване на нивото на дрехите в чантата за пране и чекмеджета, след което IFTTT ще получи задействането от Adafruit.io, за да изпрати напомнянето на потребителя чрез Google календар или Gmail.

Първо създайте акаунт в IFTTT на уебсайта на IFTTT. Влезте в профила си. IFTTT изисква да бъде свързан с акаунт в Adafruit, където е създадено таблото за управление. Отидете на следната връзка, за да се свържете с Adafruit

След това щракнете върху Свързване, ще бъдете пренасочени към уеб страницата на Adafruit и щракнете върху Оторизиране. За този проект IFTTT е свързан с акаунт в Adafruit, както е показано на снимката. След като IFTTT се свърже с акаунт в Adafruit, Applets са готови за създаване.

Стъпка 10: Създайте аплет в IFTTT

Създайте аплет в IFTTT
Създайте аплет в IFTTT
Създайте аплет в IFTTT
Създайте аплет в IFTTT

Този проект се опита да се свърже с Gmail, Google Calender и приложението IFTTT. Следващите са стъпките за създаване на Applet в платформата и създаване на тригера от Adafruit.

1. Отидете на Моят аплет https://ifttt.com/my_applets и щракнете върху Нов аплет

2. Ще бъдете насочени към ако +това след това и щракнете върху +това или щракнете върху изграждане на платформата.

Стъпка 11: Създайте тригер от Adafruit

Създайте тригер от Adafruit
Създайте тригер от Adafruit
Създайте тригер от Adafruit
Създайте тригер от Adafruit
Създайте тригер от Adafruit
Създайте тригер от Adafruit

Сега можете да започнете да конфигурирате свой собствен аплет.

1. Първо Ако задействате, потърсете Услуги тип Adafruit, след това изберете Монитор на емисия на Adafruit IO

2. Задайте други параметри Име на етикета на емисията, Връзка с етикета на емисията и Стойност на етикета на емисията. Зададено като персонализирано от потребителя, за да се улесни, ако има нужда от промени по -късно, не е нужно да го променяте чрез платформа.

3. За този проект фуражът, който е необходим за наблюдение, е чекмедже 1, чекмедже 2 и торба за пране. За чекмедже 1 и чекмедже 2 има връзката по -голяма от 5, което показва, че чекмеджето е почти празно, докато чантата за пране има връзката по -малка от 5, което показва, че е почти пълно.

Стъпка 12: Създайте действие към Gmail, Google Календар и Известие към приложението IFTTT

Създайте действие към Gmail, Google Календар и Известие към приложението IFTTT
Създайте действие към Gmail, Google Календар и Известие към приложението IFTTT
Създайте действие към Gmail, Google Календар и Известие към приложението IFTTT
Създайте действие към Gmail, Google Календар и Известие към приложението IFTTT
Създайте действие към Gmail, Google Календар и Известие към приложението IFTTT
Създайте действие към Gmail, Google Календар и Известие към приложението IFTTT

И накрая, действията за конфигуриране на IFTTT, за този проект създадохме аплет, който изпраща имейл до Gmail и събитие до Google Календар, когато чекмеджето 1 или чекмедже 2 са празни или чантата за пране са пълни. Следват стъпките за създаване на действието:

1. Услуги за търсене на действия Gmail, Google Календар и Известия

2. След това можете да изберете от менюто за изтегляне, или имейл, или събитие за бързо добавяне, или изпратете известие от приложението IFTTT

3. След това Apllets са готови, всеки допълнителен текст може да бъде добавен според вашия проект за имейла, събитие или известие от приложението IFTTT

Стъпка 13: Тестване

Тестване
Тестване
Тестване
Тестване
Тестване
Тестване

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

Въпреки това откриваме, че проблемът е със забавяне при получаване на имейл или Google календар и IFTTT изпращат само един имейл или дори и чекмедже 1 и 2, както и чанта за пране да са задействани. Освен това няма значително забавяне в приложението IFTTT при изпращането на уведомлението. Както е показано на снимката и трите известия са получени по едно и също време. Затова препоръчваме да използвате приложението IFTTT, което да се използва за този вид система за смекчаване на забавянето.

Стъпка 14: Използване на услугата Zapier

Използване на услугата Zapier
Използване на услугата Zapier
Използване на услугата Zapier
Използване на услугата Zapier
Използване на услугата Zapier
Използване на услугата Zapier

Тъй като се сблъскахме с проблема в IFTTT, където имаме значително забавяне и получаваме само едно известие (или Gmail, или календар на Google), където всички чекмеджета и чантата за пране са действително задействани. Проблемът беше консултиран с Adafruit и те предложиха да се използва Zapier. За да използвате Zapier, трябва да бъдете поканени, тъй като връзката с Adafruit IO все още е във фаза на тестване (в момента има по -малко от 10 активни потребители). Чрез разгръщането можем да получим както имейл, така и календар на Google в рамките на 5 минути (на всеки 5 минути Zapier проверява дали се е появила нова стойност в наблюдаваната емисия, ако да, аплетът работи). Освен това има история на задачите, където можем да следим задействането от Adafruit към Gmail и календара на Google.

По принцип е същият принцип с IFTTT, където трябва да настроите спусъка от Adafruit, след това настройте подаването от таблото си в този случай независимо дали чекмедже1, чекмедже2 или торба за пране. Връзката е зададена в настройка и състояние на филтъра, където задаваме по -голямо от 6 за чекмедже и по -малко от 5 за обратно пране. Накрая задайте действието дали да изпратите имейл чрез Gmail или събитие за бързо добавяне.

Стъпка 15: Тигриране на системата от ниво IFTTT

Тигриране на системата от ниво IFTTT
Тигриране на системата от ниво IFTTT

Системата може да се задейства и от IFTTT, което предоставя на потребителя ниво на автоматизация. За да направим това, ние създаваме два допълнителни аплета за всеки сензор- един, който включва сензора, и вторият, който го изключва.

Включване на аплета

Задействане (ако)

  1. В прозореца на услугата Търсене въведете: Данни и време.
  2. Изберете опция: Всеки ден в.
  3. Задайте стойност за необходимия час (в този пример 21:00 ч.).

Действие (след това)

  1. В прозореца на услугите за търсене въведете Adafruit IO.
  2. Етикет на полето- име на емисията за включване/изключване.
  3. Стойност: Вкл

Попълнете полето за заглавие на аплета с името на аплета и добавете кратко описание на аплета. Щракнете върху Запазване и включете аплета.

Изключване на аплета

Клонирайте своя аплет и променете:

  1. Раздел за задействане: Стойността на времето в 15 минути по -късно (т.е. 21:15 часа).
  2. Раздел за действие: Стойност: OFF.

Щракнете върху Запазване и включете аплета.

По същия начин създайте аплети за останалите сензори. Запомнете- за да получавате известия от всеки сензор, а не само отчитане на таблото, два сензора не трябва да се задействат едновременно (което означава чекмедже 1 задействано- 9: 00-9: 15 PM, чекмедже 2-9: 15-9: 30PM, Пералня- 9: 30-9: 45 ч.).

Стъпка 16: Бъдещ обхват: Индустриализация на продукта

Вграденото тук IoT устройство може лесно да бъде произведено в насипно състояние и продадено на компании, продаващи интелигентни домове. Това е полезен инструмент за хора с натоварен график или в големи домове с много хора и стаи. В този случай таблото за управление може да включва данни от всички стаи на всички хора и по този начин да улесни живота им. Тъй като това е напълно безжично и по този начин може лесно да се мащабира до произволен брой чекмеджета.

Стъпка 17: Възможни проблеми, с които бихте могли да се сблъскате

1. може да видите, че вашият ултразвук дава случайни стойности. Това е така, защото мощността ви може да не е 5V. Най -безопасното нещо е да използвате 9V батерии и да използвате потенциометри.

2. Уверете се, че земята е еднаква за сензора и ESP, в противен случай цялата ви система няма да работи.

Стъпка 18: Към края…

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

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

По време на работата си използвахме следните източници, които могат да бъдат полезни за по -задълбочено разбиране на проекта:

learn.adafruit.com/mqtt-adafruit-io-and-yo…

www.instructables.com/id/Distance-Measurem…

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