Инструменты пользователя

Инструменты сайта


iot:firmware:ravensystem:haa:sonoff:rfr2

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
iot:firmware:ravensystem:haa:sonoff:rfr2 [2021/01/19 09:54]
Николай Солошин [Прошивка]
iot:firmware:ravensystem:haa:sonoff:rfr2 [2022/02/16 19:09] (текущий)
Николай Солошин ↷ Операцией перемещения обновлены ссылки
Строка 5: Строка 5:
  
 Эта статья описывает процедуру OTA-прошивки и настройки реле Sonoff RFR2 с использованием программатора USB-TTL и скрипта Esptool под RavenSystem "HAA"((Она же "RavenCore v2", она же "Home Accessory Architect".)), которая позволяет напрямую добавить устройство в HomeKit((Оно же приложение "Дом" или "Home App" на iPhone/iPad.)). Эта статья описывает процедуру OTA-прошивки и настройки реле Sonoff RFR2 с использованием программатора USB-TTL и скрипта Esptool под RavenSystem "HAA"((Она же "RavenCore v2", она же "Home Accessory Architect".)), которая позволяет напрямую добавить устройство в HomeKit((Оно же приложение "Дом" или "Home App" на iPhone/iPad.)).
 +
 +:!: Прошивка под Tasmota [[iot:firmware:tasmota:sonoff:rfr2:turn_off_the_light|рассмотрена тут]].
  
 ===== Фотографии ===== ===== Фотографии =====
  
-{{:homekit:ravensystem:haa:sonoff:sonoff-rfr2.jpg?nolink&695|}} +{{iot:firmware:ravensystem:haa:sonoff:sonoff-rfr2.jpg?nolink&695|}} 
-{{:homekit:ravensystem:haa:sonoff:sonoff-rfr2-full.jpg?linkonly|Полноразмерные фото}}.+\\ {{iot:firmware:ravensystem:haa:sonoff:sonoff-rfr2-full.jpg?linkonly|Полноразмерные фото}}.
  
 ===== Подготовка ===== ===== Подготовка =====
Строка 19: Строка 21:
 ===== Подключение ===== ===== Подключение =====
  
-  - Припаять гребенку на плату((Она находится {{:homekit:ravensystem:haa:sonoff:sonoff-rfr2-pins.jpg?linkonly|тут}}, расписание выводов на обратной стороне платы.)); +  - Припаять гребенку на плату((Она находится {{iot:firmware:ravensystem:haa:sonoff:sonoff-rfr2-pins.jpg?linkonly|тут}}, расписание выводов на обратной стороне платы.)); 
-  - Проверить напряжение на программаторе -- **должно быть 3V3**((Обычно, это, или джампер или микропереключатель на плате, к {{:homekit:ravensystem:haa:sonoff:usb-ttl-3v3.jpg?linkonly|примеру}}.));+  - Проверить напряжение на программаторе -- **должно быть 3V3**((Обычно, это, или джампер или микропереключатель на плате, к {{iot:firmware:ravensystem:haa:sonoff:usb-ttl-3v3.jpg?linkonly|примеру}}.));
   - Соединить контакты, перекрестив прием и передачу((То есть, на реле контакт RX подключить к контакту TX на конвертере, а TX, соответственно, к RX.)), а остальные соединить прямо((Т.е. 3V3 к 3V3, а GND к GND.));   - Соединить контакты, перекрестив прием и передачу((То есть, на реле контакт RX подключить к контакту TX на конвертере, а TX, соответственно, к RX.)), а остальные соединить прямо((Т.е. 3V3 к 3V3, а GND к GND.));
   - Нажать кнопку на реле, вставить программатор в USB и сразу кнопку отпустить((Ничего держать и считать секунды не надо! Нажали, вставили, отпустили.)).   - Нажать кнопку на реле, вставить программатор в USB и сразу кнопку отпустить((Ничего держать и считать секунды не надо! Нажали, вставили, отпустили.)).
