Zigbee Sonoff Zigbee Bridge pro
Sonoff Zigbee Bridge Pro
Задача - отвязать от всяких облаков, вся работа должна проходить локально
Что нужно
- паяльник/припой/флюс
- переходнтк на TTL (5 вольт спалит нахуй все) )(https://microcontrollerslab.com/ftdi-usb-to-serial-converter-cable-use-linux-windows/)
- Провода/гребенки если хочется сделать разборное соединение
Пайка
Распаять гребенку что бы было проще жить (конечно надо было обточить но руки-крюки)
Подключение
У меня вот такой (плюс/минус) конвертер с USB на 3.3/5v Serial
В случае с ESP требуется уровеь 3.3V - выбрать на плате джампером, проверить вольтметром
Подключаю вот так:
На что тут смотреть:
- Синими стрелками помечена земля - важно что бы 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
Софт
- Установить из brew:
brew install esptool
- или руками https://github.com/espressif/esptool/releases
Определение типа платы
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
Прошивка
Скачать можно тут: http://ota.tasmota.com/tasmota/release/
Нужный файл - tasmota-zbbridge.bin
esptool.py --port /dev/tty.usbserial-A5XK3RJT write_flash -fs 1MB -fm dout 0x0 ~/Downloads/tasmota-zbbridge.bin
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... Unexpected chip id in image. Expected 0 but value was 3584. Is this image for a different chip model? Flash will be erased from 0x00000000 to 0x000b9fff... Compressed 760064 bytes to 532981... Wrote 760064 bytes (532981 compressed) at 0x00000000 in 47.1 seconds (effective 129.0 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...