Pull to refresh

Comments 8

Я думаю нужно конкретизировать Ваш комментарий.

Может железки Вы производите и хорошие, но, туториал на троечку:

  1. Зачем вендовый подход с перезагрузкой железки?

    sudo reboot

    Когда можно просто запустить сервис?

    sudo systemctl start nodered.service

  2. "Ставим Node-red, импортируем пример и пользуем все через параметры в HTTP запросах" - ну это выглядит как выстрел из пушки по комару.

  3. Лично у меня в ряде случаев это компонент начинал сбоить, особенно при высокой интенсивности обмена,

    1. в одном инстансе раз в пару недель теряется связь с адаптером и помогает перезагрузка node-red

    2. на другом, может специфика устройства, но при наличии блока, вычитывающего раз в секунду текущие значения регистров и выполнении записи регистров компонент отваливался и сыпал ошибки с таймаутами в консоль. Мне кажется, что для простого конвертера можно найти более надежное решение.

  4. Ну и с точки зрения безопасности: это рука-лицо, я понимаю, что мануал просто показывает концепцию, но вы же расписали все для ЦА пользователей, которые выполнили команды в консоли и на этом успокоились, при этом в мануале ни слова про безопасность, а потом у нас полгорода остается без света и люди не могут неделю получить свою посылку т.к. база йокнулась.

    1. Node-RED без аутентификации, т.е. по сети кто угодно может подлкючиться и написать свой "код", выполняющий все, что угодно, ну как минимум бы сказали, что можно в настройках добавить пользователей в самом Node-RED

    2. HTTP API (не поднимается язык назвать его RESTом) без аутентификации от слова совсем, всяких rate-limit нет

    3. HTTP API (все еще не могу назвать его RESTом) просто принимает кучу параметров, ну как минимум вынести некоторый уровень абстракции, когда GET /modbus/value_name будет трансформироваться в чтение нужных регистров, которые могут меняться от устройства к устройству, а POST /modbus/value_nameс валидацией значения для записи и для разработчика интерфейса это будут осмысленные запросы.

    4. А есть модули, которые генерируют swagger для HTTP методов в Node-RED, за что разработчик веб интерфейса скажет спасибо

Я понимаю, что это пример и сам поток был взят из примера, но из текущего описания я могут сделать только один вывод: 9 закладок на статью (на момент написания моего комментария) - 9 потенциально уязвимых системы в наше неспокойное время и хорошо, если это будет не критически важная инфраструктура.

Спасибо, про безопасность думал хотя-бы вскользь написать,но что-то решил оставить на усмотрение пользователя, хотя если сеть чисто технологическая можно и без авторизации, пром протоколы там гуляют в открытом виде, в интернет конечно нужна защита. Http связку не тестил долго, но сам модуль modbus работает по rtu пол года без перезагрузки, с высокой нагрузкой и разными скоростями, там вдовесок ещё can. Посмотрите, возможно у вас копится очередь сообщений?

Зато вот если хакеры пройдут внешний периметр то перенастраивать центрифуги установок обогащеного урана им будет легко и удобно :)

Это промышленные протоколы обмена данными, modbus rtu работает поверх rs485 шины, а modbus tcp поверх ethernet

Что такое "modbus rtu" и "modbus tcp" понятно. А что означает термин "Modbus RTU TCP"? Надо-бы как-то исправить. Напишите, например, "семейство протоколов MODBUS", или просто MODBUS.

Sign up to leave a comment.

Articles