WiFi-шлюз для опроса MODBUS RTU устройств

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

ElectronicsInFocus
Сообщения: 38
Зарегистрирован: Пт апр 22, 2016 6:15 pm
Откуда: Уфа / Россия
Благодарил (а): 5 раз
Поблагодарили: 6 раз
Контактная информация:

WiFi-шлюз для опроса MODBUS RTU устройств

Сообщение ElectronicsInFocus » Пт ноя 11, 2016 8:30 am

Сделал недавно WiFi-шлюз MODBUS TCP-RTU на esp8266.
Позволяет вести обмен (в пределах дальности работы wifi-сети) с MODBUS-RTU устройствами используя любой клиент MODBUS-TCP (в т.ч. majordomo с модулем modbus).

Поскольку решение получилось удачным, делюсь им с сообществом.
Шлюз - небольшая плата, которую нужно подключить к сегменту сети MODBUS RTU с устройствами, которые будете опрашивать. Также на шлюз нужно подать питание. Всё. Шлюз подключится к wifi-точке доступа и будет ждать подключений к нему по MODBUS TCP.

Шлюз очень простой и дешёвый в изготовлении.
Для сборки нужно всего несколько копеечных деталей:
1. Модуль на esp8266 (любой, у которого выведены ножки GPIO13, GPIO15, GPIO01, GPIO03). Flash от 512Кб.
2. Трансивер нужного вам физического интерфейса со стороны MODBUS RTU устройства. Например, если вам нужен RS485, то можно использовать любой из аналогов max485, совместимый с 3.3в лог. уровнями. Например, подходящие трансиверы RS485.
3. Источник питания 3.3в 500мА для питания п.1 и п.2 - на ваш вкус.
4. Несколько резисторов 1К для необходимых подтяжек ног esp8266.
В качестве ПО - прошивка nodemcu и скрипт на LUA.

Поскольку я веду блог на youtube, всё достаточно подробно описал и показал в нём. Я подключал к majordomo электросчётчик SDM220 с MODBUS RTU поверх RS485.
Изображение Изображение

Получился небольшой сериал из 4 серий:
Часть 1. Эл. счётчики SDM120, SDM220. Знакомство
Часть 2. Протокол MODBUS
Часть 3. Собираем данные с SDM220 в системе умного дома
Часть 4. Наконец то! Финал по подключению SDM220

Готов ответить на ваши вопросы. И, конечно же, приглашаю всех на мой канал.
За это сообщение автора ElectronicsInFocus поблагодарили (всего 4):
shemnik69 (Пт ноя 11, 2016 2:52 pm) • gorobey (Пн янв 16, 2017 9:21 pm) • directman66 (Пт июн 16, 2017 8:40 am) • ipc2002 (Пт мар 29, 2019 1:29 am)
Рейтинг: 5%
Аватара пользователя
shemnik69
Сообщения: 583
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 61 раз

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Сообщение shemnik69 » Пт ноя 11, 2016 3:42 pm

