Vad är enhets- och programutveckling i Azure IoT?

Azure IoT är en samling hanterade tjänster och plattformstjänster som ansluter, övervakar och styr dina IoT-enheter. Azure IoT erbjuder utvecklare en omfattande uppsättning alternativ. Alternativen omfattar enhetsplattformar, stöd för molntjänster, SDK:er och verktyg för att skapa enhetsaktiverade molnprogram.

Den här artikeln innehåller flera viktiga överväganden för utvecklare som kommer igång med Azure IoT. De här begreppen ger en orientering som IoT-enhetsutvecklare om dina Azure IoT-alternativ och hur du börjar. Mer specifikt ger artikeln en översikt över dessa begrepp:

Roller för enhetsutveckling

I den här artikeln beskrivs två vanliga roller som du kan observera bland enhetsutvecklare. Som det används här är en roll en samling relaterade utvecklingsuppgifter. Det är bra att förstå vilken typ av utvecklingsroll du arbetar i för närvarande. Din roll påverkar många utvecklingsalternativ som du gör.

  • Utveckling av enhetsprogram: Överensstämmer med moderna utvecklingsmetoder, riktar sig mot många av de högre ordningsspråken och körs på ett allmänt operativsystem som Windows eller Linux.

  • Utveckling av inbäddade enheter: Beskriver utveckling som riktar in sig på resursbegränsade enheter. En resursbegränsad enhet används ofta för att minska kostnader per enhet, energiförbrukning eller enhetsstorlek. Dessa enheter har direkt kontroll över maskinvaruplattformen som de körs på.

Utveckling av enhetsprogram

Utvecklare av enhetsprogram anpassar befintliga enheter för att ansluta till molnet och integrera dem i sina IoT-lösningar. Dessa enheter har stöd för språk i högre ordning, till exempel C# eller Python, och har ofta stöd för ett robust operativsystem för generell användning, till exempel Windows eller Linux. Vanliga målenheter är datorer, containrar, Raspberry Pis och mobila enheter.

I stället för att utveckla begränsade enheter i stor skala fokuserar utvecklarna på att aktivera ett specifikt IoT-scenario som krävs av molnlösningen. Vissa av dessa utvecklare kommer också att arbeta med begränsade enheter för sin molnlösning. Utvecklare som arbetar med begränsade enheter kan se sökvägen för utveckling av inbäddade enheter nedan.

Tips

Se UNconstrained Device-SDK:er för att komma igång.

Utveckling av inbäddade enheter

Inbäddade utvecklingsmål begränsade enheter som har begränsat minne och bearbetning. Begränsade enheter begränsar vad som kan uppnås jämfört med en traditionell utvecklingsplattform.

Inbäddade enheter använder vanligtvis ett REALTIDS-operativsystem (RTOS) eller inget operativsystem alls. Inbäddade enheter har fullständig kontroll över maskinvaran på grund av bristen på ett operativsystem för generell användning. Detta gör inbäddade enheter till ett bra alternativ för realtidssystem.

De aktuella inbäddade SDK:erna är mål för C-språket. De inbäddade SDK:erna ger antingen inget operativsystem eller Azure RTOS stöd. De är utformade med inbäddade mål i åtanke. Designöverväganden omfattar behovet av ett minimalt fotavtryck och en design som inte allokerar minne.

Om enheten kan köra ett allmänt operativsystem rekommenderar vi att du följer sökvägen för utveckling av enhetsprogram. Det ger en mer omfattande uppsättning utvecklingsalternativ.

Tips

Se BEGRÄNSADE ENHETS-SDK:er för att komma igång.

Välja maskinvara

Azure IoT-enheter är de grundläggande byggstenarna i en IoT-lösning och ansvarar för att observera och interagera med deras miljö. Det finns många olika typer av IoT-enheter och det är bra att förstå vilka typer av enheter som finns och hur dessa kan påverka utvecklingsprocessen.

Mer information om skillnaden mellan enhetstyper som beskrivs i den här artikeln finns i Om IoT-enhetstyper.

Välja en SDK

Som Azure IoT-enhetsutvecklare har du en mängd olika enhets-SDK:er och AZURE-tjänst-SDK:er som hjälper dig att skapa enhetsaktiverade molnprogram. DU kan effektivisera ditt utvecklingsarbete och förenkla mycket av komplexiteten med att ansluta och hantera enheter.

Som du ser i avsnittet Enhetsutvecklingsroller finns det tre typer av IoT-SDK:er för enhetsutveckling:

  • SDK:er för inbäddade enheter (för begränsade enheter)
  • Enhets-SDK:er (för att använda språk med högre ordning för att ansluta befintliga enheter till IoT-program)
  • Tjänst-SDK:er (för att skapa Azure IoT-lösningar som ansluter enheter till tjänster)

Mer information om hur du väljer en Azure IoT-enhet eller tjänst-SDK finns i Översikt över SDK:er för Azure IoT-enheter.

Välja anslutningsalternativ

Ett viktigt steg i utvecklingsprocessen är att välja den uppsättning alternativ som du ska använda för att ansluta och hantera dina enheter. Det finns två viktiga aspekter att tänka på:

  • Välja en IoT-programplattform som värd för dina enheter. För Azure IoT innebär det att välja IoT Hub eller IoT Central.
  • Välja utvecklarverktyg som hjälper dig att ansluta, hantera och övervaka enheter.

Mer information om hur du väljer en programplattform och verktyg finns i Översikt: Anslutningsalternativ för Azure IoT-enhetsutvecklare.

Nästa steg

Välj en av snabbstartsserien för inbäddad utveckling eller programutveckling som är mest relevant för din utvecklingsroll. De här artiklarna visar grunderna för att skapa ett Azure IoT-program för att vara värd för enheter, använda en SDK, ansluta en enhet och skicka telemetri.