PDA

Просмотр полной версии : Контроллеры с RS485 в сеть Ethernet



wallera
20.11.2024, 07:13
Друзья , подскажите как реализовать сие:
У меня несколько одинаковых (Похожие на ПР200) контроллеров-слейвы (ModBus RS485),
хотелось бы объединить их общую(для них) сеть ETHERNET, для мониторинга и управления через
Мастерскада 3.хх или 4D.

1exan
20.11.2024, 07:23
Друзья , подскажите как реализовать сие:
У меня несколько одинаковых (Похожие на ПР200) контроллеров-слейвы (ModBus RS485),
хотелось бы объединить их общую(для них) сеть ETHERNET, для мониторинга и управления через
Мастерскада 3.хх или 4D.

Есть возможность соединить между собой по RS485 эти "похожие на ПР200" контроллеры, или между ними есть только Ethernet?

imaex
20.11.2024, 08:13
Если у Вас Modbus RTU, то лучше сразу не 485 в ethernet, а шлюз Modbus RTU/Modbus TCP. Их на рынке достаточно, на любой кошелёк. Главное, овеновский не берите. :D

melky
20.11.2024, 08:40
не факт что достаточно.

1. канал связи? а то вдруг Internet окажется всего лишь 2G неожиданно

хотя кому я это все, любителям кактусов? :) MasterScada

imaex
20.11.2024, 09:01
не факт что достаточно.


Чё на факт-то? Полно. Как отдельные устройства, так и в составе роутеров.



1. канал связи? а то вдруг Internet окажется всего лишь 2G неожиданно


1. А откуда вдруг Интернет нарисовался? У ТС ни слова, вроде как?
2. 2G. И чего? Для многих задач АСУТП достаточно даже не EDGE, а просто GPRS. Хотя у нас сейчас во многих местах, где в 90-е выделенка на 2400 бод за удачу была, 4G вполне себе работает.

Sergey361
20.11.2024, 09:48
Moxa NPort 5630-16. Или аналоги

Rask
20.11.2024, 10:35
Главное, овеновский не берите. :D
А что с ним так?

EFrol
20.11.2024, 10:36
Была у ОВЕН такая штука https://owen.ru/product/ekon134
С её помощью можно было многое сделать, например, подключить несколько мастеров в одну RS485 сеть, в т.ч. и через Ethernet.
А еще была такая штука https://owen.ru/product/plk304
Этот зверь мог буквально всё, даже через Internet (MQTT) на любое расстояние, в т.ч. и ModbusTCP мог конвертировать во что угодно.
Но увы. Продаж из-за цены не было. Теперь только к ардуинщикам обращаюсь https://www.chipdip.ru/product/uart-to-eth?from=suggest_product + https://www.chipdip.ru/product/rs485-board-3.3v?from=suggest_product

imaex
20.11.2024, 10:48
Была у ОВЕН такая штука https://owen.ru/product/ekon134
С её помощью можно было многое сделать, например, подключить несколько мастеров в одну RS485 сеть, в т.ч. и через Ethernet.

Насколько помню, он более одного подключения не давал делать. Хоть на странице по ссылке и обратное утверждается. Впрочем, настаивать не буду - может с какой-то старой моделью дело имел. Но грустить по поводу ЕКОН не буду - помер максим, да и ... с ним.



Но увы. Продаж из-за цены не было. Теперь только к ардуинщикам обращаюсь

Да-да. На Овене да ардуинщиках свет клином и сошёлся. :D

imaex
20.11.2024, 10:50
А что с ним так?

С ним всё не так. Он держит только 2 подключения по tcp. За такую цену - неадекватен.

Rask
20.11.2024, 11:19
С ним всё не так. Он держит только 2 подключения по tcp. За такую цену - неадекватен.
Ну когда 2 подключений хватает, он работает в принципе без проблем.

EFrol
20.11.2024, 11:23
Думаю здесь https://owen.ru/forum/showthread.php?t=32887&highlight=%CC%CA%CE%CD есть все ответы.

melky
20.11.2024, 11:27
Ее вижу смысла в tcp-rtu преобразователях, если вверху scada.
Что касается интернета по сотовой связи, нужно универсальное решение, а не покупка реальных ip у оператора и выставление голым задом всего и вся в интернет. Надо не только о связи думать в данном случае а ещё и о безопасности.

