- Ce este un API și cum este util?
- 1. OpenHAB REST API
- 2. API Mozilla Web Things
- 3. OpenWeatherMap
- 4. API EmonCMS
- 6. Adafruit IO API
- 7. API Home Assistant
- 8. API-urile pentru rețeaua de lucruri
- 9. API-ul REST ThingSpeak.io
- 10. Turnatorie EdgeX
În lumea conectată de astăzi, Internetul subțirilor (IoT) nu mai este un cuvânt buzz care este aruncat de experți. Este real!! Și pot fi găsite în jurul nostru, schimbând viețile, facilitând servicii mai bune, îmbunătățind procesele, oferind noi oportunități și sporind veniturile.
Cu miliarde de dispozitive noi care nu sunt încă conectate la internet, impactul IoT va fi cu siguranță dus dincolo de dispozitivele IoT în sine, către alte câteva aplicații, prin utilizarea datelor furnizate de aceste dispozitive pentru a realiza creșteri sociale și comerciale. Acest lucru se întâmplă deja, deoarece majoritatea organizațiilor de astăzi care nu au implementate soluții IoT, sunt încă în măsură să profite de avantajele acestuia obținând acces la datele generate de dispozitivele implementate de alte persoane prin utilizarea API-urilor lor.
Ce este un API și cum este util?
Acronimul API înseamnă Interfață de programare a aplicațiilor, acestea nu sunt noi și sunt limitate la IoT, ele au fost utilizate de mult timp în dezvoltarea de software. API-urile facilitează integrarea ușoară a diferitelor servicii în produse, permițând aplicațiilor scrise într-o limbă să fie utilizate de software-ul scris în altă limbă, contribuind la reducerea infrastructurii generale și a timpului necesar pentru dezvoltarea produsului. Aceleași avantaje sunt transferate în prezent în aplicații IoT, iar API-urile sunt utilizate în diverse aplicații pentru a expune date care permit combinarea și conectarea mai multor dispozitive pentru a rezolva fluxuri de lucru noi și interesante, dezvăluind posibilități nevăzute în jurul IoT.
Când ne-am înscris pentru servicii noi (să spunem Spotify), am fi întâlnit în mod obișnuit opțiuni precum „Conectați-vă utilizând Gmail” sau „Conectați-vă utilizând Facebook”. Acestea nu sunt altceva decât API-uri furnizate de Google / Facebook către Spotify pentru a facilita procedura de înscriere. Aici API-ul va partaja detalii de bază ale utilizatorului precum numele, ID-ul de e-mail, numărul de telefon etc. cu Spotify și vă va ajuta să economisiți timp cu procedura de înscriere. De asemenea, sunt disponibile diferite API-uri pentru diferite nevoi de aplicație.
La fel ca în cazul software-ului, există mai multe API-uri IoT disponibile pentru diferite sarcini, dar cele mai multe dintre ele nu sunt de obicei gratuite. Pentru tutorialul de astăzi, ne vom uita la primele 10, foarte utile (în opinia noastră) API-uri IoT Open Source pentru a vă ajuta să reduceți costul și timpul de dezvoltare. Aceste API-uri sunt deschise, gratuite (sau au pachete gratuite) și pot fi folosite nu doar de profesioniști, ci și de producători, pasionați și cam oricine le consideră utile și este în regulă cu condițiile de utilizare. Aceste API-uri nu sunt listate într-o ordine specială, au fost selectate aleator pe verticală și probabil că nu sunt comparabile deoarece îndeplinesc sarcini diferite.
1. OpenHAB REST API
Open Home Automation Bus (openHAB) este o platformă open-source, de tehnologie de automatizare a casei agnostice, care ajută la conectarea și controlul dispozitivelor inteligente și a dispozitivelor casnice „nu atât de inteligente” într-un singur loc. Permite efectuarea de acțiuni definite de utilizator de către dispozitive, utilizând informații definite de utilizator și instrumente definite de utilizator. Pentru a realiza acest lucru, openHAB segmentează și compartimentează anumite funcții și operații, toate putând fi accesate prin intermediul API-ului openHAB REST.
Prin intermediul openHAB REST API, utilizatorii pot accesa datele tuturor dispozitivelor asociate platformei, dispozitivelor în sine (lucruri) și Bindings, precum și emite comenzi și acțiuni pentru a schimba starea, comportamentul sau proprietățile dispozitivelor conectate la openHAB. Interacțiunea cu API-ul se bazează pe protocolul; ca atare, este important să asigurați conexiuni sigure și sigure atunci când lucrați cu acesta. Potrivit site-ului web openHAB, unele dintre interacțiunile posibile prin intermediul API-ului openHAB REST includ;
- Preluarea datelor openHAB din aplicații externe
- Injectați date și declanșați evenimente în openHAB din aplicații externe (de exemplu, unele detectoare de mișcare sau camere de supraveghere)
- Inspectați legăturile / obiectele sau obiectele openHAB, aflați despre stările curente, parametrii sau problemele
- Interacțiunea cu openHAB din alte programe; multe limbaje de programare și instrumente de automatizare pot folosi cu ușurință API-ul REST
- Utilizarea software-ului terților pe telefoanele mobile, cum ar fi Tasker pentru a vă deschide ușa garajului
Documentație, mai multe exemple și instrucțiuni detaliate despre utilizarea API-ului pot fi găsite pe site-ul web OpenHAB.
Aplicațiile de la terțe părți, cum ar fi Tasker, utilizate cu openHAB reprezintă un indicator important pentru modul în care API-urile deschid economia IoT, oferind oportunități pentru crearea de valoare suplimentară de-a lungul lanțului.
2. API Mozilla Web Things
Mozilla este o organizație non-profit cu misiunea de a apăra web-ul gratuit și deschis, iar API-urile pentru lucrurile web reprezintă eforturile sale de a-și extinde participarea pe web la IoT. Potrivit site-ului Web Things, API-ul Web Things permite utilizatorilor să furnizeze adrese URL unice tuturor dispozitivelor conectate de pe World Wide Web, permițându-i să fie utilizat ca strat de aplicație de unificare pentru toate dispozitivele IoT.
API-ul Web Things, la fel ca majoritatea celorlalte API-uri IoT, se bazează pe REST și le permite utilizatorilor; accesați proprietățile dispozitivelor, determinați starea curentă a fiecărui dispozitiv și emiteți comenzi pentru a schimba starea dispozitivului sau a efectua acțiuni. API-ul WebThings facilitează accesarea resurselor, reprezentând fiecare aspect al unui dispozitiv, întrucât fiecare resursă este menționată independent utilizând o adresă URL. Mai multe informații pot fi găsite pe site-ul web Mozilla IoT.
3. OpenWeatherMap
OpenWeatherMap este un serviciu bazat pe web care oferă acces la datele legate de vreme (temperatură, umiditate, precipitații etc.), incluzând vremea actuală, prognozele și datele istorice dezvoltatorilor de servicii web, mobile și mai recent aplicații IoT. Datele disponibile prin OpenWeatherMap provin din surse care variază de la stații meteo DIY la servicii de difuzare meteorologică, stații meteo aeroportuare și alte câteva surse. Am discutat deja cum să folosim Openweather Map cu Arduino pentru a citi datele meteo de pe internet folosind ESP8266.
Datele sunt procesate și sortate în așa fel încât, prin intermediul OpenWeatherMap API, pot fi construite soluții IoT care valorifică aceste date pentru a informa și automatiza sarcinile. De exemplu, datele de prognoză prin API pot fi introduse într-un sistem / dispozitiv de alarmă pentru a avertiza fermierii cu privire la posibilele averse puternice, printre alte câteva posibilități.
În timp ce majoritatea caracteristicilor OpenWeatherMap sunt plătite, pachetul gratuit are caracteristici extrem de utile, care pot servi destul de bine majorității proiectelor IoT. Documentația și alte detalii despre API pot fi găsite pe site-ul web openWeatherMap.
4. API EmonCMS
EmonCMS este o aplicație web open-source puternică pentru procesarea, înregistrarea și vizualizarea datelor. Este un produs al eforturilor grupului OpenEnergyMonitor de a facilita, așa cum sugerează și numele, dispozitivele de monitorizare a sursei deschise prin analiza datelor de mediu. Este în esență un instrument de vizualizare a datelor în care sunt date de la mai multe monitorizări de energiesenzorii pot fi vizualizați. Pentru a facilita accesul dezvoltatorilor la platformă, a fost creat un API de conectivitate pentru a permite interacțiunea cu platforma atunci când rulează pe localhost (LAN) sau prin internet. API-ul EmonCMS permite utilizatorilor să actualizeze starea dispozitivelor energetice de pe platformă, să obțină citiri și alți parametri care indică starea dispozitivelor (dacă dispozitivul este compatibil) de pe platformă, împreună cu alte câteva caracteristici.
Doriți să adăugați câteva vizualizări de date la următoarea dvs. soluție IoT bazată pe energie? EmonCMS poate fi exact ceea ce aveți nevoie. Mai multe informații despre platformă și API pot fi găsite pe site-ul lor web.
5. API de particule
Particle API este interfața de programare a aplicațiilor dezvoltată de Particle pentru a permite dezvoltatorilor să lucreze cu ușurință cu platforma lor. Particle.IO este unul dintre furnizorii de soluții IoT end-to-end din industrie, oferind hardware dispozitivului, comunicații celulare, cloud dispozitiv și interfețe de aplicații. Am folosit anterior Particle Cloud cu Raspberry Pi în scopuri de automatizare la domiciliu.
Particle API facilitează accesul și integrarea funcționalității complete a Particle cu alte aplicații și dispozitive pentru dezvoltatori. Conform particulei, API-ul permite dezvoltatorilor să scrie funcții pe firmware-ul dispozitivului lor și apoi să le apeleze pentru a fi utilizate în partea reală a aplicației în timp real. Unele exemple de metode API includ oprirea și pornirea wifi-ului, conectarea dispozitivelor, comutarea stării dispozitivelor, obținerea de date și, în general, gestionarea dispozitivelor.
Documentația și alte detalii despre API pot fi găsite pe site-ul ParticleIO.
6. Adafruit IO API
Adafruit este unul dintre cele mai populare branduri din lumea electronicelor de bricolaj, iar decizia lor de a lansa platforma IO Adafruit pentru soluții IoT în urmă cu ceva timp a fost bine primită de comunitatea producătorului / hobby-ului de electronice. Platforma a continuat să crească de atunci și a servit un număr mare de producători, inclusiv eu. Platforma Adafruit IO este în esență un cloud de dispozitive cu funcții de vizualizare a datelor, printre altele, toate conduse de API-ul Adafruit IO. Am folosit deja Adafruit IO cu PIC și alte platforme de dezvoltare precum ESP și Raspberry Pi.
Potrivit Adafruit, API-ul HTTP Adafruit IO oferă utilizatorilor acces la datele lor Adafruit IO din orice limbaj de programare sau mediu hardware care poate vorbi HTTP. Prin aceasta, ei pot proiecta sisteme care acționează pe baza datelor și pot efectua modificări ale dispozitivului prin trimiterea de informații către dispozitive.
Platforma Adafruit IO este una dintre cele mai ușoare platforme cu care se poate lucra și este una dintre preferatele mele pentru proiectele DIY IoT. Documentație și mai multe detalii pot fi găsite pe site-ul web Adafruit IO.
7. API Home Assistant
Home Assistant este un sistem de automatizare a casei open source condus de comunitate, similar cu openHAB. La fel ca alte platforme, Home Assistant este condus de API-ul REST Python Home Assistant care oferă acces la metodele de date pentru serviciul de control Home Assistant.
Permite utilizatorilor să editeze configurația, să returneze informații de bază despre instanța Home Assistant, să returneze toate datele necesare pentru bootstrap, să returneze o serie de obiecte eveniment și multe altele. API acceptă și returnează numai obiecte codificate JSON care conțin numele evenimentului, numărul de ascultători și multe altele. Se bazează pe Python 3 și ajută la urmărirea și controlul fără efort al tuturor dispozitivelor de acasă înregistrate, indiferent dacă înregistrarea a fost făcută prin web sau prin aplicația mobilă. Documentația și mai multe detalii despre API pot fi găsite pe site-ul Home Assistant.
8. API-urile pentru rețeaua de lucruri
LoRa devine unul dintre canalele de comunicare preferate datorită razei sale lungi de utilizare, consumului redus de energie, printre alte caracteristici. Rețeaua de lucruri (TTN) este un efort open source, condus de comunitate, pentru a construi o rețea globală LoRaWAN deschisă pentru a crea o infrastructură deschisă pentru a facilita dezvoltarea soluțiilor IoT bazate pe LoRa. Ca atare, TTN oferă un set de instrumente deschise și o rețea globală, deschisă, cu securitate și scalabilitate maximă. Dacă sunteți nou în Lora, consultați articolul detaliat despre Introducere în LoRa și LoRaWAN.
Interacțiunea cu platforma TTN este condusă de două API-uri majore; TTN Data API și TTN Application Manager API. Data API vă permite să primiți evenimente și mesaje de pe dispozitive, precum și să trimiteți mesaje către dispozitive, în general, să faceți schimb de informații cu dispozitive. API-ul Application Manager, pe de altă parte, este utilizat pentru a gestiona aplicații, gateway-uri și dispozitive. Data API se bazează pe protocolul MQTT și poate fi utilizat pentru dezvoltare prin SDK sau direct cu MQTT în timp ce API-ul Application Manager se bazează pe protocolul HTTP. Mai multe informații despre aceste API pot fi găsite pe site-ul The Things Network.
9. API-ul REST ThingSpeak.io
ThingSpeak este considerat una dintre cele mai mari platforme open source, cloud pentru dispozitive IoT. Este una dintre cele mai bune platforme pentru procesarea datelor de pe dispozitive, în special datorită integrării sale cu MATLAB după ce a fost achiziționată de Mathworks cu câțiva ani în urmă. Permite utilizatorilor să încarce, să agregeze, să analizeze și să vizualizeze date folosind MATLABfără a fi nevoie să achiziționați separat software-ul MATLAB. Toate cele de mai sus facilitează utilizarea API-ului ThingSpeak. La fel ca majoritatea celorlalte API-uri menționate mai sus, API-ul ThingSpeak permite utilizatorilor; colectează și stochează datele senzorilor, recuperează datele și starea curentă a dispozitivelor conectate, automatizează evenimentele pe baza datelor, declanșează configurarea pe baza stării dispozitivelor IoT și se integrează cu platformele de socializare, cum ar fi twitter, printre alte caracteristici. Pentru a afla mai multe despre ThingSpeak, consultați proiectele IoT anterioare în care ThingSpeak a fost utilizat cu multe microcontrolere diferite, cum ar fi Arduino, Raspberry PI, ESP etc.:
- Monitorizarea temperaturii și a umidității în direct pe Internet utilizând Arduino și ThingSpeak
- Monitorizarea bătăilor inimii prin Internet folosind Arduino și ThingSpeak
- Stația meteo Raspberry Pi: monitorizarea umidității, temperaturii și presiunii prin internet
- Sistem de monitorizare a pacientului bazat pe IoT care utilizează ESP8266 și Arduino
Unele dintre caracteristicile ThingSpeak care se traduc automat în beneficiile utilizării API-ului său sunt;
- Configurare ușoară a dispozitivului pentru a transmite date către platforma ThingSpeak utilizând platforme IoT standard.
- Vizualizare în timp real a datelor senzorilor și a agregării datelor folosind surse terțe.
- Analiza IoT rulează pe baza programărilor sau evenimentelor.
- Analize MATLAB, API-uri RESTful și MQTT.
- Permite crearea de prototipuri și construirea sistemelor IoT fără nicio configurare a serverului și instalarea de software Web.
- Compatibilitate cu platforme de dezvoltare populare precum Arduino și Raspberry Pi
- Acționează automat asupra datelor și automatizează sarcinile
- Integrare cu servicii terță parte precum Twitter. Un bun exemplu de situație în care acest lucru este util este o soluție IoT care tweetează automat nivelul apei.
În plus față de API-ul găzduit gratuit, API-ul ThingSpeak este open source și este disponibil pe GitHub pentru descărcare pe servere private.
10. Turnatorie EdgeX
EdgeX Foundry este un ecosistem open source al platformelor IoT bazate pe configurații open source. API-ul EdgeX Foundry oferă mai multe puncte finale pentru servicii, inclusiv înregistrarea clientului , programarea și înregistrarea în jurnal. API-ul are o arhitectură REST și folosește OAuth 2.0 pentru autentificare. Edgex are o serie de servicii micro care sunt atașate fiecărui dispozitiv conectat la rețea.
Fiecare micro serviciu are mai multe apeluri API importante care pot fi utilizate;
- Înregistrați un serviciu de dispozitiv
- Furnizați un dispozitiv
- Trimiteți date de pe dispozitiv pe platforma Edgex,
- Citirea datelor de pe platforma Edgex pentru utilizare în alte aplicații
- Exportul de date, printre altele.
Documentație și mai multe detalii despre API pot fi găsite pe site-ul EdgeX Foundry.
Aceasta este lista mea! Cu toate acestea, această listă nu este în niciun fel exhaustivă, deoarece îmi vin în minte alte API-uri precum IoT-Plotter și altele pe care aș fi putut să le adaug pe listă. Simțiți-vă liber să renunțați la comentarii despre API-urile Open IoT cu care ați lucrat. Comentariile dvs. pot ajuta mult pe alții să selecteze un API sau o platformă pe care să o folosească în proiectele lor.
Până la data viitoare.