Приветствую всех! Расскажу свой опыт освоения ModBus.
МД установил не так давно, уже с полгода экспериментирую с подключением разных датчиков через SOC ESP8266
Полюбился мне этот копеешный чип с огромными возможностями. Много входов-выходов, куча прошивок в Интернете, собранных различными умельцами под всевозможные датчики и задачи.
Так вот, решил я освоить МодБас прОтокол, накупил на Алишке разных приблуд- адаптер USB_свисток, разных шлюзов RS485-Serial, термогигрометр заказал и адаптер ModBus- 1Wire для подключения термодатчиков DS18B20, коих у меня скопилось довольно много.
В общем напрямую в лоб задача не решилась- родной модуль МажорДома- написан под прОтокол (вернее транспортную основу протокола) ТСР, т.е USB-свисток через RTU он не понимает (хотя можно было бы дописать в МД плагин обмена данными под СОМ-порт, но я уж не смел об этом просить)
Затем я начал мучать ESPшку, в попытках сделать шлюз RS485-TCP.
Не зашло. Хотя перелопатил кучу статей, перепробовал несколько прошивок для ESP- данные по ТСР упорно передаваться не желали.
Использовал статью коллеги
https://modkam.ru/?p=884 , т.к там опыт работы с прошивкой ESP-Easy, а она мне очень нравится удобством работы с ее Веб-интерфейсом. Не прошло. Модуль Ser2Net в этой прошивке не настраивается по Пинам, непонятно что там творится
Первый косяк, который обнаружил- "подарок" от изобретательных кетайцев. На платке шлюза RS485-Serial, которую я использовал для подключения ModBus через USB порт к компу, были ПЕРЕПУТАНЫ обозначения Rx Tx контактов. Отлично.
А ведь я читал где-то мельком, что такое может быть, кажется у Андрея Федорова (у него много статей по устройствам на ModBus)
http://www.bizkit.ru/2019/02/12/12284/
Причем платку я приобрел не самую дешманскую, даже с защитой входов. Но кетайцы обманули, напутали с обозначениями контактов! Причем даже светодиоды-индикаторы на плате, также обозначены наоборот- Rx и Tx обозначены наоборот!
Поменял местами подключение\. вроде начал промаргивать индикатор ответа.
Проверял я работу железа программкой QModMaster- безплатная прога для тестирования устройств Modbus.
Кому надо- гуглите , есть в инете.
Потерял на это безобразие несколько дней. Но надо двигаться дальше.
Перепробовав штук 5 прошивок для ESP, остановился на прошивке Tasmota.
https://tasmota.github.io/docs/Smart-Meter-Interface/
К моему удивлению, там народ основательно разработал плагин для подключения Modbus-устрйств. И не только Modbus!
Но и всего что движется(зачеркнуто) выдает что-то по цифре, включая протокол Ebus для систем отопления. Множество моделей разных счетчиков- готовые конфиги выложены в описаниях
В общем, рекомендую.
После танцев с бубнами, удалось прикрутить свой Modbus-термодатчик через ESP к МД. Причем не по проводам, и не через Мажордомовский модуль Modbus, а по воздуху сразу в MQTT!
Понимаю, что изобрел велосипед (вернее шлюз Modbus-MQTT) , но для меня это был просто прорыв. Причем на прошивке Tasmota я не нашел реализаций в Рунете, или плохо искал может быть..
Теперь данные с датчика через MQTT залетают сразу в Мажор, причем обработку прОтокола делает сам контроллер в ESP, разгружая и без того у меня забитую нагрузкой систему МД.
Кому интересен опыт, могу скинуть ссылки на конкретику. Прошивка в Tasmote очень узкоспециализированная- плагины есть под множество самых разнообразных датчиков/устройств, но их нужно подключать в прошивку компиляцией исходного кода, что не только лишь всем доступно...

- Tasmota.JPG (30.99 КБ) 3118 просмотров