- Què és una API i com és útil?
- 1. OpenHAB REST API
- 2. API Mozilla Web Things
- 3. OpenWeatherMap
- 4. API EmonCMS
- 6. API Adafruit IO
- 7. API Home Assistant
- 8. Les API de Things Network
- 9. API REST de ThingSpeak.io
- 10. Fundició EdgeX
Al món connectat d’avui, Internet of thins (IoT) ja no és una paraula de moda llançada per experts. És real !! I es pot trobar al nostre voltant, canviant vides, facilitant millors serveis, millorant processos, proporcionant noves oportunitats i augmentant els ingressos.
Amb milers de milions de dispositius nous que encara no s’han connectat a Internet, l’impacte de l’IoT definitivament es conduirà més enllà dels propis dispositius IoT a diverses altres aplicacions aprofitant les dades proporcionades per aquests dispositius per aconseguir creixements socials i comercials. Això ja està passant, ja que la majoria d’organitzacions actuals que no tenen implementades solucions IoT, encara en poden obtenir els avantatges obtenint accés a les dades generades pels dispositius desplegats per altres persones mitjançant les seves API.
Què és una API i com és útil?
Les sigles API signifiquen Interfície de programació d'aplicacions, no són una novetat i es limiten a l'IoT, s'han utilitzat durant molt de temps en el desenvolupament de programari. Les API faciliten la fàcil integració de diferents serveis als productes, permetent que les aplicacions escrites en un idioma siguin utilitzades per programes escrits en un altre idioma, cosa que contribueix a reduir la infraestructura general i el temps requerit per al desenvolupament del producte. Aquests mateixos avantatges s’estan transferint actualment a les aplicacions IoT amb les API que s’utilitzen en diverses aplicacions per exposar dades que permeten combinar i connectar diversos dispositius per resoldre nous i interessants fluxos de treball, revelant possibilitats invisibles al voltant de l’IoT.
En registrar-vos per a nous serveis (per exemple, Spotify), sovint ens trobaríem amb opcions com "Inicieu la sessió amb Gmail" o "Inicieu la sessió amb Facebook". No són res més que les API proporcionades per Google / Facebook a Spotify per facilitar el procediment de registre. Aquí l'API compartirà detalls bàsics d'usuari com Nom, identificador de correu electrònic, número de telèfon, etc. amb Spotify i us ajudarà a estalviar temps amb el procediment de registre. Així mateix, hi ha diferents API disponibles per a diferents necessitats d'aplicació.
Igual que amb el programari, hi ha diverses API IoT disponibles per a diferents tasques, però la majoria no solen ser gratuïtes. Per al tutorial d'avui, examinarem els deu primers, molt útils (al nostre parer) API IoT de codi obert per ajudar-vos a reduir el cost i el temps de desenvolupament. Aquestes API són obertes, gratuïtes (o tenen paquets gratuïts) i poden ser utilitzades no només per professionals, sinó també per fabricants, aficionats i gairebé tothom que les trobi útils i estiguin d'acord amb les condicions d'ús. Aquestes API no s’enumeren en cap ordre concret, es van seleccionar aleatòriament entre verticals i probablement no són comparables ja que realitzen tasques diferents.
1. OpenHAB REST API
Open Home Automation Bus (openHAB) és una plataforma de domòtica agnòstica de tecnologia lliure que ajuda a connectar i controlar dispositius intel·ligents i dispositius domèstics “no tan intel·ligents” en un sol lloc. Permet realitzar accions definides per l'usuari per dispositius, mitjançant informació definida per l'usuari i eines definides per l'usuari. Per aconseguir-ho, openHAB segmenta i compartimenta certes funcions i operacions a les quals es podria accedir mitjançant l'API openHAB REST.

