Съдържание:

ESP8266-01 IoT Smart Timer за домашна автоматизация: 9 стъпки (със снимки)
ESP8266-01 IoT Smart Timer за домашна автоматизация: 9 стъпки (със снимки)

Видео: ESP8266-01 IoT Smart Timer за домашна автоматизация: 9 стъпки (със снимки)

Видео: ESP8266-01 IoT Smart Timer за домашна автоматизация: 9 стъпки (със снимки)
Видео: Камера-ЛАМПА с проследяване и идентификация на човек. 2024, Ноември
Anonim
ESP8266-01 IoT интелигентен таймер за домашна автоматизация
ESP8266-01 IoT интелигентен таймер за домашна автоматизация
ESP8266-01 IoT интелигентен таймер за домашна автоматизация
ESP8266-01 IoT интелигентен таймер за домашна автоматизация
ESP8266-01 IoT интелигентен таймер за домашна автоматизация
ESP8266-01 IoT интелигентен таймер за домашна автоматизация

АКТУАЛИЗАЦИИ

30.09.2018: Фърмуерът е актуализиран до Версия 1.09. Сега с основна поддръжка на Sonoff

2018-10-01: Пробна версия на фърмуера версия 1.10, налична за тестване на ESP8266-01 с проблеми

Тъй като новите модни думи бяха Internet Of Things (IoT) и Home Automation, реших да разгледам текущите елементи в и около дома ми, които се контролират чрез някакво устройство. Изпъкналите елементи са следните:

  • Помпа за плувни басейни
  • Пълнител за вода в плувен басейн
  • Басейн и околни светлини
  • Светлини на шкафа на телевизионната/развлекателната система

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

Е, живеенето в Южна Африка означава, че прекъсванията на електрозахранването са редовно явление. Със статистиката на моя дом имах 35 прекъсвания на захранването през последната година, общо 40 часа. Това обикновено не е проблем, тъй като всички инсталирани в момента таймери са снабдени с резервна батерия за запазване на времето по време на прекъсвания на захранването. Но има някои проблеми:

  • Тези резервни батерии издържат само година или две, след което таймерът трябва да се смени. Таймерите са конструирани така, че таймерът трябва да бъде унищожен, за да получи достъп до вътрешната Ni-Cad батерия.
  • Всеки път, когато захранването прекъсне, таймерите с дефектни батерии трябва да се препрограмират и да се зададе времето.
  • Физическото местоположение на таймера, когато е включен в контакта, прави почти невъзможно четенето на LCD дисплеите, гледайки таймера отгоре. Това означава, че таймерът трябва да бъде изключен или трябва да легна на пода, за да настроя или настроя таймерите след прекъсване на захранването.

Поради горните причини реших да тествам възможността да заменя таймерите с IoT Smart Timer, свързан към моята локална домашна мрежа.

Идеята беше да се проектира самостоятелен таймер, който да може:

  • Автоматично коригирайте текущото време с помощта на интернет (IoT)
  • Работи без никакви действия на потребителя (Smart)
  • Включете/изключете изхода според зададените часове (Таймер)
  • Програмируем и контролируем чрез мрежа (Домашна автоматизация)

Стъпка 1: Дизайнът на ESP8266-01

Дизайнът на ESP8266-01
Дизайнът на ESP8266-01
Дизайнът на ESP8266-01
Дизайнът на ESP8266-01

Дизайнът е направен с помощта на WiFi модул ESP8266-01, тъй като това е, което имах на разположение. В най-простата си форма ESP8266-01 има четири I/O пина:

  • GPIO0
  • GPIO2
  • TX
  • RX

ESP8266-01 Режими на захранване

Логическото състояние на I/O пиновете се използва за определяне в кой режим ESP8266-01 ще се зареди. Първата стъпка беше да се определи кой от I/O пиновете може да се използва за задвижване на изходно реле.

  • За нормално включване GPIO0 и GPIO2 трябва да бъдат настроени на логика HIGH. По този начин е ясно, че тези два пина не могат да се използват като цифров изход.
  • Пин щифтът е зададен като изход при включване на захранването, а изходът е настроен високо. Този Tx пин също предава някои серийни данни по време на включване. По този начин този щифт също не може да се използва като изход.

Единственият оставащ щифт е Rx щифт. Този щифт е зададен като вход при включване и не трябва да се дърпа високо по време на включване. Следователно този щифт е най -подходящият за използване като изходен щифт.

Стартиране

За да се осигури правилен режим на зареждане на ESP8266-01 по време на включване, следните щифтове се изтеглят високо с помощта на 10K резистори:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Това гарантира, че устройството се зарежда правилно всеки път.

Изходно реле

RX е единственият щифт, подходящ за използване като изход. По този начин този щифт се използва за задвижване на изходното реле чрез NPN транзистор. Добавени са стандартните резистори на маховика и транзисторната основа.

Бутон MODE/SET

Бутонът е свързан към GPIO2 и с освободения бутон 10K резистор ще издърпа GPIO2 високо. При натиснат бутон GPIO2 се изтегля до 0V.

