Disse bibliotekene vil hjelpe deg med din IoT-utvikling.
Du trenger mer enn biblioteker for et IoT-system
Avhengig av hva du ønsker, vil du ha forskjellige krav til IoT-distribusjon. Hvis du vil bruke den til å automatisere hjemmet ditt, kommer du unna veldig lite for å få det til å gå. Etter å ha støttet din spesifikke maskinvare, må du vurdere protokollene du vil bruke.
Du trenger en server som samler inn, analyserer og presenterer dataene dine for mer avanserte prosjekter. Vel, du har hele tjenestene for det innen de omfattende skytjenestene, selvfølgelig til en pris. Det er løsninger du kan lage og designe på egen hånd, uavhengig av skyleverandøren. Det du trenger å støtte er protokoller.
Disse protokollene håndterer meldinger under en modell for publiser-abonnement, noe som gjør den veldig effektiv for små meldingspakker. Akkurat hva IoT-løsningene dine bør gjøre. Hvis du streamer video, snakker vi om forskjellige tjenester.
MQTT - Du trenger dette for å sende data fra mikrokontrollere til servere. Du kan starte din egen server ved å bruke Mosquitto, en megler med åpen kildekode. Du kan sette dette på alt fra en datamaskin til en enkelt bord til en skyserver.
SMQ - Dette er en sikker versjon av MQTT.
For å håndtere radio trenger du noe som krever ekstremt lav effekt. For å løse dette kan du bruke den proprietære LoRa-protokollen som eies av Semtech. Det er mange tavler og gateways for å oppnå dette. Vær oppmerksom på at du også kan bruke wifi, men sørg for at enheten din støtter den, og vurder kraften den krever.
Her er noen lenker til biblioteker som bruker LoRa / LoRaWAN:
- https: // github.com / dragino / arduino-lmic
- https: // github.com / IOT-MCU / LoRa-Radio-Node-v1.0
Et alternativ med åpen kildekode til LoRa er DASH7; Du finner maskinvare og annen informasjon her, og utviklingssett fra WizziLab.
Flere følgere bruker SigFox-kortene og -bibliotekene for bredt nettverk med lavt strømforbruk. Merk at dette medfører et nettverk som ligner en mobiloperatør og direkte kontakt med skyen.
Protokollbiblioteker
For hver av protokollene trenger du biblioteker. Vanligvis vil du få dokumentasjon fra maskinvaren du kjøper. Det kan imidlertid være lurt å lese mer om det før du kjøper noe. Det er også biblioteker for serverens slutt, så husk at du vil vite om det er mulig å bruke en skytjeneste. Du vil faktisk være sikker på at det er mulig å kjøre prosjektet UTEN en skyforbindelse. Automatisering av drivhuset krever kanskje ikke at du kontrollerer det fra nettet.
LoRA Biblioteker
LoRa har sin egen allianse, hvor du kan grave gjennom spesifikasjonene og andre ting. Du finner et bibliotek for en node på https: // github.com / Lora-net / LoRaMac-node. Dette er en standard som er ment å bruke et nettverk som ligner på mobilnettene vi alle elsker å hate. Du kan imidlertid sette opp din egen gateway og koble den til en lokal server.
DASH7 Biblioteker
DASH7 er også en allianse, rettet mer mot industrielle applikasjoner. Du kan fortsatt bruke den til hjemmeprosjektene siden den er fullstendig åpen kildekode. Det er et godt bibliotek på https: // github.no / MOSAIC-LoPoW / dash7-ap-open-source-stack. Bruk den til å få en node som håndterer noen få enheter hjemme. Hvis du er bøyd på den måten, er det også Python-støtte: https: // github.com / MOSAIC-LoPoW / pyd7a!
MQTT-biblioteker
MQTT er en av de mest brukte protokollene i IoT-rommet. Den kommer fra en proprietær protokoll som er utgitt som gratis programvare. Du finner mye informasjon her. Et klientbibliotek for bruk på ESP32 og ESP8266 er tilgjengelig og aktivt på GitHub: https: // github.com / plapointe6 / EspMQTTClient
SMQ-biblioteker
SMQ har mest støtte fra Relatimelogic, et California-basert selskap som gjør mye rådgivning. De er vert for flere arkiver på GitHub: https: // github.no / RealTimeLogic / SMQ /. Du kan klone dette og kompilere det på ditt eget system. De gir også en IDE og kompilator som et virtuelt apparat (OVF-fil!) slik at du kan gjøre all kodingen din i den virtuelle maskinen.
SigFox
SigFox driver sitt eget nettverk som du kan koble til. De har et Arduino-bibliotek på Arduino-nettstedet: https: // www.arduino.cc / no / Referanse / SigFox
Maskinvarebiblioteker
Som nevnt tidligere, må du velge maskinvaren din først og deretter finne bibliotekene som passer til maskinvaren din.
Rammeverk
Når du blir seriøs om det, kan det være lurt å koble det hele til en sky av noe slag. Her er noen forslag.
Thingsboard
Thingsboard tilbyr en skytjeneste der du kan være vert for alle dine tjenester og data. Profesjonell utgave starter på $ 10 / måned, men du kan installere community-utgaven på Ubuntu, CentOS og mer. Docker-forekomster er også tilgjengelige fra deres hjemmeside. Du kan også klone kilden fra GitHub.
DeviceHive
DeviceHive har servere, klientbiblioteker og mange eksempler på prosjekter på GitHub-siden.
MainFlux
Mainflux er ikke mindre medlemmer av Linux Foundation! Så de trenger en omtale her. Sjekk ut tilbudene deres med åpen kildekode! Det er et konsulentselskap, så nettsiden ser profesjonell ut og har mye innhold.
Node-RØD
Hvis du er webutvikler, husk det fremste rammeverket for å jobbe i Node.js. Bruk den til å lage logikk og behandling. https: // nodered.org /
Konklusjon
Før du starter et IoT-prosjekt, må du ta deg tid til å tenke på det totale systemet; Skal du kontrollere noe lite i ditt eget hus eller hage, eller sikter du høyere og lenger. Det er mange måter å koble ditt selvvanningsanlegg til en skytjeneste, men er det det du leter etter?