- Digitrode
- цифровая электроника вычислительная техника встраиваемые системы
- Умная розетка на ESP8266 своими руками
- Сетевой выключатель на основе ESP8266
- Умная Wi-Fi розетка на модуле ESP8266
- Необходимые компоненты
- Схема проекта
- Изготовление корпуса для проекта
- Объяснение программы для модуля ESP8266
- WiFi Розетка
- AndreyD
- Полезные устройства для дома: WiFi-розетка своими руками
Digitrode
цифровая электроника вычислительная техника встраиваемые системы
Умная розетка на ESP8266 своими руками
Сетевой выключатель на основе ESP8266
Те, кто начинает работать с модулями ESP Wi-Fi, зачастую хотят создать умную розетку Wi-Fi, которая позволяла бы управлять нагрузками переменного тока по беспроводной сети через смартфон. Хотя подобные продукты уже доступны на рынке, такие как популярный Moko WiFi Smart Plug или Sonoff, они немного дороги и, к тому же, они не дают вам радости в создании своих собственных изобретений.
Итак, в этом проекте будет показано, как вы можете создать свой собственный умный сетевой выключатель, используя Wi-Fi модуль ESP8266. Это устройство может быть легко подключено к любой выходной розетке переменного тока, а затем на другом конце вы можете подключить фактическую нагрузку. После этого просто оставляйте основной выключатель вашей розетки всегда включенным, и вы сможете контролировать свою нагрузку прямо со своего смартфона.
Цель состоит в том, чтобы включить/выключить нагрузку (например, в данном случае маршрутизатор Wi-Fi), просто используя смартфон. Но если мы выключим маршрутизатор , у нас больше не будет доступа к интернету. Так как мы снова включим его? К счастью, наш ESP8266 можно использовать в качестве точки доступа, что означает, что он также может действовать как маршрутизатор, отправляя собственный сигнал Wi-Fi. Этот сигнал Wi-Fi будет всегда доступен, пока ESP8266 включен. Следовательно, мы запрограммируем наш ESP8266 в качестве портала. Таким образом, как только мы подключимся к сигналу Wi-Fi ESP, мы попадем на веб-страницу, откуда мы можем включить/выключить нашу нагрузку.
Прежде чем мы продолжим, давайте углубимся в программу, чтобы понять, как будет работать наш умный самодельный WiFi-штекер. Как вы можете видеть здесь, мы начинаем программу с включения нескольких заголовочных файлов и настройки сетевого сервера DNS.
Затем мы инициализируем вывод GPIO 2 ESP как выход, который будет использоваться для управления нашей нагрузкой. После чего у нас есть длинный HTML-код для нашей веб-страницы. Здесь у нас есть три экрана на нашей веб-странице, а именно главный экран, экран включения и экран выключения.
Эти три веб-страницы при открытии будут выглядеть примерно так. Вы можете настроить свою веб-страницу так, чтобы она вам понравилась.
Затем у нас есть функция установки void, внутри которой мы определяем наш ESP для работы в качестве точки доступа, а также предоставляем имя для нее, в данном случае «ESP_Smart_Plug». Когда любой пользователь подключится к этому Wi-Fi, он будет перенаправлен на домашнюю страницу, которую мы определили ранее.
На домашней странице, если пользователь нажимает кнопку ON, будет отображаться экранная страница включения, и вывод GPIO 2 будет установлен в высокий логический уровень.
Аналогичным образом, если пользователь нажимает кнопку выключения, отображается страница выключенного экрана, и вывод GPIO 2 будет установлен в низкий уровень.
Полный код приведен в конце данного руководства. Теперь, когда наш код готов, мы можем загрузить его в наш модуль ESP, просто нажав кнопку загрузки, а затем дождаться загрузки кода.
После загрузки кода выполните поиск сетей Wi-Fi на своем телефоне, и вы должны найти сигнал с именем «ESP_Smart_Plug». Подключитесь к нему, и вы попадете на веб-страницу, которую мы только что разработали. Здесь, когда вы нажимаете кнопку выключения, вы должны заметить, что светодиод на нашей плате ESP выключается, а когда вы нажимаете кнопку включения, светодиод должен снова включиться.
После проверки кода еще несколько раз нам больше не понадобится программатор для этого проекта. Теперь нам нужно построить схему для питания нашего модуля ESP напрямую от сетевого напряжения и использовать его вывод GPIO для переключения реле. Для создания этой схемы использовался модуль преобразователя переменного тока в постоянный ток от Hi-Link, который преобразует напряжение переменного тока в постоянное напряжение 3,3 В с выходным током 900 мА, достаточным для питания модуля ESP через сеть. Реле выходной стороны представляет собой реле 3,3 В, которым можно управлять с помощью вывода GPIO ESP через такой транзистор, как BC547. Нам также понадобится резистор 1 кОм, чтобы ограничить базовый ток нашего транзистора. В итоге схема подключения выглядит следующим образом:
Напряжение переменного тока для питания нашего проекта будет получено через розетку. Еще одна важная вещь, которую нужно учитывать – это поддерживать GPIO-0 и GPIO-2 на высоком логическом уровне при загрузке. В противном случае модуль ESP перейдет в режим программирования, и внешний код не будет работать. Поэтому используется резистор 10 кОм (можно использовать значения от 3,3 кОм до 10 кОм), чтобы по умолчанию подтянуть вывод GPIO. В качестве альтернативы вы можете также использовать транзистор PNP вместо BC547 и переключать реле с верхней стороны.
Само устройство можно разместить в корпусе для подключения к розетке переменного тока. Пример такого корпуса можно найти на thingiverse (https://www.thingiverse.com/thing:3852528) и распечатать его на 3D принтере.
Полный код проекта умной розетки на ESP8266.
Таким же образом вы можете контролировать любую нагрузку переменного тока с низким энергопотреблением в вашем доме и получать удовольствие.
Источник
Умная Wi-Fi розетка на модуле ESP8266
Wi-Fi розетки в настоящее время приобретают все большую популярность по мере того как системы «умного дома» становятся все более востребованными в современном мире. Подобные розетки выпускаются различными производителями (в основном китайскими, конечно же), но их цена в ряде случаев не такая «толерантная» как хотелось бы. К тому же никто не отменял чувство удовольствия от того, когда сделаешь что-либо полезное своими руками.
Поэтому в данной статье мы рассмотрим создание собственной умной Wi-Fi розетки на основе модуле ESP8266. Управлять данной розеткой можно будет со своего смартфона. Нашу Wi-Fi розетку можно будет включать в обычную розетку, а к другому концу нашей розетки можно будет подключать нагрузку переменного тока.
Автор данного проекта (ссылка на оригинал приведена в конце статьи) устал от того, чтобы ему постоянно приходится перезапускать свой Wi-Fi роутер из-за проблем со связью (а живет он в Индии). Поэтому изначально данный проект Wi-Fi розетки рассматривался как устройство, позволяющее ему дистанционно, со своего смартфона, отключать и снова подавать питание на свой роутер, таким образом, перезапуская его.
Вы скажете каким образом будет работать Wi-Fi розетка если у роутера проблемы со связью? Здесь дело в том, что модуль ESP8266 может самостоятельно работать в качестве точки доступа, то есть выполнять функции роутера. Управлять его работой мы будем с помощью специальной веб-страницы, с которой мы сможем включать/выключать нашу Wi-Fi розетку.
Также на нашем сайте вы можете посмотреть другие рассмотренные проекты автоматизации дома.
Необходимые компоненты
- Модуль ESP8266 (купить на AliExpress).
- Link AC to DC Converter (3.3V) (конвертер 220 Вольт в постоянное напряжение 3.3V (купить на AliExpress).
- Реле на 3V.
- NPN транзистор BC547 (купить на AliExpress).
- FTDI плата (купить на AliExpress).
- Соединительные провода.
В данном проекте его автор для программирования модуля ESP8266 использовал специальный Arduino Wi-Fi Shield, который он ранее собрал и схему для его сборки можно посмотреть по следующему адресу. Но если у вас нет такого шилда, то для программирования модуля ESP8266 можно применить стандартный подход с помощью Arduino IDE.
Схема проекта
Схема Wi-Fi розетки на основе модуля ESP8266 представлена на следующем рисунке.
Питание наша схема получает от сети переменного тока через конвертер 220 Вольта в 3,3 Вольта. Учтите, что на контактах GPIO0 и GPIO2 модуля необходимо поддерживать напряжение высокого уровня (while) во время загрузки модуля. Иначе модуль ESP перейдет в режим программирования и тогда код нашей программы работать не будет. Поэтому мы использовали резистор сопротивлением 10 кОм (можно использовать резистор в диапазоне от 3,3 кОм до 10 кОм) чтобы подать на эти контакты напряжение высокого уровня. Для ограничения тока через базу транзистора используется резистор 1 кОм.
Изготовление корпуса для проекта
Чтобы сделать проект Wi-Fi розетки на основе модуля ESP8266 максимально компактным его автор решил напечатать его корпус на 3D принтере. Он использовал дизайн корпуса, представленный на следующем рисунке.
STL файлы для печати на 3D принтере данного корпуса можно скачать по следующей ссылке с thingiverse.
После печати корпуса автор закрепил в нем электронную часть проекта с помощью болтов как показано на следующем рисунке.
Внешний вид собранной конструкции проекта показан на следующем рисунке.
После сборки автор проекта подключил к нему свой роутер, но вы можете подключить к нему любую другую нагрузку переменного тока (лишь бы по мощности реле выдержало).
Объяснение программы для модуля ESP8266
Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.
Первым делом при написании программы подключим используемые библиотеки и установим DNS сервер.
Источник
WiFi Розетка
AndreyD
New member
Вот и пришел мне модуль 1117. Выкладываю свой проектик:
Прошивка ESP-01 — nodemcu, взял отсюда.
cf=<>
cf.ip=»192.168.4.1″
cf.netmask=»255.255.255.0″
cf.gateway=»192.168.4.1″
wifi.ap.setip(cf)
cfg = <>
cfg.ssid = «test»
cfg.pwd = «12345678»
wifi.ap.config(cfg)
gpio.mode(3,gpi UTPUT)
gpio.mode(4,gpi UTPUT)
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn n(«receive», function(client,request)
local buf = «»;
buf = [[
WIFI выключатель
local _, _, method, path, vars = string.find(request, «([A-Z]+) (.+)?(.+) HTTP»);
if(method == nil)then
_, _, method, path = string.find(request, «([A-Z]+) (.+) HTTP»);
end
local _GET = <>
if (vars
= nil)then
for k, v in string.gmatch(vars, «(%w+)=(%w+)&*») do
_GET[k] = v
end
end
local _on,_off = «»,»»
if(_GET.pin == «ON1»)then
gpio.write(3, gpio.LOW);
a = 1;
elseif(_GET.pin == «OFF1»)then
gpio.write(3, gpio.HIGH);
a= 0;
end
if(_GET.pin == «ON2»)then
gpio.write(4, gpio.LOW);
b=1;
elseif(_GET.pin == «OFF2»)then
gpio.write(4, gpio.HIGH);
b=0;
end
if(a == 0 or a == nil)then
buf = buf..»
if(b == 0 or b == nil)then
buf = buf..»
Источник
Полезные устройства для дома: WiFi-розетка своими руками
Привет Geektimes! В статье хочу представить инструкцию по созданию WiFi-розетки.
Началось всё с того, что осенью наткнулся на WiFi-розетки в магазинах, подумал, что вроде ничего сложного, потом ознакомился с ESP8266 и понял, что готов сделать розетку сам.
Розетка будет состоять из:
- Корпус;
- ESP8266 12E с платой развязки питания;
- Питание для ESP8266 от 220 Вольт;
- Плата контроля 220 Вольт;
- Контрольная панель (кнопка, led, порт RJ45 для прошивки).
Разбив статью на спойлеры, мне хочется структурировать знания.
Корпус задумывался легким для сборки и разборки во время разработки и отладки, и по возможности прозрачным, чтобы видеть все компоненты.
Все платы имеют максимальный размер 5 x 3.5 см, поэтому коробка будет 5 х 5 х 3.5 см.
- кусок оргстекла, наименьшего размера 0.5 x 0.25 метра, вполне хватит на десяток таких поделок
- петли, наименьшие из найденных 2.5 x 2.5 см
- шурупы
Оргстекло вырезал паяльником, разогретым до 300 градусов: линию разреза расчерчивал лезвием ножа, и затем проводил паяльником по линии с нажимом на паяльник, потом проводил с другой стороны, и тогда можно ломать по линии разлома.
Отверстия для шурупов к петлям высверливал мини дрелью на двигателе с цангой и сверлом 1мм.
Реализовать развязку питания вместе с ESP8266 на одной плате не получилось из-за ограничений на размер корпуса.
Представленные платы совместимы для ESP8266 12F и 12E:
Сама ESP8266 положилась на эту плату:
А развязка питания, и прошивки происходит здесь:
Понадобится 5 штук 10k Ом и 1 штука 470 Ом 0.125 Вт SMD резисторов и 0.1 mkF кондесатор SMD.
На 6-ти контактах по два отверстия, одно для входящего провода от платы Esp8266, а другое для исходящего провода в плату для гнезда RJ45 (используемый для прошивки).
PS: Соединение «locking on programmator wires» замыкается в режиме прошивки, например сделать перемычку в кабеле с коннектором RJ45.
Плата под гнездо RJ45:
Всё получится компактно.
Для питания легче всего использовать китайскую USB зарядку для телефона похожую на зарядку для IPhone.
Замене подвергнется только выделенный красным стабилитрон (диод Зенера). В USB зарядке на 5 Вольт, стоит стабилитрон на 5 Вольт. Для питания ESP8266 нужно 3.3 Вольта, и стабилитрон на 3.3 Вольта мощностью более 1 Ватта с запасом судя по потреблению (3.3 Вольт, Плата контроля 220 Вольт
- 1 штук 500k Ом и 1 штука 470 Ом, 1 штука 200 Ом 0.125 Вт SMD резисторов;
- 1 Симистор
- 1 Опто-пара, MOC3052
- две пары клемм для зажима 220 Вольтовых проводов
Файл доступен для скачивания вместе с другими ресурсами.
Скрипты находятся тут
Я использовал:
- NodeMcu — нужная для работы lua скриптов
её можно получить тут https://nodemcu-build.com/ с пакетами enduser setup, file, gpio, net, node, rtc-time, sntp, timer, uart, wifi.
sudo python esptool.py —port /dev/ttyUSB0 write_flash 0x00000 The_Path_To_The_NodeMCU_Firmware.bin
Для оптимизации памяти, чтобы память ESP8266, которой маловато, не тратилась на компиляцию, после загрузки файлов на ESP8266, необходимо скомпилировать .lua файлы (кроме init.lua) в .lc прямо на ESP8266 через Esplorer.
node.compile(«actionsprocess.lua»)
node.compile(«constants.lua»)
node.compile(«espgetstatehtml.lua»)
node.compile(«estbehaviour.lua»)
node.compile(«httpfilesender.lua»)
node.compile(«httpsend.lua»)
node.compile(«httpsender.lua»)
node.compile(«schedulermanager.lua»)
Такая получилась у меня
Кнопка переключает ESP8266 в режим создания своей точки доступа в положении «Выкл» (для указания Точки доступа пользователя и пароля к точке доступа пользователя), в «Вкл» — рабочее состояние.
Светодиод — горит, когда кнопка «Выкл» (ESP8266 находится в режиме создания своей точки доступа);
- мигает, когда кнопка «Вкл», и ESP8266 в процессе подключения;
- не горит, когда кнопка «Вкл», и ESP8266 подключено к роутеру.
гнездо RJ45 — для прошивки, или питания через USB Uart переходник.
Управление розеткой происходит из андройд телефона. WiFi-Switcher Git-Hub
Когда розетка и телефон подключены к роутеру, андройд-телефон шлёт UDP-широковещательные пакеты роутеру на порт 33248, открытый на розетке. Она отвечает на него, передаёт свой Id и Type.
Источник