Какие услуги IoT доступны для хранения / отправки / публикации общих данных в облаке?

16

Какие услуги IoT доступны для хранения / отправки / публикации (и других операций) общего небольшого объема данных в облаке?

Я, например, ищу сервис, где устройство может хранить значение в облаке. И некоторые другие объекты (другое устройство, веб-сайт с некоторым кодом JS, веб-сервер, мобильное приложение) могут получить это значение.

Это может быть какая-то асинхронная связь, например, для хранения и извлечения чего-то столь же маленького, как пара ключ-значение, <255 байтов, целое число, строка, самое большее небольшой объект JSON. Служба может предложить REST API (так что к нему может обращаться множество языков) с некоторым токеном для аутентификации и ключом и значением для хранения.

Подробный пример варианта использования:

В доме есть датчик температуры, и я хочу, чтобы он хранил значение в облаке ( где-то вне дома ). Таким образом, я мог получить к нему доступ, независимо от того, отключено ли у меня домашнее соединение или нет. Более того, это позволит избежать сохранения и поддержки выделенного сервера + portForwarding + DynamicDNS.

До сих пор я не смог найти что-то подобное, но иногда я нашел несколько примеров того, что я хотел описать:

Какие есть другие похожие (бесплатные / открытые) альтернативы?

urnenfeld
источник
@BenceKaulics Я думаю, что оба варианта использования будут применяться. Профессиональное решение может подразумевать большую стандартизацию и надежность. Экспериментальное решение может быть интересным проектом с открытым исходным кодом, к которому можно присоединиться.
Урненфельд
Я ненавижу заниматься спортом, но я не рассматриваю это как запрос IoT, больше похожий на веб-сервисы, для которых у нас есть другие сайты. Используйте все, что вам нравится - ваш собственный сайт, бесплатный хостинг, веб-сервисы Amazon и т. Д. Вы действительно не сказали нам, чего пытаетесь достичь. Например, вы хотите закодировать какое-либо серверное программное обеспечение? Никаких подробностей, просто теплое, нечеткое чувство, поэтому вам будет очень сложно ответить.
Mawg говорит восстановить Monica
2
@Mawg У него есть тег веб-сервиса (который я не создал). Вариант использования ориентирован на IoT, как и приведенные ссылки. Он запрашивает доступные услуги, хотя это может быть достигнуто с помощью простого php + db, цель состоит не в том, чтобы заново изобретать колесо, а в том, чтобы узнать, какие услуги известно сообществу IoT. Но дайте мне знать, в каком сообществе вы считаете, что оно подходит лучше.
Урненфельд
Это близкий звонок. Я признаю, что иногда я публикую пост в переполнении стека, где другой сайт будет более правильным. НО, у SO большая аудитория, поэтому у меня больше шансов на ответ. Всегда есть частичное совпадение с другими сайтами, и нам придется решать его по мере продвижения вперед. +1 за то, что не обиделся и теперь ты в курсе безопасности сайта. Вопрос * все еще мог бы использовать немного больше деталей :-)
Mawg говорит восстановить Monica
2
@ Mawg, конечно, без обид :). Я действительно потратил некоторое время на размышления о том, где поставить вопрос ... Я пытался сформулировать вопрос раньше, давайте посмотрим, я добавил точный вариант использования и предварительные решения.
Урненфельд

Ответы:

10

Взгляните на эти услуги:

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

Богатый
источник
7

Многие облачные провайдеры, такие как Amazon, Microsoft, Google, IBM и т. Д., Пытаются привлечь пространство IoT, предоставляя более простые способы отправки / хранения / анализа данных датчиков в их облако. Даже они должны приобретать поставщиков оборудования, чтобы расширить их возможности в IoT.

Я не пользовался никакими сервисами, кроме AWS, поэтому могу объяснить свой опыт работы с AWS и то, как мы интегрировали его для производственного использования.


Сценарий:

У нас есть сотни датчиков, каждый из которых отправляет 184-428 байт данных каждую минуту на локальный шлюз, который объединяет данные и локально сохраняет данные и отправляет те же данные в облако AWS. У нас также есть специальные датчики, которые отправляют данные непосредственно в облако.

Облачные сервисы

Мы используем AWS IoT , AWS S3, AWS DynamoDB, AWS Lambda, AWS API Gateway, AWS SNS, AWS Cloudwatch, AWS RedShift для создания полного решения. По сути, они не относятся только к IoT (за исключением AWS IoT), поскольку мы можем использовать их для мобильных устройств и веб-сайтов.

Шлюз использует AWS IoT SDK для подключения, аутентификации и обмена сообщениями с AWS IoT с использованием протоколов MQTT, HTTP или WebSockets (мы используем соединение JS SDK узла через MQTT). Мы являемся MQTT-брокером локально на шлюзе устройства и подключаем его к конечной точке IoT AWS, оттуда выполняем мгновенные проверки полученных данных (используя механизм правил, функции AWS Lambda) и сохраняем их в архиве DynamoDB в S3, Glacier (сохранение завершено). без написания одной строки сделано только с помощью триггеров AWS для хранения данных).

bravokeyl
источник
6

Это только для экспериментального или тестового использования, но, возможно, это изменится в будущем.

Поэтому я предлагаю использовать MQTT , точнее его реализацию Mosquitto . На них размещается тестовый брокер, к которому вы можете подключить клиентов подписчика и издателя. ( Вот руководство по процессу установки в Windows 7. )

Обратите внимание на следующее:

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

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

На стороне подписчик-клиент я недавно использовал это приложение для Android . Это очень простое приложение, которое все еще находится в разработке, но для целей тестирования оно очень хорошо. Полученные сообщения отображаются на приборной панели, ничего сложного, только голые значения.