A través de l’API openHAB REST, els usuaris poden accedir a les dades de tots els dispositius associats a la plataforma, els propis dispositius (coses) i Bindings, així com emetre ordres i accions per canviar l’estat, el comportament o les propietats dels dispositius connectats a openHAB. La interacció amb l'API es basa en el protocol; com a tal, és important assegurar connexions segures quan es treballa amb ell. Segons el lloc web openHAB, algunes de les interaccions possibles mitjançant l'API REST openHAB inclouen;
- Recupereu dades openHAB d'aplicacions externes
- Injecteu dades i desencadeneu esdeveniments a openHAB des d'aplicacions externes (per exemple, alguns detectors de moviment o càmeres de vigilància)
- Inspeccioneu els enllaços / coses o articles de openHAB, apreneu sobre estats, paràmetres o problemes actuals
- Interaccionar amb openHAB des d'altres programes; molts llenguatges de programació i eines d'automatització poden fer servir fàcilment l'API REST
- Utilitzar programari de tercers a telèfons mòbils, com ara Tasker, per obrir la porta del garatge
Podeu trobar documentació, més exemples i instruccions detallades sobre l’ús de l’API al lloc web d’OpenHAB.
Les aplicacions de tercers com Tasker que s’utilitzen amb openHAB són un gran indicador de com les API obren l’economia de l’IoT, proporcionant oportunitats per a la creació de valor addicional al llarg de la cadena.
2. API Mozilla Web Things
Mozilla té una missió sense ànim de lucre amb la missió de defensar el web gratuït i obert i les API de coses web representen els seus esforços per estendre la seva participació al web a IoT. Segons el lloc web Web Things, l'API Web Things permet als usuaris proporcionar URL exclusius a tots els dispositius connectats de la World Wide Web, cosa que permet utilitzar-lo com a capa d'aplicació unificadora de tots els dispositius IoT.

L’API Web Things, com la majoria d’altres API IoT, es basa en REST i permet als usuaris; accedir a les propietats dels dispositius, determinar l’estat actual de cada dispositiu i emetre ordres per canviar l’estat del dispositiu o realitzar accions. L'API WebThings facilita l'accés als recursos, que representen cada aspecte d'un dispositiu, ja que cada recurs es fa referència independentment mitjançant un URL. Podeu trobar més informació al lloc web de Mozilla IoT.
3. OpenWeatherMap
OpenWeatherMap és un servei basat en web que proporciona accés a dades meteorològiques relacionades amb el clima (temperatura, humitat, precipitacions, etc.), inclosos el temps actual, les previsions i les dades històriques als desenvolupadors de serveis web, mòbils i, més recentment, aplicacions IoT. Les dades disponibles a través d’OpenWeatherMap provenen de fonts que van des d’estacions meteorològiques de bricolatge fins a serveis de transmissió meteorològica, estacions meteorològiques d’aeroport i diverses altres fonts. Ja hem comentat com utilitzar Openweather Map amb Arduino per llegir les dades meteorològiques d’Internet mitjançant ESP8266.

Les dades es processen i s’ordenen de manera que mitjançant l’API OpenWeatherMap es puguin crear solucions IoT que aprofitin aquestes dades per informar i automatitzar tasques. Per exemple, les dades de previsió mitjançant l'API poden introduir-se en un sistema / dispositiu d'alarma per advertir els agricultors de possibles pluges fortes entre diverses altres possibilitats.
Tot i que la majoria de les funcions d’OpenWeatherMap es paguen, el paquet gratuït té funcions immensament útils que poden servir la majoria de projectes IoT. Podeu trobar documentació i altres detalls sobre l'API al lloc web openWeatherMap.
4. API EmonCMS
EmonCMS és una potent aplicació web de codi obert per al processament, registre i visualització de dades. És producte dels esforços del grup OpenEnergyMonitor per, tal com indica el seu nom, facilitar els dispositius de control de l'energia de codi obert mitjançant l'anàlisi de dades ambientals. Es tracta essencialment d’una eina de visualització de dades on s’obtenen dades de diverses monitoritzacions energètiqueses poden veure els sensors. Per facilitar als desenvolupadors l'accés a la plataforma, es va crear una API de connectivitat per permetre la interacció amb la plataforma quan s'executa en localhost (LAN) o a través d'Internet. L'API EmonCMS permet als usuaris actualitzar l'estat dels dispositius energètics de la plataforma, obtenir lectures i altres paràmetres que indiquen l'estat dels dispositius (si el dispositiu és compatible) des de la plataforma juntament amb diverses altres funcions.

