Dela via


Vilka är de förkonfigurerade lösningarna i Azure IoT Suite?

De förkonfigurerade lösningarna i Azure IoT Suite är implementeringar av vanliga IoT-lösningsmönster som du kan distribuera till Azure med din prenumeration. Du kan använda de förkonfigurerade lösningarna:

  • Som utgångspunkt för dina egna IoT-lösningar.
  • Om du vill veta mer om vanliga mönster i design och utveckling av IoT-lösningar.

Varje förkonfigurerad lösning är en komplett implementering från slutpunkt till slutpunkt som använder simulerade enheter för att generera telemetri.

Du kan ladda ned den fullständiga källkoden för att anpassa och utöka lösningen så att den uppfyller dina specifika IoT-krav.

I följande tabell visas hur lösningarna mappas till specifika IoT-funktioner:

Lösning Datainsamling Enhetsidentitet Enhetshantering Kommando och kontroll Regler och åtgärder Förutsägelseanalys
Fjärrövervakning Ja Ja Ja Ja Ja -
Förebyggande underhåll Ja Ja - Ja Ja Ja
Ansluten fabrik Ja Ja Ja Ja Ja -
  • Dataintag: Dataflöde på stor skala till molnet.
  • Enhetsidentitet: Hantera unika enhetsidentiteter och kontrollera enhetens åtkomst till lösningen.
  • Enhetshantering: Hantera enhetsmetadata och utföra åtgärder som omstarter av enheter och uppgraderingar av inbyggd programvara.
  • Kommando och kontroll: Skicka meddelanden till en enhet från molnet om du vill att enheten ska vidta en åtgärd.
  • Regler och åtgärder: För att agera på specifika data från enhet till moln använder serverdelen regler för lösningen.
  • Förutsägelseanalys: Lösningens serverdel analyserar data från enhet till moln för att förutsäga när specifika åtgärder ska utföras. Du kan till exempel analysera telemetri för flygplansmotorn för att avgöra när motorunderhåll ska utföras.

Översikt över förkonfigurerad lösning för fjärrövervakning

Vi har valt att diskutera den förkonfigurerade fjärrövervakningslösningen i den här artikeln eftersom den illustrerar många vanliga designelement som de andra lösningarna delar.

Följande diagram illustrerar huvudelementen i fjärrövervakningslösningen. Följande avsnitt innehåller mer information om dessa element.

förkonfigurerad lösningsarkitektur för fjärrövervakning

Enheter

När du distribuerar den förkonfigurerade fjärrövervakningslösningen etableras fyra simulerade enheter i förväg i lösningen som simulerar en kylenhet. Dessa simulerade enheter har en inbyggd temperatur- och luftfuktighetsmodell som genererar telemetri. Dessa simulerade enheter ingår i:

  • Illustrera dataflödet från slutpunkt till slutpunkt via lösningen.
  • Ge en praktisk källa till telemetri.
  • Ange ett mål för metoder eller kommandon om du är en backend-utvecklare som använder lösningen som utgångspunkt för en anpassad implementering.

De simulerade enheterna i lösningen kan svara på följande kommunikation från moln till enhet:

  • Metoder (direkta metoder): En tvåvägskommunikationsmetod där en ansluten enhet förväntas svara omedelbart.
  • kommandon (meddelanden från molnet till enheten): En enkelriktad kommunikationsmetod där en enhet hämtar kommandot från en beständig kö.

En jämförelse av dessa olika metoder finns i vägledning för kommunikation från moln till enhet.

När en enhet först ansluter till IoT Hub i den förkonfigurerade lösningen skickar den ett meddelande om enhetsinformation till hubben. Det här meddelandet räknar upp de metoder som enheten kan svara på. I den förkonfigurerade fjärrövervakningslösningen stöder simulerade enheter följande metoder:

  • Initiera uppdatering av inbyggd programvara: Den här metoden initierar en asynkron uppgift på enheten för att utföra en uppdatering av inbyggd programvara. Den asynkrona aktiviteten använder rapporterade egenskaper för att leverera statusuppdateringar till lösningsinstrumentpanelen.
  • Starta om: Den här metoden gör att den simulerade enheten startas om.
  • FactoryReset: den här metoden utlöser en fabriksåterställning på den simulerade enheten.

När en enhet först ansluter till IoT Hub i den förkonfigurerade lösningen skickar den ett meddelande om enhetsinformation till hubben. Det här meddelandet räknar upp de kommandon som enheten kan svara på. I den förkonfigurerade fjärrövervakningslösningen stöder simulerade enheter följande kommandon:

  • Ping Device: Enheten svarar på det här kommandot med en bekräftelse. Det här kommandot är användbart för att kontrollera att enheten fortfarande är aktiv och lyssnar.
  • Starta telemetri: Instruerar enheten att börja skicka telemetri.
  • Stoppa telemetri: Instruerar enheten att sluta skicka telemetri.
  • Ändra börvärdestemperatur: Styr de simulerade telemetrivärdena för temperatur som enheten skickar. Det här kommandot är användbart för att testa backend-logik.
  • Diagnostiktelemetri: Styr om enheten ska skicka den externa temperaturen som telemetri.
  • Ändra enhetstillstånd: Anger den metadataegenskap för enhetstillstånd som enheten rapporterar. Det här kommandot är användbart för att testa backend-logik.

Du kan lägga till fler simulerade enheter i lösningen som genererar samma telemetri och svara på samma metoder och kommandon.