wallera
21.11.2024, 06:22
Контроллеры ZenTec M245 (Вент-установки "РОВЕН" - 5 шт.) сеть только внутренняя! БЕЗ ИНТЕРНЕТА, Сеть и Скада только для этих установок.
Каков итог Друзья? (MOXA-дорого).

melky
21.11.2024, 06:37
wallera, сеть внутренняя проводная надеюсь? :)
Если moxa дорого, смотрите Teleofis er108 преобразователь.
Или что-то из USR-IOT, в России можно купить официально.
А есть ещё Болид за копейки С2000, только не всякое ПО умеет по UDP работать.
А, про Болид можете забыть, вы же МастерСкаду собрались...

wallera
21.11.2024, 06:50
wallera, сеть внутренняя проводная надеюсь? :)
..

ДА,конечно.

melky
21.11.2024, 07:29
Сеть и Скада только для этих установок.

МастерСкада тоже будет стоить денег в данном случае, или вы на 5 установок планируете поместиться в бесплатные 32 тега?
Опять же ОС? На тот же Linux для MS4D есть ограничения для бесплатного варианта, что может придется покупать.

Берите 2-х портовый Teleofis ER108
https://teleofis.ru/production/converter/konverter-teleofis-er108-r4u2-rel-4-0/?ysclid=m3qte4c3g4218989760
Настройки обмена в scada, в преобразователе только настройки порта и доступа, ну и сетевые.

EFrol
21.11.2024, 07:51
Ее вижу смысла в tcp-rtu преобразователях, если вверху scada.
Что касается интернета по сотовой связи, нужно универсальное решение, а не покупка реальных ip у оператора и выставление голым задом всего и вся в интернет. Надо не только о связи думать в данном случае а ещё и о безопасности.

Я тоже не пойму. Зачем Ethernet? Пусть RS-485-сеть и будет. + https://owen.ru/product/owen_as4 + Scada

melky
21.11.2024, 08:00
EFrol. А доступ к scada типа беги к компьютеру? :)
Тут надо смотреть из соображения удобства, например у меня так.
Счётчик воды Пульсар
Счётчик электрический с MBus
Счётчик Меркурий 236
Овен ПР200

Раньше scada стояла на Raspberry Pi - 4 usb порта и соответственно преобразователя usb-rs485
Потом поменял на Orange Pi2+E а там всего 3 порта usb
Пришлось ПР200 и Меркурий 236 посадить на одну линию. Ну или надо было покупать usb хаб какой-нибудь нормальный.

imaex
21.11.2024, 08:39
Ее вижу смысла в tcp-rtu преобразователях, если вверху scada.

Правда? А сколько преобразователей последовательного интерфейса в ethernet поддерживают множественный доступ? И какова их цена? Перечислите поимённо, пжалста. В шлюзах множественный доступ by design.


Что касается интернета по сотовой связи, нужно универсальное решение, а не покупка реальных ip у оператора и выставление голым задом всего и вся в интернет. Надо не только о связи думать в данном случае а ещё и о безопасности.
Универсальное решение в части использования Интернет как транспорта для связи - VPN. Безотносительно сотовой связи.

imaex
21.11.2024, 08:44
Я тоже не пойму. Зачем Ethernet? Пусть RS-485-сеть и будет.

Зачем 485-я сеть? Пусть оленьи/собачьи упряжки, голубиная почта и т.д. будут.

EFrol
21.11.2024, 08:54
Мне кажется или автор дал чёткое ТЗ? 5 устройств (RS485-slave) + сеть проводная и БЕЗ ИНТЕРНЕТА + SCADA
Осталось уточнить: В пределах одного здания? ПК со скадой в пределах 1200 метров?

melky
21.11.2024, 09:08
imaex ну ER108 два поддерживает. USR-IOT больше вроде, давно не смотрел. Просто цена за преобразователь интерфейсов как правило всегда ниже, чем за преобразователи протоколов.


Универсальное решение в части использования Интернет как транспорта для связи - VPN. Безотносительно сотовой связи.
Не только VPN, а например подключения шлюза в качестве клиента TCP, а на сервере подсеть провайдера в белых адресах, а остальных по борту... + бан всех, кто неправильно логинится.
Вполне актуально для многих модемов без поддержки VPN например. Очень многие могут быть как TCP сервером (нужен белый IP) так и TCP клиентом, где белый IP нужен только со стороны сервера.

