Съдържание:

LEIDS - Ниско енергиен IOT сензор за врата: 8 стъпки (със снимки)
LEIDS - Ниско енергиен IOT сензор за врата: 8 стъпки (със снимки)

Видео: LEIDS - Ниско енергиен IOT сензор за врата: 8 стъпки (със снимки)

Видео: LEIDS - Ниско енергиен IOT сензор за врата: 8 стъпки (със снимки)
Видео: Корекция на антивирусния имунитет 2024, Ноември
Anonim
LEIDS - Ниско енергиен IOT сензор за врата
LEIDS - Ниско енергиен IOT сензор за врата

Какво е LEIDS?

LEIDS е IOT сензор, базиран на ESP8266. Този сензор използва тази платка, верига за меко заключване, тръстиков превключвател и някои магнити, за да създаде сензор за врата, който ще ви изпрати предупреждение, когато вратата ви се отвори и затвори. Този сензор може да бъде свързан към вашия MQTT сървър, IFTTT или много други рамки, които поддържат ESP8266. Тази инструкция ще използва IFTTT за лесно създаване на сензор, който ще изпраща сигнал до мобилното ви устройство, независимо къде се намирате. Сензорът може също да бъде настроен така, че да позволява множество сигнали от отделни врати, пощенски кутии, фурни и всичко друго, което има отворено/затваряне или включване/изключване на физическо положение. Предимството на LEIDS е, че използва минимална мощност и използва енергия само когато вратата е отворена, а след това, когато вратата е затворена, тя изпраща съобщение, за да ви предупреди, че вратата е затворена и се изключва. Това е по -добре от дълбокото заспиване на модула, тъй като той не използва енергия, ако вратата не е отворена.

Стъпка 1: Консумативи

Консумативи
Консумативи
Консумативи
Консумативи
Консумативи
Консумативи
Консумативи
Консумативи

Списъците по -долу показват инструментите и частите, които използвах за този проект. Сензорът може да бъде преработен, за да използва различни части и да изглежда/функционира различно и просто да използва подобни концепции.

Инструменти:

  • Поялник
  • ESP01-UART или Arduino Uno (програмист за ESP8266)
  • 3D принтер (по избор)
  • Джъмперни кабели (по избор)
  • Платка (по избор)

Части:

  • ESP8266 ESP-01S x 1
  • Reed Switch x 1 (за предпочитане NC, можех да намеря само нормално отворен, така че трябва да използвам два магнита, за да работи нормално затворен)
  • AMS1117 3.3v регулатор
  • 2n3904 NPN транзистор x 1
  • P-Channel Mosfet x 1 (искаме нещо с ниска VGS, за предпочитане NDP6020P)
  • 3.7v 100 mAh Lipo батерия x 1
  • Разнообразни резистори (100k ohm, 10k ohm, 220 ohm, 3k3 Ohm)
  • 6x3 мм магнити x 2
  • Двустранна монтажна лента
  • Тел
  • Припой
  • Perfboard

3D отпечатани части:

Калъф за сензор

Стъпка 2: Мека блокираща верига - Хардуер

Мека затваряща верига - Хардуер
Мека затваряща верига - Хардуер

Меката верига на ключалката, която използвам, е модификация на схема, която намерих онлайн. Аз не съм експерт и вярвам, че има по -добри начини за изграждане на тази схема, но за моята цел тази верига върши работата!

Начинът, по който работи, е, че когато превключвателят на тръстиката е затворен от магнитно поле, той пропуска ток към транзистора NPN. След това транзисторът NPN заземява PNP мосфета, който позволява токът да тече към ESP8266. ESP8266 се включва, използва един от своите щифтове, за да поддържа заземен POSP MOSFET, който продължава да захранва ESP8266. След това, когато ESP8266 свърши със задачите си, той задава този изходен щифт на LOW, който прекъсва NPN транзистора и затваря портата на PNP MOSFET.

Чрез използване на схема като тази ESP8266 може да се включи от превключвател и след това да се изключи напълно чрез сигнал. Това позволява на веригата да не изтегля ток, когато сензорът е затворен/изключен.

Стъпка 3: ESP8266 - Хардуер

ESP8266 - Хардуер
ESP8266 - Хардуер

ESP8266, който използвам, ще изпраща съобщение, за да предупреди, когато вратата (или друго нещо) е отворено, и след това ще изчака вратата да се затвори, за да изпрати съобщение за затваряне и да се изключи. ESP8266 ще се захранва от веригата с меко затваряне и ще използва един щифт за четене на тръстиковия превключвател и друг щифт, за да остане включен и след това да се изключи. Избрах да използвам ESP-01 поради малкия му форм-фактор. ESP ще изпраща уеб заявка, за да ни уведоми, когато сензорът бъде сменен на „отворен“и „затворен“. Най -лесният метод, който открих, беше да използвам IFTTT и Google Sheets. Това е обяснено в следните стъпки.