Förutom att svara på kommandon och metoder använder lösningen enhetstvillingar. Enheter använder enhetstvillingar för att rapportera egenskapsvärden till lösningens backend. Kontrollpanelen för lösningen använder enhetstvillingar för att ställa in nya önskade egenskapsvärden på enheter. Under uppdateringsprocessen för den inbyggda programvaran rapporterar till exempel den simulerade enheten statusen för uppdateringen med hjälp av rapporterade egenskaper.

IoT Hub

I den här förkonfigurerade lösningen motsvarar IoT Hub-instansen Cloud Gateway- i en typisk IoT-lösningsarkitektur.

En IoT-hubb tar emot telemetri från enheterna på en enda slutpunkt. En IoT-hubb har också enhetsspecifika slutpunkter där varje enhet kan hämta de kommandon som skickas till den.

IoT-hubben gör den mottagna telemetrin tillgänglig via telemetrins lässlutpunkt på tjänstsidan.

Med funktionen för enhetshantering i IoT Hub kan du hantera dina enhetsegenskaper från lösningsportalen och schemalägga jobb som utför åtgärder som:

  • Starta om enheter
  • Ändra enhetstillstånd
  • Uppdateringar av inbyggd programvara

Azure Stream Analytics

Den förkonfigurerade lösningen använder tre Azure Stream Analytics-jobb (ASA) för att filtrera telemetriströmmen från enheterna:

  • DeviceInfo-jobb – matar ut data till en händelsehubb som dirigerar enhetsregistreringsspecifika meddelanden till enhetsregistret för lösningen. Det här enhetsregistret är en Azure Cosmos DB-databas. Dessa meddelanden skickas när en enhet först ansluter eller som svar på ett Ändra enhetstillstånd kommando.
  • telemetrijobb – skickar all råtelemetri till Azure Blob Storage för kall lagring och beräknar telemetriaggregeringar som visas på instrumentpanelen för lösningen.
  • Regeljobb – filtrerar telemetriströmmen efter värden som överskrider alla regeltrösklar och matar ut data till en händelsehubb. När en regel utlöses visar instrumentpanelsvyn för lösningsportalen den här händelsen som en ny rad i tabellen för larmhistorik. Dessa regler kan också utlösa en åtgärd baserat på inställningarna som definierats på Rules och Actions-vyer i lösningsportalen.

I den här förkonfigurerade lösningen är ASA-jobben en del av back end-delen av IoT-lösningen i en typisk IoT-lösningsarkitektur.

Händelseprocessor

I den här förkonfigurerade lösningen utgör händelseprocessorn en del av den IoT-lösningens serverdel i en typisk IoT-lösningsarkitektur.

DeviceInfo och Rules ASA-jobb skickar sina utdata till Event Hubs för leverans till andra bakgrundstjänster. Lösningen använder en EventProcessorHost--instans som körs i ett webjobbför att läsa meddelandena från dessa händelsehubbar. EventProcessorHost- använder:

  • DeviceInfo data för att uppdatera enhetsdata i Cosmos DB-databasen.
  • Regler data för att anropa logikappen och uppdatera aviseringarna som visas i lösningsportalen.

Enhetsidentitetsregister, enhetstvilling och Cosmos DB

Varje IoT-hubb innehåller ett enhetsidentitetsregister som lagrar enhetsnycklar. IoT Hub använder den här informationen för att autentisera enheter – en enhet måste vara registrerad och ha en giltig nyckel innan den kan ansluta till hubben.

En enhetstvilling är ett JSON-dokument som hanteras av IoT Hub. En enhetstvilling för en enhet innehåller:

  • Rapporterade egenskaper som skickas av enheten till hubben. Du kan visa dessa egenskaper i lösningsportalen.
  • Önskade egenskaper som du vill skicka till enheten. Du kan ange dessa egenskaper i lösningsportalen.
  • Taggar som bara finns i enhetstvillingen och inte på enheten. Du kan använda dessa taggar för att filtrera listor över enheter i lösningsportalen.

Den här lösningen använder enhetstvillingar för att hantera enhetsmetadata. Lösningen använder också en Cosmos DB-databas för att lagra ytterligare lösningsspecifika enhetsdata, till exempel kommandon som stöds av varje enhet och kommandohistoriken.

Lösningen måste också hålla informationen i enhetsidentitetsregistret synkroniserad med innehållet i Cosmos DB-databasen. EventProcessorHost använder data från DeviceInfo stream analytics-jobb för att hantera synkroniseringen.

Lösningsportalen

lösningsportalen

Lösningsportalen är ett webbaserat användargränssnitt som distribueras till molnet som en del av den förkonfigurerade lösningen. Det gör att du kan:

  • Visa telemetri- och larmhistorik på en instrumentpanel.
  • Konfigurera nya enheter.
  • Hantera och övervaka enheter.
  • Skicka kommandon till specifika enheter.
  • Anropa metoder på specifika enheter.
  • Hantera regler och åtgärder.
  • Schemalägg jobb som ska köras på en eller flera enheter.

I den här förkonfigurerade lösningen utgör lösningsportalen en del av den IoT-lösningens serverdel och en del av Processing and Business Connectivity i den typiska IoT-lösningsarkitekturen.

Nästa steg

Mer information om IoT-lösningsarkitekturer finns i Microsoft Azure IoT-tjänster: Referensarkitektur.

Nu när du vet vad en förkonfigurerad lösning är kan du komma igång genom att distribuera fjärrövervakning förkonfigurerad lösning: Kom igång med de förkonfigurerade lösningarna.