Всем привет.
Имеется WB6
Имеется сигнализация, которая общается с адресными датчиками по rs-485 (не modbus)
Практического опыта работы с rs-485 не имел поэтому прошу навести на пусть истинный:
Как прочитать протокол (можно ли самим WB?) чтоб читать датчики сигнализации.
Я так понимаю нужен какой-то сниффер - ищем и протоколируем интересующие нас команды
Подключаеv шину к WB, читаем интересующие нас команды?
Добрый день. “сниффер” в самом простом случае - это serial_tool или minicom
Если по RS-485 идет что-то нестандартное (вред ли, но возможно) - то лучший выбор это логический анализатор типа
https://aliexpress.ru/item/1005001298960550.html
Юзал под виндой Eltima Serial Port Monitor - ничего плохого про него сказать не могу.
цепляем ком к шине , перебираем параметры чтоб опередить скорость и слушаем?
В общем вернулся я к теме. ППКОП сбоит все чаще, а комплектующие сняты с производства. Хочется это все оживить.
Вся конструкция состоит из 3 элементов:
- Сам ППКОП S632-2GSM
- некий конвертер итерфейсов, который как я понимаю конвертирует RS-232 на ППКОП в RS485 для периферии
- модуль расширения “Ладога-А”: с одной стороны RS485,с другой адресный 2-проводный шлейф на котором собственно висят датчики… Питание подаетя по этим же проводам.
Для изучения всего этого добра приобрёл на али некий usb analyser 24mhz8bit.
Подключил к ПО PulseView.
Сначала попробовал запитать модуль расширения Ладога-А и почитать шлейф. Но там полная тишина. Судя по всему для запуска требуется какая-то команда.
Вторым шагом собрал всю схему и попробовал почитать rs485.
Тут уже получилось что-то записать, но я не смог разобраться в софте как определить в целом параметры шины. Методом подбора избавиться от ошибок кадров не получилось.
Дальше тупо знаний не хватает. может кто направит?
Прикладываю 15-секундную запись в которой примерно в середине должно быть зарегистрировано срабатывание от датчика движения с адресом 13. Возможно к этом адресу подставляется еще какой-то адрес, например адрес расширителя (1).
testppkopfirst.pvs (4.8 КБ)
testppkopfirst.sr (2.6 КБ)
Прикладываю 15-секундную запись
запись чего? каналы D4 и D6 - это что?
Так, а как звучит цель?
Сдается мне что не Modbus это.
Цель - научиться с wirenboard читать состояния датчиков.
Параметры rs485 подобрал, научился ловить сообщения.
Начал разбирать протокол . нашел запросы от сигнализации и ответы о состоянии датчика нашел адресацию как расширителя (который с одной стороны сидит на rs485 с другой к нему подключена шина датчиков) так и самих датчиков. может кто нить посмотреть может это что-то напоминает? есть много непонятных мне вещей:
- все сообщения начинаются с байтов AB BA
- в запросе присутствуют какие-то счетчики которые в каждом следующем сообщении увеличиваются на 1, при этом в ответах есть значения 1 из счетчиков повторяющееся дважды
- поля помеченные вопросом даже предположить не могу
и какие они?
115200 остальное по дефолту
в группе в телеге подсказали про crccalc.com исходя из которого получилось узнать что используется crc16 XMODEM
Обновил известные данные.
Добавил примером когда на этой же шине подключена кодовая панель с адресом 127 на которой ввели код
Интересно, то есть “счетчики” просто инерментируются похоже. Но да, уже можно писать скрипт wb-rules для тестового обмена.
может есть пример как взаимодействовать с портом из правил?
Вот тут пример реализации:
Ну и сама документация: GitHub - wirenboard/wb-mqtt-serial: Wiren Board MQTT serial protocol driver