imaex
21.11.2024, 09:45
imaex ну ER108 два поддерживает. USR-IOT больше вроде, давно не смотрел. Просто цена за преобразователь интерфейсов как правило всегда ниже, чем за преобразователи протоколов.

Если говорить про mobus rtu, то в самой спецификации протокола нет ничего, что обеспечивало бы множественный доступ. У меня на одном из объектов какой-то USR-IOT из старых серий (не шлюз) стоит. Формально больше 1-го держит, только вот при подключении 2-го уже захлёбывается и ни одного толком уже не обеспечивает - одни ошибки. Что касается цены, то у того же USR-IOT разница в цене между моделями серий М0 и М4 - пара тысяч. Рублей. Вы серьёзно?



Не только VPN, а например подключения шлюза в качестве клиента TCP, а на сервере подсеть провайдера в белых адресах, а остальных по борту... + бан всех, кто неправильно логинится.
Вполне актуально для многих модемов без поддержки VPN например. Очень многие могут быть как TCP сервером (нужен белый IP) так и TCP клиентом, где белый IP нужен только со стороны сервера.
Вы же сами говорили про универсальное решение. А не про это вот всё.

EFrol
21.11.2024, 09:54
Если говорить про mobus rtu, то в самой спецификации протокола нет ничего, что обеспечивало бы множественный доступ. У меня на одном из объектов какой-то USR-IOT из старых серий (не шлюз) стоит. Формально больше 1-го держит, только вот при подключении 2-го уже захлёбывается и ни одного толком уже не обеспечивает - одни ошибки. Что касается цены, то у того же USR-IOT разница в цене между моделями серий М0 и М4 - пара тысяч. Рублей. Вы серьёзно?

Странно! А у меня работает нормально 10 подключений одновременно. Правда таймауты у мастеров до 2 секунд выставлены, но работают без ошибок и потерь.

imaex
21.11.2024, 10:15
А у меня работает

Мне нужно решение, где гарантированно, by design работает. А не "а у меня работает".

melky
21.11.2024, 10:24
imaex, чтобы за преобразователем опрашивать rtu устройства, надо разносить время запросов.
Это вам не умные шлюзы, а сквозные.
Если ваше по этого не умеет, то это как-то ваши проблемы.
Либо покупайте умные шлюзы, которые сами опрашивают устройства, а мастерам отдают из своего буфера, но это другая ценовая категория как бы изначально.

EFrol
21.11.2024, 10:33
Мне нужно решение, где гарантированно, by design работает. А не "а у меня работает".

Ну, извините! Я Вас значит не понимаю.

Вот вырезка из РЭ на ЕКОН-134:
80229
в "UDP с запросом" не важно кто отправил запрос - он ставиться в FIFO-буфер и, получив ответ из RS-485, отправляет его на сокет запросившего
проверено - работает

Вот вырезка из РЭ на ADAM-4570:
80228
до 5 подключения - не проблема
проверено-работает

Вот вырезка из РЭ https://www.chipdip.ru/product/uart-to-eth?from=suggest_product

80230

До 4-х подключений в режиме ТСР.
проверено - работает

Что не так?

imaex
21.11.2024, 11:04
imaex, чтобы за преобразователем опрашивать rtu устройства, надо разносить время запросов.
Это вам не умные шлюзы, а сквозные.
Если ваше по этого не умеет, то это как-то ваши проблемы.

05 25, за рыбу деньги. Да как вы будете разносить время запросов, если априори не знаете, когда и каким образом очередному ПО потребуется данные? И это априори не обязаны быть одинаковые ПО.
Всё пытаетесь какие-то частные решения за добродетель выдать. EFrol, вон, мурзилками кормит.



Либо покупайте умные шлюзы, которые сами опрашивают устройства, а мастерам отдают из своего буфера, но это другая ценовая категория как бы изначально.
Да я как бы Вашего совета не спрашивал. Про цены в том числе.

melky
21.11.2024, 11:10
imaex ну в RapidScada можно разнести запросы, если синхронизировать время серверов по ntp. Я проверял на двух серверах :) А вот когда ПО разное, от ПО зависит.
Опять же, всегда можно создать шлюз, например опрашивать одной scada, другим отдавать по OPC UA как вариант.