Този бутон се използва за две функции:

  • Първоначална настройка за свързване на устройството към локална WiFi мрежа
  • За ръчно управление на изхода по време на нормални операции

Индикатор LED

Светодиодът е свързан към GPIO0 и показва следното:

  • При първоначално включване мига FAST, за да покаже режим на настройка на WiFi
  • Мига бавно, когато часът на устройството не е зададен
  • показва състоянието на включено/изключено изходно реле

Стъпка 2: Захранването

Захранването
Захранването
Захранването
Захранването
Захранването
Захранването

Ще използвам IoT Smart Timer на различни нива на напрежение, следователно има две възможности за захранване:

12 - 24V DC

Използваният DC-DC преобразувател е подходящ за захранване до 28V DC. Изходът на преобразувателя е регулируем и е настроен на 5V. Това трябва да стане преди свързването на модула ESP8266.

Добавен е диод за защита срещу обратна полярност на входа за захранване.

220V AC За тази опция успях да получа малко захранване с 220V/5V режим на превключване на eBay.

Независимо от входното напрежение, IoT Smart Timer се нуждае от два захранвания:

5V релса

И при двете опции 5V DC се получава от захранване с комутиран режим, а не от линеен регулатор. Това означава, че има минимална топлина, генерирана от захранването. 5V се използва за задвижване на изходното реле

3.3V релса

3.3V за ESP8266-01 се получава от ASM1117 3.3 регулатор. ASM1117 3.3 е линеен регулатор и може да обработва до 500mA. Генерираната топлина обаче ще се определя от входното напрежение към ASM1117. За да се намали топлината, ASM1117 се захранва от 5V шина.

Филтриране на шума

За да се намали пулсацията на напрежението към ESP8266-01, 3.3V релсата е снабдена с 100 - 1000uf кондензатор. И 5V, и 3.3V релсите също са защитени от високочестотни смущения от 0.1uf кондензатори.

Стъпка 3: Сглобяване на PC платката

Сглобяване на PC платката
Сглобяване на PC платката
Сглобяване на PC платката
Сглобяване на PC платката
Сглобяване на PC платката
Сглобяване на PC платката

PC Board е проектиран с помощта на безплатната версия на Eagle. Това е едностранна дъска, която може лесно да се направи у дома, като се използва методът за прехвърляне на тонер.

След като печатната платка е направена, сглобете платката в следния ред:

  • Запоявайте регулатора ASM1117 и три 0,1uf SMD компонента към страната на спойката на платката
  • Добавете единичния джъмпер към компонентната страна на дъската
  • Запоявайте резисторите и диодите на място
  • Добавете заглавките за модула ESP8266-01
  • Добавете щифтовете на заглавката за светодиода и бутона
  • Добавете винтовите клеми
  • С помощта на заглавни щифтове свържете DC/DC преобразувателя към платката.
  • Запояйте релето на място
  • Попълнете платката чрез запояване на транзистора и 100uf кондензатор.

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

! ! ! ВАЖНО ЗАБЕЛЕЖКА! ! ! За да сте сигурни, че платката на компютъра може да издържи големи токове на изходните контакти, нанесете прилично количество спойка върху коловозите между контактите на релето и винтовите клеми

Стъпка 4: Тестване на PC платката

Тестване на PC платката
Тестване на PC платката

! ! ! Преди да приложите захранване! ! !

Извадете модула ESP8266-01 от устройството. Това се прави, за да се предотврати прегряване на регулатора ASM1117, преди да се регулира 5V захранването.

Няма много тестове, които могат да се направят след сглобяването. Най -важната стъпка е да се осигурят правилните нива на напрежение.

  • Приложете 12 - 24V DC към устройството.
  • Измерете изходното напрежение на DC/DC преобразувателя
  • Регулирайте изхода на преобразувателя между 5.0 и 5.5V.
  • След това измерете захранването 3.3V.
  • Ако консумативите са наред, изключете захранването от устройството

Вече можете да поставите модула ESP8266-01 в предоставените заглавки.

! ! ! Забележка !

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

Стъпка 5: Приложението

Корпусът
Корпусът
Корпусът
Корпусът
Корпусът
Корпусът

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

За да улесня строителството, направих кабел с LED и бутона MODE/SETUP, свързани към него. Това ми даде повече гъвкавост при монтирането на светодиода и бутона към кутията. След това този кабел се включва в заглавката на платката на компютъра.

Снимките показват един от 12V модулите, използвани за LED светлини.

Стъпка 6: Програмиране на ESP8266-01/NodeMCU

Програмиране на ESP8266-01/NodeMCU
Програмиране на ESP8266-01/NodeMCU
Програмиране на ESP8266-01/NodeMCU
Програмиране на ESP8266-01/NodeMCU
Програмиране на ESP8266-01/NodeMCU
Програмиране на ESP8266-01/NodeMCU

За да програмирате ESP8266-01, първо трябва да настроите Arduino IDE. Няма да навлизам в тези подробности, тъй като има много страхотни инструкции по тази тема. Избрах следните връзки към Instructables за справка, без конкретна поръчка към авторите. Благодаря за техните индивидуални инструкции.