Строка 53: Строка 55:
 Перед любыми манипуляциями с использованием программатора, необходимо сделать резервную копию заводской прошивки((Ходят слухи, что прошивка привязывается к аппаратному обеспечению и не подходит от другого такого же устройства... Не проверял.))! Перед любыми манипуляциями с использованием программатора, необходимо сделать резервную копию заводской прошивки((Ходят слухи, что прошивка привязывается к аппаратному обеспечению и не подходит от другого такого же устройства... Не проверял.))!
  
-Для этого сперва надо узнать объем флеш-памяти((На момент написания статьи, реле Sonoff RFR2 содержит 1 мегабайт встроенной флеш-памяти и все команды, по умолчанию, указаны для этого размера!)), введя команду ''esptool.py flash_id'', а потом команду ''esptool.py read_flash 0x000000 0x100000 flash_backup.bin'', изменив значение "0x100000" на соответствующее((Для 1 мб, будет "0x100000", для двух -- "0x200000" и т.д.)).+Для этого сперва надо узнать объем флеш-памяти((На момент написания статьи, реле Sonoff RFR2 содержит 1 мегабайт встроенной флеш-памяти и все команды, по умолчанию, указаны для этого размера!)), введя команду ''esptool.py flash_id''
 + 
 +<code winbatch>esptool.py v3.0 
 +Found 1 serial ports 
 +Serial port COM3 
 +Connecting.... 
 +Detecting chip type... ESP8266 
 +Chip is ESP8285 
 +Features: WiFiEmbedded Flash 
 +Crystal is 26MHz 
 +MAC: XX:XX:XX:XX:XX:XX 
 +Uploading stub... 
 +Running stub... 
 +Stub running... 
 +Manufacturer: 51 
 +Device: 4014 
 +Detected flash size: 1MB 
 +Hard resetting via RTS pin...</code> 
 + 
 +Потом команду ''esptool.py read_flash 0x000000 0x100000 flash_backup.bin'', изменив значение "0x100000" на соответствующее((Для 1 мб, будет "0x100000", для двух -- "0x200000" и т.д.)).
  
 <code winbatch>esptool.py v3.0 <code winbatch>esptool.py v3.0
Строка 101: Строка 122:
 //На мой взгляд, второй вариант, хоть и быстрее, но более сложный и муторный. Ввиду этого, я пользуюсь первым, т.к. подождать минут 5-10, пока устройство докачает необходимые данные, для меня не проблема.// //На мой взгляд, второй вариант, хоть и быстрее, но более сложный и муторный. Ввиду этого, я пользуюсь первым, т.к. подождать минут 5-10, пока устройство докачает необходимые данные, для меня не проблема.//
  
