Задача: Хочу перепрошить реле Sonoff TH10 чтобы взаимодействовать с ним можно было не через облако производителя, а через свою собственную локальную сеть, ну а после я уже прикручу его к Home Assistant на Ubuntu 18.04 Server которая будет на моем домашнем сервере HP MicroServer Gen8 (ESXi 6.0). И никакой одноплатный компьютер в лице Raspberry Pi 3 Model B+ и выше (облако производителя) для этих целей я не приемлю.

Итак, для реализации задуманного мне понадобится:

рабочая станция в лице Ubuntu 18.04 Lubuntu Desktop

PL2303 USB UART Board (mini), Преобразователь USB-UART на базе PL2303 с разъемом USB mini-AB

  • Кабель miniUSB на USB
  • Sonoff Model: TH10
  • Провода типа «Мама-Папа»
  • Паяльник не потребуется.
  • Выход в интернет

Шаг №1: Разбираю реле Sonoff TH10 до состояния когда вижу внутренности, к примеру как на представленном скриншоте ниже:

Внутренности реле Sonof TH10

 

Шаг №2: Проверяю, как моя система Lubuntu 18.04 Desktop опознала преобразователь подключенный к ней через USB:

Шаг №3: Чтобы учетная запись ekzorchik могла взаимодействовать с устройством ttyUSB ее нужно включить в группу dialout:

Шаг №4: Далее соединяем Преобразователь USB-UART на базе PL2303 и реле Sonoff TH10 проводами и выставляем переключатель на преобразователе, что работа должна вестись по питанию 3.3V:

USB-UART PL2303 Sonoff TH10
VCC VCC
GND GND
TXD E-RX
RXD E-TX

Подключение USB-UART + Sonoff TH10

Шаг №5: На рабочей станции Lubuntu 18.04 Desktop устанавливаю виртуальное окружение для Python и скачиваю утилиту esptool:

Шаг №6: Теперь чтобы взаимодействовать с реле Sonoff TH 10 через преобразователь нужно:

  • проверить что реле и преобразователь соединены правильно
  • Выставлен джампер на 3.3V
  • На реле нажимаем кнопку и держим (обязательно)
  • USB кабелем соединения преобразователь и систему (Рабочий компьютер или ноутбук, у меня ноутбук Sony VAIO)
  • Затем взаимодействуем через консоль

Шаг №7: Проверяем, что можем считать MAC адрес реле:

На заметку: Я в момент когда идет подключение через esptool кнопку не отжимаю.

Итого, я успешно подключился через преобразователь к реле Sonoff TH10 и считал некоторую информацию.

Шаг №8: Проверяем, что можем считать FLASH_ID адрес реле:

  • отсоединяю usb кабель от компьютера
  • на Sonoff TH10 нажимаю кнопку и держу
  • подключаю usb кабель к компьютеру
  • после в консоли Terminal запускаю команду

из этого вывода видно, что размер флеш накопителя в реле Sonoff TH10 равняется 1MB

Шаг №9: Выполняю бекап заводской прошивки: (Нажатую кнопку включения я не отпускаю а держу на всем процессе покуда идут проценты с 1 до 100):

  • отсоединяю usb кабель от компьютера
  • на Sonoff TH10 нажимаю кнопку и держу
  • подключаю usb кабель к компьютеру
  • после в консоли Terminal запускаю команду

На заметку: Если размер флеш памяти на реле к примеру 4Mb то команда будет другой:

Шаг №10: Чтобы залить альтернативную прошивку, нужно сперва очистить текущую:

  • отсоединяю usb кабель от компьютера
  • на Sonoff TH10 нажимаю кнопку и держу
  • подключаю usb кабель к компьютеру
  • после в консоли Terminal запускаю команду

Шаг №11: Записываю прошивку tasmota на Sonoff TH10:

  • отсоединяю usb кабель от компьютера
  • на Sonoff TH10 нажимаю кнопку и держу
  • подключаю usb кабель к компьютеру
  • после в консоли Terminal запускаю команду

Шаг №12: Отключаюсь от виртуального окружения Python:

