[Модуль] ModBus (modbus)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

znachok88
Сообщения: 96
Зарегистрирован: Сб май 19, 2018 11:08 pm
Благодарил (а): 26 раз
Поблагодарили: 3 раза

Re: [Модуль] ModBus (modbus)

Сообщение znachok88 » Вс сен 27, 2020 10:29 pm

а как его запустить не как сервис? Я немного нихрена не понял :)
Напишите, что и как, пожалуйста.
Yevgen16
Сообщения: 101
Зарегистрирован: Вс мар 29, 2020 11:20 am
Благодарил (а): 44 раза
Поблагодарили: 13 раз

Re: [Модуль] ModBus (modbus)

Сообщение Yevgen16 » Пн сен 28, 2020 8:35 am

Ну, без базовых понятий в линукс вам будет тяжко настраивать умный дом на малине :(
1. Проверьте на каком порту у вас преобразователь RS485-USB
2. Запустите скрипт командой

Код: Выделить всё

mbmd scan -a /dev/ttyUSB0
где "ttyUSB0" должен быть номер вашего порта, определенный в первом шаге.
3. Если всё верно, то должен быть примерно такой ответ:

Код: Выделить всё

Device 21: SDM type device found, L1 voltage: 234.86
В принципе всё есть в мануале. Ну если на данном этапе всё заработает, то можно двигаться дальше
За это сообщение автора Yevgen16 поблагодарил:
znachok88 (Ср сен 30, 2020 8:51 am)
Рейтинг: 1.16%
Raspberry Pi4B (4Gb) + MegaD + Informer (skysilver)
znachok88
Сообщения: 96
Зарегистрирован: Сб май 19, 2018 11:08 pm
Благодарил (а): 26 раз
Поблагодарили: 3 раза

Re: [Модуль] ModBus (modbus)

Сообщение znachok88 » Ср сен 30, 2020 8:50 am

Yevgen16 писал(а):
Пн сен 28, 2020 8:35 am
Ну, без базовых понятий в линукс вам будет тяжко настраивать умный дом на малине :(
1. Проверьте на каком порту у вас преобразователь RS485-USB
2. Запустите скрипт командой

Код: Выделить всё

mbmd scan -a /dev/ttyUSB0
где "ttyUSB0" должен быть номер вашего порта, определенный в первом шаге.
3. Если всё верно, то должен быть примерно такой ответ:

Код: Выделить всё

Device 21: SDM type device found, L1 voltage: 234.86
В принципе всё есть в мануале. Ну если на данном этапе всё заработает, то можно двигаться дальше
Доброе утро. Я конечно в линуксе 0, но не насколько что бы не понять то что вы написали. В мануале "очень" качественном не указано что после названия порта надо ставить название счетчика. Роздел Websocket API вообще шикарен, так как описали, просто нечего добавить.
Спасибо Вам большое за направление, и подсказки. Как то сяду накидаю маленькую инструкцию для "опытных" линуксоидов
Yevgen16
Сообщения: 101
Зарегистрирован: Вс мар 29, 2020 11:20 am
Благодарил (а): 44 раза
Поблагодарили: 13 раз

Re: [Модуль] ModBus (modbus)

Сообщение Yevgen16 » Ср сен 30, 2020 9:14 am

znachok88 писал(а):
Ср сен 30, 2020 8:50 am
В мануале "очень" качественном не указано что после названия порта надо ставить название счетчика. Роздел Websocket API вообще шикарен, так как описали, просто нечего добавить.
Доброе утро. Ну мануал может и не верх совершенства, но все вопросы, касающие настройки скрипта под себя я нашел там. Но правда копался пару дней :D . Зато сейчас работает так, как хотелось бы. Редко проскакивают ошибки в том, что просто счетчик не доступен, но это не критично, данные не теряются. Там даже можно создать файл mbmd.yaml и там устанавливать настройки порта, mqtt, скорости опроса и т.д. Для примера положил во вложение.

P.S. Забыл добавить, что файл для запуска mbmd как сервиса, тоже немного переделал. И в нем уже указаны пути, что где лежит, и указано, чтобы считывать конфигурацию из файла mbmd.yaml. Тоже добавил во вложение
Вложения
mbmd_serv.zip
(314 байт) 153 скачивания
mbmd.zip
(422 байт) 134 скачивания
За это сообщение автора Yevgen16 поблагодарил:
znachok88 (Вс окт 04, 2020 6:02 pm)
Рейтинг: 1.16%
Raspberry Pi4B (4Gb) + MegaD + Informer (skysilver)
Sawwa
Сообщения: 58
Зарегистрирован: Вс мар 29, 2020 10:39 am
Благодарил (а): 13 раз
Поблагодарили: 7 раз

Re: [Модуль] ModBus (modbus)

Сообщение Sawwa » Пт окт 16, 2020 3:46 pm

Приветствую всех! Расскажу свой опыт освоения 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
Tasmota.JPG (30.99 КБ) 3482 просмотра
За это сообщение автора Sawwa поблагодарили (всего 2):
Lerych (Вс окт 18, 2020 10:39 am) • odinvolk (Сб янв 02, 2021 9:31 am)
Рейтинг: 2.33%
smp36
Сообщения: 6
Зарегистрирован: Ср май 24, 2017 6:34 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: [Модуль] ModBus (modbus)

Сообщение smp36 » Ср ноя 18, 2020 4:50 pm

Всем привет. Может кто помочь по модулю Modbus?
semerkov
Сообщения: 4
Зарегистрирован: Пт окт 02, 2020 7:53 am
Откуда: Новосибирск
Благодарил (а): 3 раза
Поблагодарили: 0
Контактная информация:

Re: [Модуль] ModBus (modbus)

Сообщение semerkov » Пт ноя 20, 2020 11:40 am

Коллеги, помогите пройти затык:

1. MD на последнем образе Raspberry
2. Устройство БМС-ка c RS-485
3. Конвертор USB-RS485 подключен к малине
4. Определяется как /dev/ttyUSB0
5. Поставлен ser2net ( 502:raw:0:/dev/ttyUSB0:115200 NONE 1STOPBIT 8DATABITS -XONXOFF LOCAL -RTSCTS HANGUP_WHEN_DONE)
6. Поставил виртуальный порт (Tibbo VSP) - его настроил на сетевой адрес и порт малины, родная прога от БМС-ки через этот порт работает
7. Модуль MD данных не видит, лог:
wait-data.jpg
wait-data.jpg (105.51 КБ) 3288 просмотров
8. Если между конвертором и БМС поменять местами А и B, то как я понимаю есть какой-то ответ (ЭХО? мусор?):
data.jpg
data.jpg (107.19 КБ) 3288 просмотров
В PHP слаб, помогите где искать...
Yevgen16
Сообщения: 101
Зарегистрирован: Вс мар 29, 2020 11:20 am
Благодарил (а): 44 раза
Поблагодарили: 13 раз

Re: [Модуль] ModBus (modbus)

Сообщение Yevgen16 » Пт ноя 20, 2020 11:53 am

Вместо ser2net попробуйте так https://mjdm.ru/forum/viewtopic.php?f=5 ... 775#p63775
Но вообще модуль TCP Modbus у меня криво работал. Отваливался периодически. Но данные, тем не менее, слал.
За это сообщение автора Yevgen16 поблагодарил:
semerkov (Пт ноя 20, 2020 1:43 pm)
Рейтинг: 1.16%
Raspberry Pi4B (4Gb) + MegaD + Informer (skysilver)
semerkov
Сообщения: 4
Зарегистрирован: Пт окт 02, 2020 7:53 am
Откуда: Новосибирск
Благодарил (а): 3 раза
Поблагодарили: 0
Контактная информация:

Re: [Модуль] ModBus (modbus)

Сообщение semerkov » Пт ноя 20, 2020 1:47 pm

Yevgen16 писал(а):
Пт ноя 20, 2020 11:53 am
Вместо ser2net попробуйте так https://mjdm.ru/forum/viewtopic.php?f=5 ... 775#p63775
Но вообще модуль TCP Modbus у меня криво работал. Отваливался периодически. Но данные, тем не менее, слал.
С mbusd связь появилась, хотя работает весьма странно, светодиод бмс мигает как будто идет непрерывный опрос, хотя модуль modbus опрашивает раз в 10 сек... буду разбираться с mbusd
timurufa86
Сообщения: 65
Зарегистрирован: Вт фев 17, 2015 8:40 pm
Благодарил (а): 19 раз
Поблагодарили: 2 раза

Re: [Модуль] ModBus (modbus)

Сообщение timurufa86 » Чт дек 24, 2020 3:56 pm

Привет всем! подскажите пожалуйста куда копать...,
постоянно останавливается цикл modbus
./scripts/cycle_modbus.php 111111111111111111111THREAD CLOSED: [exec php -q ./scripts/cycle_modbus.php --params "a:0:{}" > /dev/null 2>&1] Backtrace: #0 /var/www/html/cycle.php(447): registerError() #1 {main}
Ответить