... 2

Сегодня 14:56

Перепрошивка Sonoff BASICR4 на прошивку Tasmota

Мой опыт перепрошивки Sonoff BASICR4 на прошивку Tasmota. Основные шаги и софт, который потребовался со ссылками.

1. Пайка

Сегодня 15:03
Требуется разобрать Sonoff и припаять гребенку.

2. Подключение

Сегодня 17:48
Берем с маркетплейса конвертер USB в TTL (RS232) на базе CH340G и подключаем его к припаянной гребенке. Перемычку питания на конвертере ставим 3.3в.
3.3 -> 3.3
gnd -> пока не подключаем
tx -> rx
rx -> tx
Gnd на сонофе пока не подключаем чтобы потом удобно переходить в режим перепрошивки (flashing).

3. Скачиваем софт

Сегодня 17:55
Софт который нам понадобится для получения информации о чипе и перепрошивки бывает разный (в том числе web прошивки). На Windows 10 будем использовать Espressif Esptool.

4. Получение информации и прошивка

Сегодня 18:31
Подключаем конвертер в USB порт компьютера. Одной рукой зажимаем кнопку на сонофе, а другой рукой подключаем gnd к сонофу. Ждем 3 секунды и отпускаем кнопку на сонофе. Светодиод на сонофе должен гореть постоянно, значит мы успешно перешли в режим прошивки. Esptool мы уже скачали выше с github, предположительно в C:\Esptool. Запускаем win+r и вписываем cmd. Переходим в папку с esptool: cd C:\Esptool. 
Используя команду: 
esptool.exe -p COM3 flash-id (в вашем случае порт может быть другой, если не знаете то уберите -p COM3) получаем информацию о чипе.

Чип у нас ESP32-C3 с флешкой 4мб и именно для него мы будем искать factory прошивку(tasmota32c3.factory.bin) на сайте Tasmota. Скачиваем ее в папку C:\Esptool и запускаем прошивку командой в терминале
esptool.exe -p COM3 write-flash 0x0 tasmota32c3.factory.bin

Ждем завершения процесса прошивки, отключаем соноф от конвертера и подключаем его к 220в (колодка ближняя к реле и ноль идет слева мимо если смотреть на колодку)

5. Настройка

Сегодня 18:43
После того как вы подключили соноф к 220в посмотрите на телефоне доступные wi-fi сети. Найдите сеть "Tasmota xxxx" и подключитесь к ней. Перейдите в браузер и у вас откроется страница с настройками Tasmota. Выберите в ней вашу основную wi-fi сеть и введите пароль. После этого соноф перезагрузится и подключится к вашей основной сети. Перейдите в dhcp leases вашего роутера и посмотрите какой ip был выдан этому сонофу. Перейдите по этому адресу в браузере, например: http://192.168.10.254

Изначально прошивка не знает куда она залита: кто она, где у нее кнопка, есть реле или датчик и на каких они выводах. Это нужно назначить в конфигурации. Это можно сделать вручную (GPIO04 Relay 1, GPIO09 Button 1) или через шаблон с сайта Tasmota. Нужно взять строчку:

{"NAME":"Sonoff Basic R4","GPIO":[0,0,0,0,224,0,544,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":1}

Вставить ее в Configuration->Other (поле Template). Включить HTTP API Enabled и по желанию задать понятное имя или включить пароль для web доступа. Нажать Save.

6. Управление

Сегодня 18:49
Теперь вы сможете подключить соноф к HomeAssistant или слать ему команды напрямую используя запросы:
Для включения:
http://192.168.10.254/cm?cmnd=POWER+On

Доступны три варианта 
Включить:   on или 1 или True
Выключить: off или 2 или False

Или использовать другие команды из документации. Пробел в URL пишите как %20.

Реле
Power — текущее состояние.
Power On / Power Off — включить или выключить.
Power Toggle — переключить.
PowerOnState 0 — после питания реле выключено. 1 — включено, 2 — как было, 3 — как было, но если оно было включено, то выключено.
PulseTime 100 — автовыключение через 100 десятых секунды (10 с). 0 отключает таймер.

Состояние
Status — сводка.
Status 0 — все статусы сразу.
Status 5 — сеть: IP, MAC, RSSI.
Status 11 — Wi‑Fi и MQTT.
State — реле, Wi‑Fi и время в одном JSON.

Сеть
IPAddress — текущий IP.
Hostname tasmota-basic — имя устройства.
Wifi 1 — переподключить Wi‑Fi.
Restart 1 — перезагрузка.

MQTT
MqttHost 192.168.10.1 — адрес брокера.
MqttUser user и MqttPassword pass — логин и пароль.
MqttTopic basic_r4 — топик устройства.
SetOption3 1 — ответы MQTT в JSON.

Кнопка и светодиод
LedPower 0 — выключить светодиод, 1 — включить.
LedState 0 — светодиод не показывает состояние реле.
SwitchMode 0 — обычный переключатель. 1 — импульсный (нажатие меняет состояние).
Система

FriendlyName1 Кухня — имя на главной странице.
Timezone 99 — часовой пояс по правилам Tasmota.
TelePeriod 30 — телеметрия каждые 30 с. 0 отключает её.
WebLog 2 — уровень журнала в веб-консоли.
Backlog Power On; Delay 20; Power Off — несколько команд подряд. Delay задаётся в десятых секунды.
Reset 1 стирает настройки, а Reset 6 переводит устройство в режим точки доступа.

7. Ссылки

Сегодня 18:52