-Для OTA прошивки, нужно загрузить [[https://github.com/RavenSystem/haa/releases|из репозитория]] последний релиз файла "fullhaaboot.bin", сохранить его в рабочей папке и выполнить команду ''esptool.py write_flash -fs 1MB -fm dout -ff 40m 0x0 fullhaaboot.bin''((На момент написания статьи, реле Sonoff RFR2 содержит 1 мегабайт встроенной флеш-памяти и все команды, по умолчанию, указаны для этого размера!)), указав правильный объем памяти.+Для OTA прошивки, нужно загрузить [[https://github.com/RavenSystem/haa/releases|из репозитория]] последний релиз((На момент написания статьи используется релиз за номером 4.3.x. Также проверена версия 6.8.x -- пока все соответствует.)) файла "fullhaaboot.bin", сохранить его в рабочей папке и выполнить команду ''esptool.py write_flash -fs 1MB -fm dout -ff 40m 0x0 fullhaaboot.bin''((На момент написания статьи, реле Sonoff RFR2 содержит 1 мегабайт встроенной флеш-памяти и все команды, по умолчанию, указаны для этого размера!)), указав правильный объем памяти.
  
 Аналогичный вывод показывает, что все хорошо: Аналогичный вывод показывает, что все хорошо:
Строка 135: Строка 156:
   - открыть список доступных сетей на телефоне или ноутбуке;   - открыть список доступных сетей на телефоне или ноутбуке;
   - подключиться сети, название которой начинается на "HAA-" и содержит [[#read_mac|MAC-адрес]] свежепрошитого реле;   - подключиться сети, название которой начинается на "HAA-" и содержит [[#read_mac|MAC-адрес]] свежепрошитого реле;
-  - ввести SSID и пароль к вашей сети и нажать "Save".+  - перейти браузером по адресу ''<nowiki>http://192.168.4.1:4567</nowiki>''(("Captive portal" отключили в [[https://github.com/RavenSystem/esp-homekit-devices/releases/tag/HAA_4.9.0|HAA v4.9.0]] и [[https://github.com/RavenSystem/esp-homekit-devices/releases/tag/HAAOTA_4.4.0|HAA OTA v4.4.0]]... Зачем?!)), ввести SSID и пароль к вашей сети и нажать "Save".
  
-Теперь осталось подождать минут 5-10, пока на устройство загрузятся все необходимые данные и оно не начнет открываться по выданному вашим DHCP-сервером адресу.+Теперь осталось подождать минут 5-10, пока на устройство загрузятся все необходимые данные и оно не начнет открываться по выданному вашим DHCP-сервером адресу на порту 4567((Изменили в [[https://github.com/RavenSystem/esp-homekit-devices/releases/tag/HAA_4.9.0|HAA v4.9.0]] и [[https://github.com/RavenSystem/esp-homekit-devices/releases/tag/HAAOTA_4.4.0|HAA OTA v4.4.0]], раньше открывалось по стандартному порту 80... Не менее -- зачем?!)).
  
-==== JSON строка ====+==== Строка JSON ====
  
 Тут все просто и одновременно не очень, т.к. формат этой строки совершенно не интуитивен и без постоянного подглядывания в [[https://github.com/RavenSystem/esp-homekit-devices/wiki/Configuration|документацию]] малопонятен... если не сказать большего... LOL Тут все просто и одновременно не очень, т.к. формат этой строки совершенно не интуитивен и без постоянного подглядывания в [[https://github.com/RavenSystem/esp-homekit-devices/wiki/Configuration|документацию]] малопонятен... если не сказать большего... LOL
Строка 146: Строка 167:
  
 <code javascript>{"c":{"l":13,"b":[{"g":0,"t":5}],"z":0},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0}]}]}</code> <code javascript>{"c":{"l":13,"b":[{"g":0,"t":5}],"z":0},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0}]}]}</code>
 +
 +Для автоматического выключения реле по таймеру, нужно добавить ключ ''<nowiki>"d"</nowiki>'', как в примере ниже, где он установлен на 600 секунд, что равняется 10 минутам.
 +
 +<code javascript>{"c":{"l":13,"b":[{"g":0,"t":5}],"z":0},"a":[{"0":{"r":[{"g":12}]},"1":{"r":[{"g":12,"v":1}]},"b":[{"g":0}],"d":600}]}</code>
  
 :!: //Для перевода реле в режим настройки после записи строки, нужно нажать физическую кнопку на корпусе и подержать ее 8 секунд! В обычном режиме веб-сервер прошивки не доступен!//  :!: //Для перевода реле в режим настройки после записи строки, нужно нажать физическую кнопку на корпусе и подержать ее 8 секунд! В обычном режиме веб-сервер прошивки не доступен!// 
  
-Собственно, на этом и все! Осталось только добавить в HomeKit, используя {{ :homekit:ravensystem:haa:sonoff:haa-homekit2.jpg?linkonly |этот код}} и радоваться современной и удобной жизни! ;-)+Собственно, на этом и все! Осталось только добавить в HomeKit, используя {{ iot:firmware:ravensystem:haa:sonoff:haa-homekit2.jpg?linkonly |этот код}} и радоваться современной и удобной жизни! ;-)
  
 ==== Сопряжение ==== ==== Сопряжение ====
  
 Для сопряжения выключателей с устройством, на реле нужно нажать кнопку на 3 секунды, пока светодиод не моргнет один раз, и нажать нужную кнопку на выключателе. Для удаления -- нажать на 5 секунд, пока не моргнет 2 раза. Для сопряжения выключателей с устройством, на реле нужно нажать кнопку на 3 секунды, пока светодиод не моргнет один раз, и нажать нужную кнопку на выключателе. Для удаления -- нажать на 5 секунд, пока не моргнет 2 раза.
Последнее изменение: 2022/02/12 11:40 (внешнее изменение)