Voleu afegir una mica de visualització de dades a la vostra propera solució IoT basada en l'energia? És possible que EmonCMS sigui el que necessiteu. Podeu trobar més informació sobre la plataforma i l'API al seu lloc web.
5. API de partícules
Particle API és la interfície de programació d'aplicacions desenvolupada per Particle per permetre als desenvolupadors treballar fàcilment amb la seva plataforma. Particle.IO és un dels autèntics proveïdors de solucions IoT de la indústria, que proporciona el maquinari del dispositiu, la comunicació cel·lular, el núvol de dispositius i les interfícies d’aplicacions. Anteriorment hem utilitzat Particle Cloud amb Raspberry Pi amb finalitats domòtiques.

L’API de Particle facilita als desenvolupadors l’accés i la integració de la funcionalitat completa de Particle amb altres aplicacions i dispositius. Segons particle, l'API permet als desenvolupadors escriure funcions al microprogramari del dispositiu i després trucar-les per utilitzar-les a l'aplicació de les coses en temps real. Alguns mètodes d’API d’exemple inclouen l’activació i desactivació del wifi, la connexió de dispositius, l’alteració de l’estat dels dispositius, l’obtenció de dades i la gestió general dels dispositius.
Podeu trobar documentació i altres detalls sobre l'API al lloc web de ParticleIO.
6. API Adafruit IO
Adafruit és una de les marques més populars del món de l'electrònica de bricolatge i la seva decisió de llançar la plataforma Adafruit IO per a solucions IoT fa un temps va ser ben rebuda per la comunitat de fabricants / aficionats a l'electrònica. La plataforma ha continuat creixent des de llavors i ha servit a un bon nombre de fabricants, inclosos jo. La plataforma Adafruit IO és essencialment un núvol de dispositius amb funcions de visualització de dades, entre d’altres, tot impulsat per l’API Adafruit IO. Ja hem utilitzat Adafruit IO amb PIC i altres plataformes de desenvolupament com ESP i Raspberry Pi.

Segons Adafruit, l'API HTTP Adafruit IO proporciona als usuaris accés a les seves dades d'Adafruit IO des de qualsevol llenguatge de programació o entorn de maquinari que pugui parlar HTTP. Mitjançant això, poden dissenyar sistemes que prenguin mesures basades en les dades i que facin canvis en el dispositiu enviant informació als dispositius.
La plataforma Adafruit IO és una de les plataformes més fàcils de treballar i és una de les meves favorites per a projectes de IoT de bricolatge. Podeu trobar documentació i més detalls al lloc web d’Adafruit IO.
7. API Home Assistant
Home Assistant és un sistema domòtic de codi obert dirigit per la comunitat, similar a openHAB. Igual que altres plataformes, Home Assistant està impulsat per l'API REST Python Home Assistant, que proporciona accés a mètodes de dades per al servei de control de Home Assistant.

Permet als usuaris editar la configuració, retornar informació bàsica sobre la instància Home Assistant, retornar totes les dades necessàries per arrencar, retornar una sèrie d'objectes d'esdeveniment i molt més. L’API accepta i retorna només objectes codificats JSON que contenen el nom de l’esdeveniment, el recompte de l’oient i molt més. Es basa en Python 3 i ajuda a rastrejar i controlar sense esforç tots els dispositius domèstics registrats, independentment de si el registre es va fer a través del web o de l’aplicació mòbil. Podeu trobar documentació i més detalls sobre l’API al lloc web de Home Assistant.
8. Les API de Things Network
LoRa s'està convertint en un dels canals de comunicació escollits a causa del seu llarg abast i el seu baix consum d'energia, entre altres funcions. The Things Network (TTN) és un esforç de font oberta i dirigit per la comunitat per construir una xarxa global LoRaWAN oberta per crear una infraestructura oberta que faciliti el desenvolupament de solucions IoT basades en LoRa. Com a tal, TTN proporciona un conjunt d’eines obertes i una xarxa oberta global que ofereix la màxima seguretat i escalabilitat. Si no coneixeu Lora, consulteu l'article detallat sobre Introducció a LoRa i LoRaWAN.