Шаг №13: После перепрошивки подключаю теперь уже свое реле Sonoff TH10
к своей Wi-Fi сети, для этого отсоединяем USB кабель от компьютера и подключает
снова, ждем 1-3 минуту после чего в эфире радиовещания Wi-Fi сетей появится мое
реле. На смартфоне включаю Wi-Fi модуль и вижу сеть вида: tasmota_C7C0F4-0244 (без защиты)— это мое устройства кликаю по нему и оказываю подключенным к настройкам Sonoff Basic Module где указываю параметры свой Wi-Fi сети

  • AP1 Ssid(): test
  • AP1 Password: Aa1234567
  • Hostname: %s-%04d

после нажимаю Save

После Sonoff реле отключится и подключится к моей домашней сети, а в общем эфире что оно работает как точка доступа исчезнет.

Шаг №14: Проверяю на своем роутере Mikrotik rb2011UiAS-2Hnd-IN, что мое Sonoff реле TH10 подключилось к Wi-Fi сети и ему присвоился IPадрес от DHCPсервиса:

Winbox — IP&DNS:PORT — user&pass — Wireless — вкладка Registration и вижу MAC адрес своего реле:

Проверяю на роутере Mikrotik что реле Sonoff TH10 подключилось по Wi-Fi

 

А теперь какой IP-присвоился:

Winbox — IP&DNS:PORT — user&pass — ip — dhcp server — вкладка Leases и через фильтр по колонке MAC Address нахожу что есть по MAC адресу:

Проверяю какой адрес получило реле Sonoff TH10

итого в моей локальной сети — это адрес 172.33.33.103

Проверяю, что вижу его с Lubuntu 18.04 Desktop

На заметку: Чтобы реле имело постоянный адрес правильнее сделать его статическим.

Шаг №15: Обращаюсь через браузер к Webинтерфейсу своего реле, т. е. Это выглядит так: http://172.33.33.103

 

Обращаюсь через браузер к Web-интерфейсу своего реле

Итого я успешно перепрошил реле Sonoff TH10 и оно уже теперь мое, т. е. Мое в смысле что я могу из своей локальной сети управлять им и более не привязана к облаку производителя.

Шаг №16: Т.к. реле уже мое и подключено к моей ЛВС то я могу выполнить резервное копирование прошивки , дабы не проходить все шаги выше:

  • отсоединяю usb кабель от компьютера
  • на Sonoff TH10 нажимаю кнопку и держу
  • подключаю usb кабель к компьютеру
  • после в консоли Terminal запускаю команду

На заметку: После нужно отключить USB от компьютера и подключиться снова без нажатия кнопки через которую я входил в режим перепрошивки дабы в последствии взаимодействовать с реле через Web-интерфейс.

Шаг №17: Чтобы взаимодействовать с реле из консоли bash это понадобится
когда либо взаимодействовать через скрипты или системы «Умного дома»:

Нашел какими командами через CURL запрос можно включать и выключать реле:

Commands can be executed via web (HTTP) requests, for example:

https://tasmota.github.io/docs/Commands/

Синтаксис:

http://<ip>/cm?cmnd=Power%20TOGGLE http://<ip>/cm?cmnd=Power%20On http://<ip>/cm?cmnd=Power%20off http://<ip>/cm?user=admin&password=joker&cmnd=Power%20Toggle

Включить реле:

Выключить реле:

Или так:

Итого данная заметка полностью работоспособна и я сделал задачу которую долго не мог сделать, т. к. все форумы, консультации в Telegram каналах приводили лишь к фразе: Тебя что в Google забанили, уже сто раз все объясняли. Вообще да пошли все, лучше сделать самим и составить инструкцию для себя и не делиться. Свои наработки
— это свои наработки.

На заметку: Бекап заводской прошивки, на что прошиваю и бекап настроенной прошивки залил к себе в облако OwnCloud 10 с сделал общедоступную
ссылку

https://vpn.ekzorchik.ru/index.php/s/ZPWMvhIeUpRsGiB

На этом заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.

от ekzorchik