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