Arduino(nodemcu) и регулятор котла с rs485

Тема в разделе "Arduino & Shields", создана пользователем avgaz, 12 ноя 2023.

  1. parovoZZ

    parovoZZ Гуру

    Очевидно, что там какой-то API. Чтобы полученные данные как-то интерпретировать, необходимо описание этого API. Если много времени и есть навык, то можно заняться реверс-инжинирингом.
     
  2. parovoZZ

    parovoZZ Гуру

    Там двоичные данные. Хекс - это всего лишь представление этих данных. Их же можно посмотреть как DEC, как Oct ну или в любом другом представлении.
     
  3. avgaz

    avgaz Нерд

    Как я понимаю, что все в не читаемом виде "корябозы" это из за не правильной скорости порта? в другом случае эти двоичные данные были в ASCII хоть на что то похожи(цифры буквы что разбирает API).. Просто запустил ардуину на 9600 которая шлет строку на ttl - rs485 далее он на rs485-USB и уже на терминал ПК и только на 9600 я получаю эту строку на других скоростях идут примерно такие же "корябозы"

    Ну этого ничего нет. Контроллер стоит этот https://tis-belkomin.ru/shop/avtomatika/tis-tronic-260u/ Производитель контроллера как я понял вот этот https://www.brager.pl/pl/oferta/12/oxi-bord-360 только не схем не прошивок что бы понять как там все работает нет. Они же предлагают интернет модуль такой https://www.brager.pl/pl/oferta/5/media-bord-200 который подключается к контроллеру в этот rs485 порт и шлет данные в облако. Я же хотел просто получить данные и уже ардуиной их разделать как нужно
     
  4. parovoZZ

    parovoZZ Гуру

    там числа от 0 до 255 в десятичном или от 00 до FF в 16-тиричном представлении. Ну или от 00000000 и до 11111111 в двоичном (как это видят машины). Если скорости не совпадают, то обмен информацией невозможен - длительности импульсов будут неверно интерпретированы и, как следствие, принятые (или отправленные) символы будут искажены.

    Символы в буквы переводятся вот так:
    ASCII таблица, по которой абсолютно все терминалы переводят символы в буквы
    upload_2023-11-13_20-7-16.png

    Вторая часть таблицы - это уже местная кодировка. Их полно всяких разных. Только для русского языка их штуки четыре. Поэтому если обмен идёт в местном алфавите, то необходимо уточнять, по какой таблице расшифровывать принятые символы.
     
  5. parovoZZ

    parovoZZ Гуру

    ну если так хочется интернет, значит его и придётся купить.
     
  6. ИгорьК

    ИгорьК Гуру

    Проще. Железка (в подавляющем большинстве случаев) шлет в порт данные в виде байтов. Байт может принимать значение 0-255. Причем передача имеет некоторые стандарты - стоповые биты, бит четности.

    Байты могут интерпретироваться или как буквы/цифры согласно таблице или быть только "чистыми" байтами - значить то что они и значат, только цифры.

    Подбирая скорость порта можно увидеть вменяемый текст. Если подбор скорости не позволил это сделать - перед вами просто байты. Они значат то, что решил производитель. Тогда разобраться в этом можно лишь применив методы Шерлока Холмса.
     
  7. avgaz

    avgaz Нерд

    Их нигде нет, да и цена на это не адекватная дороже чем сам регулятор ценик от 18тр до 25тр продают, да и не уверен, что он мне нужен, мне нужно получить данные для своей уже построенной системы в локальную сеть, а как я понял этот модуль просто в их облако шлет данные.
     
  8. parovoZZ

    parovoZZ Гуру

    вполне себе адекватная цена. Она же заряжена под европейского потребителя. А у европейского потребителя минимально средний доход на наши деньги 200к+
    В данном случае вариант остаётся один: купить самый простой логический анализатор и пустится во все тяжкие. Может что и получится.
     
  9. ИгорьК

    ИгорьК Гуру

    Зачем? Он читает данные в UART/порт. Эти данные не текстовые, коль перебрал все скорости и не увидел текста.

    Можно ещё поиграть настройками передачи.

    А дальше - только логический анализатор в черепной голове: поиск старт/стоп последовательностей, попытка понять что за данные между ними. Но думаю что здесь уровень подготовки нужен чуть повыше.
     
  10. avgaz

    avgaz Нерд

    В попытках на гуглить хоть что то по устройствам этого производителя, наткнулся в описании к некоторым, что они работают по протоколу Modbus может быть такое что из за этого такие данные не идут? просто попробовал программу Termite от S2-Team но не какие данных она не получает
     
  11. parovoZZ

    parovoZZ Гуру

    Чтобы произвести реверс инжиниринг.
     
  12. avgaz

    avgaz Нерд

    попробовал смотреть данные через программу Modbus Slave там идут данные уже в таком формате
    Код (Text):

    Rx:000453-01 50 50 50 50 50 50 58 50 F1
    Rx:000454-00 40 40 50 40 58 40 48 40 E3
    Rx:000455-01 50 50 50 50 50 50 58 50 F1
    Rx:000456-00 40 50 50 40 58 48 40 58 58 58 44 C6
    Rx:000457-11 42 74 41 40 51 11 FF F0
    Rx:000458-00 40 50 50 50 50 40 58 50 FC
    Rx:000459-00 50 50 50 50 50 50 58 50 FC
    Rx:000460-00 40 40 50 48 58 40 48 40 8C
    Rx:000461-00 50 50 50 50 50 50 58 50 8B
    Rx:000462-01 40 10 50 10 50 50 18 40 F0
    Rx:000463-00 50 50 50 50 50 50 58 50 F1
    Rx:000464-00 40 50 50 48 50 40 58 40 8C
    Rx:000465-00 50 50 50 50 50 50 58 50 FC
    Rx:000466-00 50 50 50 50 50 40 48 40 E3
    Rx:000467-00 50 40 50 50 58 50 48 50 8A
    Rx:000468-00 50 48 50 40 58 50 48 50 8B
    Rx:000469-00 50 40 50 40 50 50 48 50 F1
    Rx:000470-04 40 50 50 40 58 48 58 50 58 48 44 C5
    Rx:000471-00 50 50 50 50 50 50 58 50 F1
    Rx:000472-00 50 50 50 50 50 50 58 50 8B
    Rx:000473-00 40 48 50 40 58 40 48 40 8A
    Rx:000474-00 40 50 50 40 50 40 58 40 F1
    Rx:000475-00 40 40 50 10 58 40 48 40 83
     
    При нажатии на регуляторе кнопки старт и стоп строки меняются на такие
    Код (Text):

    Rx:000142-00 40 50 50 50 50 50 40 50 58 48 54 C5
    Rx:000156-01 40 50 50 50 50 50 40 50 58 58 54 F1

    Rx:000223-04 50 50 50 50 58 40 40 50 18 48 54 C5
    Rx:000255-04 50 50 50 50 50 48 58 50 58 48 44 C7

    Rx:000294-04 50 50 50 50 50 50 58 58 58 48 44 C4
    Rx:000325-04 50 50 50 50 50 50 58 58 58 48 44 E2

    Rx:000470-04 40 50 50 40 58 48 58 50 58 48 44 C5
    Rx:000482-04 50 50 50 50 50 50 58 58 58 48 54 C5
     
  13. parovoZZ

    parovoZZ Гуру

    Это не модбас
     
  14. Airbus

    Airbus Радиохулиган Модератор

    Дезасемблировать естественно. Как же еще?
     
  15. parovoZZ

    parovoZZ Гуру

    Сан Саныч, ты накатил? В честь чего?
     
    ИгорьК нравится это.
  16. ИгорьК

    ИгорьК Гуру

    :) Ну какгбы...
     
  17. avgaz

    avgaz Нерд

    Вот так выглядит плата дисплея которая параллельно читает по rs485 с контроллера
    001.jpg 002.jpg
    Может это поможет как то
     
  18. User248

    User248 Гик

    @avgaz, правильность запросов и ответов можно определить по контрольной сумме, если она там есть.
     
  19. parovoZZ

    parovoZZ Гуру

    судя по тому, что разные последовательности дают одинаковый хвост, здесь нет никаких контрольных сумм.
     
  20. b707

    b707 Гуру

    Что вы вообще рассчитывали там увидеть?
    Ничего другого кроме подобных строк вы там не увидите.
    Чтобы их расшифровать, нужно описание протокола для этого контроллера или как минимум для аналогичного.