ПО верхнего уровня для Arduino (SCADA для Arduino)
- Войдите на сайт для отправки комментариев
Добрый день.
Есть ли какая-нибудь простая SCADA для Arduino,
что-то аналогичное WinCC или Intouch (но менее «тяжелое»)?
На компьютере (приложение Windows) нужно написать простую программу,
которая будет забирать данные с Arduino (по USB или Ethernet) и отображать их на компьютере (в основном графики).
Понимаю, что можно использовать OPC сервер для Arduino и подключить ее к любой скаде, той же WinCC или Intouch но эти программы слишком «тяжелые» для маленьких проектов,
или написать программу самому на том же Delphi, Visual Studio и т.п.
но хотелось бы использовать какой-нибудь конструктор, если такой есть, или ограничиться минимум в программировании (приложения под Windows).
Существует ли «стандартная» программа от Arduino для этих задач?
Какой программой обычно пользуются для этих целей?
Например, нужно отобразить данные с 10 датчиков (подключенных к Arduino) на Widows, подключение к Arduino USB или Ethernet (в зависимости от удаленности ПК от Arduino).
Как проще всего это сделать? В какой среде написать?
Не знаю насчет тяжести, но я знаю, что есть такая штука, как PRTG. На ардуину SNMP-прошивку накатить, PRTG натравить на ардуину. Во фриварной версии как раз 10 (или 100 - не помню) сенсоров доступно для опроса. Еще есть MRTG, но оно генерит картинки для последующего отображения на web-страницах, т.е. условно-автономное.
спасибо за ответ,
а на чем Вы "обычно" пишите такие приложения, в какой среде?
Существует ли «стандартная» программа от Arduino для этих задач?
Какой программой обычно пользуются для этих целей?
Разработчики Ардуино эту роль отвели Processing, и даже на данном форуме есть соответствующий раздел.
Я - ни на чем. Я весь environment data загоняю в Zabbix. Но он не под Windows (однако может быть в виртуалке запущен) и несколько избыточен для 10 сенсоров. Просто у меня дома openmediavault server работает, я на него еще и заббикс накатил, так что специально ничего ставить-писать не пришлось.
Разработчики Ардуино эту роль отвели Processing...
а у Processing есть "стандартные" компоненты построения графиков и архивирование данных (база данных)?
Вы какую задачу на ардуине решать собираетесь, что вам потребовалось скаду прикручивать?
https://ru.wikipedia.org/wiki/Processing
Вы какую задачу на ардуине решать собираетесь, что вам потребовалось скаду прикручивать?
ничего особенного, просто хочу отобразить графики с 10 датчиков, главное чтобы компонент отображение крафиков был удобный, с возможность листать график и смотреть какое значение было в указанное время.
ну и чтобы данных были записаны в какой-нибудь файл (архивировались в базу данных), но для такой задачи не хотелось бы особо программировать...
График с произвольным периодом на Zabbix
И для этого вы не придумали ничего лучше, чем скаду прикрутить? Это все равно, как для вывоза навоза на садовый участок пытаться приспособить карьерный самосвал, мотивируя, что обращаться с содержимым кузова там исключительно удобно.
И для этого вы не придумали ничего лучше, чем скаду прикрутить? Это все равно, как для вывоза навоза на садовый участок пытаться приспособить карьерный самосвал, мотивируя, что обращаться с содержимым кузова там исключительно удобно.
чтобы Вы посоветовали использовать для этой задачи?
попробуйте Serial Plot : https://hackaday.io/project/5334-serialplot-realtime-plotting-software
програма принимает данные по SerialPort и на их основании рисует графики.можно настоить прием данных просто через запятую а можно предложенным в программе фреймом .
Вы какую задачу на ардуине решать собираетесь, что вам потребовалось скаду прикручивать?
ничего особенного, просто хочу отобразить графики с 10 датчиков, главное чтобы компонент отображение крафиков был удобный, с возможность листать график и смотреть какое значение было в указанное время.
ну и чтобы данных были записаны в какой-нибудь файл (архивировались в базу данных), но для такой задачи не хотелось бы особо программировать...
Processing - достаточно простой и достаточно мощный инструмент для создания анимаций (см., например ролик здесь: https://habr.com/post/58314/). Степень убогости графика зависит исключительно от писателя.
Начать хотя бы вот с этого чтива: https://speckyboy.com/open-source-javascript-data-chart-libraries/
А вообще, занятно, как люди, освоившие некую предметную область, в определенный момент решают больше не напрягаться с изучением нового. То на здешнем форуме один знаток веб-технологий требовал немедленно прикрутить memcached к ардуине, т.к. без этого лично ему ардуина казалась бесполезной, теперь вот скада нарисовалась по той же причине. С ужасом жду, когда 1С-программисты проявят к ардуине интерес. Ветка "Мигаем светодиодом на арудине через 1С Бухгалтерию" определенно станет на какое-то время весьма бурливой на здешнем форуме.
Для Processing есть несколько библиотек построения графиков. Мне понравилась grafica, много возможностей 2D графики, но весьма скудная документация, довольно долго возился с библиотекой но многое осталось неосвоенным. Пример обработка 3 параметров с Ардуины и построение графиков . Больше информации на сайте, но он пока не доступен, какие то проблемы с хостингом.
Занимаюсь автоматизацией на Delphi
У себя на сайте выложил пример работы с визуальными компонентами, которые я использую для работы с удалённым устройствами
https://kandiral.ru/delphi/mini_scada_sistema_na_delphi.html
Компоненты работают по протоколом Modbus RTU, Modbus TCP и Modbus ASCII. Описание работы с протоколаме есть на сайте
пришли отстой пиарить?! оно наверно на дискетах пятидюймовых? не смешите,браузер давно все визуализирует идеально.
ПС. Тут ардуину на UTF запресовали, нет ли Modbus UTF8 для апгрейда с Modbus ASCII?
пришли отстой пиарить?! оно наверно на дискетах пятидюймовых? не смешите,браузер давно все визуализирует идеально.
Почему отстой? Для тех кто предпочитает Delphi для работы с устройствами, это очень удобно и практично.
ПС. Тут ардуину на UTF запресовали, нет ли Modbus UTF8 для апгрейда с Modbus ASCII?
Моя библиотеки Modbus ASCII для Arduino работает в независимости от того как обрабатывается текст, так как пакеты протокола рассматриваются как байтовый массив и к тексту не привязываются.