Zigbee Sonoff Zigbee Bridge pro

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

Sonoff Zigbee Bridge Pro

Задача - отвязать от всяких облаков, вся работа должна проходить локально

Что нужно

Пайка

Распаять гребенку что бы было проще жить (конечно надо было обточить но руки-крюки)

Sonoff bridge rx tx gpio power.jpg

Подключение

У меня вот такой (плюс/минус) конвертер с USB на 3.3/5v Serial

FTDI-USB-to-serial-converter.png

В случае с ESP требуется уровеь 3.3V - выбрать на плате джампером, проверить вольтметром


Подключаю вот так:

How to connect sonoff bridge to usb.JPG

На что тут смотреть:

  • Синими стрелками помечена земля - важно что бы GPIO0 был подключен к земле, это переводит плату в режим прошивки. Если это не сделать, то загрузится текущая прошивка
  • RX/TX подключается крест на крест, выход RX одной платы к TX другой (очевидно конечно)
  • Земля общая (тут она включена в макетную плату и от нее на 2 точки - GPIO0 и GRN на бридже)
  • Питание у меня подается отдельно от ноута на конвертер и отдельно от блока питания на бридж. Есть инструкции где советуют брать питание 3.3V с конвертера, но у меня в таком режиме бридж уходит в циклическю перезагрузку

Проверка

Если плата работает в обычном режиме то в minicom (имя порта /dev/tty.usbserial-A5XK3RJT будет отличаться от системы к системе и похоже зависит от серийника конвертера)
то при загрузке покажет что-то вот такое, светодилот мигает

Welcome to minicom 2.8

OPTIONS:
Compiled on Nov 18 2022, 07:58:18.
Port /dev/tty.usbserial-A5XK3RJT, 16:23:45

Press CTRL-A Z for help on special keys

ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:4
load:0x3fff0034,len:6976
ho 0 tail 12 room 4
load:0x40078000,len:13072
load:0x40080400,len:3896
entry 0x40080688
{V���c��Vj���k{�����j{��WBj{��W�c��FZc�����c��vc��B�Bn��c��B�NBJB�"��Bv�JZJj{�҇�NBBB�"��B�BJJj?{��B�OBCJԦ��B҄BJjj{V�vc�����j{���J�Rfnj�{����V�fBK�{���j�JfO��{�����r?Jj�{����VJfJJ�{�����J�b[��{V���Ncj�����jZ�������ets Jul 

Если все сделано верно и плата в режиме прошивки то в миникоме видно что-то такое (светодиод горит постоянно)

rst:0x1 (POWERON_RESET),boot:0x3 (DOWNLOAD_BOOT(UART0/UART1/SDIO_REI_REO_V2))
waiting for download

Софт

Определение типа платы

esptool.py --port /dev/cu.usbserial-A5XK3RJT flash_id (у меня в системе использование /dev/tty.usbserial-A5XK3RJT и /dev/cu.usbserial-A5XK3RJT ведет к одинаковым результатам хотя формально это 2 разных устройства)


esptool.py v4.7.0
Serial port /dev/cu.usbserial-A5XK3RJT
Connecting.......
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting...
Detecting chip type... ESP32
Chip is ESP32-D0WD-V3 (revision v3.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 0c:dc:7e:32:81:fc
Uploading stub...
Running stub...
Stub running...
Manufacturer: 5e
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...

@esp_tool -pCOM5 -b115200 -a0x0000 -s0x100000 -or esp82XX.bin

Бекап прошивки

esptool.py -b 115200 --port /dev/tty.usbserial-A5XK3RJT read_flash 0x000000 0x400000 soboff_bridge_pro_original_software.bin

  • Адреса 0x000000 0x400000 ожначают читать все 4М (а размер флеша указан выше)
esptool.py v4.7.0
Serial port /dev/tty.usbserial-A5XK3RJT
Connecting...
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting...
Detecting chip type... ESP32
Chip is ESP32-D0WD-V3 (revision v3.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 0c:dc:7e:32:81:fc
Stub is already running. No upload is necessary.
2097152 (100 %)
2097152 (100 %)
Read 2097152 bytes at 0x00000000 in 196.8 seconds (85.3 kbit/s)...
Hard resetting via RTS pin...

Скачалось 2М, хотя размер флеша выше писал 4М

ls -lsah soboff_bridge_pro_original_software.bin
4096 -rw-r--r--  1 mmazur  staff   4.0M May 12 17:34 soboff_bridge_pro_original_software.bin

Очистка флеша перед записью

esptool.py --port /dev/tty.usbserial-A5XK3RJT erase_flash

esptool.py v4.7.0
Serial port /dev/tty.usbserial-A5XK3RJT
Connecting......
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting...
Detecting chip type... ESP32
Chip is ESP32-D0WD-V3 (revision v3.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 0c:dc:7e:32:81:fc
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 13.8s
Hard resetting via RTS pin...

Прошивка

Скачать можно тут: http://ota.tasmota.com/tasmota32/release/ Нужный файл - tasmota32-zbbrdgpro.bin (32 подразумевает ESP32) esptool.py --port /dev/tty.usbserial-A5XK3RJT write_flash -fs 4MB -fm dout 0x0 ~/Downloads/tasmota-zbbridge.bin

  • 4М это размер флеша
esptool.py v4.7.0
Serial port /dev/tty.usbserial-A5XK3RJT
Connecting...
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting...
Detecting chip type... ESP32
Chip is ESP32-D0WD-V3 (revision v3.0)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 0c:dc:7e:32:81:fc
Stub is already running. No upload is necessary.
Configuring flash size...
Flash will be erased from 0x00000000 to 0x00171fff...
Compressed 1513376 bytes to 1044691...
Wrote 1513376 bytes (1044691 compressed) at 0x00000000 in 92.5 seconds (effective 130.9 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin..