IoT-tillgångs- och enhetsutveckling
Den här översikten beskriver viktiga begrepp kring utveckling av tillgångar och enheter som ansluter till vanliga Azure IoT-lösningar. Varje avsnitt innehåller länkar till innehåll som ger mer information och vägledning. Vanligtvis ansluter enheter direkt till molnbaserade tjänster som IoT Hub, medan tillgångar ansluter till gränsbaserade tjänster i din miljö, till exempel Azure IoT Operations. Den här artikeln innehåller information om både tillgångar och enheter.
Följande diagram visar en översikt över komponenterna i en typisk kantbaserad IoT-lösning. Den här artikeln fokuserar på de tillgångar och anslutningsappar som visas i diagrammet:
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:
- Panorera 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.
Tillgångs- och enhetstyper
En IoT-lösning kan innehålla många typer av tillgångar och enheter. Du hittar vanligtvis enheter i molnbaserade lösningar och tillgångar i gränsbaserade lösningar. Det går också att ha en hybridlösning som innehåller både enheter och tillgångar.
Exempel på tillgångar i en kantbaserad lösning är:
- Robotarmar, transportband och hissar.
- Industriella CNC-maskiner, svarv, sågar och borrar.
- Medicinska diagnostikmaskiner.
- Övervakningskameror.
- Programvaru- eller programvarukomponenter
- 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 gränsbaserad lösning använder du specialiserade anslutningsappar 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 anslutningsapparna 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änsbaserade 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änsbaserad lösning konfigurerar en operatör anslutningsappar för att ansluta till tillgångar. Den här konfigurationen innehåller en mappning mellan tillgångens data och ett molnschema. Med OPC UA-anslutningsappen kan till exempel operatorn mappa OPC UA-nod-ID:n till taggar och händelser i ett JSON-meddelande som utbyts med MQTT-asynkron meddelandekö. Följande skärmbild visar ett exempel i webbgränssnittet för digitala åtgärder som definierar två sådana mappningar för en tillgång:
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.
Skapande av behållare
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 containeriserar alla sina anslutningsappar, koordinatorer och andra komponenter som körs på gränsen. Azure IoT Operations distribueras till ett Kubernetes-kluster, som är en plattform för containerorkestrering. Distribuera anpassade anslutningsappar eller andra komponenter som du skapar till Kubernetes-klustret.
Du kan visa en lösning som använder Azure IoT Edge som en gränsbaserad gateway till IoT Hub som en hybridlösning som innehåller element i både gränsbaserade och molnbaserade 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ägg) | 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-message och az iot hub monitor-events som hjälper dig att testa interaktioner med enheter. |