Съдържание:
- Стъпка 1: Дизайнът на ESP8266-01
- Стъпка 2: Захранването
- Стъпка 3: Сглобяване на PC платката
- Стъпка 4: Тестване на PC платката
- Стъпка 5: Приложението
- Стъпка 6: Програмиране на ESP8266-01/NodeMCU
- Стъпка 7: Първа настройка
- Стъпка 8: Настройка на IoT Timer
Видео: ESP8266-01 IoT Smart Timer за домашна автоматизация: 9 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
АКТУАЛИЗАЦИИ
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
Дизайнът е направен с помощта на 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 Board е проектиран с помощта на безплатната версия на Eagle. Това е едностранна дъска, която може лесно да се направи у дома, като се използва методът за прехвърляне на тонер.
След като печатната платка е направена, сглобете платката в следния ред:
- Запоявайте регулатора ASM1117 и три 0,1uf SMD компонента към страната на спойката на платката
- Добавете единичния джъмпер към компонентната страна на дъската
- Запоявайте резисторите и диодите на място
- Добавете заглавките за модула ESP8266-01
- Добавете щифтовете на заглавката за светодиода и бутона
- Добавете винтовите клеми
- С помощта на заглавни щифтове свържете DC/DC преобразувателя към платката.
- Запояйте релето на място
- Попълнете платката чрез запояване на транзистора и 100uf кондензатор.
След като всички компоненти са запоени към платката, проверете всички точки на спойка и се уверете, че няма късо съединение между подложките.
! ! ! ВАЖНО ЗАБЕЛЕЖКА! ! ! За да сте сигурни, че платката на компютъра може да издържи големи токове на изходните контакти, нанесете прилично количество спойка върху коловозите между контактите на релето и винтовите клеми
Стъпка 4: Тестване на 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, първо трябва да настроите 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 се състои от пет раздела:
Състояние
Това показва името на устройството, както и текущото време и състоянието на изхода на таймера
Освен това в този раздел е зададен режимът на работа на таймера. Има три режима:
- Auto - Изходът ще се контролира от различните програми за таймер
- Вкл. - Изходът е принудително ВКЛЮЧЕН и ще остане включен, докато режимът не бъде променен
- Изключено - Изходът е принудително ИЗКЛЮЧЕН и ще остане изключен, докато режимът не бъде променен.
Програми
Този раздел съдържа времената за включване и изключване на таймера. Налични са седем програми и всяка програма може да бъде зададена индивидуално.
Преди да смените следващата програма, натиснете бутона SAVE, за да запазите всички промени, направени в текущата програма.
Функция на бутона
Бутонът MODE/SETUP може да се използва за управление на изходното реле по време на нормална работа. Тук изберете какво трябва да прави бутонът при натискане.
Поставете отметка в квадратчето „Функция на бутона за актуализиране“, преди да натиснете бутона Запазване, за да запазите новите настройки.
Конфигурация
Тук можете да промените името на IoT Timer. Това улеснява идентифицирането между множество таймери.
Времето на устройството се получава от интернет чрез NTP сървър за време. За да се покаже правилното време, моля, актуализирайте часовата зона във вашия регион.
Ако искате да използвате друг NTP сървър за време, въведете новия IP адрес в предвиденото място.
Поставете отметка в квадратчето „Update Configuration“, преди да натиснете бутона Save, за да запазите новите настройки.
ЗАБЕЛЕЖКА
Когато променяте часовата зона, новото време ще бъде зададено правилно само при следващото времево запитване. Устройството е настроено да актуализира времето на всеки 5 минути.
Регулиране на времето
Понякога се случва, че сървърът за време на NTP не отговаря при всяко запитване. Ако времето за настройка през NTP сървъра отнеме твърде много време, можете да въведете часа и датата ръчно.
Поставете отметка в квадратчето „Update Time“, преди да натиснете бутона Save, за да запазите новия час и дата.
Синхронизация на времето
Последната част на страницата показва часа и датата, когато последното време е било синхронизирано чрез NTP сървъра за време.
Препоръчано:
Как да направим домашна автоматизация, базирана на IoT с контролно реле на сензори NodeMCU: 14 стъпки (със снимки)
Как да направим домашна автоматизация на базата на IoT с реле за управление на сензори NodeMCU: В този проект, базиран на IoT, направих домашна автоматизация с модул за релейно управление Blynk и NodeMCU с обратна връзка в реално време. В ръчен режим този релейен модул може да се управлява от мобилен телефон или смартфон и, ръчно превключване. В автоматичен режим този умен
Домашна автоматизация, контролирана от Интернет/облак, използвайки Esp8266 (aREST, MQTT, IoT): 7 стъпки (със снимки)
Интернет/облачна контролирана домашна автоматизация, използваща Esp8266 (aREST, MQTT, IoT): ВСИЧКИ кредити на http://arest.io/ за облачната услуга !! IoT е най -обсъжданата тема в света в момента !! Облачните сървъри и услуги, които правят това възможно, са атракционната точка на днешния свят … ИЗТЕГЛЯНЕТО НА ДИСТАНЦИОННАТА БАРИЕРА беше и е
Планиране на домашна система за домашна автоматизация: 12 стъпки
Планиране на система за домашна автоматизация „Направи си сам“: Целта на тази инструкция не е да ви каже как можете да правите каквото искате в дома си. Вместо това е написано, за да се превърне една идея в реалност, но също така да се превърне лудостта в здрав разум чрез разбиране на границите (технология, цена, необходимо време
DIY IoT лампа за домашна автоматизация -- ESP8266 Урок: 13 стъпки (със снимки)
DIY IoT лампа за домашна автоматизация || ESP8266 Урок: В този урок ще направим интелигентна лампа, свързана с интернет. Това ще навлезе дълбоко в Интернет на нещата и ще отвори свят на домашна автоматизация! Лампата е свързана с WiFi и е изградена да има отворен протокол за съобщения. Това означава, че можете да изберете
Мрежов контролер на IoT. Част 9: IoT, Домашна автоматизация: 10 стъпки (със снимки)
Мрежов контролер на IoT. Част 9: IoT, Домашна автоматизация: Отказ от отговорност ПРОЧЕТЕТЕ ТОЗИ ПЪРВО Тази инструкция описва проект, който използва мрежово захранване (в този случай UK 240VAC RMS), въпреки че са положени всички грижи за използване на безопасни практики и принципи на добър дизайн, винаги съществува риск от потенциално смъртоносен избирам