В современном мире Интернет вещей (IoT) больше не является модным словом, которым пользуются только эксперты. Этот термин сейчас понятен широкому кругу людей на нашей планете. Технологии интернета вещей можно найти повсюду вокруг нас, они меняют жизнь, способствуют повышению качества услуг, улучшению процессов, предоставлению новых возможностей и увеличению доходов.
Учитывая, что миллиарды новых устройств еще не подключены к Интернету, влияние Интернета вещей определенно выйдет за рамки самих устройств Интернета вещей и охватит несколько других приложений за счет использования данных, предоставляемых этими устройствами, для достижения социального и коммерческого роста. Это уже происходит, поскольку сегодня большинство организаций, в которых не развернуты решения Интернета вещей, по-прежнему могут воспользоваться их преимуществами, получая доступ к данным, генерируемым устройствами, развернутыми другими людьми, с помощью их API.
Что такое API и чем он полезен?
Аббревиатура API означает Application Programming Interface («Интерфейс прикладного программирования»). Эти интерфейсы не новы и не ограничиваются Интернетом вещей, они уже давно используются в разработке программного обеспечения различного назначения. API-интерфейсы облегчают интеграцию различных сервисов в продукты, позволяя использовать приложения, написанные на одном языке, программному обеспечению, написанному на другом языке, что помогает сократить общую инфраструктуру и сократить затраты времени на разработку продукта. Эти же преимущества в настоящее время передаются в приложения IoT, при этом API-интерфейсы используются в различных приложениях для предоставления данных, которые позволяют объединять и подключать несколько устройств для решения новых и интересных рабочих процессов, открывая невиданные возможности IoT.
При подписке на новые сервисы (например, Spotify) мы обычно сталкиваемся с такими опциями, как «Войти с помощью Gmail» или «Войти с помощью Facebook». Это не что иное, как API, предоставленные Google/Facebook для Spotify, чтобы упростить процедуру регистрации. Здесь API предоставляет Spotify основные данные пользователя, такие как имя, идентификатор электронной почты, номер телефона и т. д., и поможет вам сэкономить время при процедуре регистрации. Аналогично, для разных потребностей приложений доступны разные API.
Как и в случае с программным обеспечением, существует несколько API-интерфейсов Интернета вещей для разных задач, но большинство из них обычно не предоставляются бесплатно. В сегодняшнем уроке мы рассмотрим 10 самых полезных (на наш взгляд) API IoT с открытым исходным кодом , которые помогут вам сократить затраты и время на разработку ваших решений. Эти API являются открытыми, бесплатными (или имеют бесплатные пакеты) и могут использоваться не только профессионалами, но и разработчиками, любителями и практически всеми, кто находит их полезными и согласен с условиями их использования. В нашей статье эти API перечислены в произвольном порядке, выбраны случайным образом и, вероятно, несопоставимы (не сравнимы), поскольку выполняют разные задачи.
1. REST API OpenHAB
Open Home Automation Bus (openHAB) — это платформа для автоматизации дома (построения "умного" дома) с открытым исходным кодом, независимая от технологий, которая помогает подключать и контролировать интеллектуальные и «не очень умные» домашние устройства в одном месте. Она позволяет устройствам выполнять определяемые пользователем действия, используя определяемую пользователем информацию и определяемые пользователем инструменты. Для достижения этой цели openHAB сегментирует и разделяет определенные функции и операции, доступ к которым можно получить через openHAB REST API.
Через openHAB REST API пользователи могут получить доступ к данным всех устройств, связанных с платформой, самим устройствам (вещам) и привязкам, а также выдавать команды и действия для изменения состояния, поведения или свойств устройств, подключенных к openHAB. Взаимодействие с API основано на протоколе HTTP, поэтому важно обеспечить надежные и безопасные соединения при работе с ним. Согласно веб-сайту openHAB, некоторые из возможных взаимодействий через API-интерфейс openHAB REST включают в себя:
- Получение данных openHAB из внешних приложений.
- Внедрение данные и запуск событий в openHAB из внешних приложений (например, некоторых детекторов движения или камер наблюдения).
- Проверка привязки/вещи или элементов openHAB, проверка их текущих состояний, параметров или проблем.
- Взаимодействие с openHAB из других программ; многие языки программирования и инструменты автоматизации могут легко использовать REST API.
- Использование стороннего программного обеспечения на мобильных телефонах, такого как Tasker, чтобы, например, открыть дверь гаража.
Документацию, дополнительные примеры и подробные инструкции по использованию API можно найти на сайте OpenHAB .
Использование сторонних приложений, таких как Tasker, с openHAB, является важным показателем того, как API открывают экономику Интернета вещей, предоставляя возможности для создания дополнительной стоимости по всей цепочке.
2. API Mozilla Web Things
Mozilla — это некоммерческая организация, миссией которой является защита свободной и открытой сети, а API веб-вещей представляет собой попытку расширить свое участие в сети до Интернета вещей. Согласно веб-сайту Web Things, API Web Things позволяет пользователям предоставлять уникальные URL-адреса всем подключенным устройствам во Всемирной паутине, что позволяет использовать его в качестве объединяющего уровня приложений для всех устройств IoT.
API Web Things, как и большинство других API IoT, основан на REST и позволяет пользователям получать доступ к свойствам устройств, определять текущее состояние каждого устройства и выдавать команды для изменения состояния устройства или выполнения действий. API WebThings упрощает доступ к ресурсам, представляющим каждый аспект устройства, поскольку на каждый ресурс можно ссылаться независимо с помощью URL-адреса. Более подробную информацию можно найти на веб-сайте Mozilla IoT.
3. OpenWeatherMap
OpenWeatherMap — это веб-сервис, который обеспечивает доступ к данным, связанным с погодой (температура, влажность, количество осадков и т. д.), включая текущую погоду, прогнозы и исторические данные, разработчикам веб-сервисов, мобильных и, в последнее время, приложений IoT. Данные, доступные через OpenWeatherMap, поступают из различных источников: от самодельных метеостанций до служб метеорологического вещания, метеостанций аэропортов и ряда других источников.
Данные обрабатываются и сортируются таким образом, что с помощью API OpenWeatherMap можно создавать решения Интернета вещей, которые используют эти данные для информирования и автоматизации задач. Например, данные прогноза через API могут быть переданы в систему/устройство сигнализации, чтобы, помимо ряда других возможностей, предупреждать фермеров о возможном сильном ливне.
Хотя большинство функций OpenWeatherMap платные, бесплатный пакет содержит чрезвычайно полезные функции, которые могут хорошо использоваться большинством проектов IoT. Документацию и другие подробности об API можно найти на сайте openWeatherMap.
4. API EmonCMS
EmonCMS — мощное веб-приложение с открытым исходным кодом для обработки, регистрации и визуализации данных. Это продукт усилий группы OpenEnergyMonitor, направленных, как следует из названия, на создание устройств мониторинга энергии с открытым исходным кодом путем анализа данных об окружающей среде. По сути, это инструмент визуализации данных, с помощью которого можно просматривать данные от нескольких датчиков мониторинга энергии. Чтобы облегчить разработчикам доступ к платформе, был создан API подключения, позволяющий взаимодействовать с платформой при работе на локальном хосте (LAN) или через Интернет. API EmonCMS позволяет пользователям обновлять состояние энергетических устройств на платформе, получать показания и другие параметры, указывающие состояние устройств (если устройство совместимо), с платформы, а также ряд других функций.
Хотите добавить визуализацию данных в свое следующее решение IoT, основанное на использовании энергии? EmonCMS может быть именно тем, что вам нужно. Более подробную информацию о платформе и API можно найти на их веб-сайте.
5. Particle API
Particle API — это интерфейс прикладного программирования, разработанный Particle, позволяющий разработчикам легко работать со своей платформой. Particle.IO — один из настоящих поставщиков комплексных решений IoT в отрасли, предоставляющий аппаратное обеспечение устройств, сотовую связь, облако устройств и интерфейсы приложений.
API Particle упрощает разработчикам доступ и интеграцию всех функций Particle с другими приложениями и устройствами. Данное API позволяет разработчикам записывать функции в прошивку своего устройства, а затем вызывать их для использования в приложениях в режиме реального времени. Некоторые примеры методов API включают в себя выключение и включение Wi-Fi, подключение устройств, переключение состояния устройств, получение данных и общее управление устройствами.
Документацию и другие подробности об этом API можно найти на сайте ParticleIO.
6. Adafruit IO API
Adafruit — один из самых популярных брендов в мире DIY-электроники, и их решение запустить платформу Adafruit IO для IoT-решений некоторое время назад было хорошо встречено сообществом производителей/любителей электроники. С тех пор платформа продолжала расти и помогла большому количеству авторов. Платформа Adafruit IO, по сути, представляет собой облако устройств с функциями визуализации данных, среди прочего, управляемыми API Adafruit IO. На нашем сайте мы использовали эту платформу в следующих проектах:
- умный измеритель электроэнергии на ESP12 и Arduino;
- автоматизация дома на микроконтроллере PIC с управлением через интернет;
- управление контактами Raspberry Pi с помощью облака MQTT на основе Adafruit IO.
По данным Adafruit, HTTP API Adafruit IO предоставляет пользователям доступ к данным ввода-вывода Adafruit из любого языка программирования или аппаратной среды, поддерживающей HTTP. Благодаря этому они могут разрабатывать системы, которые действуют на основе данных и производят изменения в устройстве, отправляя информацию на устройства.
Платформа Adafruit IO — одна из самых простых в работе платформ и одна из любимых для проектов DIY IoT среди энтузиастов по всему миру. Документацию и более подробную информацию по ней можно найти на сайте Adafruit IO.
7. Home Assistant API
Home Assistant — это управляемая сообществом система домашней автоматизации с открытым исходным кодом, аналогичная openHAB. Как и другие платформы, Home Assistant управляется API REST Home Assistant Python, который обеспечивает доступ к методам данных для службы управления Home Assistant.
Она позволяет пользователям редактировать конфигурацию, возвращать базовую информацию об экземпляре Home Assistant, возвращать все данные, необходимые для начальной загрузки, возвращать массив объектов событий и многое другое. API принимает и возвращает только объекты в кодировке JSON, содержащие имя события, количество прослушивателей и многое другое. Оно основан на Python 3 и помогает легко отслеживать и контролировать все зарегистрированные домашние устройства, независимо от того, была ли регистрация произведена через Интернет или через мобильное приложение. Документацию и более подробную информацию об API можно найти на веб-сайте Home Assistant.
8. The Things Network APIs
В настоящее время LoRa становится одним из предпочтительных каналов связи благодаря большому радиусу действия и низкому энергопотреблению, а также другим функциям. The Things Network (TTN, сеть вещей) — это инициатива сообщества с открытым исходным кодом, направленная на создание глобальной открытой сети LoRaWAN для создания открытой инфраструктуры для облегчения разработки решений IoT на основе LoRa. Таким образом, TTN предоставляет набор открытых инструментов и глобальную открытую сеть с максимальной безопасностью и масштабируемостью. Если вы новичок в Lora, прочтите подробную статью «Введение в LoRa и LoRaWAN».
Также на нашем сайте мы уже публиковали ряд статей, посвященных взаимодействию с сетью вещей (TTN):
- связь Arduino с сетью вещей (TTN) с помощью модуля LoRa HPD13A;
- использование ESP32 для связи по технологии LoRa с сетью вещей (TTN).
Взаимодействие с платформой TTN осуществляется с помощью двух основных API: API данных TTN и API диспетчера приложений TTN. API данных позволяет получать события и сообщения от устройств, а также отправлять сообщения на устройства, как правило, обмениваться информацией с устройствами. С другой стороны, API диспетчера приложений используется для управления приложениями, шлюзами и устройствами. API данных основан на протоколе MQTT и может использоваться для разработки через SDK или напрямую с MQTT, тогда как API диспетчера приложений основано на протоколе HTTP. Более подробную информацию об этих API можно найти на сайте The Things Network.
9. REST API ThingSpeak.io
ThingSpeak считается одной из лучших облачных платформ с открытым исходным кодом для устройств Интернета вещей. Это одна из лучших платформ для обработки данных с устройств, особенно благодаря ее интеграции с MATLAB после того, как несколько лет назад она была приобретена Mathworks. Оно позволяет пользователям загружать, агрегировать, анализировать и визуализировать данные с помощью MATLAB без необходимости приобретать программное обеспечение MATLAB отдельно. Все вышеперечисленное можно выполнить с помощью ThingSpeak API. Как и большинство других API, упомянутых выше, API ThingSpeak позволяет пользователям; собирать и хранить данные датчиков, извлекать данные и текущее состояние подключенных устройств, автоматизировать события на основе данных, настраивать триггеры на основе состояния устройств IoT и интегрировать с платформами социальных сетей, такими как Twitter, среди других функций. Чтобы узнать больше о ThingSpeak, ознакомьтесь с предыдущими нашими проектами Интернета вещей , в которых ThingSpeak использовался со многими различными микроконтроллерами, такими как Arduino, Raspberry PI, ESP и т. д.:
- мониторинг температуры и влажности через Интернет с помощью Arduino;
- система обнаружения лесного пожара на Arduino и GSM модуле;
- метеостанция на Raspberry Pi: измерение температуры, влажности и давления через сеть Интернет;
- умная оросительная система на NodeMCU ESP8266 и датчике влажности почвы;
- система учета посетителей на NodeMCU ESP8266 и RFID метках.
Некоторые из функций ThingSpeak, которые автоматически преобразуются в преимущества использования его API:
- Простая настройка устройства для передачи данных на платформу ThingSpeak с использованием стандартных платформ IoT.
- Визуализация данных датчиков в реальном времени и агрегирование данных с использованием сторонних источников.
- Аналитика Интернета вещей выполняется на основе расписаний или событий.
- Аналитика MATLAB, API-интерфейсы RESTful и MQTT.
- Позволяет создавать прототипы и создавать системы Интернета вещей без установки сервера и веб-программного обеспечения.
- Совместимость с популярными платформами разработки, такими как Arduino и Raspberry Pi.
- Автоматически действует на основе данных и автоматизирует задачи.
- Интеграция со сторонними сервисами, такими как Twitter. Хорошим примером ситуации, когда это может оказаться полезным, является решение Интернета вещей, которое автоматически сообщает об уровне воды в Твиттере.
В дополнение к бесплатному размещенному API, ThingSpeak API имеет открытый исходный код и доступен на GitHub для загрузки на частных серверах.
10. EdgeX Foundry
EdgeX Foundry — это экосистема платформ Интернета вещей с открытым исходным кодом, основанная на конфигурациях с открытым исходным кодом. EdgeX Foundry API предлагает несколько конечных точек для служб, включая регистрацию клиентов, планирование и ведение журналов. API имеет архитектуру REST и использует OAuth 2.0 для аутентификации. Edgex имеет ряд микросервисов, которые прикреплены к каждому устройству, подключенному к сети.
Каждый микросервис имеет несколько важных вызовов API, которые можно использовать для выполнения следующих задач:
- Регистрирация службы устройства.
- Предоставление устройства.
- Отправка данных с устройства на платформу Edgex.
- Чтение данных с платформы Edgex для использования в других приложениях.
- Экспорт данных, среди прочего.
Документацию и более подробную информацию об API можно найти на сайте EdgeX Foundry.
99 просмотров