- Kaj je API in kako koristen?
- 1. OpenHAB REST API
- 2. Mozilla Web Things API
- 3. OdpriteWeatherMap
- 4. EmonCMS API
- 6. Adafruit IO API
- 7. API za domačega pomočnika
- 8. API-ji omrežja Things
- 9. API za počitek ThingSpeak.io
- 10. Livarna EdgeX
V današnjem povezanem svetu Internet tanke (IoT) ni več modna beseda, ki bi jo premetavali strokovnjaki. Resnično je !! Lahko jih najdemo povsod okoli nas, spreminjamo življenje, olajšujemo boljše storitve, izboljšujemo procese, ponujamo nove priložnosti in povečujemo prihodke.
Z milijardami novih naprav, ki še niso povezane z internetom, bo vpliv interneta stvari vsekakor presegel same naprave IoT na več drugih aplikacij, tako da bo podatke iz teh naprav izkoristil za doseganje družbene in komercialne rasti. To se že dogaja, saj večina današnjih organizacij, ki nimajo uvedenih rešitev IoT, še vedno lahko izkoristi prednosti dostopa do podatkov, ki jih ustvarijo naprave, ki jih drugi uvedejo z uporabo svojih API-jev.
Kaj je API in kako koristen?
Kratica API je kratica za Application Programming Interface, ti niso novosti in so omejeni na IoT, že dolgo se uporabljajo pri razvoju programske opreme. API-ji olajšajo enostavno integracijo različnih storitev v izdelke, kar omogoča uporabo programov, napisanih v enem jeziku, s programsko opremo, ki je napisano v drugem jeziku, kar pomaga pri zmanjšanju celotne infrastrukture in potreb po času za razvoj izdelka. Te iste prednosti se trenutno prenašajo v aplikacije IoT z API-ji, ki se uporabljajo v različnih aplikacijah, da razkrijejo podatke, ki omogočajo združitev in povezovanje več naprav za reševanje novih in zanimivih delovnih tokov, kar razkriva nevidne možnosti v okolju IoT.
Ko bi se prijavili za nove storitve (recimo Spotify), bi pogosto naleteli na možnosti, kot sta »Prijava z Gmailom« ali »Prijava s Facebookom«. To so le API-ji, ki jih Google / Facebook zagotavlja Spotify, da olajša postopek prijave. Tu bo API delil osnovne uporabniške podrobnosti, kot so ime, e-poštni ID, telefonska številka itd., S Spotify in vam pomagal prihraniti čas s postopkom prijave. Na voljo so tudi različni API-ji za različne potrebe aplikacij.
Tako kot pri programski opremi je tudi za različne naloge na voljo več IoT API-jev, vendar večina navadno ni na voljo brezplačno. V današnji vadnici si bomo ogledali 10 najbolj uporabnih (po našem mnenju) odprtokodnih API-jev IoT, ki vam bodo pomagali zmanjšati stroške in čas razvoja. Ti API-ji so odprti, brezplačni (ali imajo brezplačne pakete) in jih lahko uporabljajo ne samo strokovnjaki, temveč tudi izdelovalci, ljubitelji in skoraj vsi, ki se jim zdijo koristni in se strinjajo s pogoji uporabe. Ti API-ji so navedeni v nobenem posebnem vrstnem redu, izbrani so bili naključno po panogah in verjetno niso primerljivi, saj opravljajo različne naloge.
1. OpenHAB REST API
Open Home Automation Bus (openHAB) je odprtokodna, tehnološko agnostična platforma za avtomatizacijo doma, ki pomaga na enem mestu povezati in nadzorovati pametne naprave in »ne tako pametne« domače naprave. Omogoča izvajanje uporabniško določenih dejanj s pomočjo uporabniško določenih informacij in uporabniško določenih orodij. Da bi to dosegel, openHAB segmentira in razdeli določene funkcije in operacije, do katerih bi lahko dostopali prek API-ja openHAB REST.
Prek API-ja openHAB REST lahko uporabniki dostopajo do podatkov vseh naprav, povezanih s platformo, samih naprav (stvari) in Bindings ter izdajajo ukaze in dejanja za spreminjanje stanja, vedenja ali lastnosti naprav, povezanih z openHAB. Interakcija z API-jem temelji na protokolu; kot tak je pomembno, da pri delu z njim zagotovite varne in varne povezave. Glede na spletno mesto openHAB nekatere interakcije, ki so možne prek API-ja openHAB REST, vključujejo;
- Pridobite podatke openHAB iz zunanjih aplikacij
- Vbrizgajte podatke in sprožite dogodke v openHAB iz zunanjih aplikacij (na primer nekaterih detektorjev gibanja ali nadzornih kamer)
- Oglejte si vezi / stvari ali predmete openHAB, spoznajte trenutna stanja, parametre ali težave
- Interakcija z openHAB iz drugih programov; številni programski jeziki in orodja za avtomatizacijo lahko preprosto uporabljajo API REST
- Uporaba programske opreme tretjih oseb na mobilnih telefonih, kot je Tasker, za odpiranje garažnih vrat
Dokumentacijo, več primerov in podrobna navodila o uporabi API-ja najdete na spletni strani OpenHAB.
Aplikacije tretjih oseb, kot je Tasker, ki se uporabljajo z openHAB, so pomemben pokazatelj, kako API-ji odpirajo ekonomijo interneta stvari in ponujajo priložnosti za ustvarjanje dodatne vrednosti po verigi.
2. Mozilla Web Things API
Mozilla je neprofitna organizacija, katere naloga je zagovarjati brezplačni in odprti splet, API za spletne stvari pa predstavlja svoja prizadevanja za razširitev svojega sodelovanja v spletu na IoT. Kot piše na spletnem mestu Web Things, API Web Things omogoča uporabnikom, da zagotovijo edinstvene URL-je vsem povezanim napravam na svetovnem spletu, kar omogoča njegovo uporabo kot povezovalni aplikacijski sloj za vse naprave IoT.
API Web Things, tako kot večina drugih IoT API-jev, temelji na REST in uporabnikom omogoča; dostopate do lastnosti naprav, določite trenutno stanje vsake naprave in izdajate ukaze za spreminjanje stanja naprave ali izvajanje dejanj. API WebThings olajša dostop do virov, ki predstavljajo vsak vidik naprave, saj se na vsak vir neodvisno sklicuje z uporabo URL-ja. Več informacij najdete na spletnem mestu Mozilla IoT.
3. OdpriteWeatherMap
OpenWeatherMap je spletna storitev, ki razvijalcem spletnih storitev, mobilnih naprav in nedavno aplikacij interneta stvari omogoča dostop do vremenskih podatkov (temperature, vlage, padavin itd.), Vključno s trenutnim vremenom, napovedmi in zgodovinskimi podatki. Podatki, ki so na voljo prek OpenWeatherMap, prihajajo iz virov, od vremenskih postaj DIY do meteoroloških oddajnih storitev, letaliških vremenskih postaj in številnih drugih virov. O tem, kako uporabljati Openweather Map z Arduino, smo že razpravljali za branje vremenskih podatkov iz interneta s pomočjo ESP8266.
Podatki so obdelani in razvrščeni tako, da je mogoče prek API-ja OpenWeatherMap zgraditi rešitve IoT, ki te podatke uporabljajo za informiranje in avtomatizacijo nalog. Podatki o napovedih se na primer prek API-ja lahko vnesejo v alarmni sistem / napravo, ki med številnimi drugimi možnostmi kmetje opozori na morebiten močan naliv.
Medtem ko je večina funkcij OpenWeatherMap plačljivih, ima brezplačni paket izjemno uporabne funkcije, ki lahko zelo dobro služijo večini IoT projektov. Dokumentacijo in druge podrobnosti o API-ju najdete na spletnem mestu openWeatherMap.
4. EmonCMS API
EmonCMS je zmogljiva odprtokodna spletna aplikacija za obdelavo, beleženje in vizualizacijo podatkov. Je plod prizadevanj skupine OpenEnergyMonitor, da tako kot že ime pove, olajša naprave za nadzor odprte kode z analizo okoljskih podatkov. V bistvu gre za orodje za vizualizacijo podatkov, pri katerem se izvajajo podatki iz več energetskih monitoringovsi lahko ogledate senzorje. Da bi razvijalci olajšali dostop do platforme, je bil ustvarjen API za povezljivost, ki omogoča interakcijo s platformo pri izvajanju na localhost (LAN) ali prek interneta. API EmonCMS omogoča uporabnikom, da posodabljajo stanje energetskih naprav na platformi, pridobijo odčitke in druge parametre, ki prikazujejo stanje naprav (če je naprava združljiva) s platforme, skupaj z več drugimi funkcijami.
Bi radi dodali nekaj vizualizacije podatkov svoji naslednji rešitvi IoT, ki temelji na energiji? EmonCMS je morda le tisto, kar potrebujete. Več informacij o platformi in API-ju najdete na njihovi spletni strani.
5. API delcev
Particle API je vmesnik za programiranje aplikacij, ki ga je razvil Particle, da razvijalcem omogoča enostavno delo s svojo platformo. Particle.IO je eden od resničnih ponudnikov IoT celovitih rešitev IoT, ki ponuja strojno opremo naprave, celično komunikacijo, vmesnike oblakov in aplikacij. Pred tem smo za namene avtomatizacije doma uporabljali Particle Cloud z Raspberry Pi.
Particle API razvijalcem olajša dostop in vključitev celotne funkcionalnosti Particle z drugimi aplikacijami in napravami. Glede na delce API omogoča razvijalcem, da funkcije vpišejo v vdelano programsko opremo svoje naprave in jih nato pokličejo za uporabo na strani aplikacije v realnem času. Nekateri primeri metod API vključujejo izklop in vklop WiFi-ja, povezovanje naprav, preklapljanje stanja naprav, pridobivanje podatkov in splošno upravljanje naprav.
Dokumentacijo in druge podrobnosti o API-ju najdete na spletnem mestu ParticleIO.
6. Adafruit IO API
Adafruit je ena izmed najbolj priljubljenih blagovnih znamk na področju elektronike DIY in njihova odločitev, da nekaj časa nazaj uvedejo platformo Adafruit IO za IoT rešitve, je bila dobro sprejeta v skupnosti proizvajalcev / ljubiteljev elektronike. Od takrat je platforma še naprej rasla in je služila številnim proizvajalcem, vključno z mano. Platforma Adafruit IO je v bistvu oblak naprav s funkcijami za vizualizacijo podatkov, med drugim vsem, ki jih vodi API Adafruit IO. Adafruit IO smo že uporabljali s PIC in drugimi razvojnimi platformami, kot sta ESP in Raspberry Pi.
Po navedbah Adafruit, API Adafruit IO HTTP API uporabnikom omogoča dostop do njihovih podatkov Adafruit IO iz katerega koli programskega jezika ali strojne opreme, ki govori HTTP. S tem lahko oblikujejo sisteme, ki temeljijo na podatkih in vplivajo na spremembe v napravi s pošiljanjem informacij v naprave.
Platforma Adafruit IO je ena najlažjih platform za delo in je ena mojih najljubših za projekte DIY IoT. Dokumentacijo in več podrobnosti najdete na spletnem mestu Adafruit IO.
7. API za domačega pomočnika
Home Assistant je odprtokodni sistem za avtomatizacijo domov, ki ga vodi skupnost in je podoben sistemu openHAB. Tako kot druge platforme tudi Home Assistant poganja API za počitek Python Home Assistant, ki omogoča dostop do podatkovnih metod za nadzorno storitev Home Assistant.
Uporabnikom omogoča urejanje konfiguracije, vrnitev osnovnih informacij o primerku Home Assistant, vrnitev vseh podatkov, potrebnih za zagon, vrnitev vrste predmetov dogodkov in še več. API sprejema in vrne samo predmete, kodirane z JSON, ki vsebujejo ime dogodka, število poslušalcev in še več. Temelji na pythonu 3 in pomaga brez težav slediti in nadzorovati vse registrirane domače naprave, ne glede na to, ali je bila registracija opravljena prek spleta ali mobilne aplikacije. Dokumentacijo in več podrobnosti o API-ju najdete na spletnem mestu Home Assistant.
8. API-ji omrežja Things
LoRa postaja eden izmed izbranih komunikacijskih kanalov zaradi velikega dosega in nizke porabe energije. Mreža stvari (TTN) je odprtokodna prizadevanja skupnosti za izgradnjo globalnega odprtega omrežja LoRaWAN za ustvarjanje odprte infrastrukture za lažji razvoj IoR rešitev, ki temeljijo na LoRa. Kot tak ponuja TTN nabor odprtih orodij in globalno odprto omrežje z največjo varnostjo in razširljivostjo. Če ste Lora prvič, si oglejte podroben članek o Uvodu v LoRa in LoRaWAN.
Interakcijo s platformo TTN poganjata dva glavna API-ja; API-jev podatkov TTN in API-ja TTN Application Manager. Data API vam omogoča sprejemanje dogodkov in sporočil iz naprav ter pošiljanje sporočil napravam, na splošno izmenjavo informacij z napravami. API Application Manager pa se uporablja za upravljanje aplikacij, prehodov in naprav. Podatkovni API temelji na protokolu MQTT in se lahko uporablja za razvoj prek SDK-ja ali neposredno z MQTT, medtem ko API upravitelja aplikacij temelji na protokolu HTTP. Več informacij o teh API-jih najdete na spletnem mestu The Things Network.
9. API za počitek ThingSpeak.io
ThingSpeak velja za eno najvišjih odprtokodnih platform v oblaku za naprave IoT. To je ena najboljših platform za obdelavo podatkov iz naprav, zlasti zaradi integracije z MATLAB, potem ko jo je Mathworks pridobil nekaj let nazaj. Uporabnikom omogoča nalaganje, združevanje, analizo in vizualizacijo podatkov z uporabo MATLABbrez potrebe po ločenem pridobivanju programske opreme MATLAB. Vse našteto je olajšanje uporabe API-ja ThingSpeak. Tako kot večina zgoraj omenjenih API-jev tudi ThingSpeak API omogoča uporabnikom; zbiranje in shranjevanje podatkov senzorjev, pridobivanje podatkov in trenutno stanje povezanih naprav, avtomatizacija dogodkov na podlagi podatkov, nastavitev sprožilcev na podlagi stanja naprav IoT in integracija s platformami socialnih medijev, kot je twitter, med drugimi funkcijami. Če želite izvedeti več o ThingSpeak, si oglejte prejšnje projekte IoT, kjer je bil ThingSpeak uporabljen z različnimi mikrokrmilniki, kot so Arduino, Raspberry PI, ESP itd.:
- Spremljanje temperature in vlažnosti v živo prek interneta z uporabo Arduino in ThingSpeak
- Spremljanje srčnega utripa prek interneta z uporabo Arduina in ThingSpeak
- Vremenska postaja Raspberry Pi: spremljanje vlažnosti, temperature in tlaka prek interneta
- IoT-ov sistem za spremljanje pacientov z uporabo ESP8266 in Arduino
Nekatere funkcije ThingSpeak-a, ki samodejno prevedejo v prednosti uporabe njegovega API-ja, so;
- Preprosta konfiguracija naprave za prenos podatkov na platformo ThingSpeak z uporabo standardnih platform IoT.
- Vizualizacija podatkov senzorjev in združevanje podatkov v realnem času z uporabo tujih virov.
- IoT analitika deluje na podlagi urnikov ali dogodkov.
- MATLAB analitika, API-ji RESTful in MQTT.
- Omogoča izdelavo prototipov in gradnjo sistemov IoT brez nastavitve strežnika in namestitve spletne programske opreme.
- Združljivost s priljubljenimi razvojnimi platformami, kot sta Arduino in Raspberry Pi
- Samodejno deluje na podatke in avtomatizira naloge
- Integracija s storitvami tretjih oseb, kot je Twitter. Dober primer situacije, ko je to koristno, je rešitev IoT, ki samodejno objavi tvit na nivoju vode.
Poleg brezplačnega gostovanega API-ja je tudi ThingSpeak API odprtokoden in na voljo na GitHub za prenos v zasebne strežnike.
10. Livarna EdgeX
EdgeX Foundry je odprtokodni ekosistem IoT platform, ki temelji na odprtokodnih konfiguracijah. API EdgeX Foundry ponuja več končnih točk za storitve, vključno z registracijo odjemalca , razporejanjem in beleženjem. API ima arhitekturo REST in za overjanje uporablja OAuth 2.0. Edgex ima vrsto mikro storitev, ki so priključene na vsako napravo, priključeno v omrežje.
Vsaka mikro storitev ima več pomembnih klicev API, ki jih je mogoče uporabiti;
- Registrirajte storitev naprave
- Zagotovite napravo
- Pošiljanje podatkov iz naprave na platformo Edgex,
- Branje podatkov s platforme Edgex za uporabo v drugih aplikacijah
- Med drugim izvažanje podatkov.
Dokumentacijo in več podrobnosti o API-ju najdete na spletnem mestu EdgeX Foundry.
To je moj seznam! Vendar ta seznam nikakor ni izčrpen, saj mi prihajajo na misel nekateri drugi API-ji, kot je IoT-Plotter in drugi, ki bi jih lahko dodal na seznam. Spustite komentarje o API-jih Open IoT, s katerimi ste sodelovali. Vaši komentarji lahko pomagajo drugim, da izberejo API ali platformo za uporabo v svojih projektih.
Do naslednjič.