La interacció amb la plataforma TTN està impulsada per dues principals API; l'API de dades TTN i l'API del gestor d'aplicacions TTN. L'API de dades us permet rebre esdeveniments i missatges de dispositius, així com enviar missatges a dispositius, generalment, intercanviar informació amb dispositius. L’API Application Manager, en canvi, s’utilitza per gestionar aplicacions, passarel·les i dispositius. L'API de dades es basa en el protocol MQTT i es pot utilitzar per al desenvolupament mitjançant l'SDK o directament amb MQTT, mentre que l'API del gestor d'aplicacions es basa en el protocol HTTP. Podeu trobar més informació sobre aquestes API al lloc web de The Things Network.
9. API REST de ThingSpeak.io
ThingSpeak es considera una de les plataformes en núvol de codi obert més alt per a dispositius IoT. És una de les millors plataformes per al processament de dades des de dispositius, sobretot per la seva integració amb MATLAB després de ser adquirida per Mathworks fa anys. Permet als usuaris carregar, agregar, analitzar i visualitzar dades mitjançant MATLABsense la necessitat d’adquirir el programari MATLAB per separat. Tot això es facilita l’ús de l’API ThingSpeak. Igual que la majoria de les altres API esmentades anteriorment, l'API ThingSpeak permet als usuaris; recopilar i emmagatzemar dades del sensor, recuperar dades i estat actual dels dispositius connectats, automatitzar esdeveniments basats en dades, configurar activadors basats en l’estat dels dispositius IoT i integrar-se amb plataformes de xarxes socials com twitter, entre altres funcions. Per obtenir més informació sobre ThingSpeak, consulteu projectes IoT anteriors on ThingSpeak s'ha utilitzat amb molts microcontroladors diferents com Arduino, Raspberry PI, ESP, etc.:
- Monitorització de temperatura i humitat en directe a través d’Internet mitjançant Arduino i ThingSpeak
- Monitorització del batec del cor a través d’Internet mitjançant Arduino i ThingSpeak
- Estació meteorològica Raspberry Pi: control de la humitat, la temperatura i la pressió a través d'Internet
- Sistema de monitorització de pacients basat en IoT que utilitza ESP8266 i Arduino

Algunes de les funcions de ThingSpeak que es tradueixen automàticament en avantatges d’utilitzar la seva API són;
- Fàcil configuració del dispositiu per transmetre dades a la plataforma ThingSpeak mitjançant plataformes IoT estàndard.
- Visualització en temps real de dades de sensors i agregació de dades mitjançant fonts de tercers.
- L’anàlisi de l’IoT s’executa segons horaris o esdeveniments.
- API d'anàlisi MATLAB, RESTful i MQTT.
- Permet crear prototips i crear sistemes IoT sense cap configuració de servidor ni instal·lació de programari web.
- Compatibilitat amb plataformes de desenvolupament populars com Arduino i Raspberry Pi
- Actua automàticament sobre les dades i automatitza les tasques
- Integració amb serveis de tercers com Twitter. Un bon exemple d’una situació en què és útil és una solució IoT que tweetitza automàticament el nivell de l’aigua.
A més de l’API allotjada gratuïta, l’API ThingSpeak és de codi obert i està disponible a GitHub per descarregar-la en servidors privats.
10. Fundició EdgeX
EdgeX Foundry és un ecosistema de codi obert de plataformes IoT basat en configuracions de codi obert. L'API EdgeX Foundry ofereix diversos punts finals per a serveis, inclosos el registre de clients , la programació i el registre. L'API té una arquitectura REST i utilitza OAuth 2.0 per a l'autenticació. Edgex té una sèrie de microserveis connectats a cada dispositiu connectat a la xarxa.

Cada micro servei té diverses trucades API importants que es poden utilitzar;
- Registra un servei de dispositiu
- Subministrar un dispositiu
- Envia dades des del dispositiu a la plataforma Edgex,
- Lectura de les dades de la plataforma Edgex per al seu ús en altres aplicacions
- Exportació de dades, entre d’altres.
Podeu trobar documentació i més detalls sobre l'API al lloc web EdgeX Foundry.
Aquesta és la meva llista! Tanmateix, aquesta llista no és exhaustiva, ja que se’m vénen al cap algunes altres API com IoT-Plotter i altres que hauria pogut afegir a la llista. No deixeu de deixar comentaris sobre les API Open IoT amb què heu treballat. Els vostres comentaris poden ajudar molt els altres a seleccionar una API o plataforma per utilitzar-la en els seus projectes.
Fins la propera.
