Какие услуги IoT доступны для хранения / отправки / публикации (и других операций) общего небольшого объема данных в облаке?
Я, например, ищу сервис, где устройство может хранить значение в облаке. И некоторые другие объекты (другое устройство, веб-сайт с некоторым кодом JS, веб-сервер, мобильное приложение) могут получить это значение.
Это может быть какая-то асинхронная связь, например, для хранения и извлечения чего-то столь же маленького, как пара ключ-значение, <255 байтов, целое число, строка, самое большее небольшой объект JSON. Служба может предложить REST API (так что к нему может обращаться множество языков) с некоторым токеном для аутентификации и ключом и значением для хранения.
Подробный пример варианта использования:
В доме есть датчик температуры, и я хочу, чтобы он хранил значение в облаке ( где-то вне дома ). Таким образом, я мог получить к нему доступ, независимо от того, отключено ли у меня домашнее соединение или нет. Более того, это позволит избежать сохранения и поддержки выделенного сервера + portForwarding + DynamicDNS.
До сих пор я не смог найти что-то подобное, но иногда я нашел несколько примеров того, что я хотел описать:
Какие есть другие похожие (бесплатные / открытые) альтернативы?
источник
Ответы:
Взгляните на эти услуги:
Обе эти службы будут принимать простые данные ключ / значение с устройства. Я полагаю, что у них обеих есть библиотеки, готовые к импорту для устройств Particle, так как вы упомянули это
источник
Многие облачные провайдеры, такие как 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 для хранения данных).
источник
Это только для экспериментального или тестового использования, но, возможно, это изменится в будущем.
Поэтому я предлагаю использовать MQTT , точнее его реализацию Mosquitto . На них размещается тестовый брокер, к которому вы можете подключить клиентов подписчика и издателя. ( Вот руководство по процессу установки в Windows 7. )
Обратите внимание на следующее:
Но в основном вы можете публиковать данные о температуре для этого брокера.
На стороне подписчик-клиент я недавно использовал это приложение для Android . Это очень простое приложение, которое все еще находится в разработке, но для целей тестирования оно очень хорошо. Полученные сообщения отображаются на приборной панели, ничего сложного, только голые значения.
Я начал использовать оба из них как первый этап моего процесса обучения MQTT и нашел оба отлично подходит для начинающих.
источник
Для этого есть два компонента:
Как вы хотите, чтобы ваши данные хранятся? Не существует реального способа создать «универсальную» службу данных, которая действительно отвечала бы всем потребностям. То, что вы хотите, называется «Базы данных временных рядов» , и их сотни, потому что каждая деталь того, как вы храните данные, имеет значение в масштабе. (Если вы не в масштабе, просто сохраните его в любой старой базе данных, это будет работать некоторое время.)
Каждая база данных временных рядов была написана, потому что другие не делали точно так, как они хотели. Например, рассмотрим, как Graphite хранит свои данные: каждая метрика (скажем, температура из одного источника) хранится в файле фиксированного размера. Независимо от того, как часто вы отправляете метрики или как долго вы их отправляете, файл имеет постоянный размер.
Недостатком является то, что более старые данные имеют более низкое разрешение, а после заданного вами интервала (например, 1 год) данные выбрасываются. Но положительным моментом является то, что составлять график за день так же быстро, как и за год, а показатели не увеличиваются в размерах с течением времени.
В других системах хранения создание графика за год может потребовать выборки миллионов точек данных и может потребовать огромных объемов хранения данных.
Большим недостатком Graphite является то, что каждая метрика создает новый файл, поэтому, если у вас есть динамические метрики (например, облачные коробки, приходящие и уходящие), он может не подойти.
Сравните это с Прометеем , где метрики хранятся в основном по времени. Вы можете иметь много динамических метрик, и это нормально. Но не пытайтесь хранить эти показатели в долгосрочной перспективе, потребуется много времени, чтобы вернуться и прочитать их.
Ни один размер не подойдет всем.
PS Graphana - отличный способ визуализировать ваши данные. Он имеет плагины для большинства баз данных временных рядов.
Кто собирается хранить ваши данные? Есть тысячи из мест , таких как те , которые вы упомянули. Так легко раскрутить базу данных временных рядов в облаке, но ДЕЙСТВИТЕЛЬНО трудно на этом заработать. Большинство этих компаний через некоторое время обанкротятся или начнут взвинчивать цены. (Даже поддержание стабильных цен приводит к взвинчиванию цен, поскольку стоимость вычислений постоянно снижается.) Много раз они обнаруживают, что не могут привлечь столько новых клиентов, сколько хотят, поэтому пытаются поднять цены (под маской). изменить свою модель ценообразования). Оказывается, для хранения данных всех стоит МНОГО денег ...
Я рекомендую самостоятельно принять хостинг или использовать надежного облачного провайдера, такого как AWS CloudWatch . (Дорого, если у вас много метрик, но бесплатно для менее 50 метрик!)
источник
uBeac - это новые бесплатные инструменты визуализации, которые мы разработали, и это бета-версия. Это не с открытым исходным кодом, но полностью бесплатное использование.
Вы можете определить шлюз, и вы получите уникальный URI. Вы можете установить URI в вашем шлюзе или устройстве для отправки данных HTTP / MQTT.
Вот некоторые из его особенностей:
Он поддерживает общий формат данных Json и различные предопределенные шлюзы. Если вы не хотите использовать предопределенные форматы полезной нагрузки, они открыты для разработки пользовательской обработки полезной нагрузки.
источник
Я удивлен, что никто здесь не упомянул Dweet . Это очень простой, супер интересный способ общения. Вы должны обязательно попробовать, потому что эй, это бесплатно!
источник
flespi предоставляет бесплатные и коммерческие облачные сервисы:
Обязательный отказ от ответственности: я работаю в компании, которая разрабатывает платформу flespi. Хотя я старался быть объективным, как всегда в Интернете, пожалуйста, проверьте всю информацию в этом ответе, чтобы исключить предвзятость, которая может повлиять на ваше решение.
источник