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