Я начал использовать оба из них как первый этап моего процесса обучения MQTT и нашел оба отлично подходит для начинающих.

Бенс Кауликс
источник
1
Не будет ли MQTT более подходящим решением в контексте локальной сети? Для таких проблем, как конфиденциальность / безопасность / многопользовательский?
Урненфельд
@urnenfeld MQTT может поддерживать ваш сайт, мобильное приложение и требования «другого устройства», так как вы можете подписаться на все из них. Также, конечно, вы хотели бы отправлять данные с других устройств в будущем, а не только с температурой, поэтому многопользовательские возможности являются хорошим IMO, даже если это всего лишь сеть с одним подписчиком для нескольких издателей. Также безопасность и конфиденциальность всегда должны быть проблемой. Что касается ЛВС, возможно, это подходит больше, но если вы позаботитесь о безопасности, вы сможете сделать своего брокера доступным из любой точки мира, а не эксперта в этом вопросе.
Бенс Кауликс
1
Хм, этот тестовый брокер является тестовым брокером, поэтому его не следует использовать для работающего приложения. Но идея здесь: вы можете открыть порт вашего брокера MQTT со своего брандмауэра и подключиться отовсюду.
Гуфалит
Извините, но OP хочет хранить данные, MQTT - это просто мессенджер, но вы можете использовать его для отправки данных на выделенный сервер. Чтобы получить значение, клиент должен отправить запрос в MQTT для получения значения через публикацию. MQTT велик , но вебсервис имеет лучшее место здесь ...
Goufalite
@Goufalite Да, хранение данных сложнее.
Бенс Кауликс
5

Для этого есть два компонента:

  1. Как вы хотите, чтобы ваши данные хранятся? Не существует реального способа создать «универсальную» службу данных, которая действительно отвечала бы всем потребностям. То, что вы хотите, называется «Базы данных временных рядов» , и их сотни, потому что каждая деталь того, как вы храните данные, имеет значение в масштабе. (Если вы не в масштабе, просто сохраните его в любой старой базе данных, это будет работать некоторое время.)

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

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

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

    Большим недостатком Graphite является то, что каждая метрика создает новый файл, поэтому, если у вас есть динамические метрики (например, облачные коробки, приходящие и уходящие), он может не подойти.

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

    Ни один размер не подойдет всем.

    PS Graphana - отличный способ визуализировать ваши данные. Он имеет плагины для большинства баз данных временных рядов.

  2. Кто собирается хранить ваши данные? Есть тысячи из мест , таких как те , которые вы упомянули. Так легко раскрутить базу данных временных рядов в облаке, но ДЕЙСТВИТЕЛЬНО трудно на этом заработать. Большинство этих компаний через некоторое время обанкротятся или начнут взвинчивать цены. (Даже поддержание стабильных цен приводит к взвинчиванию цен, поскольку стоимость вычислений постоянно снижается.) Много раз они обнаруживают, что не могут привлечь столько новых клиентов, сколько хотят, поэтому пытаются поднять цены (под маской). изменить свою модель ценообразования). Оказывается, для хранения данных всех стоит МНОГО денег ...

    Я рекомендую самостоятельно принять хостинг или использовать надежного облачного провайдера, такого как AWS CloudWatch . (Дорого, если у вас много метрик, но бесплатно для менее 50 метрик!)

BraveNewCurrency
источник
Идея состояла в том, чтобы получить набор лучших из этих "тысяч мест". Я уже собрал коллекцию (даже сделанную самостоятельно), которую когда-нибудь
опубликую
3

uBeac - это новые бесплатные инструменты визуализации, которые мы разработали, и это бета-версия. Это не с открытым исходным кодом, но полностью бесплатное использование.

Вы можете определить шлюз, и вы получите уникальный URI. Вы можете установить URI в вашем шлюзе или устройстве для отправки данных HTTP / MQTT.

Вот некоторые из его особенностей:

  • Команда, здание, определение плана этажа
  • Визуализация данных в реальном времени
  • Пользовательский дизайн панели с использованием разных виджетов
  • Определите типы датчиков, единицы измерения и префиксы Визуализация карты
  • ...

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

Амир Пурнассериан
источник
Привет @Amir, мы заметили, что твои ответы являются дубликатами друг друга и продвигают твой продукт. Хорошо отвечать на вопросы, касающиеся вашего продукта, но обязательно ознакомьтесь с инструкциями по саморекламе в справочном центре. Также рекомендуется адаптировать свои ответы на поставленный вопрос, а не публиковать идентичный текст, чтобы убедиться, что вы действительно отвечаете на вопрос полностью, а не просто рекламировать свой продукт. Благодарю.
Аврора0001
1

Я удивлен, что никто здесь не упомянул Dweet . Это очень простой, супер интересный способ общения. Вы должны обязательно попробовать, потому что эй, это бесплатно!

TheFreddyKilo
источник
1
Это было действительно предложено, но умеренность удалила его. Одной из замечательных особенностей этого сервиса является то, что вам даже не нужно регистрироваться, и они показывают некоторые графики ваших данных. С
другой
0

flespi предоставляет бесплатные и коммерческие облачные сервисы:

Обязательный отказ от ответственности: я работаю в компании, которая разрабатывает платформу flespi. Хотя я старался быть объективным, как всегда в Интернете, пожалуйста, проверьте всю информацию в этом ответе, чтобы исключить предвзятость, которая может повлиять на ваше решение.

ШЭЛ
источник
Опять же, пожалуйста, объявляйте о любом подключении к услуге, когда рекомендуете (например, что вы работаете на flespi)
hardillb