Стъпка 4: IFTTT за дистанционни известия - част 1

IFTTT за дистанционни известия - част 1
IFTTT за дистанционни известия - част 1
IFTTT за дистанционни известия - част 1
IFTTT за дистанционни известия - част 1
IFTTT за дистанционни известия - част 1
IFTTT за дистанционни известия - част 1
IFTTT за дистанционни известия - част 1
IFTTT за дистанционни известия - част 1

В тази инструкция ще се използва IFTTT и внедряване на webhooks и google листове за получаване на дистанционни известия на мобилното ни устройство. За да използвате тези услуги, ще ви трябва следното:

  • Профил в Google
  • IFTTT акаунт (може/трябва да влезе с акаунт в Google)
  • Приложението IFTTT за вашето мобилно устройство

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

  1. Отидете на връзката „Моите аплети“, разположена в горната част
  2. Кликнете върху бутона „Нов аплет“
  3. Кликнете върху синия бутон „+това“
  4. Потърсете „webhooks“и кликнете върху него
  5. На следващата страница изберете картата „Получаване на уеб заявка“
  6. След това задайте името на събитието на каквото искате, аз избрах да го кръстя „sensor_activated“
  7. На следващата страница щракнете върху синия бутон „+това“
  8. Потърсете услугата „google sheets“и я изберете
  9. На следващата страница изберете функцията „Добавяне на ред към електронна таблица“
  10. Попълнете действието, както следва:

    • Име на електронна таблица, нарекох моята „История на сензора“
    • Форматираният ред трябва да изглежда по следния начин

      {{Настъпил}} ||| {{Стойност1}} ||| {{Стойност2}}

    • Оставете последното поле такова, каквото е, освен ако не искате да промените мястото, където аплетът ще запише състоянието на сензора
  11. След това кликнете върху „Създаване на действие“
  12. Накрая кликнете върху „Край“на последния екран

Сега нека тестваме дали работи

  1. Отидете на тази връзка
  2. След това кликнете върху бутона „Документация“(по -късно ще използваме отново тази страница „Документация“)
  3. Сега ще бъдете в личния си раздел за аплета IFTTT Webhooks
  4. Попълнете полето, където пише „{event}“, с името на вашето събитие, в този случай името на събитието е „sensor_activated“
  5. Сега попълнете полето "value1", това е полето, което ще съдържа местоположението на вашия сензор, аз ще го попълня с "Входна врата"
  6. Сега попълнете полето "value2", това е полето, което ще има статуса на сензора, ще го попълня с "отворен" само за тестване
  7. След това щракнете върху синия бутон „Тествайте“
  8. Ако всичко е наред, трябва да получите зелено „Събитието е задействано“. съобщение в горната част
  9. Сега, ако искате да видите как е съхранил вашето съобщение, можете да отворите вашите листове в Google и да намерите електронната таблица, която е добавила, прикачих снимка, за да покажа как ще изглежда електронната таблица

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

Стъпка 5: IFTTT за дистанционни известия - част 2

IFTTT за дистанционни известия - част 2
IFTTT за дистанционни известия - част 2
IFTTT за дистанционни известия - част 2
IFTTT за дистанционни известия - част 2
IFTTT за дистанционни известия - част 2
IFTTT за дистанционни известия - част 2

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

  1. Отидете на връзката „Моите аплети“, разположена в горната част
  2. Кликнете върху бутона „Нов аплет“
  3. Кликнете върху синия бутон „+това“
  4. Потърсете „google sheets“и кликнете върху него
  5. На следващата страница изберете картата „Нов ред, добавен към електронна таблица“
  6. След това попълнете полетата, за да посочите електронната таблица, в която другият аплет пише

    • В този пример пътят е „IFTTT/MakerWebooks/sensor_activated“
    • Името на файла е "История на сензора"
  7. На следващата страница щракнете върху синия бутон „+това“
  8. Потърсете услугата „известия“и я изберете
  9. Сега трябва да попълним полетата за услуги за уведомяване

    • Заглавието е променено на

      {{ColumnB}} беше {{ColumnC}}

    • Съобщението е настроено на

      {{ColumnB}} беше {{ColumnC}} на {{ColumnA}}

    • Връзката остава сама
  10. След това кликнете върху „Създаване на действие“
  11. Накрая кликнете върху „Край“на последния екран

За да тествате втората част на системата за уведомяване IFTTT, уверете се, че сте изтеглили приложението IFTTT на мобилното си устройство и влезте с вашите идентификационни данни. В моя случай влизам с профила си в Google. Сега можем да тестваме това, като се върнем на страницата "Документация" и стартираме теста с името на събитието, зададено като "сензор_активиран", полето "стойност1", зададено за местоположението, и полето "стойност2", настроено на състоянието.