Всегда можно найти решение, не выискивая какие-то определенные железки.

надо будет проверить на своем USR-IOT, что-то я тоже сомневаюсь в такой возможности. Судя по последней "мурзилке" там простой преобразователь.

EFrol
21.11.2024, 11:26
Лично для меня вполне очевидно, что все запросы буферизируются в FIFO. Это приводит к большим тайм-аутам (время ожидания ответа).
Если в ПО нет возможности задать тайм-аут, то причем здесь мои "мурзилки"?!

Журнал «Мурзилка» издаётся с 16 мая 1924 года и адресован детям младшего школьного возраста. За 100 лет существования всеми любимого детского журнала его выпуск не прерывался ни разу. В 2012 году «Мурзилка» занесён в Книгу рекордов Гиннесса™ как детский журнал с самым длительным сроком издания в мире.

Я правильно понял? Вы относите себя к младшему школьному возрасту?
Или Вы считаете, что РЭ - это бумашка для дебилов?

melky
21.11.2024, 11:44
просто никогда не проверял на USR-IOT такую возможность. как-то за ненадобностью. Да и на Телеофисе не проверял

EFrol
21.11.2024, 11:55
Сейчас, когда появилось много устройств с ModbusTCP, многие преобразователи стали не нужны.
Если СП3хх опрашивает сама и складывает в себя, то любое ПО может забрать всё через ModbusTCP без задержки.
Я тоже ставлю ПЛК304, если мастеров очень много и каждый запрашивает "кило" данных ...
Однако Вас очередная "мурзилка" вряд ли заинтересует?!:rolleyes:

melky
21.11.2024, 11:57
EFrol а их еще не сняли с производства? 304-е ?

EFrol
21.11.2024, 12:01
В том то и дело, что всё "что нажито непосильным трудом" надо теперь переделывать под доступное железо.

melky
21.11.2024, 12:11
EFrol ну как вариант jethub d1+ и ставить на него openPlc - таким образом можно шлюзы делать из Modbus в Modbus, где железка будет опрашивать сама, а отдавать кому угодно. Там 2 порта RS485 есть.
На этой же железке можно развернуть RapidScada и сделать шлюз в OPC UA опрашиваемых устройств, прибить там БД, оставив только текущие данные. Не ставить web. Тогда шлюз с гораздо больших устройств.

Можно и на других ПЛК попробовать. Зависит что проще и на чем. Если ту же RapidScada можно только настроить, то для ПЛК надо еще и программы писать.

я вот тоже из практики пришел к тому, что в качестве шлюза использовать софтовые вещи, ну нет сейчас такой-то железки, всегда можно найти другую. Лишь бы на нее Linux вставал да dotnet в случае с RapidScada. Хоть тот же WirenBoard, хоть OrangePi хоть какой-то промПК.

EFrol
21.11.2024, 12:35
EFrol ну как вариант jethub d1+ и ставить на него openPlc - таким образом можно шлюзы делать из Modbus в Modbus, где железка будет опрашивать сама, а отдавать кому угодно. Там 2 порта RS485 есть.
На этой же железке можно развернуть RapidScada и сделать шлюз в OPC UA опрашиваемых устройств, прибить там БД, оставив только текущие данные. Не ставить web. Тогда шлюз с гораздо больших устройств.

Можно и на других ПЛК попробовать. Зависит что проще и на чем. Если ту же RapidScada можно только настроить, то для ПЛК надо еще и программы писать.

я вот тоже из практики пришел к тому, что в качестве шлюза использовать софтовые вещи, ну нет сейчас такой-то железки, всегда можно найти другую. Лишь бы на нее Linux вставал да dotnet в случае с RapidScada. Хоть тот же WirenBoard, хоть OrangePi хоть какой-то промПК.

Я с Вами абсолютно согласен. Если стоит Linux, то любой вопрос решаем! Просто я летаю чуть ниже и чуть тише. Мы как то с Вами уже обсуждали esp8266 - помните? MQTT-RS485 шлюз. Я его реализовал и с успехом уже продаю.
https://owen.ru/forum/showthread.php?t=29276&p=422607&viewfull=1#post422607

