link0 link1 link2 link3 link4 link5 link6 link7 link8 link9 link10 link11 link12 link13 link14 link15 link16 link17 link18 link19 link20 link21 link22 link23 link24 link25 link26 link27 link28 link29 link30 link31 link32 link33 link34 link35 link36 link37 link38 link39 link40 link41 link42 link43 link44 link45 link46 link47 link48 link49 link50 link51 link52 link53 link54 link55 link56 link57 link58 link59 link60 link61 link62 link63 link64 link65 link66 link67 link68 link69 link70 link71 link72 link73 link74 link75 link76 link77 link78 link79 link80 link81 link82 link83 link84 link85 link86 link87 link88 link89 link90 link91 link92 link93 link94 link95 link96 link97 link98 link99 link100 link101 link102 link103 link104 link105 link106 link107 link108 link109 link110 link111 link112 link113 link114 link115 link116 link117
Категория: Arduino - проекты

Домашний веб сервер на Аrduino. Температура и Реле [Проверенно]

Домашний веб сервер



Был модуль WI-FI. Было реле. В доме установлен роутер со статическим IP. Захотелось отображать температуру дома на экране телефона и в добавок включать и выключать подсветку в квартире (Удаленно управлять приборами).

В итоге получилось следующее: Захожу с телефона на свой IP адрес, на экране отображается температура и влажность в квартире + несколько кнопок для управления реле.
Без контроля состояния приборов. Код программы рабочий и предназначен для личного последующего творчества. Готового продукта веб сервера тут нет.
Датчик температуры все тот же DHT-11. Реле собрано на печатной плате с транзисторным ключем (c945) (Для скачивания оставьте комментарий) и управляется напряжением 5В. Коммутирует 270В - 6А.
В моем случае реле коммутировало дополнительное освещение в доме которое изображено на фото ниже.

Дополнительное освещение дома

светодиодное освещение

Освещение в доме из светодидодов

Светодионое освещение



По плинтусу с кабель каналом протянуты провода и выведено по квартире для ночного освещения. Питание от блока питания 9В, что бы ночью глаза не резало и видно было.

На рисунке ниже изображен весь используемый комплект.

5067_1ikmxapkwzm.jpg



Модуль WI-FI ESP8266 не нуждается в дополнительном обвесе. Единый минус в том что необходимо питание 3.3В и потребление модуля 250 милиампер. Стандартный стабилизатор на ардуине 3.3В не смог обеспечить стабильное питание WI-FI модулю. В прочем моя Arduina китайская. Поэтому пришлось использовать отдельный стабилизатор напряжения 78033.

Я не писатель поэтому если какая то информация не раскрыта, но она необходима - спрашивайте в комментариях.

Про свой WI-FI модуль могу сказать так же что он китайский и в нем очень плохая прошивка. Которую можно заменить подключив модуль к преходнику USB-TTL и заменить. В китайской прошивке нет метода для программной перезагрузки модуля. Т.е если мой модуль зависает приходится передергивать для него питание. Это огромнейший минус в постройке веб сервера.
перейдем к коду программы для ардуины для построения Веб сервера с задуманными плюшками. Код взять с разных сайтов, более менее изменен под свои нужды и проверен. Добавлены комментарии для того что бы не описывать все словами и большим текстом в статье.

Wi-FI модуль ESP8266 общается при помощи 2х линий Rx Tx.
Ниже полный код веб сервера в который советуется вникнуть.

[Часть 1] Домашний веб сервер на Ардуино [Рабочий код]
[Часть 2] Домашний веб сервер на Ардуино [Рабочий код]

Cкачать код программы:
4870_1injner_web_server_arduino.ino

Пояснения: Для отладки расскоментируйте все строки // monitor.print. Посмотреть работу сервера можно в терминале IDE Arduino.

Веб сервер Ардуино в терминале ESP8266



Как работает код выше вкратце:
Происходит включение ардуины, ардуина инициализирует интерфейсы Serial для компьютера и Serial1 для модуля wi-fi. Далее Ардуина отправляет в модуль данные для коннекта с нужным SSID в воздухе, и подключается к нему получая в ответ IP адрес. Для любопытства в таблице DHCP роутера обнаружится новое устройство без имени (Имя модулю так же можно задать). Как только IP выделен, ардуина начинает ждать данные от Wi-Fi модуля и распознавать, выполняя нужные действия.

Если подключения не произошло, то ардуина повторно без остановки пытается подключится к WI-FI.

Как выглядит веб сервер визуально с компьютера можно увидеть ниже на рисунке.

Веб сервер на ардуино


С телефона тоже работает.

веб сервер на ардуино ESP8266



Впрочем, все написано на скорую руку и не изменялось долгое время, и все что возможно выполнить в html и Js можно воплотить на странице сервера для своих нужд. Цвет, авто обновление, красивые кнопки и многое другое. Полный полет фантазии.

Опрос датчика температуры происходит при каждом обновлении страницы. Для датчика нужна библиотека которая находится в соседнем посту про DHT-11.
Реле включается одним пином переводя его в HIGHT или LOW.

В заключение скажу то что сервер в данном виде каким он есть работал у меня больше 3х недель без ресетов. Минусами является то что если часто обновлять страницу то сервер можно положить, а вернее модуль wi-fi, но с хорошим модулем ESP8266 это не проблема, программный автоматический сброс и все пройдет.

В скором времени напишу как сделать систему контролируемую напрямую через WiFi модуль ESP8266 для управления объектами и контроля данных.

Дополнение:
Для доступа через интернет, не забывайте прописать статический IP для MAC ESP8266 в роутере. И настроить пере направление трафика для порта 80 на данный IP.

Вопросы оставляйте в комментарии up


Другие статьи по разделу:

anchore ЖКИ дисплей WH0802 подключение к Ардуино [Много проводов]


anchore Управление шаговым биполярным двигателем A4988ET [Рабочий код ino]




Новые изобретения инженеров и техников, дизайнеров и обычных людей, все то что может изменить наш мир к лучшему. Новая техника и оружие, спасателей и спецназа. Гаджеты и девайсы, устройства для отдыха и работы. Советы для экономии семейного состояния. Все гениальные изобретения в простом формате! Ведь «Все — Просто!»
Copyright © 2013–2025. Политика конфиденциальности
Автоматизация и проектирование — 1injener.ru