Здравствуйте! Подскажите пожалуйста. Пытался записать ИК команды с ДУ пульта от проектора. Сначала попробовал через веб морду. Записал - пытаюсь воспроизвести и ничего не происходит. Попытался через ssh подключиться и попробовать там.
root@wirenboard-ABH2EQJX:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a55 -t5 -r5000 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[37][05][13][88][FF][00][0D][02]
Waiting for a confirmation...
ERROR Resource temporarily unavailable: read
ERROR occured!
Тут я пытался удалить все те записи, которые видимо и так не записались))
Покопался на этом сайте и обнаружил такой список команд:
for b in {5400..5431}
do
modbus_client --debug -mrtu -pnone -s2 $DEV_PORT -a$DEV_ADDR -t0x03 -r$b | grep Data:
done
ERROR Connection reset by peer: read
ERROR Connection reset by peer: read
ERROR Resource temporarily unavailable: read
ERROR Connection reset by peer: read
Data: 0x0000
ERROR Connection reset by peer: read
ERROR Connection reset by peer: read
ERROR Invalid data: too many data
ERROR Connection reset by peer: read
ERROR Connection reset by peer: read
Data: 0x0000
ERROR Resource temporarily unavailable: read
Безрезультатно, как-будто ИК не работает вовсе.
Подскажите, что я делаю не так или это все-таки датчик сам барахлит. Хотя все показания он выдает (температуру, влажность и т.д)
проблема указывает на ошибку чтения данных, скорее всего, из-за проблем со связью по Modbus (неправильный адрес, конфликт на шине, нестабильное соединение и т.д.).
Для настройки и проверки устройства советую воспользоваться данной инструкцией — в ней описан процесс настройки.
Добрый! Адрес указан верный! В mqtt-serial он отвечает. Сейчас попробовал через скрипт, который в конце статьи указан. Он хотя бы ошибки не выдает, а именно читает, ну и там нули соответственно. Буду сейчас пробовать
В общем. Скрипт хоть и подал надежды, но безуспешно((
Ответ хотя бы есть, но ничего не записывается, устройства, которые мешали бы - они отключены. Даже не знаю, что делать
Так, понял одну вещь, надо оказывается отключить mqtt-serial. Отключил, но все равно не работает по инструкции, вроде как записываю, пытаюсь возпроизвести, но безуспешно.
root@wirenboard-ABH2EQJX:~# systemctl stop wb-mqtt-serialroot@wirenboard-ABH2EQJX:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a55 -t5 -r5301 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[37][05][14][B5][FF][00][9D][BA]
Waiting for a confirmation...
<37><05><14><B5><FF><00><9D><BA>
SUCCESS: written 1 elements!
root@wirenboard-ABH2EQJX:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a55 -t5 -r5301 0
Data to write: 0x0
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[37][05][14][B5][00][00][DC][4A]
Waiting for a confirmation...
<37><05><14><B5><00><00><DC><4A>
SUCCESS: written 1 elements!
root@wirenboard-ABH2EQJX:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a55 -t5 -r5101 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[37][05][13][ED][FF][00][1D][1D]
Waiting for a confirmation...
<37><05><13><ED><FF><00><1D><1D>
SUCCESS: written 1 elements!
Пишет, что все норм, хотя ничего не происходит. Может это влияет на то, что расположение датчика плохое?
Вообще пытаюсь записать опускание экрана для проектора. Он находится над датчиком, а датчик соответственно внизу.
А сейчас вовсе пишет, что он занят чем-то. Подскажите, как это убрать?
root@wirenboard-ABH2EQJX:~# modbus_client --debug -mrtu -b9600 -s2 -pnone /dev/ttyRS485-1 -a55 -t5 -r5000 1
Data to write: 0x1
Opening /dev/ttyRS485-1 at 9600 bauds (N, 8, 2)
[37][05][13][88][FF][00][0D][02]
Waiting for a confirmation...
<37><85><06><22><9C>
ERROR Slave device or server is busy
ERROR occured!
рекомендуем проверить, не запущена ли служба wb-mqtt-serial. Для этого выполните:
systemctl status wb-mqtt-serial
Если служба активна — остановите её:
systemctl stop wb-mqtt-serial
Также, по сообщению:
SUCCESS: written 1 elements!
видно, что команды успешно записываются в регистры (например, 5301, 5101 и т.д.), но действия не происходит. Вполне возможно, что причина — недостаточный сигнал ИК-передачи.
Рекомендуем:
— разместить ИК-передатчик ближе к приёмнику;
— обеспечить прямую видимость между устройствами;
— временно расположить их максимально близко, чтобы исключить влияние внешних факторов.
Дополнительно:
— перед записью попробуйте сначала считать значение регистра, затем записать и снова считать — это позволит убедиться, что данные действительно передаются;
— некоторые устройства используют разные команды для включения и выключения — стоит проверить документацию по протоколу.
Также уточните, пожалуйста, есть ли возможность протестировать отправку команд через веб-интерфейс контроллера — он также позволяет записывать значения в регистры и может быть удобен для диагностики.
Рекомендуем проверить, не запущена ли служба wb-mqtt-serial
В том и дело… Она была остановлена на тот момент.
Это сообщение:
SUCCESS: written 1 elements!
Выскакивает в любом случае (при записи, при редактировании, при удалении, при воспроизведении)
Самое интересное, что теперь при попытке записать команду через веб-интерфейс - строка загорается красным
Хотя до моих манипуляций с командной строкой все было хорошо)
Я уже и перезапускал контроллер, и удалял устройство с шины и обратно его подключал.
Безуспешно