melky
21.11.2024, 13:19
EFrol я даже деталек накупил, но все некогда заняться :)

EFrol
21.11.2024, 13:25
EFrol я даже деталек накупил, но все некогда заняться :)

Сегодня ровно 1 год с момента нашего разговора. А всё жду, когда эта схема глюканет (все же говорят что Arduino - это говно).
Пол года всё жду, когда я уже сам "убедюсь", что это тоже "мурзилка"!:rolleyes:

melky
21.11.2024, 13:27
EFrol а готовые есть, которые только прошивай под разные задачи? я бы прикупил пару штук. А то реально, деталек накупил, а когда до них доберусь хз просто...

EFrol
21.11.2024, 13:33
EFrol а готовые есть, которые только прошивай под разные задачи? я бы прикупил пару штук. А то реально, деталек накупил, а когда до них доберусь хз просто...

Давайте соберу Вам для пробы (экспериментов). Отправлю через CDEK. О готовности сообщу в ЛС, Вы мне адрес ближайшего к Вам CDEK сбросите.

EFrol
24.11.2024, 10:41
Хочу продолжить тему и обсудить еще одну идею, которая реализована в https://www.chipdip.ru/product/rs232-485-422-to-poe-eth-b
Если я правильно понял, то это устройство позволяет сконфигурировать любую Modbus-таблицу и разместить её в виде топика на MQTT-сервере.
Данные в топике хранятся в JSON-формате.
Т.е. MQTT-сервер становиться Modbus-сервером, а эти устройства работают как двунаправленные ModbusRTU-шлюзы.
Облачный Modbus-сервер!!! Как вам идея?
Удаленная диспетчеризация за копейки!!! Мульти-контроль с разных мест и типов устройств!!!

melky
24.11.2024, 11:33
ниче се за копейки - 4800.

з.ы. если на своих штучках сделаешь таблицу в json, развернуть ее и так наверное будет не проблема, хотя с другой стороны и этого не требуется, если через устроство через топики запросы в rs485 можно отправлять.

https://usriot.ru/din-rail/usr-dr302 - режим TCP клиент на IP сервера - пофигу на протоколы.
Teleofis ER108 - 2 порта RS485 в таком же режиме - пофигу на протоколы (у меня в фисе сейчас на одном порту 7E1 висит Энергомера CE301, на втором порту 8N1 Меркурий 236 и два датчика топлива). Правда в сети, но он точно умеет как TCP клиент подключаться, тестировал уже удаленно у людей). цена 9900 в интернете, делим на 2 порта и за порт сенник вполне, учитывая что там порты с изоляцией.
У китайцев по типу USR на дин рейку можно купить 8-ми (ВОСЬМИ Карл) портовый где-то за 5 рублей :)

Зачем такие вот извращения через mqtt и json тогда ?

EFrol
24.11.2024, 12:01
Вообще-то дело не в деньгах! Ну, если настаиваете?
- ПЕ210 - 8160р. + обон.плата от 810 до 3150 + (субъективно: сервис еще сырой и с ограничениями, периодические технические работы)
- 4800 + MQTT на выбор (есть бесплатные) + возможен обмен между устройствами (Master-Master, Master-Slave, Slave-Slave) + все плюшки OwenCloud в любимой Scada + любой кол-во Scada + доступ с любого устройства (СП3хх, ПР, ПЛК, Android и т.д.)

Основной и жирный "+" защищенный обмен и контроль через Интернет, т.е. полная свобода! Не знаю, как можно не дооценивать такую возможность?!

Единственный "-" - нет 4G. Но это мы разъясним (поправим).

melky
24.11.2024, 12:14
EFrol я просто рассматриваю со своей колокольни, если в RapidScada есть mqtt, ее можно установить на любом облачном сервере, где как правило надо брать реальный IP, иначе как бы зачем брать облако для доступа по WEB? То зачем еще промежуточная железка, которая будет заворачивать что-то во что-то ?

з.ы. без IP не получится администрировать саму scada, ну или с геморроем при копировании конфигураций вручную. Не думаю, что на этом стоит экономить 170р в месяц.

