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

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

  1. avgaz

    avgaz Нерд

    Добрый вечер, есть твердотопливный котел с регуляторов, у которого два порта rs485 один использует родной контроллер(дисплей) второй свободны предназначен для опции интернет модуля.. Нужно к данному порту подключить Arduino(nodemcu) и отдавать данные в сеть.. Прикупил три разных конвертера RS485 - TTL MAX485 также TTL(UART) в RS485 ну и USB-RS485.. Подключил последний к ПК и к контроллеру и через программу Terminal-v.1.9b посыпались данные в непонятном виде..
    Код (Text):
    98 E0 00 00 00 06 18 06 00 80 80 00 66 00 00 00 06 00 00 00 06 00 06 00 00 00 18 00 00 00 00 00 1E 00 78 00 00 00 60 00 7E 00 00 00 66 00 00 00 00 00 98 00 00 06 00 00 00 9E 80 00 1E 00 00 00 F8 80 00 00 00 00 00 FE 00 00 18 00 00 06 1E 00 06 00 00 E6 80 86 00 60 E6 80 66 E0 98 E0 00 18 00 06 00 7E 00 80 80 00 78 80 80 06 00 00 00 00 00 00 00 00 00 06 00 1E FE 00 78 98 00 F8 80 66 E0 98 E0 00 00 00 06 06 80 80 00 80 80 00 60 00 00 66 78 00 00 00 66 00 06 00 00 00 18 18 9E 80 00 00 00 66 00 06 00 60 00 7E 60 78 00 00 00 00 00 06 00 00 00 FE 00 00 1E 00 00 00 00 00 66 00 00 FE 00 FE 00 86 00 E6 80 66 E0 98 E0 00 00 00 06 06 80 80 00 80 80 00 60 00 00 66 7E 00 00 00 00 00 06 00 00 00 18 18 9E 80 00 00 00 66 00 06 00 60 00 7E 60 78 00 00 00 00 00 06 00 00 00 FE 00 00 18 00 00 00 00 00 66 00 00 66 98 00 86 00 60 66 E0 98 E0 00 00 00 06 06 80 80 00 80 80 00 60 00 00 66 78 00 00 00 66 00 06 00 00 00 18 18 9E 80 00 00 00 66 00 06 00 60 00 7E 60 78 00 00 00 00 00 06 00 00 00 FE 00 00 1E 00 00 00 00 00 66 00 00 FE 00 FE 00 86 00 E6 80 66 E0 98 E0 00 00 00 06 06 80 80 00 80 80 00 60 00 00 66 78 00 00 00 66 00 06 00 00 00 18 18 9E 80 00 00 00 66 00 06 00 60 00 7E 60 66 00 00 00 00 00 06 00 00 00 FE 00 00 1E 00 00 00 00 00 66 00 00 FE 00 00 E6 80 86 00 66 E0 98 E0 00 00 00 06 06 80 80 00 80 80 00 60 00 00 66 78 00 00 00 66 00 06 00 00 00 18 18 9E 80 00 00 00 66 00 06 00 60 00 7E 60 66 00 00 00 00 00 06 00 00 00 FE 00 00 18 00 00 00 00 00 66 00 00 E0 00 E6 80 06 86 00 66 E0 98 E0 00 00 00 06 06 80 80 00 80 80 00 60 00 00 66 7E 00 00 00 00 00 06 00 00 00 18 18 9E 80 00 00 00 66 00 06 00 60 00 7E 60 66 00 00 00 00 00 06 00 00 00 FE 00 00 18 00 00 00 00 00 66 00 00 66 66 E6 80 00 66 E0 98 E0 00 00 00 06 06 80 80 00 80 80 00 60 00 00 66 7E 00 00 00 00 00 06 00 00 00 18 18 E0 00 00 00 00 00 00 06 00 60 00 7E 60 78 00 00 00 00 00 06 00 00 00 FE 00 00 18 00 00 00 00 00 66 00 00 18 E6 80 98 00 78 66 E0
    Теперь думаю как это все подключить уже к arduino и преобразовать в нормальный формат? есть готовые решения? попробовал различными онлайн конвертерами из HEX преобразовать ничего путевого не выходит
    На фото контроллер и окно программы для ПК

    02.jpg 00.jpg 01.jpg
     
  2. parovoZZ

    parovoZZ Гуру

    это что такое?

    а в каком они должны сыпаться?

    видимо, без родного модуля ничего не выйдет. Оно же готовое решение.
     
  3. ИгорьК

    ИгорьК Гуру

    Начните с переключения в терминале вывода с HEX на ASCII
     
  4. avgaz

    avgaz Нерд

    QUOTE="ИгорьК, post: 311120, member: 2107"]Начните с переключения в терминале вывода с HEX на ASCII[/QUOTE]
    Там идут не понятные символы на скорости 115200 вот это
    Код (Text):
    ˜à<0><0><0>€€<0>€€<0>`<0><0>ff<0><0><0>f<0><0><0><0>f<0><0><0>f<0><0>`<0>~~<0><0><0><0><0><0><0><0>þ<0><0><0><0><0><0><0>f<0><0>xxfà˜à<0><0><0>€€<0>€€<0>`<0><0>ff<0><0><0>f<0><0><0><0>f<0><0><0>f<0><0>`<0>~€€<0><0><0><0><0><0><0><0>þ<0><0><0><0><0><0><0>f<0><0>ffà˜à<0><0><0>€€<0>€€<0>`<0><0>ff<0><0><0>f<0><0><0><0>f<0><0><0>f<0><0>`<0>~~<0><0><0><0><0><0><0><0>þ<0><0><0><0><0><0><0>f<0><0>xxfà˜à<0><0><0>€€<0>€€<0>`<0><0>ff<0><0><0>f<0><0><0><0>f<0><0><0>f<0><0>`<0>~€€<0><0><0><0><0><0><0><0>þ<0><0><0><0><0><0><0
    А вот на 9600 уже что то похоже на какие то значения в HEX идет вот так
    Код (Text):
    0A 2A A0 FE 02 26 0A F4 02 2A 0A FC 0A A6 A0 A0 01 2A 80 F2 0A 2A 0A F4 02 26 80 F2 0A 2A A0 F2 02 20 24 A0 11 28 C0 2A A0 FF 2A A0 A0 11 08 26 0A FC 28 28 A0 C4 28 01 02 26 80 FF 28 FF 0A 2A A0 FD 2A 81 FF 02 26 81 44 00 E1 02 26 81 A0 00 02 26 80 FF 2A A1 FF 02 26 81 FF 2A A1 FD 2A A1 A0 11 02 26 81 FB 02 26 81 E8 02 2A 85 20 D0 02 26 81 E8 2A A1 A0 11 2A A1 FD 0A 2A A1 A0 11 2A A1 FB 2A A1 A0 11 02 2A A1 FF
    А в ASCII так
    Код (Text):
    *€¤(( Ð(Ñ*éà ‘(¦  Ð(ý*€€Ñ* €Ð* €Ñ*€ A&ü*€ð $Ì*í*€<0¡ Ð ((Ñ(Ñ*€ÿ $ Ô Ð¥ ï ((Ð&€è& ¥¡þ*¨ô¡ þ¥þ¦¡î& ´%¡î¥¡ÿ(ÿD(( Ñ&¡ø*¡þ&€ñéà(™* ÿ¥ ÿ ((Ð&(ñ) î(( Ð(Ð* ÿ
    11.jpg 111.jpg 1111.jpg
     
    Последнее редактирование: 13 ноя 2023
  5. ИгорьК

    ИгорьК Гуру

    Могу предложить только общие соображения.
    Раз устройство само гонит данные в порт, без запроса информации, то с большой долей вероятности, оно делает это в текстовом, а не hex, формате. Значит ваша задача методом инженерного тыка найти подходящую скорость и кодировку. Если этот терминал не даёт поменять шрифт - найдите другой, их несколько.

    Возможно я ошибаюсь, и устройство работает в своём хитром формате, но скорее я прав. Поэтому ищите подходящую скорость и шрифт.
     
  6. avgaz

    avgaz Нерд

    Можете посоветовать какой нибудь нормальный
     
  7. ИгорьК

    ИгорьК Гуру

    Вам надо сделать так, чтобы терминал работал с обычной, а не расширенной кодировкой.
     
  8. ИгорьК

    ИгорьК Гуру

    Гугл в помощь, у меня на компе их несколько, но пользуюсь не часто и навскидку не помню. CoolTerm точно есть.
     
  9. parovoZZ

    parovoZZ Гуру

    В винде раньше был свой терминал, но с уходом телефонных модемов его больше там нет. Поэтому для текстовых сообщений остался только putty.
     
    ИгорьК нравится это.
  10. parovoZZ

    parovoZZ Гуру

    Оно может быть запараллелено с дисплеем.
     
    ИгорьК нравится это.
  11. parovoZZ

    parovoZZ Гуру

    Чтобы не париться с кодировками, весь текстовый обмен осуществляется на английском языке. Unicode не применяется - он слишком сложен для мелкопузявых устройств.
     
    ИгорьК нравится это.
  12. ИгорьК

    ИгорьК Гуру

    Не исключено.

    В данном случае мы видим юникод, и это не есть правильно. А про PuTTy я действительно забыл. Там же и KiTTy. Пользуюсь ежедневно для SSH, а они же действительно и про COM порты в теме :)
     
  13. parovoZZ

    parovoZZ Гуру

    как ты определил?
     
  14. avgaz

    avgaz Нерд

    Попробовал её, поигрался с кодировками и шрифтами, но все тоже самое идут те же данные, при изменении скорости данные идут быстрее, но все также "корябозы", если на дисплее регулятора, например изменить что то, например температуры или на жать старт/стоп, то данные сразу идут дополнительно данные.
    11133.jpg
     
  15. parovoZZ

    parovoZZ Гуру

    чтобы вычислить скорость обмена, необходим ослик или ЛА. По осциллограмме необходимо вычислить минимальную длину импульса и по ней вычислить скорость обмена.

    терминал на формирование данных никак не влияет, поэтому они каждый раз одни и те же

    какими шрифтами? какими кодировками? Если текстовое общение на английском (а оно всегда на английском), то никаких кодировок там нет.
    Вообще, откуда информация, что там ТЕКСТ? Если линия запараллелена с дисплеем, то там сырые данные. Никакого текста там, скорее всего, нет.
     
  16. ИгорьК

    ИгорьК Гуру

    Поторопился...
     
  17. ИгорьК

    ИгорьК Гуру

    Значит @parovoZZ прав. Нет там текста.
     
  18. ИгорьК

    ИгорьК Гуру

    Можно подбором. Скорости стандартизованы и не так их много. Но это, конечно, если есть текст.
     
  19. avgaz

    avgaz Нерд

    дак как эти данные получить?
     
  20. avgaz

    avgaz Нерд

    дак если нет текста, то тогда там HEX? и как тогда получить из этого данные?