Система Мониторинга И Записи Сигналов Для Arduino И Не Только

Всем привет. Очередная попытка сделать нормальную систему отображения графика значений данных.

Представляю свою разработку - программу "SVisual" - мониторинг сигналов в режиме онлайн и запись архива на диск.

Вы можете смотреть/записывать любые сигналы, не только с Arduino. Сразу валик для грунтовки Идея начала возникать около 7 лет назад, когда я еще работал над автоматизацией.

Силы оказались как бы в развитии на высоком уровне.

Проекту уже больше года.

Все писалось по ходу дела и как позволяло время, сначала монолит - сервер и только просмотр, потом архив, монитор.

Вот я и добрался до Ардуино.

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

Поэтому я решил внести свой вклад в opensrc, чтобы хоть немного отплатить.

Программное обеспечение частично кроссплатформенное — Windows и Linux (CentOS).

Все написано на C++, визуализация — на Qt. Интерфейс и инструкция на русском языке.

Я начал переводить на английский, да.

Система SVisual состоит из трех частей:

  • SVMonitor — графическое приложение для онлайн-просмотра и записи архивов;
  • SVViewer — графическое приложение для просмотра архива записей;
  • SVClient — это специальная библиотека для отправки данных.

    Скетч для Ардуино.

Немного сухое описание возможностей.



Возможности SVMonitor:

— подключение к МК через COM-порт (usb для ардуино), по протоколу Ethernet или Wi-Fi TCP; — опрос значений сигналов в реальном времени с частотой 100 Гц (вниз, те 100 Гц — максимум, по умолчанию 10 Гц), количество устройств и сигналов выбирается пользователем; — допустимое количество сигналов для записи — 2048, количество модулей — 8 (при его превышении ничего страшного не произойдет, будет только предупреждение, предусмотрен резерв); — отображение значений выбранных сигналов на экране монитора в реальном времени; — запись архива сигналов на жесткий диск ПК; — просмотр архива с помощью дополнительного программного обеспечения SVViewer; — возможность устанавливать оповещения о событии (триггерах), запускать пользовательский процесс при срабатывании триггера; — добавление сигнала на просмотр/запись только клиентом, никаких дополнительных движений не требуется.



Архитектура программного обеспечения



Система мониторинга и записи сигналов для Arduino и не только

Здесь, в принципе, думаю, все понятно.

Я скажу несколько слов.

Клиенты передают данные на монитор, монитор передает данные на сервер обработки данных (SVServer.dll).

Сервер управляет буферизацией, записью на диск и обработкой триггеров — пользовательских меток.

Внутри все асинхронно.

Данные передаются на диск каждые 10 минут и сжимаются с помощью zlib. Архивированные файлы получаются в часах, по умолчанию — 2 часа.

Сервер обработки данных можно использовать независимо от монитора, например, чисто как сервис для записи архива.



Пример для Ардуино

   

#include <SVClient.h> void setup() {

Теги: #arduino #monitor #monitoring #Визуализация данных #Разработка на Arduino
Вместе с данным постом часто просматривают: