Azure IoT Central-arkitektur
IoT Central är en färdig miljö som gör att du snabbt kan utvärdera ditt IoT-scenario. Det är en IoT-lösning (programplattform som en tjänst) och dess primära gränssnitt är ett webbgränssnitt. Det finns också ett REST-API som gör att du kan interagera med ditt program programmatiskt.
Den här artikeln innehåller en översikt över nyckelelementen i en IoT Central-lösningsarkitektur.
Viktiga funktioner i ett IoT Central-program är:
Hantera enheter
Med IoT Central kan du hantera flottan av IoT-enheter som skickar data till din lösning. Du kan till exempel:
- Kontrollera vilka enheter som kan ansluta till ditt program och hur de autentiserar.
- Använd enhetsmallar för att definiera vilka typer av enheter som kan ansluta till ditt program.
- Hantera enheter genom att ange egenskaper eller anropa kommandon på anslutna enheter. Ange till exempel en måltemperaturegenskap för en termostatenhet eller anropa ett kommando för att utlösa en enhet för att uppdatera den inbyggda programvaran. Du kan ange egenskaper och anropa kommandon på:
- Enskilda enheter via ett anpassningsbart webbgränssnitt.
- Flera enheter med schemalagda jobb eller jobb på begäran.
- Underhålla enhetsmetadata, till exempel kundadress eller senaste tjänstdatum.
Visa och analysera data
I ett IoT Central-program kan du visa och analysera data för enskilda enheter eller för aggregerade data från flera enheter:
- Använd mappning för att omvandla komplex enhetstelemetri till strukturerade data i IoT Central.
- Använd enhetsmallar för att definiera anpassade vyer för enskilda enheter av specifika typer. Du kan till exempel rita temperatur över tid för en enskild termostat eller visa en leveransbils liveplats.
- Använd den inbyggda analysen för att visa aggregerade data för flera enheter. Du kan till exempel se den totala beläggningen i flera butiker eller identifiera de butiker som har de högsta eller lägsta beläggningspriserna.
- Skapa anpassade instrumentpaneler som hjälper dig att hantera dina enheter. Du kan till exempel lägga till kartor, paneler och diagram för att visa enhetens telemetri.
Säkra din lösning
I IoT Central kan du konfigurera och hantera säkerhet inom följande områden:
- Användaråtkomst till ditt program.
- Enhetsåtkomst till ditt program.
- Programmatisk åtkomst till ditt program.
- Autentisering till andra tjänster från ditt program.
- Spårningsloggar spårar aktivitet i ditt program.
Mer information finns i säkerhetsguiden för IoT Central.
Enheter
Enheter samlar in data från sensorer för att skicka som en ström av telemetri till ett IoT Central-program. En kylenhet skickar till exempel en ström med temperaturvärden eller en leveransbil strömmar sin plats.
En enhet kan använda egenskaper för att rapportera dess tillstånd, till exempel om en ventil är öppen eller stängd. Ett IoT Central-program kan också använda egenskaper för att ange enhetstillstånd, till exempel ställa in en måltemperatur för en termostat.
IoT Central kan också styra enheter genom att anropa kommandon på enheten. Du kan till exempel instruera en enhet att ladda ned och installera en uppdatering av den inbyggda programvaran.
Telemetri, egenskaper och kommandon som en enhet implementerar kallas gemensamt för enhetsfunktioner. Du definierar dessa funktioner i en modell som enheten och IoT Central-programmet delar. I IoT Central är den här modellen en del av enhetsmallen som definierar en viss typ av enhet. Mer information finns i Tilldela en enhet till en enhetsmall.
Enhetsimplementeringen bör följa IoT Plug and Play-konventionerna för att säkerställa att den kan kommunicera med IoT Central. Mer information finns i de olika språk-SDK :erna och exemplen.
Enheter ansluter till IoT Central med ett protokoll som stöds: MQTT, AMQP eller HTTP.
Gateways
Lokala gatewayenheter är användbara i flera scenarier, till exempel:
- Enheter kan inte ansluta direkt till IoT Central eftersom de inte kan ansluta till Internet. Du kan till exempel ha en samling Bluetooth-aktiverade inaktiveringssensorer som behöver ansluta via en gatewayenhet.
- Mängden data som genereras av dina enheter är hög. Minska kostnaderna genom att kombinera eller aggregera data i en lokal gateway innan du skickar dem till ditt IoT Central-program.
- Din lösning kräver snabba svar på avvikelser i data. Du kan köra regler på en gatewayenhet som identifierar avvikelser och vidta en åtgärd lokalt utan att behöva skicka data till ditt IoT Central-program.
Gateway-enheter kräver vanligtvis mer bearbetningskraft än en fristående enhet. Ett alternativ för att implementera en gatewayenhet är att använda Azure IoT Edge och tillämpa något av standardmönstret för IoT Edge-gateway. Du kan också köra din egen anpassade gatewaykod på en lämplig enhet.
Exportera data
Även om IoT Central har inbyggda analysfunktioner kan du exportera data till andra tjänster och program.
Med transformeringar i en IoT Central-dataexportdefinition kan du ändra format och struktur för enhetsdata innan du exporterar dem till ett mål.
Orsaker till att exportera data är:
Lagring och analys
För långsiktig lagring och kontroll över arkiverings- och kvarhållningsprinciper kan du kontinuerligt exportera dina data till andra lagringsmål. Med hjälp av en separat lagringstjänst utanför IoT Central kan du använda andra analysverktyg för att härleda insikter från data i din lösning.
Affärsautomatisering
Med regler i IoT Central kan du utlösa externa åtgärder, till exempel att skicka ett e-postmeddelande eller utlösa en händelse, som svar på villkoren i IoT Central. Du kan till exempel meddela en tekniker om den omgivande temperaturen för en enhet når ett tröskelvärde.
Ytterligare beräkning
Du kan behöva transformera eller göra beräkningar på dina data innan de kan användas antingen i IoT Central eller någon annan tjänst. Du kan till exempel lägga till lokal väderinformation till platsdata som rapporterats av en leveransbil.
Utöka med REST API
Skapa integreringar som låter andra program och tjänster hantera ditt program. Du kan till exempel programmatiskt hantera enheterna i ditt program eller synkronisera användarinformation med ett externt system.
Skalbarhet
IoT Central-program använder internt flera Azure-tjänster, till exempel IoT Hub och Device Provisioning Service (DPS). Många av dessa underliggande tjänster är flera klientorganisationer. Men för att säkerställa fullständig isolering av kunddata använder IoT Central IoT-hubbar med en enda klientorganisation.
IoT Central skalar automatiskt sina IoT-hubbar baserat på belastningsprofilerna i ditt program. IoT Central kan skala upp enskilda IoT-hubbar och skala ut antalet IoT-hubbar i ett program. IoT Central skalar även automatiskt andra underliggande tjänster.
Dataexport
IoT Central-program använder ofta andra användardefinierade tjänster. Du kan till exempel konfigurera ditt IoT Central-program att kontinuerligt exportera data till tjänster som Azure Event Hubs och Azure Blob Storage.
Om en konfigurerad dataexport inte kan skriva till målet försöker IoT Central att överföra data igen i upp till 15 minuter, varefter IoT Central markerar målet som misslyckat. Misslyckade mål kontrolleras regelbundet för att kontrollera om de kan skrivas.
Du kan tvinga IoT Central att starta om de misslyckade exporterna genom att inaktivera och återaktivera dataexporten.
Granska metodtipsen för hög tillgänglighet och skalbarhet för den dataexportmåltjänst som du använder:
- Azure Blob Storage: Checklista för redundans och prestanda och skalbarhet i Azure Storage för Blob Storage
- Azure Event Hubs: Tillgänglighet och konsekvens i Event Hubs och skalning med Event Hubs
- Azure Service Bus: Metodtips för att isolera program mot Service Bus-avbrott och katastrofer och Uppdatera meddelandeenheter automatiskt i ett Azure Service Bus-namnområde
Hög tillgänglighet och haveriberedskap
HADR-funktioner beror på när du skapade ditt IoT Central-program:
Program som skapats före april 2021
Vissa program som skapades före april 2021 använder en enda IoT-hubb. För dessa program tillhandahåller IoT Central inte HADR-funktioner. Om IoT-hubben blir otillgänglig blir programmet otillgängligt.
az iot central device manual-failover
Använd kommandot för att kontrollera om programmet fortfarande använder en enda IoT-hubb. Det här kommandot returnerar ett fel om programmet har en enda IoT-hubb.
Program som skapats efter april 2021 och före april 2023
För enhetsanslutning med hög tillgänglighet har ett IoT Central-program alltid minst två IoT-hubbar. Antalet hubbar kan växa eller krympa när IoT Central skalar programmet som svar på ändringar i belastningsprofilen.
IoT Central använder också tillgänglighetszoner för att göra olika tjänster som används med hög tillgänglighet.
En incident som kräver haveriberedskap kan sträcka sig från att en delmängd av tjänsterna blir otillgängliga till att en hel region blir otillgänglig. IoT Central följer olika återställningsprocesser beroende på incidentens art och omfattning. Om till exempel en hel Azure-region blir otillgänglig i kölvattnet av ett oåterkalleligt fel, redundansväxlar haveriberedskapsprogram till en annan region i samma geografiska område.
Program som skapats efter april 2023
IoT Central-program som skapats efter april 2023 har inledningsvis en enda IoT-hubb. Om IoT-hubben blir otillgänglig blir programmet otillgängligt. IoT Central skalar dock automatiskt programmet och lägger till en ny IoT-hubb för varje 10 000 anslutna enheter. Om du behöver flera IoT-hubbar för program med färre än 10 000 enheter skickar du en begäran till kundsupporten för IoT Central.
az iot central device manual-failover
Använd kommandot för att kontrollera om ditt program för närvarande använder en enda IoT-hubb. Det här kommandot returnerar ett fel om programmet för närvarande har en enda IoT-hubb.