Това трябва да ви изпрати известие. Ако не получите такъв, уверете се, че сте влезли със същия акаунт и че сте разрешили на приложението да ви изпраща известия.

Стъпка 6: Arduino IDE и Sketch

Arduino IDE и Sketch
Arduino IDE и Sketch
Arduino IDE и Sketch
Arduino IDE и Sketch

Софтуерът, използван за платката, е компилиран с помощта на Arduino IDE.

Логиката е следната:

  • Тръстиловият ключ се затваря чрез отваряне на вратата
  • След това ESP се включва и се свързва с WiFi
  • След като WiFi връзката се установи, тя изпраща http заявка (изпраща команда до интернет), която ни казва, че е отворена врата или нещо друго
  • След това той чете сигнал от тръстиковия превключвател, за да определи дали вратата е затворена
  • Когато платката ESP открие, че тръстиковият превключвател е отворен (т.е. вратата е затворена), тя изпраща друга http заявка, която ни казва, че вратата е затворена
  • След това сигнализира веригата за меко заключване, за да прекъсне захранването на платката

Изтеглете Arduino IDE

Към този раздел прикачих кода arduino, който можете да изтеглите. Ако нямате Arduino IDE, можете да го изтеглите онлайн на адрес

Инсталирайте подходящия мениджър на дъската

За да качите кода на вашата ESP платка, трябва да инсталирате мениджър на дъска в Arduino IDE, като използвате следните стъпки.

  • Отидете на Файл> Предпочитания, за да отворите прозореца с предпочитания
  • В прозореца с предпочитания намерете полето, което казва „Допълнителни URL адреси на мениджъра на борда“
  • Поставете следната връзка в това поле https://arduino.esp8266.com/stable/package_esp8266com_index.json и натиснете бутона "OK"
  • Сега отворете мениджъра на дъски, като отидете в Инструменти> Борд, тогава първият запис ще бъде Boards Manager
  • Въведете „ESP8266“в менюто на дъската и инсталирайте „esp8266“Избирам версия 2.5.0, тъй като имах някои проблеми с по -новите версии
  • Сега се върнете и изберете дъската си от Инструменти> Платка> Общ модул ESP8266
  • След това затворете и отворете отново arduino ide, за да се уверите, че промените са настъпили

Отворете скицата в Arduino IDE

Трябва да променим четири реда код, така че сензорът да работи за вас

  1. Променете SSID на вашия WiFi SSID, известен още като името на вашия wifi
  2. Променете паролата, така че да съответства на паролата за вашия wifi
  3. Променете URL адреса така, че да съответства на URL адреса от страницата „Документация“на услугата „webhook“
  4. Променете местоположението на сензора на мястото, където планирате да го поставите, това може да бъде входната врата, задната врата, пощенската кутия и т.н.

Сега, след като сте променили кода според вашите нужди, трябва да го заредим на дъската. В моя случай използвам USB програмист и следвам инструкциите за него. Това може да изисква много отстраняване на неизправности, затова ви предлагам да потърсите онлайн за по -задълбочен урок. В моя случай включвам ESP-01 към програмиста, след това го включвам в компютъра, след това превключвам превключвателя от uart към prog, накрая изключвам и включвам програмиста отново. Това сега оставя ESP в режим на програмиране. Сега просто щраквам върху бутона за качване и оставям качването да завърши. Ако искате да видите дали се свързва, можете да отворите серийния монитор и да разгледате съобщенията за състоянието. След като качите скицата, ще запояваме всичко заедно, ще я поставим в кутия и ще я монтираме на желаното от нас място.

Стъпка 7: Корпус (3D печат)

Корпус (3D печат)
Корпус (3D печат)
Корпус (3D печат)
Корпус (3D печат)
Корпус (3D печат)
Корпус (3D печат)

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

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

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

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

Аз също изпращам тази инструкция за конкурса на IOT, така че не забравяйте да харесате и гласувате за този и всички други проекти на IOT, на които сте се радвали

Стъпка 8: Бъдещи подобрения

За този проект се сблъсках с няколко проблема. Първият проблем, който срещнах, беше използването на MOSFET, който имаше твърде висока Vgs, така че трябваше да премина към друг. Второ, тръстиковият превключвател, който използвах, е нормално отворен и в моя случай нормално затворен превключвател би бил по -лесен за изпълнение и би спестил много място. И накрая, с esp 01 беше много трудно да се работи и трябваше да се забъркам с gpio щифтовете, за да работи правилно, но все пак имах някои проблеми. Мисля, че този проект беше в състояние да ме научи на много концепции и ми помогна да измисля повече идеи и реализации, използвайки платките esp8266 и IFTTT.

IoT Challenge
IoT Challenge
IoT Challenge
IoT Challenge

На второ място в IoT Challenge

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