Есть счётчик электроэнергии, который поддерживает чтение и программирование по RS485. Я купил адаптер USB <-> RS485 и конвертер RS485 <-> TCP(WiFi). Не могу настроить:
Подключение PC <-> USB/RS485 <-> Счётчик работает. Контакты подключены A<->A, B<->B.
Петля RS485 <-> TCP на PC тоже работает в обе стороны.
Подключение к счётчику по TCP не работает, хотя на конвертере data мигает при отправке, то есть до конвертера данные доходят.
Я подумал, что, возможно, протокол данных по TCP и по RS485 различается, поэтому сделал эмуляцию последовательного порта:
socat -d -d -d -x pty,raw,b9600,parenb=0,cstopb=1,cs8,link=/tmp/ttyRS485-1 tcp:192.168.1.135:8888
после чего попробовал выбрать в программе счётчика виртуальный порт и подключиться — нет ответа, хота data снова мигает. Сам виртуальный порт работает нормально, я проверял, опять же, через создание петли.
Что ещё можно проверить? Может проблема в буферизации на каком-то уровне? Или может данные неправильно разбиваются на пакеты (в RS485 вообще есть понятие пакета?)? Может для подключения cчётчик <-> конвертер нужно подключить контакты A<->B, B<->A? Но и так тоже не работает.