Следвайте тази ESP8266 и Arduino IDE, за да настроите Arduino IDE за модула ESP8266.

След това ще ви е необходим програмист за програмиране на ESP8266. Ето две връзки:

Използване на Arduino Uno

Съвет за програмиране „направи си сам“

Библиотеки

Ще трябва да инсталирате допълнителни библиотеки, за да можете да компилирате кода. Отново вижте тази инструкция:

Инсталирайте и използвайте Arduino библиотеки

Не мога да си спомня кои библиотеки трябваше да инсталирам, но знам, че WiFiManager трябва да се изтегли отделно.. Включих ги във файла Libraries.zip.

Стъпка 7: Първа настройка

Първа настройка
Първа настройка
Първа настройка
Първа настройка
Първа настройка
Първа настройка

Когато се използва за първи път, IoT Smart Timer трябва да бъде свързан към WiFi мрежа. Тази задача се извършва с помощта на библиотеката WiFiManager, така че не е необходимо да се въвеждат SSID или пароли в кода.

Следвайте тези няколко стъпки:

  • Включете устройството
  • Светодиодът ще започне да мига бързо
  • Натиснете бутона MODE/SETUP
  • Когато светодиодът се изключи, отпуснете бутона
  • Изчакайте няколко секунди, след което отворете WiFi връзката на вашия смартфон или устройство
  • Ще бъде видима нова WiFi мрежа, наречена IoT Timer
  • Изберете тази точка за достъп
  • Влезте в IoT Timer (не се изисква парола)
  • Изчакайте, докато устройството ви се свърже с мрежата на IoT Timer
  • Отворете всеки интернет браузър
  • В адресната лента въведете следния IP адрес - 192.168.4.1
  • Ще се отвори конзолата WiFiManager
  • Изберете Конфигуриране на WiFi
  • Ще се покаже списък с наличните точки на WiFi мрежи
  • Изберете необходимата WiFi мрежа и въведете паролата
  • След това въведете IP адреса, който искате да използвате за свързване с IoT Timer
  • Въведете IP адреса на шлюза по подразбиране, последван от маската
  • След като всички настройки са направени, щракнете върху бутона Запазване
  • Ще се отвори нов прозорец, за да потвърдите, че новите идентификационни данни са запазени
  • Затворете браузъра си

След като бъде запазена, мрежата на IoT Timer ще се изключи и устройството ще се опита да се свърже с вашата WiFi мрежа.

  • Свържете вашия смартфон или устройство към същата WiFi мрежа, която се използва за таймера за IoT.
  • Отворете браузъра си
  • В адресната лента въведете IP адреса на вашия IoT Timer
  • Ще се отвори страницата за конфигуриране на IoT Timer

Вашият таймер за IoT вече е готов за употреба

Стъпка 8: Настройка на IoT Timer

Настройка на IoT Timer
Настройка на IoT Timer
Настройка на IoT Timer
Настройка на IoT Timer
Настройка на IoT Timer
Настройка на IoT Timer
Настройка на IoT Timer
Настройка на IoT Timer

Вградената уеб страница на IoT Timer се състои от пет раздела:

Състояние

Това показва името на устройството, както и текущото време и състоянието на изхода на таймера

Освен това в този раздел е зададен режимът на работа на таймера. Има три режима:

  • Auto - Изходът ще се контролира от различните програми за таймер
  • Вкл. - Изходът е принудително ВКЛЮЧЕН и ще остане включен, докато режимът не бъде променен
  • Изключено - Изходът е принудително ИЗКЛЮЧЕН и ще остане изключен, докато режимът не бъде променен.

Програми

Този раздел съдържа времената за включване и изключване на таймера. Налични са седем програми и всяка програма може да бъде зададена индивидуално.

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

Функция на бутона

Бутонът MODE/SETUP може да се използва за управление на изходното реле по време на нормална работа. Тук изберете какво трябва да прави бутонът при натискане.

Поставете отметка в квадратчето „Функция на бутона за актуализиране“, преди да натиснете бутона Запазване, за да запазите новите настройки.

Конфигурация

Тук можете да промените името на IoT Timer. Това улеснява идентифицирането между множество таймери.

Времето на устройството се получава от интернет чрез NTP сървър за време. За да се покаже правилното време, моля, актуализирайте часовата зона във вашия регион.

Ако искате да използвате друг NTP сървър за време, въведете новия IP адрес в предвиденото място.

Поставете отметка в квадратчето „Update Configuration“, преди да натиснете бутона Save, за да запазите новите настройки.

ЗАБЕЛЕЖКА

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

Регулиране на времето

Понякога се случва, че сървърът за време на NTP не отговаря при всяко запитване. Ако времето за настройка през NTP сървъра отнеме твърде много време, можете да въведете часа и датата ръчно.

Поставете отметка в квадратчето „Update Time“, преди да натиснете бутона Save, за да запазите новия час и дата.

Синхронизация на времето

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

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