Перейти к содержанию
    

Облачные системы сбора и отображения данных с приборов

Здравствуйте!

 

На что облачное (необлачное?) посмотреть для задачи чтения доставленных данных с приборов и показа их разным пользователям в виде красивых таблиц- графиков?

 

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

1) прочитать данные из файла, расположенного в указанном месте и добавит их в базу собранных данных. Как опция- принять данные по протоколу (прибор сам передает данные сразу в облако по нужному протоколу).

2. отобразить в нужном виде. Разные пользователи видят разные данные, это конфигурируется.  Например:

2.1) Пользователь после логина видит самые свежие  прочитанные значения на фоне "карты" расположения приборов. После клика на прибор- попадает на таблицы-графики

2.2) просто графики и таблицы по собранным данным, за запрошенный интервал времени

3) полезно если есть реакция на выход данных за указанные пределы (наример, емейл переслать), ну и всякие плюшки вроде "время последнего сеанса связи" и разные сводные отчеты по данным.

 

Наверняка есть подобное облачное, типа каких-нибудь гугл таблиц или еще чего. Куда  вообще смотреть? Как нужное мне сейчас правильно назвается для поиска в интернете?

Хочется заплатить денюжку, прочитать документацию и начать пользоваться: Настроить доставку данных, и организовать пару карасивых графиков и картинок для вывода данных.

 

Другой путь: купить такой софт, но не общий database и программить с нуля, а готовую базу данных с уже написанным GUI пользователя, ну и ее поставить на отдельном компе (подобно тому, как это просто делается для фтп с какой-нить Файлзиллой). Но, подозреваю, это более много денег требует. Или все мои хотелки может хитрая надстройка над таблицами экселя сделать? Или другой какой пакет? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я бы смотрел на IoT в исполнении Amazon, Microsoft  и тп. Забирать из файла вариант нынче маргинальный, думаю что большинство вендоров будут ждать посылки сообщений в свое облако. Хотя всегда можно написать "коннектор" который вычитает ваш файл, но это уже не то zero configuration которое вы хотите. Отображения временных срезов, "правила" по которым триггерятся разные события (ваш 3)), гео-опции скорее всего есть.

Ключевые слова IoT, time-series database, grafana (это такая платформа мониторинга, рисования картинок и тп. Сейчас популярна и много где применяется)

 

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

Да, никакого локального GUI пользователя это все не предусматривает, смотреть в браузере. В лучшем случае будет мобильное приложение.

Изменено пользователем abcalex12

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это серьёзная разработка за бабло? Или это для личного пользования? Есть такой человек https://xdevs.com/services/ на его страничке есть то что вы описали онлайн наблюдение за приборами. По моему он все скрипты выкладывал. Человек наш понимает по русски. Так что можно непонятное уточнить думаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, Grafana опенсорсный продукт, работает с разными базами в кач. источника данных, в тч и с традиционными реляционными. Это можно поставить на компе. Насчет гео-фич не уверен, есть ли.   


У них также есть сервис -- облако с всем их хозяйством. Возможно, это почти то, что вам нужно. Но что-то, специфичное для ваших устройств, написать придется. https://grafana.com/products/cloud/#pricing

PS какие-то гео-плагины есть.

Изменено пользователем abcalex12

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

59 minutes ago, MegaVolt said:

Это серьёзная разработка за бабло? Или это для личного пользования? Есть такой человек https://xdevs.com/services/ на его страничке есть то что вы описали онлайн наблюдение за приборами. По моему он все скрипты выкладывал. Человек наш понимает по русски. Так что можно непонятное уточнить думаю.

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

Спасибо, сайт посмотрел. Но там другое, там нижний уровень (общение с приборами по их шинам), который меня сейчас не интересует. Интересует только верхний уровень, а не скрипты для GPIB. 

3 minutes ago, abcalex12 said:

Да, Grafana опенсорсный продукт, работает с разными базами в кач. источника данных, в тч и с традиционными реляционными. Это можно поставить на компе. Насчет гео-фич не уверен, есть ли.   


У них также есть сервис -- облако с всем их хозяйством. Возможно, это почти то, что вам нужно. Но что-то, специфичное для ваших устройств, написать придется. https://grafana.com/products/cloud/#pricing

PS какие-то гео-плагины есть.

 

Нет-нет, у меня не гео. Речь идет о, например, картинке объекта с циферками, типа как в Скадах разных. То есть я рисую картинку и на ней указываю в каком месте какую цифру от кого показывать. Или так же рисую карту (просто как картинку), и на ней располагаю данные, при клике на которые вижу больше данных.

Ни о каких привязках к координатам в пространстве речь не идет.

 

Спасибо, посмотрю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть готовые вещи для сбора данных, типа influxdb+chronograf, к которым дописать адаптер данных и настроить мышкой какие-нибудь графики - вопрос пары дней.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, rkit said:

Есть готовые вещи для сбора данных, типа influxdb+chronograf, к которым дописать адаптер данных и настроить мышкой какие-нибудь графики - вопрос пары дней.

Ну или так, да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ссылки. Каша в голове превращается понемногу в упорядоченное движение.

 

Я так понимаю, что нужно просто разбить задачу на несколько:

1) база данных со стандартным интерфейсом (SQL, например, или что сейчас считается оптимальным)  - берем любую понравившуюся, в облаке или локальную.

2) программа, которая через интерфейс запросов вводит в базу данные из передаваемых приборами сообщений/файлов) - тут самому нужно, или научить приборы общаться с базой.

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На мой взгляд, да. 

в п.2) надо(очевидно), чтобы все устройства знали, куда пересылать данные. Часто для этого используют паттерн publish/subscribe, он же брокер сообщений. Те некая более-менее публичная штука, куда все кому надо шлют -- и оттуда же все, кому интересно, читают. Там внутри часто очередь. Хотя и не обязательно (те если сообщение никто не вычитал, оно пропало). Также, часто берут какой нить стандартный протокол вроде MQTT. Для него обычно полно реализаций как для дивайса, так и для напихивания в базу. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 hours ago, Ruslan1 said:

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

Модульность хороша только для коллективной разработки. Каждый выбрал себе максимально изолированный модуль и счастлив.
Потом они весело переругиваются друг с другом чей модуль косячит. 
Для вас же модульность - смерть проекта. 
Ваше решение должно быть максимально интегрированным и консолидированным.
Таких реально на пальцах можно пересчитать. 
Одно из них - среда RAD Studio.
В ней и базу данных любую развернете, и клиента MQTT и тестовый генератор трафика, и любые виды графиков.  https://habr.com/ru/post/388343/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, abcalex12 said:

На мой взгляд, да. 

в п.2) надо(очевидно), чтобы все устройства знали, куда пересылать данные. Часто для этого используют паттерн publish/subscribe, он же брокер сообщений. Те некая более-менее публичная штука, куда все кому надо шлют -- и оттуда же все, кому интересно, читают. Там внутри часто очередь. Хотя и не обязательно (те если сообщение никто не вычитал, оно пропало). Также, часто берут какой нить стандартный протокол вроде MQTT. Для него обычно полно реализаций как для дивайса, так и для напихивания в базу. 

То есть если добавить в прибор MQTT клиент, то можно будет в базы данных засовывать данные без особого труда?

У меня STM32F4 и lwIP, вроде даже напрямую что-то гуглится про MQTT для lwIP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 minutes ago, Ruslan1 said:

То есть если добавить в прибор MQTT клиент, то можно будет в базы данных засовывать данные без особого труда?

У меня STM32F4 и lwIP, вроде даже напрямую что-то гуглится про MQTT для lwIP.

 Без труда -- собственно в брокер MQTT. Далее, нужна фигня которая будет подписана на определенные топики, и получив сообщения будет класть их в базу. Это может быть самописный бридж(коннектор, кто как называет), или плагин к брокеру если брокер сильно умный(HiveMQ вроде такое имеет, что там с лицензией хз). Бридж довольно прост: как получили сообщение, так засунули его в базу. Примеров много, люди часто такое делают.

Про mqtt в приборе, надо понять где будет открытый интернет, и как там быть с аутентификацией и ssl. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если прибор уже успешно засылает данные по фтп, то не надо чинить то что не сломано. Нужно на том же сервере написать скрипт, сливающий данные в базу и все. Буквально строк 50.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, rkit said:

Если прибор уже успешно засылает данные по фтп, то не надо чинить то что не сломано. Нужно на том же сервере написать скрипт, сливающий данные в базу и все. Буквально строк 50.

Ну так.. если новые данные все время посылаются, то скрип должен следить за тем, что уже залито (или спрашивать у базы). Разбирать всевозможные отлупы от базы. Надо, чтобы были права прописать это в systemd (или крон для олдфагов). Те наверное да, 50-100 строк на питоне или жабе.  

Неизвестно, с какой оперативностью надо данные обновлять, и сколько их.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, abcalex12 said:

Ну так.. если новые данные все время посылаются, то скрип должен следить за тем, что уже залито (или спрашивать у базы). Разбирать всевозможные отлупы от базы. Надо, чтобы были права прописать это в systemd (или крон для олдфагов). Те наверное да, 50-100 строк на питоне или жабе.  

Неизвестно, с какой оперативностью надо данные обновлять, и сколько их.

Как же вы все любите умничать о вещах, которых не знаете.

Все проблемы с базой решаются волшебным выражением ON CONFLICT DO NOTHING или аналогом. В influxdb вообще ничего писать не надо.

Крон есть на любой современной системе и по умолчанию работает без всяких прав. crontab -e

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...