Utveckling av IoT-enheter

Den här översikten beskriver viktiga begrepp kring utveckling av enheter som ansluter till typiska Azure IoT lösningar. Varje avsnitt innehåller länkar till innehåll som ger mer information och vägledning.

I en molnansluten lösning ansluter enheter direkt till molnanslutna tjänster, till exempel IoT Hub, medan enheter i en gränsansluten lösning ansluter till gränsanslutna tjänster i din miljö, till exempel Azure IoT Operations.

Följande diagram visar en översikt över komponenterna i en typisk kantansluten IoT-lösning. Den här artikeln fokuserar på de enheter, tillgångar och kontakter som visas i diagrammet.

Diagram som visar den övergripande IoT-lösningsarkitekturen som belyser enhetsanslutningsområden.

Tillgångar har vanligtvis inbyggd inbyggd programvara som implementerar standardprotokoll. En robotarm kan till exempel vara en OPC UA-klient och en övervakningsvideokamera kan implementera ONVIF. Azure IoT Operations innehåller olika anslutningsappar som kan använda dessa protokoll för att kommunicera med tillgångar och översätta meddelanden från tillgångarna till MQTT-meddelanden. Vissa tillgångar kan ta emot meddelanden som gör att du kan utföra åtgärder på dem, till exempel:

  • Vrid eller luta en säkerhetskamera.
  • Ändra loggningsnivån på en robotarm.
  • Initiera en uppdatering av inbyggd programvara.

Du kan skapa egna anpassade anslutningsappar för att ansluta till tillgångar som använder protokoll som inte stöds internt av Azure IoT Operations.

Enhetstyper

En IoT-lösning kan innehålla många typer av tillgångar och enheter.

Exempel på tillgångar i en gränsansluten lösning är:

  • Robotarmar, transportband och hissar.
  • Industriella CNC-maskiner, svarv, sågar och borrar.
  • Medicinska diagnostikmaskiner.
  • Övervakningskameror.
  • Programmerbara logikkontrollanter.

Dessa tillgångar har vanligtvis inbyggd inbyggd programvara som implementerar standardprotokoll. En robotarm kan till exempel vara en OPC UA-klient och en övervakningsvideokamera kan implementera ONVIF-protokollet. I en edge-ansluten lösning använder du specialiserade kontakter för att ansluta till dessa tillgångar och översätta meddelanden från dem till ett gemensamt format.

För tillgångar finns det ingen direkt motsvarighet till rollen enhetsutvecklare. I stället kan en operatör konfigurera anslutningarna för att ansluta till tillgångarna. Du kan dock behöva utveckla anpassade anslutningsappar för att ansluta till tillgångar som använder protokoll som inte stöds internt av din gränsanslutna lösning.

Modellering och scheman

Enhets- och tillgångsmodeller definierar de data som enheter och tillgångar utbyter med molnet. Modeller möjliggör en rad scenarier med låg kod eller ingen kod för att integrera dina enheter och tillgångar med din IoT-lösning.

I en gränsansluten lösning konfigurerar en operatör anslutningsprogram för att koppla tillgångar. Den här konfigurationen innehåller en mappning mellan tillgångens data och ett molnschema. Med OPC UA-anslutningen kan till exempel operatören mappa OPC UA-nod-ID:n till datapunkter och händelser i ett JSON-meddelande som skickas med en MQTT-broker. Följande skärmbild visar ett exempel i webbgränssnittet för digitala åtgärder som definierar två sådana mappningar:

Skärmbild som visar ett exempel på tillgångsdefinition.

På andra ställen i lösningen kan en operator referera direkt till taggarna Temperature och Tag 10 utan att behöva känna till information om OPC UA-nod-ID:n.

Containerisering

Containerisering är ett sätt att paketera och köra koden i en enkel, isolerad miljö. Containrar är portabla och kan köras på alla plattformar som stöder containerkörningen. Containrar är ett bra sätt att paketera och distribuera koden eftersom de tillhandahåller en konsekvent körningsmiljö för koden. Körningsmiljön innehåller vanligtvis de tjänster, bibliotek och paket som koden behöver köra.

Azure IoT Operations kör alla sina kontakter, mäklare och andra komponenter i containrar vid kanten. Azure IoT Operations distribueras till ett Kubernetes-kluster, som är en plattform för containerorkestrering. Distribuera anpassade kopplingar eller andra komponenter som du skapar till Kubernetes-klustret.

Du kan visa en lösning som använder Azure IoT Edge som en gränsansluten gateway för att IoT Hub som en hybridlösning som innehåller element i både gränsanslutna och molnanslutna lösningar.

Verktyg för enhetsutveckling

I följande tabell visas några av de tillgängliga utvecklingsverktygen för IoT-enheter:

Verktyg beskrivning
Azure IoT Hub (VS Code-tillägget) Med det här VS Code-tillägget kan du hantera dina IoT Hub resurser och enheter inifrån VS Code.
Azure IoT Explorer Med det här plattformsoberoende verktyget kan du hantera dina IoT Hub resurser och enheter från ett skrivbordsprogram.
Azure IoT-tillägg för Azure CLI Det här CLI-tillägget innehåller kommandon som az iot device simulate, az iot device c2d-messageoch az iot hub monitor-events som hjälper dig att testa interaktioner med enheter.