- Kas yra API ir kuo ji naudinga?
- 1. „OpenHAB REST“ API
- 2. „Mozilla Web Things“ API
- 3. „OpenWeatherMap“
- 4. „EmonCMS“ API
- 6. „Adafruit IO“ API
- 7. „Home Assistant“ API
- 8. Daiktų tinklo API
- 9. „ThingSpeak.io REST“ API
- 10. „EdgeX“ liejykla
Šiandieniniame sujungtame pasaulyje plonų internetų tinklas (IoT) nebėra žinomas žodis, kurį mėtė ekspertai. Tai tikra !! Tai galima rasti visur aplink mus, keičiant gyvenimą, palengvinant geresnes paslaugas, tobulinant procesus, suteikiant naujų galimybių ir didinant pajamas.
Turint milijardus naujų įrenginių, kurie dar turi būti prijungti prie interneto, IoT poveikis neabejotinai bus nukreiptas ne tik į IoT įrenginius, bet ir į keletą kitų programų, panaudojant šių įrenginių pateiktus duomenis socialiniam ir komerciniam augimui pasiekti. Tai jau vyksta, nes dauguma šiandien organizacijų, kuriose nėra diegiami IoT sprendimai, vis tiek gali pasinaudoti jų pranašumais, gaudami prieigą prie duomenų, kuriuos sugeneravo įrenginiai, kuriuos kiti žmonės įdiegė naudodami savo API.
Kas yra API ir kuo ji naudinga?
Santrumpa API reiškia „ Application Programming Interface“, tai nėra naujas dalykas ir apsiriboja IoT, jie jau seniai naudojami programinės įrangos kūrime. API palengvina lengvą skirtingų paslaugų integravimą į gaminius, leidžiant viena kalba parašytas programas naudoti kita kalba parašyta programine įranga, padedant sumažinti bendrą infrastruktūrą ir laiko sąnaudas produktų kūrimui. Tie patys pranašumai šiuo metu perkeliami į IoT programas, kai API naudojamos įvairiose programose, kad būtų atskleisti duomenys, leidžiantys sujungti ir prijungti kelis įrenginius, kad būtų išspręstos naujos ir įdomios darbo eigos, atskleidžiant neregėtas IoT galimybes.
Prisiregistruodami naudoti naujas paslaugas (tarkime, „Spotify“), mes būtume susidūrę su tokiomis parinktimis kaip „Prisijunkite naudodami„ Gmail “ar„ Prisijunkite naudodami „Facebook“ “. Tai yra ne kas kitas, o „Google“ / „Facebook“ „Spotify“ teikiamos API, kad būtų lengva atlikti registracijos procedūrą. Čia API dalinsis pagrindine vartotojo informacija, pvz., Vardu, el. Pašto ID, telefono numeriu ir kt., Su „Spotify“ ir padės sutaupyti laiko prisiregistruojant. Skirtingoms programų reikmėms yra skirtingos API.
Kaip ir naudojant programinę įrangą, yra keletas IoT API, skirtų skirtingoms užduotims atlikti, tačiau dauguma jų paprastai nėra nemokamos. Šiandienos pamokoje ieškosime 10 geriausių (mūsų nuomone) atvirojo kodo IoT API, kurie padės sumažinti kūrimo išlaidas ir laiką. Šios API yra atviros, nemokamos (arba turi nemokamų paketų), jas gali naudoti ne tik profesionalai, bet ir kūrėjai, mėgėjai ir beveik visi, kurie mano, kad jie yra naudingi ir gerai sutinka su naudojimo sąlygomis. Šios API yra išvardytos jokia ypatinga tvarka, buvo pasirinktos atsitiktinai vertikalėse ir tikriausiai nėra palyginamos, nes atlieka skirtingas užduotis.
1. „OpenHAB REST“ API
„Open Home Automation Bus“ („openHAB“) yra atviro kodo technologinė agnostinė namų automatikos platforma, padedanti vienoje vietoje sujungti ir valdyti išmaniuosius įrenginius ir „ne taip protingus“ namų įrenginius. Tai leidžia atlikti vartotojo nustatytus veiksmus pagal įrenginius, naudojant vartotojo apibrėžtą informaciją ir vartotojo apibrėžtus įrankius. Norėdami tai pasiekti, „openHAB“ segmentuoja ir suskirsto tam tikras funkcijas ir operacijas, kurias visas galima pasiekti per „openHAB REST“ API.
Naudodamiesi „openHAB REST“ API, vartotojai gali pasiekti visų su platforma susietų įrenginių, pačių įrenginių (daiktų) ir „Bindings“ duomenis, taip pat leisti komandas ir veiksmus, kad pakeistų prie „openHAB“ prijungtų įrenginių būseną, elgesį ar ypatybes.. Sąveika su API grindžiama HTTP protokolu; dirbant svarbu užtikrinti saugias ir saugias jungtis. Pasak „openHAB“ svetainės, kai kurios sąveikos, galimos naudojant „openHAB REST“ API, yra:
- Gaukite „openHAB“ duomenis iš išorinių programų
- Sušvirkškite duomenis ir suaktyvinkite „openHAB“ įvykius iš išorinių programų (pavyzdžiui, kai kurių judesio detektorių ar stebėjimo kamerų)
- Patikrinkite „openHAB“ įrišimus / daiktus ar daiktus, sužinokite apie dabartines būsenas, parametrus ar problemas
- Bendravimas su „openHAB“ iš kitų programų; daugelis programavimo kalbų ir automatikos įrankių gali lengvai naudoti REST API
- Naudokite trečiosios šalies programinę įrangą mobiliuosiuose telefonuose, pavyzdžiui, „Tasker“, kad atidarytumėte garažo vartus
Dokumentaciją, daugiau pavyzdžių ir išsamią API naudojimo instrukciją galite rasti „ OpenHAB“ svetainėje.
Trečiosios šalies programos, pvz., „Tasker“, naudojamos kartu su „openHAB“, yra didelis patarimas, kaip API atveria DI ekonomiką, suteikiant galimybę papildomai kurti vertę grandinėje.
2. „Mozilla Web Things“ API
„Mozilla“ yra ne pelno siekianti įmonė, ginanti laisvą ir atvirą internetą, o žiniatinklio dalykų API rodo jos pastangas išplėsti savo dalyvavimą žiniatinklyje ir internete. Remiantis „Web Things“ svetaine, „Web Things“ API leidžia vartotojams pateikti unikalius URL visiems prijungtiems įrenginiams visame žiniatinklyje, leidžiant jį naudoti kaip vienijančią visų IoT įrenginių programų sluoksnį.
„Web Things“ API, kaip ir dauguma kitų IoT API, yra pagrįsta REST ir leidžia vartotojams; pasiekti įrenginių ypatybes, nustatyti kiekvieno įrenginio esamą būseną ir išleisti komandas, kad pakeistumėte įrenginio būseną ar atliktumėte veiksmus. „WebThings“ API palengvina prieigą prie išteklių, vaizduojančius kiekvieną įrenginio aspektą, nes kiekvienam šaltiniui atskirai nurodoma naudojant URL. Daugiau informacijos galite rasti „Mozilla IoT“ svetainėje.
3. „OpenWeatherMap“
„OpenWeatherMap“ yra internetinė paslauga, suteikianti prieigą prie su oru susijusių duomenų (temperatūros, drėgmės, kritulių ir kt.), Įskaitant dabartinius orus, prognozes ir istorinius duomenis, interneto paslaugų, mobiliųjų ir pastaruoju metu interneto programų kūrėjams. Duomenys, gauti per „OpenWeatherMap“, yra gaunami iš šaltinių nuo DIY meteorologinių stočių iki meteorologinių transliacijų tarnybų, oro uostų meteorologijos stočių ir kelių kitų šaltinių. Mes jau aptarėme, kaip naudoti „Openweather Map“ su „Arduino“, norint nuskaityti orų duomenis iš interneto naudojant ESP8266.
Duomenys apdorojami ir rūšiuojami taip, kad naudojant „OpenWeatherMap“ API būtų galima sukurti IoT sprendimus, kurie šiuos duomenis panaudoja informuodami ir automatizuodami užduotis. Pavyzdžiui, prognozės duomenys per API gali būti įvedami į pavojaus signalizacijos sistemą / įrenginį, siekiant įspėti ūkininkus apie galimą smarkų lietų.
Nors dauguma „OpenWeatherMap“ funkcijų yra mokamos, nemokamas paketas turi nepaprastai naudingų funkcijų, kurios gana gerai gali aptarnauti daugumą IoT projektų. Dokumentaciją ir kitą informaciją apie API galite rasti „ openWeatherMap“ svetainėje.
4. „EmonCMS“ API
„EmonCMS“ yra galinga atvirojo kodo interneto programa, skirta duomenims apdoroti, registruoti ir vizualizuoti. Tai yra „OpenEnergyMonitor“ grupės pastangų rezultatas, kaip rodo pavadinimas, palengvinti atvirojo šaltinio energijos stebėjimo prietaisus, analizuojant aplinkos duomenis. Iš esmės tai yra duomenų vizualizavimo įrankis, kuriame naudojami kelių energijos stebėjimo duomenysjutiklius galima apžiūrėti. Kad kūrėjams būtų lengva pasiekti platformą, buvo sukurta ryšio API, leidžianti sąveikauti su platforma, kai ji veikia vietiniame (LAN) arba per internetą. „EmonCMS“ API leidžia vartotojams atnaujinti platformos energijos įrenginių būseną, gauti rodmenis ir kitus parametrus, rodančius įrenginių būseną (jei įrenginys yra suderinamas) iš platformos kartu su keliomis kitomis funkcijomis.
Norite pridėti šiek tiek duomenų vizualizacijos prie kito energetiškai pagrįsto IoT sprendimo? „EmonCMS“ gali būti būtent tai, ko jums reikia. Daugiau informacijos apie platformą ir API galite rasti jų svetainėje.
5. Dalelių API
„Particle API“ yra programos programavimo sąsaja, kurią sukūrė „Particle“, kad kūrėjai galėtų lengvai dirbti su savo platforma. „Particle.IO“ yra vienas iš tikrų tikriausių „IoT“ sprendimų tiekėjų, teikiantis įrenginio aparatinę įrangą, korinį ryšį, įrenginio debesį ir programų sąsajas. Namų automatikos tikslais anksčiau naudojome dalelių debesį su „Raspberry Pi“.
„Particle“ API leidžia kūrėjams lengvai pasiekti ir integruoti visas „Particle“ funkcijas su kitomis programomis ir įrenginiais. Pagal dalelę, API leidžia kūrėjams įrašyti funkcijas į savo įrenginio programinę-aparatinę įrangą ir paskambinti joms naudoti daiktų programoje realiuoju laiku. Kai kurie API metodų pavyzdžiai apima „wifi“ išjungimą ir įjungimą, įrenginių prijungimą, įrenginių būsenos perjungimą, duomenų gavimą ir bendrą įrenginių valdymą.
Dokumentaciją ir kitą informaciją apie API rasite „ ParticleIO“ svetainėje.
6. „Adafruit IO“ API
„Adafruit“ yra vienas populiariausių prekių ženklų „pasidaryk pats“ elektronikos pasaulyje, o jų sprendimas pradėti kurti „ Adafruit IO“ platformą, skirtą daiktų internetiniams sprendimams, buvo gerai įvertintas gamintojų / elektronikos mėgėjų bendruomenės. Nuo to laiko platforma vis augo ir tarnavo daugybei kūrėjų, įskaitant mane. „Adafruit IO“ platforma iš esmės yra įrenginio debesis su duomenų vizualizavimo funkcijomis, be kitų, valdoma „Adafruit IO“ API. Mes jau naudojome „Adafruit IO“ su PIC ir kitomis kūrimo platformomis, tokiomis kaip ESP ir „Raspberry Pi“.
Pasak „ Adafruit“, „Adafruit IO HTTP API“ suteikia vartotojams prieigą prie savo „Adafruit IO“ duomenų iš bet kurios programavimo kalbos ar aparatinės įrangos aplinkos, galinčios kalbėti HTTP. Per tai jie gali suprojektuoti sistemas, kurios imtųsi veiksmų remdamosi duomenimis, ir atliktų prietaiso pokyčius, siunčiant informaciją į įrenginius.
„Adafruit IO“ platforma yra viena iš paprasčiausių platformų dirbti ir yra viena iš mano mėgstamiausių „DIY IoT“ projektams. Dokumentaciją ir daugiau informacijos galite rasti „Adafruit IO“ svetainėje.
7. „Home Assistant“ API
„Home Assistant“ yra bendruomenės vadovaujama, atviro kodo namų automatikos sistema, panaši į „openHAB“. Kaip ir kitas platformas, „Home Assistant“ valdo „Home Assistant Python REST“ API, suteikianti prieigą prie „Home Assistant“ valdymo paslaugos duomenų metodų.
Tai leidžia vartotojams redaguoti konfigūraciją, grąžinti pagrindinę informaciją apie „Home Assistant“ egzempliorių, grąžinti visus duomenis, reikalingus paleidimui, grąžinti įvykių objektų masyvą ir dar daugiau. API priima ir grąžina tik JSON koduotus objektus, kuriuose yra įvykių pavadinimas, klausytojų skaičius ir dar daugiau. Jis pagrįstas „Python 3“ ir padeda be vargo sekti ir valdyti visus registruotus namų įrenginius, neatsižvelgiant į tai, ar registracija atlikta per internetą, ar mobiliąją programą. Dokumentaciją ir daugiau informacijos apie API rasite „ Home Assistant“ svetainėje.
8. Daiktų tinklo API
„LoRa“ tampa vienu iš pasirinktų komunikacijos kanalų dėl didelio nuotolio, mažo energijos suvartojimo ir kitų funkcijų. Daiktų tinklas (TTN) yra atviro kodo, bendruomenės nukreiptos pastangos sukurti pasaulinį atvirą „LoRaWAN“ tinklą, kad būtų sukurta atvira infrastruktūra, kad būtų lengviau kurti „ LoRa“ pagrįstus interneto sprendimus. TTN suteikia atvirų įrankių rinkinį ir pasaulinį, atvirą tinklą, pasižymintį maksimaliu saugumu ir masteliu. Jei esate „Lora“ naujokas, perskaitykite išsamų straipsnį apie „LoRa“ ir „LoRaWAN“ įvadą.
Sąveiką su TTN platforma lemia dvi pagrindinės API; „TTN Data API“ ir „TTN Application Manager“ API. Duomenų API leidžia jums gauti įvykius ir pranešimus iš įrenginių, taip pat siųsti pranešimus į įrenginius, paprastai keistis informacija su įrenginiais. Kita vertus, „Application Manager“ API naudojama programoms, šliuzams ir įrenginiams valdyti. Duomenų API yra pagrįsta MQTT protokolu ir gali būti naudojama kuriant per SDK arba tiesiogiai su MQTT, o „Application Manager“ API yra paremta HTTP protokolu. Daugiau informacijos apie šią API galite rasti „The Things Network“ svetainėje.
9. „ThingSpeak.io REST“ API
„ThingSpeak“ laikoma viena iš aukščiausių atvirojo kodo debesų platformos, skirtos IoT įrenginiams. Tai yra viena iš geriausių platformų, skirta apdoroti duomenis iš įrenginių, ypač dėl integracijos su MATLAB po to, kai kelerius metus atgal ją įsigijo „Mathworks“. Tai leidžia vartotojams įkelti, kaupti, analizuoti ir vizualizuoti duomenis naudojant MATLABnereikia atskirai įsigyti MATLAB programinės įrangos. Visa tai, kas išdėstyta pirmiau, palengvina naudojimąsi „ThingSpeak“ API. Kaip ir dauguma kitų pirmiau minėtų API, „ThingSpeak“ API leidžia vartotojams; rinkti ir saugoti jutiklių duomenis, nuskaityti duomenis ir esamą prijungtų įrenginių būseną, automatizuoti įvykius pagal duomenis, sąrankos trigerius pagal DI įrenginių būseną ir integruoti su socialinės žiniasklaidos platformomis, pavyzdžiui, „Twitter“, be kitų funkcijų. Norėdami sužinoti daugiau apie „ThingSpeak“, peržiūrėkite ankstesnius IoT projektus, kuriuose „ThingSpeak“ buvo naudojamas su daugeliu skirtingų mikrovaldiklių, tokių kaip „Arduino“, „Raspberry PI“, ESP ir kt.:
- Tiesioginis temperatūros ir drėgmės stebėjimas internetu naudojant „Arduino“ ir „ThingSpeak“
- Širdies ritmo stebėjimas internete naudojant „Arduino“ ir „ThingSpeak“
- „Raspberry Pi“ meteorologinė stotis: drėgmės, temperatūros ir slėgio stebėjimas internete
- IoT pagrįsta pacientų stebėjimo sistema, naudojant ESP8266 ir „Arduino“
Kai kurios „ThingSpeak“ funkcijos, kurios automatiškai išverčia į jos API naudojimo pranašumus, yra;
- Paprasta įrenginio konfigūracija, norint perduoti duomenis į „ThingSpeak“ platformą naudojant standartines interneto platformas.
- Jutiklių duomenų vizualizavimas realiuoju laiku ir duomenų kaupimas naudojant trečiųjų šalių šaltinius.
- IoT analizė vykdoma pagal tvarkaraščius ar įvykius.
- MATLAB analizė, RESTful ir MQTT API.
- Leidžia prototipus kurti ir kurti IoT sistemas be serverio sąrankos ir žiniatinklio programinės įrangos diegimo.
- Suderinamumas su populiariomis kūrimo platformomis, tokiomis kaip „Arduino“ ir „Raspberry Pi“
- Automatiškai veikia duomenis ir automatizuoja užduotis
- Integracija su trečiųjų šalių paslaugomis, tokiomis kaip „Twitter“. Geras situacijos, kai tai naudinga, pavyzdys yra IoT sprendimas, kuris automatiškai tvitina vandens lygį.
Be nemokamos priglobtos API, „ThingSpeak“ API yra atviras šaltinis ir ją galima atsisiųsti iš „GitHub“ privačiuose serveriuose.
10. „EdgeX“ liejykla
„EdgeX Foundry“ yra atvirojo kodo IoT platformų ekosistema, paremta atvirojo kodo konfigūracijomis. „EdgeX Foundry“ API siūlo keletą paslaugų galinių taškų, įskaitant kliento registraciją, planavimą ir registravimą. API turi REST architektūrą ir autentifikavimui naudoja „OAuth 2.0“. „Edgex“ turi daugybę mikro paslaugų, kurios pridedamos prie kiekvieno prie tinklo prijungto įrenginio.
Kiekviena mikro paslauga turi keletą svarbių API skambučių, kuriuos galima naudoti;
- Užregistruokite įrenginio paslaugą
- Pateikite įrenginį
- Siųskite duomenis iš įrenginio į „Edgex“ platformą,
- Duomenų skaitymas iš „Edgex“ platformos, skirtas naudoti kitose programose
- Duomenų eksportavimas, be kita ko.
Dokumentaciją ir daugiau informacijos apie API rasite „EdgeX Foundry“ svetainėje.
Tai mano sąrašas! Tačiau šis sąrašas nėra išsamus, nes ateina į galvą kai kurios kitos API, pvz., „ IoT-Plotter“ ir kitos, kurias galėčiau įtraukti į sąrašą. Nedvejodami atsisakykite komentarų apie „Open IoT“ API, su kuriomis dirbote. Jūsų komentarai gali labai padėti kitiems pasirinkti API ar platformą, kurią naudos savo projektuose.
Iki kito karto.