з.ы. На самом деле получится и конфигурировать, есть некоторые механизмы для этого в самой scada.
Но блин все настраивать через mqtt, типа себе ставить приложение на смартфон для mqtt - да ну нафик? я в день прокуриваю столько же, сколько стоит IP в месяц :)
Но при этом сами железки могу использовать гораздо дешевле, чем этот mqtt сервер

EFrol
24.11.2024, 12:28
Представьте себе распространенный случай:
- Где-то в "Хацапетовке" за 250км от "Центра вселенной" (где стоит Ваша Scada) находится водонапорная башня. Датчик уровня, давления, нагрузка на насосы, наличие/отсутствие электроэнергии и т.д. и за всем следит ПР200. Вам очень хочется видеть, что видит и делает ПР. ПР выкладывает данные и принимает управляющие команды через это устройство.

Допустим у меня аллергия на персональные компы. Я не хочу покупать ПК, Windows, Scada и т.д. Меня устроит мой смартфон.
А у моего напарника планшет.

melky
24.11.2024, 12:37
EFrol а где-то в New-Васюки расположен mqtt брокер и связи с ним нет, потому что хуситы перерубили подводный кабель - дальше что?

В любом случае у вас есть точка отказа, будь то mqtt брокер или scada где-то в облаке. А так же провайдер, который дает интернет для объекта в "Хацапетовке" за 250 км от "Центра вселенной"

И кто-то мешает по WEB подключиться сразу к scada системе и нарисованной там мнемосхеме со смартфона или планшета?

EFrol
24.11.2024, 12:49
Разговор слепого с глухим. Один помешан на MQTT, другой на SCADA. Объявляю тайм-аут. Может к теме еще кто подключится?

melky
24.11.2024, 13:22
Нормальный разговор. Только ваш сценарий предполагает либо умение самим устройством mqtt либо modbus + указанный сервер. А в мире есть еще: Логика, Пульсар, Меркурий, Энергомера, MBus и целая куча всякого другого зверья.

И оптимальным решением считаю вашу платку, которая может через mqtt переслать в порт 485 запрос протокола и вернуть его так же обратно, а со стороны сервера разобрать.
Потому что это будет подходить под все и вся.
Либо под каждый протокол писать опрос в устройстве и выдавать уже конечными данными - а это ахренеть занятие по времени

EFrol
24.11.2024, 13:43
Именно этой "платкой" я и занялся, т.к. очень хотел получить дешевую альтернативу ПЛК304 + WiFi или 4G.
А именно дешевое программируемое устройство с интерфейсами RS485 + Ethernet или WiFi.
А далее за счет программируемости реализовывать всё что приспичит:
- Конвертор Ethernet-RS485, в т.ч. и ModbusTCP в ModbusRTU (аналог MKOH-а)
- Конвертор из одного протокола в другой (с поддержкой всех перечисленных Вами устройств)
- MQTT-шлюз - для удаленного доступа ко всем этим устройствам
- да просто использовать как ПЛК, подключая Mx110 или Mx210
- да еще с мульти-подключением (несколько мастеров в одну сеть) и т.д. и т.п.

melky
24.11.2024, 13:53
ну основная проблема это потеря времени на написание протокола. Знаю, о чем говорю.
Был бы пенсионером, да и хрен бы с ним, писал бы. А так, в час по чайной ложке.
Собственных идей для RapidScada масса, не только по драйверам, и все некогда. Тут увидел в нете одну штуку, но не знаю, возможна ли реализовать на вашей плате, надо будет потом проверять.

EFrol
24.11.2024, 14:16
Да. Я понимаю. У меня были заказы на разработку конвертеров под разные устройства.
Если одна проблема - наличие описания протокола, еще как-то решаема, то вторая - отладка без целевого устройства (на пересылку туда-сюда недешевого оборудования никто не соглашается).
Так вот с помощью своей "платки" думал решить эту проблему.
Её можно сделать дистанционно-прошиваемой + дистанционно проверить связь с устройством (получить лог для анализа).
Короче одни плюсы!!!:rolleyes:

melky
24.11.2024, 15:05
EFrol, вы думаете я всё писал имея приборы? :)
Так же, через преобразователи интерфейсов. Например прибоов Логики у меня никогда на руках не было.

melky
05.12.2024, 09:18
Приветствую. Ну поехали :)

