- Hvad er en API, og hvordan er den nyttig?
- 1. OpenHAB REST API
- 2. API til Mozilla Web Things
- 3. OpenWeatherMap
- 4. EmonCMS API
- 6. Adafruit IO API
- 7. API til hjemmeassistent
- 8. Things Network API'erne
- 9. REST API til ThingSpeak.io
- 10. EdgeX-støberi
I dagens forbundne verden er Internet of Thins (IoT) ikke længere et buzz-ord, der kastes rundt af eksperter. Det er rigtigt !! Og kan findes overalt omkring os, ændre liv, lette bedre tjenester, forbedre processer, give nye muligheder og øge indtægterne.
Med milliarder af nye enheder, der endnu ikke skal forbindes til internettet, vil effekten af IoT bestemt blive styret ud over selve IoT-enhederne til flere andre applikationer ved at udnytte de data, der leveres af disse enheder for at opnå social og kommerciel vækst. Dette sker allerede, da de fleste organisationer i dag, der ikke har IoT-løsninger implementeret, stadig er i stand til at høste fordelene ved det ved at få adgang til de data, der genereres af enheder, der er distribueret af andre mennesker ved hjælp af deres API'er.
Hvad er en API, og hvordan er den nyttig?
Akronym API står for Application Programming Interface, disse er ikke nye og begrænset til IoT, de har været brugt i softwareudvikling i lang tid. API'er letter den nemme integration af forskellige tjenester i produkter, så applikationer skrevet på et sprog kan bruges af software skrevet på et andet sprog, hvilket hjælper med at reducere den samlede infrastruktur og tidskrav til produktudvikling. De samme fordele overføres i øjeblikket til IoT-applikationer med API'er, der bruges på tværs af forskellige applikationer til at eksponere data, der gør det muligt at kombinere og forbinde flere enheder til at løse nye og interessante arbejdsgange, hvilket afslører usete muligheder omkring IoT.
Når vi tilmelder dig nye tjenester (siger Spotify), ville vi ofte have stødt på muligheder som "Log ind ved hjælp af Gmail" eller "Log ind med Facebook". Dette er intet andet end API'er leveret af Google / Facebook til Spotify for at gøre tilmeldingsproceduren let. Her deler API grundlæggende brugeroplysninger som navn, e-mail-id, telefonnummer osv. Med Spotify og hjælper dig med at spare tid med tilmeldingsproceduren. På samme måde er forskellige API'er tilgængelige til forskellige applikationsbehov.
Ligesom med software er der flere IoT API'er tilgængelige til forskellige opgaver, men de fleste af dem kommer normalt ikke gratis. Til dagens vejledning ser vi på top 10, meget nyttige (efter vores mening) Open Source IoT API'er til at hjælpe dig med at skære ned på dine udviklingsomkostninger og tid. Disse API'er er åbne, gratis (eller har gratis pakker) og kan bruges af ikke kun fagfolk, men også producenter, hobbyister og stort set alle, der finder dem nyttige og er okay med brugsvilkårene. Disse API'er er opført i ingen særlig rækkefølge, blev valgt tilfældigt på tværs af lodrette og er sandsynligvis ikke sammenlignelige, da de udfører forskellige opgaver.
1. OpenHAB REST API
Open Home Automation Bus (openHAB) er en open source, teknologi agnostisk hjemmeautomatiseringsplatform, der hjælper med at forbinde og kontrollere smarte enheder og “ikke-så-smarte” hjemmeenheder på ét sted. Det tillader udførelse af brugerdefinerede handlinger foretaget af enheder ved hjælp af brugerdefinerede oplysninger og brugerdefinerede værktøjer. For at opnå dette segmenterer og opdeler openHAB bestemte funktioner og operationer, som alle kan tilgås via openHAB REST API.
Via openHAB REST API kan brugerne få adgang til dataene på alle enheder, der er knyttet til platformen, enhederne selv (ting) og bindinger, samt udstede kommandoer og handlinger for at ændre tilstand, adfærd eller egenskaber for de enheder, der er forbundet til openHAB. Interaktion med API er baseret på HTTP-protokollen; som sådan er det vigtigt at sikre sikre og sikre forbindelser, når du arbejder med det. Ifølge openHAB-webstedet inkluderer nogle af de interaktioner, der er mulige via openHAB REST API;
- Hent openHAB-data fra eksterne applikationer
- Injicér data og udløs hændelser i openHAB fra eksterne applikationer (for eksempel nogle bevægelsesdetektorer eller overvågningskameraer)
- Undersøg openHAB bindinger / ting eller genstande, lær om aktuelle tilstande, parametre eller problemer
- Interaktion med openHAB fra andre programmer; mange programmeringssprog og automatiseringsværktøjer kan nemt bruge REST API
- Brug af tredjepartssoftware på mobiltelefoner, såsom Tasker til at åbne din garageport
Dokumentation, flere eksempler og detaljeret instruktion om brugen af API kan findes på OpenHABs hjemmeside.
Tredjepartsapps som Tasker, der bruges med openHAB, er en stor indikator for, hvordan API'er åbner IoT-økonomien og giver muligheder for yderligere værdiskabelse langs kæden.
2. API til Mozilla Web Things
Mozilla er en nonprofit med mission om at forsvare det gratis og åbne web, og web ting API repræsenterer dets bestræbelser på at udvide sin deltagelse på nettet til IoT. Ifølge Web Things-webstedet tillader Web Things API brugere at levere unikke URL'er til alle tilsluttede enheder på World Wide Web, så det kan bruges som et samlende applikationslag for alle IoT-enheder.
Web Things API, som de fleste andre IoT API'er, er baseret på REST og giver brugerne mulighed for at; få adgang til enhedernes egenskaber, bestem den aktuelle tilstand for hver enhed og udsted kommandoer for at ændre enhedens tilstand eller udføre handlinger. WebThings API gør det let at få adgang til ressourcer, der repræsenterer hvert aspekt af en enhed, da hver ressource uafhængigt refereres til ved hjælp af en URL. Flere oplysninger kan findes på Mozilla IoT-webstedet.
3. OpenWeatherMap
OpenWeatherMap er en webbaseret tjeneste, der giver adgang til vejrrelaterede data (temperatur, fugtighed, nedbør osv.), Inklusive aktuelle vejrudsigter, prognoser og historiske data til udviklere af webtjenester, mobile og for nylig IoT-applikationer. De tilgængelige data via OpenWeatherMap kommer fra kilder, der spænder fra DIY vejrstationer til meteorologiske udsendelsestjenester, lufthavnens vejrstationer og flere andre kilder. Vi har allerede diskuteret, hvordan man bruger Openweather Map med Arduino til at læse vejrdata fra internettet ved hjælp af ESP8266.
Dataene behandles og sorteres på en sådan måde, at der via OpenWeatherMap API kan bygges IoT-løsninger, der udnytter disse data til at informere og automatisere opgaver. For eksempel kan prognosedata via API føres ind i et alarmsystem / enheden for at advare landmænd om mulig kraftig regn blandt flere andre muligheder.
Mens de fleste af funktionerne i OpenWeatherMap er betalt, har den gratis pakke uhyre nyttige funktioner, der kan tjene de fleste IoT-projekter ret godt. Dokumentation og andre detaljer om API'en kan findes på openWeatherMap-webstedet.
4. EmonCMS API
EmonCMS er en kraftfuld open-source webapp til behandling, logning og visualisering af data. Det er et produkt af OpenEnergyMonitor-gruppens indsats for, ligesom navnet antyder, at lette open source energiovervågningsenheder ved at analysere miljødata. Det er i det væsentlige et datavisualiseringsværktøj, hvor data fra flere energiovervågningsensorer kan ses. For at gøre det let for udviklere at få adgang til platformen blev der oprettet en tilslutnings-API for at tillade interaktion med platformen, når de kører på localhost (LAN) eller via internettet. EmonCMS API giver brugerne mulighed for at opdatere status for energienheder på platformen, få aflæsninger og andre parametre, der angiver enhedernes tilstand (hvis enheden er kompatibel) fra platformen sammen med flere andre funktioner.
Ønsker du at tilføje noget datavisualisering til din næste energibaserede IoT-løsning? EmonCMS er muligvis bare det, du har brug for. Flere oplysninger om platformen og API'en kan findes på deres hjemmeside.
5. Partikel-API
Particle API er applikationsprogrammeringsgrænsefladen udviklet af Particle, så udviklere nemt kan arbejde med deres platform. Particle.IO er en af branchens ægte end-to-end-leverandører af IoT-løsninger, der leverer enhedshardware, mobilkommunikation, enhedssky og applikationsgrænseflader. Vi har tidligere brugt Particle Cloud med Raspberry Pi til hjemmeautomatiseringsformål.
Particle API gør det let for udviklere at få adgang til og integrere Particle's fulde funktionalitet med andre applikationer og enheder. Ifølge partikler tillader API'et udviklere at skrive funktioner til deres enheds firmware og derefter kalde dem til brug i applikationssiden af ting i realtid. Nogle eksempler på API-metoder inkluderer at slå wifi fra og til, tilslutte enheder, skifte enhedernes tilstand, indhente data og generelt styre enhederne.
Dokumentation og andre detaljer om API'en kan findes på ParticleIOs websted.
6. Adafruit IO API
Adafruit er et af de mest populære mærker i DIY-elektronikverdenen, og deres beslutning om at lancere Adafruit IO-platformen til IoT-løsninger for et stykke tid tilbage blev godt modtaget af producent / elektronik-hobbyfællesskabet. Platformen er ved med at vokse siden da og har tjent et stort antal producenter inklusive mig. Adafruit IO-platformen er i det væsentlige en enhedssky med datavisualiseringsfunktioner, blandt andet alle drevet af Adafruit IO API. Vi har allerede brugt Adafruit IO med PIC og andre udviklingsplatforme som ESP og Raspberry Pi.
Ifølge Adafruit giver Adafruit IO HTTP API brugerne adgang til deres Adafruit IO-data fra ethvert programmeringssprog eller hardwaremiljø, der kan tale HTTP. Gennem dette kan de designe systemer, der tager handling baseret på dataene og påvirker ændringer i enheden ved at sende information til enhederne.
Adafruit IO-platformen er en af de nemmeste platforme at arbejde med, og det er en af mine favoritter til DIY IoT-projekter. Dokumentation og flere detaljer kan findes på Adafruit IOs hjemmeside.
7. API til hjemmeassistent
Home Assistant er et community-ledet, open source- hjemmeautomationssystem svarende til openHAB. Ligesom andre platforme drives Home Assistant af Home Assistant Python REST API, som giver adgang til datametoder til Home Assistant-kontroltjenesten.
Det gør det muligt for brugere at redigere konfiguration, returnere grundlæggende oplysninger om Home Assistant-forekomsten, returnere alle nødvendige data til bootstrap, returnere en matrix med begivenhedsobjekter og mere. API'en accepterer og returnerer kun JSON-kodede objekter, der indeholder begivenhedsnavn, lytterantal og mere. Det er baseret på python 3 og hjælper med at ubesværet spore og kontrollere alle registrerede hjemmeenheder, uanset om registreringen blev foretaget via internettet eller mobilappen. Dokumentation og flere detaljer om API'en kan findes på Home Assistant's hjemmeside.
8. Things Network API'erne
LoRa er ved at blive en af de valgte kommunikationskanaler på grund af det lange rækkevidde, lave strømforbrug blandt andre funktioner. Things Network (TTN) er en open source, community driven indsats for at opbygge et globalt åbent LoRaWAN-netværk for at skabe åben infrastruktur for at lette udviklingen af LoRa-baserede IoT-løsninger. Som sådan leverer TTN et sæt åbne værktøjer og et globalt, åbent netværk med maksimal sikkerhed og skalerbarhed. Hvis du er ny hos Lora, skal du gennemgå en detaljeret artikel om Introduktion til LoRa og LoRaWAN.
Interaktion med TTN-platformen drives af to store API'er; TTN Data API og TTN Application Manager API. Data API giver dig mulighed for at modtage begivenheder og beskeder fra enheder samt sende meddelelser til enheder, generelt udveksle oplysninger med enheder. Application Manager API bruges derimod til at administrere applikationer, gateways og enheder. Data API er baseret på MQTT-protokollen og kan bruges til udvikling via SDK eller direkte med MQTT, mens Application Manager API er baseret på HTTP-protokollen. Flere oplysninger om disse API kan findes på The Things Network's hjemmeside.
9. REST API til ThingSpeak.io
ThingSpeak betragtes som en af de øverste open source, cloud platforme til IoT-enheder. Det er en af de bedste platforme til behandling af data fra enheder, især på grund af dets integration med MATLAB efter at være erhvervet af Mathworks for nogle år tilbage. Det giver brugerne mulighed for at uploade, samle, analysere og visualisere data ved hjælp af MATLABuden behov for at anskaffe MATLAB-softwaren separat. Alt ovenstående er lettere at bruge ThingSpeak API. Ligesom de fleste af de andre API'er nævnt ovenfor tillader ThingSpeak API brugere; indsamle og gemme sensordata, hente data og aktuelle tilstand for tilsluttede enheder, automatisere begivenheder baseret på data, opsætte udløsere baseret på tilstanden til IoT-enheder og integrere med sociale medieplatforme som twitter blandt andre funktioner. For at lære mere om ThingSpeak, tjek tidligere IoT-projekter, hvor ThingSpeak er blevet brugt med mange forskellige mikrocontrollere som Arduino, Raspberry PI, ESP osv.:
- Overvågning af live temperatur og fugtighed via internettet ved hjælp af Arduino og ThingSpeak
- Heart Beat-overvågning over internettet ved hjælp af Arduino og ThingSpeak
- Raspberry Pi Vejrstation: Overvågning af fugtighed, temperatur og tryk over internettet
- IoT-baseret patientovervågningssystem ved hjælp af ESP8266 og Arduino
Nogle af funktionerne i ThingSpeak, som automatisk oversættes til fordelene ved at bruge dets API, er;
- Nem enhedskonfiguration til at overføre data til ThingSpeak-platformen ved hjælp af standard IoT-platforme.
- Realtidsvisualisering af sensordata og dataaggregering ved hjælp af tredjepartskilder.
- IoT-analyser kører baseret på tidsplaner eller begivenheder.
- MATLAB analytics, RESTful og MQTT API'er.
- Aktiverer prototyping og opbygning af IoT-systemer uden serveropsætning og installation af websoftware.
- Kompatibilitet med populære udviklingsplatforme som Arduino og Raspberry Pi
- Handler automatisk på data og automatiserer opgaver
- Integration med tredjeparts tjenester som Twitter. Et godt eksempel på en situation, hvor dette er nyttigt, er en IoT-løsning, der automatisk tweeter vandstanden.
Ud over den gratis hostede API er ThingSpeak API open source og tilgængelig på GitHub til download på private servere.
10. EdgeX-støberi
EdgeX Foundry er et open source-økosystem af IoT-platforme baseret på open source-konfigurationer. EdgeX Foundry API tilbyder flere slutpunkter for tjenester, herunder klientregistrering , planlægning og logning. API'en har en REST-arkitektur og bruger OAuth 2.0 til godkendelse. Edgex har en række mikrotjenester, der er knyttet til hver enhed, der er tilsluttet netværket.
Hver mikrotjeneste har flere vigtige API-opkald, der kan bruges til;
- Registrer en enhedstjeneste
- Lever en enhed
- Send data fra enhed til Edgex-platformen,
- Læsning af data fra Edgex-platformen til brug i andre applikationer
- Eksport af blandt andet data.
Dokumentation og flere detaljer om API'en kan findes på EdgeX Foundry-webstedet.
Det er min liste! Denne liste er dog på ingen måde udtømmende, da nogle andre API'er som IoT-Plotter og andre, som jeg kunne have føjet til listen, kommer til at tænke på. Du er velkommen til at droppe kommentarer om Open IoT API'erne, som du har arbejdet med. Dine kommentarer hjælper muligvis andre med at vælge en API eller platform, der skal bruges i deres projekter.
Indtil næste gang.