weather
<<  <  Октябрь 2024  >  >>
Пн Вт Ср Чт Пт Сб Вс
123456
78910111213
14151617181920
21222324252627
28293031

Категории

 

Новости

мар. 19, 2024

wifi розетка


Купил я на али вот такую розетку.

outlet topПоставил на телефон программку, скрестил с роутером и оно все заработало. Но это все не то. А именно, есть привязка к некому ресурсу в интернете и соответственно никакой свободы, и масса подводных камней.

Так что проблему нужно было решить и она быстро решилась.

 

В розетке у меня модуль T102_v1.1 на RTL8710BX. Ваттметра не распаяно, так что с ним я и не заморачивался.

mcu

Можно было-бы написать все с нуля, но для розеток и других подобных штук есть такой проект как  esphome. Так что поехали.

Для прошивки нам потребуется преобразователь уровней rs232<->ttl, или usb<->rs232(ttl).

Их есть всяких разных множество. Так что, что использовать ваше дело. У меня был usb<->rs232 на pl2303.

 t102-v1.1

Паяем ваш RX на TX2 (PA30) модуля и TX на RX2 соответственно.  Ground на GND. Внешнего питания я не подавал, а просто включал все это дело в 220! Соответственно usb<->rx232 был подключен ЧЕРЕЗ USB ИЗОЛЯТОР! И ПОДКЛЮЧЕННУЮ РОЗЕТКУ В СЕТЬ РУКАМИ НЕ ТРОГАТЬ! Мне так было проще. Так как развязка была и развязывающий трансформатор, на всякий случай, тоже. Можно конечно подключить внешнее питание 3в (что будет правильно), но как выяснилось, для этого видимо придется выпаять стабилизатор напряжения, или перерезать от него дорожку на питание модуля.

Забираем esphome:

git clone https://github.com/esphome/esphome 

Документации как обычно не читаем :), поэтому просто копируем туда наш готовый конфиг.

В конфиге необходимо поправить ваше название точки доступа wifi и пароль! Остальное опционально и если понимаете что делаете.

Для теста можно запустить:

python3 -m esphome wizard yourdevice.yml

Ну и за одно посмотреть как конфигурируется новое устройство...

Если все прошло успешно и вы уверены что ваше устройство соответствует нашему конфигу можно собрать прошивку:

python3 -m esphome compile outlet.yaml

Ну и если все ок - загрузить ее в контроллер:

python3 -m esphome upload outlet.yaml

Во время процедуры прошивки usb<->rs232 должен быть подключен, или существовать нужный вам физический com порт.

Там же будет нарисована распайка программатора и описана процедура прошивки.

Так как вывода RESET на нашем модуле нет, то перевести в режим программирования его можно замыканием (на пример пинцетом) tx на gnd и его включением.

Запускаем:

python3 -m esphome upload outlet.yaml

и модуль благополучно прошивается.

После прошивки, если розетка подключилась к роутеру, идем на нее по http://<IP>/ нажимает кнопку и радуемся. :)

IP - адрес который она получила по dhcp от вашего роутера.

В противном случае ищем ее по wifi и в случае удачи пробуем то же самое по адресу http://10.1.1.1/

Если с подключением все в порядке то розетку можно собрать и дальнейшие эксперименты с прошивкой можно производить заливая ее по воздуху.

Прошивка находится в esphome/.esphome/build/outlet1/.pioenvs/outlet1/firmware.uf2

Файлы здесь.

 



This is a captcha-picture. It is used to prevent mass-access by robots. (see: www.captcha.net)