1. Роутер на объекте это дополнительные деньги. Надо делать не так. а) открываем коробочку ставим Ethernet (типа в первоначальной покупке берем себе одну такую штуку или берем их под задачу). Настраиваем что нам надо и т.д.
Открываем коробочку и вынимаем к чертям Ethernet, оставляя только модем SIM800. Ну вы поняли, ценник ниже, так как на самом объекте Ethernet-TTL там не будет, а останется только модем. Если на объекте уже есть сеть, соответственно купим Ethernet а модем брать не будем.

2. Нужен режим настройки в примитивном WEB - IP сменить, задать топики, подключения к Wi-Fi, пароли и т.д. в уже готовый и прошитый приборчик. В том числе указать, что при перезагрузке не тыкайся в Ethernet порт так как мы его снимем. Ну или в прошивке проверка наличия Ethnernet один раз при запуске и потом не мучаемся, если его нет. Ну или перемычкой на платке. Не суть. То же с модемом, но тут проще наверное.

3. Если есть какая-то возможность выполнить все настройки через примитивный WEB, но будучи подключенными через RS485 так вообще будет красота. то есть нам не нужен ни Ethernet ни модем при покупке, но позволит настроить wi-fi точку доступа, настройки брокеров и т.д.

Из замеченных минусов - UDP_TX_PACKET_MAX_SIZE - так понимаю фиксированная длина буфера для приема. Тут могу огорчить, масса протоколов, у которых длина ответа заранее неизвестна, может быть пару байт, а может быть десятки байт. Или просто длина ответа варьируется в зависимости от значений блока данных. То есть один ответ 100 байт, а следующий на этот же запрос будет 102 байта.
Нужен способ принимать байты с остановкой по массивам байт (проверка) ранее выставленного таймаута. Учитывая, что в саму железку протокол прошиваться не будет, а запросы из внешнего сервера то как тут быть?
Вариант 1 - может ли устройство сразу отсылать каждый байт (наверное будет печалька)
Вариант 2 - в устройство передать нужные массивы байт в качестве параметра, например при его настройке и научить его приемный буфер с этим работать.

5. предусмотреть возможность установки какого-то АКБ, чтобы при пропадании сети хотя бы несколько минут устройство проработало. Если все же в него будет шить протокол опроса.

6. так понимаю SIM должен уметь подключаться как TCP(UDP) клиент к какому-то серверу при поднятии интернета от провайдера?

з.ы. чисто из опыта работы с драйверами для Scada системы. Вариация с Mqtt взлетит не на всех драйверах, так как там в коде самих драйверов идут проверки на количество принимаемых данных. То есть не тупо задается входной буфер хрензнаеткакойдлины, а именно чтение заголовка принятого ответа, чтение остатка известной длины из заголовка.

EFrol
05.12.2024, 11:28
UDP_TX_PACKET_MAX_SIZE - это MTU - максимальный размер данных в пакете, которые можно передать без фрагментации (508 байт из WiKi (https://ru.wikipedia.org/wiki/UDP))
Из даташита на SIM800L он может создавать как клиентские сокеты, так и серверные (UDP, TCP) https://www.waveshare.com/wiki/File:SIM800_Series_AT_Command_Manual_V1.11.pdf

Создать WEB-страницу для настройки - не проблема, но только для коммерческой серийной реализации.
Я бы хотел оставить это конструктором, чтобы каждый смог реализовать свой творческий потенциал в C++.
Однако есть сомнения - ведь ПЛК304 давал такую возможность, но никто ей не воспользовался.

От заказчиков есть просьба - реализовать настройку через SMS-сообщения. SIM800L поддерживает "белый" список.

АКБ с контроллером заряда-разряда реализовано, как отдельное самостоятельно устройство.

Есть вариант без ENC28J60 с RS232 для подключения к Master-панели СП270 - в ней реализован MQTTGate на уровне прошивки (т.е. без ПК).

melky
05.12.2024, 11:41
EFrol web может быть примитивным, даже должен быть примитивным, только для настройки. Достаточно простого html или что там есть проще с возможностью поменять параметры, а потом перегрузить. Какая-то возможность сбросить, если забыл. Чтобы не прошивать разными прошивками при смене брокера, паролей и т.д.

Ну в любом случае тестить надо, что получится. Пока особо нет понимания, как заставить драйвера пулять не в Com порт, а в топик mqtt без использования дополнительного шлюза.