Это мой первый вопрос. Я пытаюсь включить / выключить отопление с помощью Arduino. Сначала я должен выяснить, как с ним общаться. Мой термостат имеет 4 провода (3 В, GND, A +, B-). Это типичное 2-проводное питание RS-485 + 3 В для питания термостата. Я подключил преобразователь RS-485 к Ethernet, чтобы контролировать протокол и выяснять команды, используемые моим фактическим термостатом, чтобы скопировать их с помощью Arduino (и автоматизировать некоторые задачи). Я начал с монитора Modbus (Serial Port Monitor), и некоторые пакеты имеют контрольную сумму OK, а некоторые пакеты имеют контрольную сумму BAD. Я не знаю конфигурацию порта, поэтому я пробовал 9600 8 бит без четности, 9600 8 бит с четностью, 9600 8 бит с нечетностью и результат тот же. Кажется, что пакеты иногда соответствуют структуре Modbus, но не всегда. Могу ли я предположить, что протокол связи является Modbus? Почему некоторые пакеты более или менее 30% имеют контрольную сумму OK, а 70% - контрольную BAD?
[23/10/2019 19:57:51]
Modbus Response (COM4)
Адрес: 7
Функция: 15 (0x0f) - Запись нескольких катушек
Начальный адрес: 1 Количество: 4
Контрольная сумма: 1454 (ОК)
[23/10/2019 19:57: 52]
Ответ Modbus (COM4)
Адрес: 7
Функция: 1 (0x01) - Считать количество байт катушек: 0
Значения:
Контрольная сумма: 32174 (ОК)
[23/10/2019 19:57:52]
Ответ Modbus (COM4)
Адрес: 7
Функция: 1 (0x01) - Считать количество байт катушек: 1
Значения: 00
Катушки 0-7: 00000000
Контрольная сумма: 20736 (ОК)
[23/10/2019 19:57:52]
Ответ Modbus (COM4))
Адрес: 7
Функция: 15 (0x0f) - Запись нескольких катушек
Начальный адрес: 1 Количество: 4
Контрольная сумма: 33660 (ОК)
[23/ 10/2019 19:57:52]
Ответ Modbus (COM4)
Адрес: 7
Функция: 15 (0x0f) - Запись нескольких катушек
Контрольная сумма: 1 (BAD)
[23/10/2019 19:57:52]
Modbus Response (COM4)
Адрес: 0
Функция: 4 (0x04)- Чтение входных регистров
Контрольная сумма: 1454 (BAD)
[23/10/2019 19:57:53]
Ответ Modbus (COM4)
Адрес: 7
Функция: 1 (0x01) - чтение катушек
Контрольная сумма: 0 (BAD)
[23/10/2019 19:57:53]
Ответ Modbus (COM4)
Адрес: 0
Функция: 7 (0x07) - Чтение Исключения
Контрольная сумма: 32174 (ПЛОХО)
[23/10/2019 19:57:53]
Ответ Modbus (COM4)
Адрес: 7
Функция: 1 (0x01) - Чтение катушек
Контрольная сумма: 256 (BAD)
[23/10/2019 19:57: 53]
Ответ Modbus (COM4)
Адрес: 7
Функция: 15 (0x0f) - Запись нескольких катушек
Начальный адрес: 1 Количество: 4
Контрольная сумма: 256 (ПЛОХО)
Как вы думаете, используется ли протокол Modbus, или я должен попробовать другой протокол? Как я могу быть уверен, что настройки связи с портом (9600 8-битная четность) в порядке?
Спасибо, ребята!