Добрый день.
Датчик WB-MSW v3 Zigbee.
Постоянно мигает лампа Status. Примерно один раз в секунду.
Подключаю только клеммы питания. клеммы Modbus свободные.
Мигает лампа статус.
Нажимаю кнопку на радио модуле.
Ничего не происходит, лампа статус не реагирует на нажатие.
Вроде, как должна постоянно загореться - такого нет.
На запросы Modbus датчик не отвечает.
Поиском по порту не находится.
Zigbee часть не нужна. Ее можно поломать, при необходимости)
Нужна работа по Modbus RTU.
Прошу подсказать путь восстановления работы датчика.
Такое поведение наблюдаете сразу после включения нового датчика?
Чтобы датчик вышел из этого режима нужно обновить его прошивку. Если используете контроллер Wirenboard, то сделать это удобнее с помощью утилиты wb-mcu-fw-updater: https://wirenboard.com/wiki/Wb-mcu-fw-updater
Добрый день.
“Такое поведение наблюдаете сразу после включения нового датчика?” - раньше датчик работал. Причина перехода в режим загрузчика мне не известна.
Сейчас светодиод статуса мигает 1 раз в секунду всегда, сразу после подачи питания.
Датчик подключен к контроллеру Wiren Board 7 к порту RS485-1.
Предполагаемый адрес modbus = 66. Его точно не помню, 66 был по умолчанию.
Получаю ответ:
2022-09-22 09:56:17,445 Device (66 /dev/ttyRS485-1) is not in bootloader mode! Check connection or slaveid/port
Пробую другую команду:
wb-mcu-fw-updater update-all
Получаю ответ:
2022-09-22 09:55:49,513 Will probe all devices on enabled serial ports of /etc/wb-mqtt-serial.conf:
2022-09-22 09:55:49,516 Probing WB-MSW v.3 (port: /dev/ttyRS485-1, slaveid: 66, uart_params: 9600N2, response_timeout: 0.50)…
2022-09-22 09:55:57,093 No answer from:
2022-09-22 09:55:57,094 WB-MSW v.3 (66, /dev/ttyRS485-1)
2022-09-22 09:55:57,095 Devices are possibly disconnected
2022-09-22 09:55:57,096 0 upgraded, 0 skipped upgrade, 0 stuck in bootloader, 1 disconnected and 0 too old for any updates.
Пробую восстановить доступ к устройству.
root@wirenboard-ATGQDR6T:~# wb-mcu-fw-flasher -d /dev/ttyRS485-1 -a0 -u
/dev/ttyRS485-1 opened successfully.
Send reset UART settings and modbus address command…
Error: Connection timed out.
To flash FW on running device, run
wb-mcu-fw-flasher -d -a <modbus_addr> -j -u -f <firmware.wbfw>
Пробую установить адрес устройства.
root@wirenboard-ATGQDR6T:~# modbus_client --debug -mrtu -b9600 -pnone -s2 /dev/ttyRS485-1 -a0 -t0x06 -r128 66
Data to write: 0x42
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[00][06][00][80][00][42][09][C2]
Waiting for a confirmation…
ERROR Connection timed out: select
ERROR occured!
После этого пробую снова восстановить прошивку:
root@wirenboard-ATGQDR6T:~# wb-mcu-fw-updater recover /dev/ttyRS485-1 -a66
2022-09-22 10:13:12,025 Device (66 /dev/ttyRS485-1) is not in bootloader mode! Check connection or slaveid/port
Для выбора прошивки нужно знать сигнатуру устройства. Напишите серийный номер датчика, я подскажу вам, какая у него сигнатура.
Сеть RS-485 точно правильно подсоединена? Замыканий или обрывов в проводах А и В нет? Пришлите фото подключения датчика со стороны контроллера и со стороны датчика.
Если есть другие modbus-модули, проверьте, работают ли они, если подключить их вместо проблемного датчика.
Кабель Modbus подключен верно. Тут сомнений никаких нет.
Другие модули прекрасно работают на этом порту контроллера, с этим кабелем.
На текущий момент инсталляция на столе.
Повреждений кабеля нет.
Кабель длиной 20см.
Сейчас к порту подключен только один датчик.
Обновил прошивку с помощью утилиты wb-mcu-fw-flasher (Сервисная утилита wb-mcu-fw-flasher — Wiren Board), предварительно скачав прошивку датчика. При этом указывал адрес 1 - как будто настройки обмена были сброшены к заводским.