- Какво представлява API и как е полезен?
- 1. OpenHAB REST API
- 2. API на Mozilla Web Things
- 3. OpenWeatherMap
- 4. API на EmonCMS
- 6. Adafruit IO API
- 7. API за домашен асистент
- 8. Приложни програмни интерфейси (API) на The Things
- 9. ThingSpeak.io REST API
- 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 API за различни задачи, но повечето от тях обикновено не са безплатни. За днешния урок ще разгледаме 10-те най-полезни (според нас) API на IoT с отворен код, за да ви помогнем да намалите разходите и времето за разработка. Тези API са отворени, безплатни (или имат безплатни пакети) и могат да бъдат използвани не само от професионалисти, но и от производители, любители и почти всеки, който ги намери за полезни и е съгласен с условията за ползване. Тези приложни програмни интерфейси (API) са изброени без определен ред, избрани са произволно по вертикали и вероятно не са сравними, тъй като изпълняват различни задачи.
1. OpenHAB REST API
Open Home Automation Bus (openHAB) е технология за агностична домашна автоматизация с отворен код, която помага да се свързват и контролират интелигентни устройства и „не особено умни“ домашни устройства на едно място. Тя позволява извършването на дефинирани от потребителя действия от устройства, използвайки дефинирана от потребителя информация и дефинирани от потребителя инструменти. За да постигне това, openHAB сегментира и разделя определени функции и операции, всички от които могат да бъдат достъпни чрез openHAB REST API.
Чрез openHAB REST API потребителите могат да получат достъп до данните на всички устройства, свързани с платформата, самите устройства (неща) и Bindings, както и да издават команди и действия за промяна на състоянието, поведението или свойствата на устройствата, свързани към openHAB. Взаимодействието с API се основава на HTTP протокола; като такъв е важно да се осигурят сигурни и безопасни връзки при работа с него. Според уебсайта на openHAB някои от възможните взаимодействия чрез openHAB REST API включват;
- Извличане на данни openHAB от външни приложения
- Инжектирайте данни и задействайте събития в openHAB от външни приложения (например някои детектори на движение или камери за наблюдение)
- Проверете openHAB обвързвания / неща или предмети, научете за текущите състояния, параметри или проблеми
- Взаимодействие с openHAB от други програми; много езици за програмиране и инструменти за автоматизация могат лесно да използват REST API
- Използване на софтуер на трети страни на мобилни телефони, като Tasker, за да отворите гаражната си врата
Документация, още примери и подробни инструкции за използването на API могат да бъдат намерени на уебсайта на OpenHAB.
Приложенията на трети страни, като Tasker, които се използват с openHAB, са голям указател за това как API отварят IoT икономиката, предоставяйки възможности за създаване на допълнителна стойност по веригата.
2. API на Mozilla Web Things
Mozilla е с нестопанска цел с мисията да защитава безплатната и отворена мрежа и API за уеб неща представлява усилията й да разшири своето участие в мрежата до IoT. Според уебсайта Web Things API на Web Things позволява на потребителите да предоставят уникални URL адреси на всички свързани устройства в World Wide Web, което му позволява да се използва като обединяващ слой на приложение за всички IoT устройства.
API за уеб неща, както повечето други 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. API на EmonCMS
EmonCMS е мощно уеб приложение с отворен код за обработка, регистриране и визуализиране на данни. Това е плод на усилията на групата OpenEnergyMonitor, точно както подсказва името, да улесни устройствата за наблюдение на енергията с отворен източник чрез анализ на данните за околната среда. По същество това е инструмент за визуализация на данни, при който се получават данни от няколко енергийни мониторингасензори могат да се видят. За да улесни достъпа на разработчиците до платформата, беше създаден API за свързване, който позволява взаимодействие с платформата, когато се изпълнява на localhost (LAN) или чрез интернет. API EmonCMS позволява на потребителите да актуализират състоянието на енергийните устройства на платформата, да получават показания и други параметри, показващи състоянието на устройствата (ако устройството е съвместимо) от платформата, заедно с няколко други функции.
Търсите ли да добавите визуализация на данните към следващото си решение за IoT, базирано на енергия? EmonCMS може да е просто това, от което се нуждаете. Повече информация за платформата и API може да се намери на техния уебсайт.
5. API за частици
Particle API е интерфейсът за програмиране на приложения, разработен от Particle, за да позволи на разработчиците лесно да работят с тяхната платформа. Particle.IO е един от истинските доставчици на IoT от край до край IoT решения, предоставящ хардуер на устройството, клетъчна комуникация, облак на устройства и интерфейси за приложения. Преди това използвахме Particle Cloud с Raspberry Pi за целите на автоматизацията на дома.
API на Particle улеснява разработчиците за достъп и интегриране на пълната функционалност на Particle с други приложения и устройства. Според частицата, API позволява на разработчиците да записват функции във фърмуера на устройството си и след това да ги извикват за използване от страна на приложението на нещата в реално време. Някои примерни методи на API включват изключване и включване на wifi, свързване на устройства, превключване на състоянието на устройствата, получаване на данни и обикновено управление на устройствата.
Документация и други подробности за API могат да бъдат намерени на уебсайта на ParticleIO.
6. Adafruit IO API
Adafruit е една от най-популярните марки в света на електрониката „Направи си сам“ и решението им да пуснат платформата Adafruit IO за IoT решения известно време беше добре прието от общността на производителите / електрониката. Оттогава платформата непрекъснато се разраства и обслужва голям брой производители, включително мен. Платформата Adafruit IO е по същество облак с устройства с функции за визуализация на данни, наред с други, всички управлявани от API на Adafruit IO. Вече използвахме 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 се управлява от API за помощ на Python на Home Assistant, който осигурява достъп до методи за данни за услугата за контрол на Home Assistant.
Той позволява на потребителите да редактират конфигурация, да връщат основна информация за екземпляра на Home Assistant, да връщат всички данни, необходими за стартиране, да върнат масив от обекти на събития и др. API приема и връща само JSON кодирани обекти, които съдържат име на събитие, брой слушатели и други. Той се основава на python 3 и помага безпроблемно да проследява и контролира всички регистрирани домашни устройства, независимо дали регистрацията е извършена чрез уеб или мобилно приложение. Документация и повече подробности за API можете да намерите на уебсайта на Home Assistant.
8. Приложни програмни интерфейси (API) на The Things
LoRa се превръща в един от избраните комуникационни канали поради дългия си обхват и ниска консумация на енергия сред другите функции. The Things Network (TTN) е усилие с отворен код, насочено от общността за изграждане на глобална отворена LoRaWAN мрежа за създаване на отворена инфраструктура за улесняване на развитието на LoRa базирани IoT решения. Като такъв, TTN предоставя набор от отворени инструменти и глобална, отворена мрежа с максимална сигурност и мащабируемост. Ако сте нов за Lora, преминете през подробна статия за Въведение в LoRa и LoRaWAN.
Взаимодействието с платформата TTN се управлява от два основни API; API на данните за TTN и API на TTN Application Manager. API за данни ви позволява да получавате събития и съобщения от устройства, както и да изпращате съобщения до устройства, като цяло обменяте информация с устройства. API на Application Manager, от друга страна, се използва за управление на приложения, шлюзове и устройства. API за данни се основава на протокола MQTT и може да се използва за разработване чрез SDK или директно с MQTT, докато API на Application Manager се основава на протокола HTTP. Повече информация за тези API можете да намерите на уебсайта на The Things Network.
9. ThingSpeak.io REST API
ThingSpeak се счита за една от най-горните платформи с отворен код в облак за IoT устройства. Това е една от най-добрите платформи за обработка на данни от устройства, особено благодарение на интеграцията си с MATLAB, след като е придобита от Mathworks преди няколко години. Позволява на потребителите да качват, обобщават, анализират и визуализират данни с помощта на MATLABбез да е необходимо да придобивате софтуера MATLAB отделно. Всичко по-горе улеснява използването на ThingSpeak API. Подобно на повечето други API, споменати по-горе, ThingSpeak API позволява на потребителите; събиране и съхраняване на данни от сензори, извличане на данни и текущо състояние на свързаните устройства, автоматизиране на събития въз основа на данни, настройване на задействания въз основа на състоянието на IoT устройства и интегриране с социални медийни платформи като Twitter сред другите функции За да научите повече за 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, API на ThingSpeak е с отворен код и е достъпен на GitHub за изтегляне от частни сървъри.
10. Леярна EdgeX
EdgeX Foundry е екосистема с отворен код на IoT платформи, базирана на конфигурации с отворен код. API на EdgeX Foundry предлага няколко крайни точки за услуги, включително регистрация на клиенти , планиране и регистриране. API има REST архитектура и използва OAuth 2.0 за удостоверяване. Edgex има серия от микро услуги, които са свързани към всяко устройство, свързано към мрежата.
Всяка микро услуга има няколко важни API повиквания, с които може да се използва;
- Регистрирайте услуга на устройство
- Предоставяне на устройство
- Изпращайте данни от устройство до платформата Edgex,
- Четене на данните от платформата Edgex за използване в други приложения
- Експортиране на данни, наред с други.
Документация и повече подробности за API можете да намерите на уебсайта на EdgeX Foundry.
Това е моят списък! Този списък обаче по никакъв начин не е изчерпателен, тъй като някои други API като IoT-Plotter и други, които бих могъл да добавя към списъка, идват на ум. Чувствайте се свободни да пускате коментари за API на Open IoT, с които сте работили. Вашите коментари могат да помогнат на другите да изберат API или платформа, която да използват в своите проекти.
До следващия път.