WiFi-шлюз для опроса MODBUS RTU устройств
Модератор: immortal
-
- Сообщения: 38
- Зарегистрирован: Пт апр 22, 2016 6:15 pm
- Откуда: Уфа / Россия
- Благодарил (а): 5 раз
- Поблагодарили: 6 раз
- Контактная информация:
WiFi-шлюз для опроса MODBUS RTU устройств
Сделал недавно 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
Готов ответить на ваши вопросы. И, конечно же, приглашаю всех на мой канал.
Позволяет вести обмен (в пределах дальности работы 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)
- Рейтинг: 4.65%
- shemnik69
- Сообщения: 590
- Зарегистрирован: Пн дек 24, 2012 3:01 pm
- Откуда: Саратов Saratov
- Благодарил (а): 67 раз
- Поблагодарили: 63 раза
Re: WiFi-шлюз для опроса MODBUS RTU устройств
Спасибо.
ПО задумке весьма интересный вариант.
На выходные хочу попробовать.
На счет варианта подключения МАХ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-БЗ (например зеленый и бело-зеленый) это А-Б.
Суть укладки в том чтобы максимально приблизить топологию к "Шине" увеличение длинны тут не критично а вот снижение общих потерь ощутимо.
ПО задумке весьма интересный вариант.
На выходные хочу попробовать.
На счет варианта подключения МАХ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.16%
- shemnik69
- Сообщения: 590
- Зарегистрирован: Пн дек 24, 2012 3:01 pm
- Откуда: Саратов Saratov
- Благодарил (а): 67 раз
- Поблагодарили: 63 раза
Re: WiFi-шлюз для опроса MODBUS RTU устройств
Для массового использования прошу Вас указаить способ програмирования ESP?
скрипт с сайта почемуто? не скачивается.
Если только копированием через редактор.
какой способ скачивания и прошивки использовать?
PS/ Работает. Скопировал, внёс в ESPlorer. Ок
скрипт с сайта почемуто? не скачивается.
Если только копированием через редактор.
какой способ скачивания и прошивки использовать?
PS/ Работает. Скопировал, внёс в ESPlorer. Ок
-
- Сообщения: 38
- Зарегистрирован: Пт апр 22, 2016 6:15 pm
- Откуда: Уфа / Россия
- Благодарил (а): 5 раз
- Поблагодарили: 6 раз
- Контактная информация:
Re: WiFi-шлюз для опроса MODBUS RTU устройств
Ага, но блин, гораздо же проще поставить сразу 3.3в вариант трансивера. Ну как по мнеshemnik69 писал(а): На счет варианта подключения МАХ485 (микросхема) к 3.3. в. логике ESP8266/ Причем есть вараинт когда схема подключется именно автоматом т.е подключение только RX-TX (2 вывода) а превод в режим передачи по факту подачи сигнала на порт TX.
Такой адаптер есть на Raspberry Pi но по сути, там то же самый уровень 3.3 в
Схема проверена. Подробно про нее вот тут http://electromost.com/news/raspberry_p ... -04-04-120 (рис № 4)
По данную схему есть ЛУТ печатка если кому нужно то предоставлю.
Подтверждаю схема работает и хорошо. Для данного варианта, исходя из реальной стоимости и простоты самое то.
Прикольно. А теперь представьте, что можно не делать один большой сегмент сети RS485, а распределить по дому несколько более мелких сегментов и в каждый воткнуть по wifi-шлюзу. Это же сколько гемора с проводкой сразу отменитshemnik69 писал(а):Кстати у самого сетка МОДБУС уже больше года работает прекрасно. Преобразователь ТСР/Ip Modbus на микроконтроллере (описывал ранее (viewtopic.php?f=8&t=2569)
Сейчас ремонт дома и все коммуникации прекладываю с учетом именно этой сети. Витая пара.
Т.е 6 проводников 3 цвет. (+) и 3 полосатых (-) это питание (24 в.) на конроллерах установлены преобразователи DC-DC 24 на 5 в. И стабилизаторыА пара 3-БЗ (например зеленый и бело-зеленый) это А-Б.
Суть укладки в том чтобы максимально приблизить топологию к "Шине" увеличение длинны тут не критично а вот снижение общих потерь ощутимо.
Скрипт заливается обычным для nodeMCU способом. Например из ESPlorer. Это я забыл упомянуть.shemnik69 писал(а):Для массового использования прошу Вас указаить способ програмирования ESP?
скрипт с сайта почемуто? не скачивается.
Если только копированием через редактор.
какой способ скачивания и прошивки использовать?
Насчёт скачивания скрипта - ну это особенность репозитория такая. Можно скачать скрипт вместе с проектом платы одним архивом по ссылке (линк Download repository)
- shemnik69
- Сообщения: 590
- Зарегистрирован: Пн дек 24, 2012 3:01 pm
- Откуда: Саратов Saratov
- Благодарил (а): 67 раз
- Поблагодарили: 63 раза
Re: WiFi-шлюз для опроса MODBUS RTU устройств
Согласен. Если разбить на сегменты то станет практичнее. Но если есть сетка и наработаны контроллеры то провод практичне.
А вот на счет шлюзов Вы правы.
Еще вопрос. Просмотрел сам скрипт.
В указании есть строка вроде как управление Pin передачи. (RS485_TxOn_Pin = 6) прошу Вас прокоментировать это.
И еще на форуме много тех кто с радостью использует Ваши наработки (я среди них) но прошу Вас максимально тогда прописать способ, "заливки", а главное, какие пины куда подключаются.
Т.е скажем скачиваем скрипт, заливаем в Мк, далее цепляем адапер либо 3.3 либо аналогичный вышеприведенному либо через преобразователь 3.3-5 в и стандартной МАХ485 и получаем прекрасный TCP-Modbus RTU Gate шлюз.
Т.е то чего многим и не хватает для практичского соединения модуля МД и устройств как промышленых так и самодельных по стандарту Modbus.
Как Вам эти предложения. Идея то стоящаяя. И реально востребованная.
А вот на счет шлюзов Вы правы.
Еще вопрос. Просмотрел сам скрипт.
В указании есть строка вроде как управление Pin передачи. (RS485_TxOn_Pin = 6) прошу Вас прокоментировать это.
И еще на форуме много тех кто с радостью использует Ваши наработки (я среди них) но прошу Вас максимально тогда прописать способ, "заливки", а главное, какие пины куда подключаются.
Т.е скажем скачиваем скрипт, заливаем в Мк, далее цепляем адапер либо 3.3 либо аналогичный вышеприведенному либо через преобразователь 3.3-5 в и стандартной МАХ485 и получаем прекрасный TCP-Modbus RTU Gate шлюз.
Т.е то чего многим и не хватает для практичского соединения модуля МД и устройств как промышленых так и самодельных по стандарту Modbus.
Как Вам эти предложения. Идея то стоящаяя. И реально востребованная.
-
- Сообщения: 1138
- Зарегистрирован: Вт янв 29, 2013 9:16 am
- Откуда: Белозерск
- Благодарил (а): 16 раз
- Поблагодарили: 401 раз
- Контактная информация:
Re: WiFi-шлюз для опроса MODBUS RTU устройств
есть для этого max232shemnik69 писал(а): Такой адаптер есть на Raspberry Pi но по сути, там то же самый уровень 3.3 в
Схема проверена. Подробно про нее вот тут http://electromost.com/news/raspberry_p ... -04-04-120 (рис № 4)
По данную схему есть ЛУТ печатка если кому нужно то предоставлю.
Подтверждаю схема работает и хорошо. Для данного варианта, исходя из реальной стоимости и простоты самое то.
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
-
- Сообщения: 119
- Зарегистрирован: Пн авг 24, 2015 11:24 am
- Откуда: Сочи
- Благодарил (а): 4 раза
- Поблагодарили: 14 раз
Re: WiFi-шлюз для опроса MODBUS RTU устройств
а причем тут RS232 если устройства работают на RS485 ?immortal писал(а):есть для этого max232
- shemnik69
- Сообщения: 590
- Зарегистрирован: Пн дек 24, 2012 3:01 pm
- Откуда: Саратов Saratov
- Благодарил (а): 67 раз
- Поблагодарили: 63 раза
Re: WiFi-шлюз для опроса MODBUS RTU устройств
есть для этого max232[/quote]
То что есть, понятно не сильно меняет саму концепцию. Хотя как вариант можно.
Автор предложил простой вариант и если он будет также прост в железе то в этом то его и плюс.
А навертеть на него вское можно конечно. И что получится?
Проще тогда что то готовое.
речь о том что сейчас (ну в данный момент) рисую схему для лут под данный вариант ибо не люблю полуфабрикат. Ну для проверки да, макетка, но вот для размещения, в шкаф или корпус только плата...
Вариант конечно приложу. Зацепило понимаеш... хорошая идея.
Нужно ей дать жить.
То что есть, понятно не сильно меняет саму концепцию. Хотя как вариант можно.
Автор предложил простой вариант и если он будет также прост в железе то в этом то его и плюс.
А навертеть на него вское можно конечно. И что получится?
Проще тогда что то готовое.
речь о том что сейчас (ну в данный момент) рисую схему для лут под данный вариант ибо не люблю полуфабрикат. Ну для проверки да, макетка, но вот для размещения, в шкаф или корпус только плата...
Вариант конечно приложу. Зацепило понимаеш... хорошая идея.
Нужно ей дать жить.
-
- Сообщения: 1138
- Зарегистрирован: Вт янв 29, 2013 9:16 am
- Откуда: Белозерск
- Благодарил (а): 16 раз
- Поблагодарили: 401 раз
- Контактная информация:
Re: WiFi-шлюз для опроса MODBUS RTU устройств
я имею ввиду для преобразования уровня сигналов вместо транзисторной схемы, то есть max232, а лучше max3232 а потом max485GreatBAO писал(а):а причем тут RS232 если устройства работают на RS485 ?immortal писал(а):есть для этого max232
Lubuntu на cubieboard2 + ds9490R
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru
-
- Сообщения: 1138
- Зарегистрирован: Вт янв 29, 2013 9:16 am
- Откуда: Белозерск
- Благодарил (а): 16 раз
- Поблагодарили: 401 раз
- Контактная информация:
Re: WiFi-шлюз для опроса MODBUS RTU устройств
а прошивка nodemcu какая? есть старая с фиксированным набором функций и новая которую надо самому собирать, если новая которую самому собирать то какие опции включать?
у меня тут завалялись старые прошивки, они подойдут?
nodemcu_512k - базовая версия NodeMCU (0.9.2)"
nodemcu_integer_0.9.6-dev_20150704.bin"
nodemcu_float_0.9.6-dev_20150704.bin"
у меня тут завалялись старые прошивки, они подойдут?
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
DietPi на Orange Pi PC + 1wire на esp8266 с прошивкой Homes-smart.ru