Спасибо.
ПО задумке весьма интересный вариант.
На выходные хочу попробовать.
На счет варианта подключения МАХ485 (микросхема) к 3.3. в. логике ESP8266/ Причем есть вараинт когда схема подключется именно автоматом т.е подключение только RX-TX (2 вывода) а превод в режим передачи по факту подачи сигнала на порт TX.
Такой адаптер есть на Raspberry Pi но по сути, там то же самый уровень 3.3 в
По данную схему есть ЛУТ печатка если кому нужно то предоставлю.
Подтверждаю схема работает и хорошо. Для данного варианта, исходя из реальной стоимости и простоты самое то.
Кстати у самого сетка МОДБУС уже больше года работает прекрасно. Преобразователь ТСР/Ip Modbus на микроконтроллере (описывал ранее (http://majordomo.smartliving.ru/forum/v ... f=8&t=2569)
Сейчас ремонт дома и все коммуникации прекладываю с учетом именно этой сети. Витая пара.
Т.е 6 проводников 3 цвет. (+) и 3 полосатых (-) это питание (24 в.) на конроллерах установлены преобразователи DC-DC 24 на 5 в. И стабилизаторыА пара 3-БЗ (например зеленый и бело-зеленый) это А-Б.
Суть укладки в том чтобы максимально приблизить топологию к "Шине" увеличение длинны тут не критично а вот снижение общих потерь ощутимо.
Последний раз редактировалось shemnik69 Пт дек 20, 2019 10:30 pm, всего редактировалось 2 раза.
За это сообщение автора shemnik69 поблагодарил:
ElectronicsInFocus (Пт ноя 11, 2016 8:12 pm)
Рейтинг: 1.25%
Аватара пользователя
shemnik69
Сообщения: 583
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 61 раз

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Сообщение shemnik69 » Пт ноя 11, 2016 6:49 pm

Для массового использования прошу Вас указаить способ програмирования ESP?
скрипт с сайта почемуто? не скачивается.
Если только копированием через редактор.
какой способ скачивания и прошивки использовать?

PS/ Работает. Скопировал, внёс в ESPlorer. Ок
ElectronicsInFocus
Сообщения: 38
Зарегистрирован: Пт апр 22, 2016 6:15 pm
Откуда: Уфа / Россия
Благодарил (а): 5 раз
Поблагодарили: 6 раз
Контактная информация:

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Сообщение ElectronicsInFocus » Пт ноя 11, 2016 8:22 pm

shemnik69 писал(а): На счет варианта подключения МАХ485 (микросхема) к 3.3. в. логике ESP8266/ Причем есть вараинт когда схема подключется именно автоматом т.е подключение только RX-TX (2 вывода) а превод в режим передачи по факту подачи сигнала на порт TX.
Такой адаптер есть на Raspberry Pi но по сути, там то же самый уровень 3.3 в
Схема проверена. Подробно про нее вот тут http://electromost.com/news/raspberry_p ... -04-04-120 (рис № 4)
По данную схему есть ЛУТ печатка если кому нужно то предоставлю.
Подтверждаю схема работает и хорошо. Для данного варианта, исходя из реальной стоимости и простоты самое то.
Ага, но блин, гораздо же проще поставить сразу 3.3в вариант трансивера. Ну как по мне ;)
shemnik69 писал(а):Кстати у самого сетка МОДБУС уже больше года работает прекрасно. Преобразователь ТСР/Ip Modbus на микроконтроллере (описывал ранее (viewtopic.php?f=8&t=2569)
Сейчас ремонт дома и все коммуникации прекладываю с учетом именно этой сети. Витая пара.
Т.е 6 проводников 3 цвет. (+) и 3 полосатых (-) это питание (24 в.) на конроллерах установлены преобразователи DC-DC 24 на 5 в. И стабилизаторыА пара 3-БЗ (например зеленый и бело-зеленый) это А-Б.
Суть укладки в том чтобы максимально приблизить топологию к "Шине" увеличение длинны тут не критично а вот снижение общих потерь ощутимо.
Прикольно. А теперь представьте, что можно не делать один большой сегмент сети RS485, а распределить по дому несколько более мелких сегментов и в каждый воткнуть по wifi-шлюзу. Это же сколько гемора с проводкой сразу отменит :)

shemnik69 писал(а):Для массового использования прошу Вас указаить способ програмирования ESP?
скрипт с сайта почемуто? не скачивается.
Если только копированием через редактор.
какой способ скачивания и прошивки использовать?
Скрипт заливается обычным для nodeMCU способом. Например из ESPlorer. Это я забыл упомянуть.
Насчёт скачивания скрипта - ну это особенность репозитория такая. Можно скачать скрипт вместе с проектом платы одним архивом по ссылке (линк Download repository)
Аватара пользователя
shemnik69
Сообщения: 583
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 61 раз

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Сообщение shemnik69 » Пт ноя 11, 2016 8:37 pm

Согласен. Если разбить на сегменты то станет практичнее. Но если есть сетка и наработаны контроллеры то провод практичне.
А вот на счет шлюзов Вы правы.
Еще вопрос. Просмотрел сам скрипт.
В указании есть строка вроде как управление Pin передачи. (RS485_TxOn_Pin = 6) прошу Вас прокоментировать это.
И еще на форуме много тех кто с радостью использует Ваши наработки (я среди них) но прошу Вас максимально тогда прописать способ, "заливки", а главное, какие пины куда подключаются.
Т.е скажем скачиваем скрипт, заливаем в Мк, далее цепляем адапер либо 3.3 либо аналогичный вышеприведенному либо через преобразователь 3.3-5 в и стандартной МАХ485 и получаем прекрасный TCP-Modbus RTU Gate шлюз.
Т.е то чего многим и не хватает для практичского соединения модуля МД и устройств как промышленых так и самодельных по стандарту Modbus.
Как Вам эти предложения. Идея то стоящаяя. И реально востребованная.
immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 383 раза
Контактная информация:

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Сообщение immortal » Пт ноя 11, 2016 10:38 pm

shemnik69 писал(а): Такой адаптер есть на Raspberry Pi но по сути, там то же самый уровень 3.3 в
Схема проверена. Подробно про нее вот тут http://electromost.com/news/raspberry_p ... -04-04-120 (рис № 4)
По данную схему есть ЛУТ печатка если кому нужно то предоставлю.
Подтверждаю схема работает и хорошо. Для данного варианта, исходя из реальной стоимости и простоты самое то.
есть для этого max232
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
GreatBAO
Сообщения: 119
Зарегистрирован: Пн авг 24, 2015 11:24 am
Откуда: Сочи
Благодарил (а): 4 раза
Поблагодарили: 14 раз

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Сообщение GreatBAO » Пт ноя 11, 2016 11:03 pm

immortal писал(а):есть для этого max232
а причем тут RS232 если устройства работают на RS485 ?
Аватара пользователя
shemnik69
Сообщения: 583
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 61 раз

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Сообщение shemnik69 » Пт ноя 11, 2016 11:11 pm

есть для этого max232[/quote]
То что есть, понятно не сильно меняет саму концепцию. Хотя как вариант можно.
Автор предложил простой вариант и если он будет также прост в железе то в этом то его и плюс.
А навертеть на него вское можно конечно. И что получится?
Проще тогда что то готовое.
речь о том что сейчас (ну в данный момент) рисую схему для лут под данный вариант ибо не люблю полуфабрикат. Ну для проверки да, макетка, но вот для размещения, в шкаф или корпус только плата...
Вариант конечно приложу. Зацепило понимаеш... хорошая идея.
Нужно ей дать жить. :D
immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 383 раза
Контактная информация:

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Сообщение immortal » Сб ноя 12, 2016 3:59 pm

GreatBAO писал(а):
immortal писал(а):есть для этого max232
а причем тут RS232 если устройства работают на RS485 ?
я имею ввиду для преобразования уровня сигналов вместо транзисторной схемы, то есть max232, а лучше max3232 а потом max485
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
immortal
Сообщения: 1112
Зарегистрирован: Вт янв 29, 2013 9:16 am
Откуда: Белозерск
Благодарил (а): 15 раз
Поблагодарили: 383 раза
Контактная информация:

Re: WiFi-шлюз для опроса MODBUS RTU устройств

Сообщение immortal » Сб ноя 12, 2016 11:32 pm

а прошивка nodemcu какая? есть старая с фиксированным набором функций и новая которую надо самому собирать, если новая которую самому собирать то какие опции включать?
у меня тут завалялись старые прошивки, они подойдут?
nodemcu_512k - базовая версия NodeMCU (0.9.2)"
nodemcu_integer_0.9.6-dev_20150704.bin"
nodemcu_float_0.9.6-dev_20150704.bin"
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
Ответить