Kurz: Odesílání dat zařízení do Azure Storage pomocí směrování zpráv ioT Hubu

Směrování zpráv v Azure IoT Hubu můžete použít k odesílání telemetrických dat ze zařízení IoT do služeb Azure, jako je úložiště objektů blob, fronty služby Service Bus, témata služby Service Bus a Event Hubs. Každé centrum IoT má výchozí integrovaný koncový bod, který je kompatibilní se službou Event Hubs. Můžete také vytvářet vlastní koncové body a směrovat zprávy do jiných služeb Azure definováním dotazů směrování. Každá zpráva, která dorazí do centra IoT, se směruje do všech koncových bodů, jejichž směrovací dotazy odpovídají. Pokud zpráva neodpovídá žádnému z definovaných dotazů směrování, směruje se do výchozího koncového bodu.

V tomto kurzu provedete následující úlohy:

  • Vytvořte centrum IoT a odešlete do něj zprávy zařízení.
  • Vytvořte si účet úložiště.
  • Vytvořte vlastní koncový bod pro účet úložiště a směrujte do něj zprávy z Centra IoT.
  • Zobrazení zpráv zařízení v objektu blob účtu úložiště

Požadavky

  • Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

  • Centrum IoT ve vašem předplatném Azure Pokud centrum ještě nemáte, můžete postupovat podle kroků v tématu Vytvoření centra IoT.

  • V tomto kurzu se používá ukázkový kód ze sady Azure IoT SDK pro jazyk C#.

    • Stáhněte nebo naklonujte úložiště sady SDK do vývojového počítače.
    • Na vývojovém počítači můžete mít .NET Core 3.0.0 nebo novější. V případě potřeby zkontrolujte verzi spuštěním dotnet --version a stažením .NET .
  • Ujistěte se, že je v bráně firewall otevřený port 8883. Ukázka v tomto kurzu používá protokol MQTT, který komunikuje přes port 8883. Tento port může být blokovaný v některých podnikových a vzdělávacích síťových prostředích. Další informace a způsoby, jak tento problém obejít, najdete v tématu Připojení pro IoT Hub (MQTT).

  • Volitelně můžete nainstalovat Azure IoT Explorer. Tento nástroj vám pomůže sledovat zprávy při jejich příchodu do centra IoT. Tento článek používá Azure IoT Explorer.

Na webu Azure Portal nejsou žádné další požadavky.

Registrace zařízení a odesílání zpráv do IoT Hubu

Zaregistrujte nové zařízení ve službě IoT Hub.

  1. Přihlaste se k webu Azure Portal a přejděte do centra IoT.

  2. V nabídce vyberte Zařízení v části Správa zařízení.

  3. Vyberte Přidat zařízení.

    Snímek obrazovky znázorňující přidání nového zařízení na webu Azure Portal

  4. Zadejte ID zařízení a vyberte Uložit.

  5. Nové zařízení by teď mělo být v seznamu zařízení. Pokud tomu tak není, aktualizujte stránku. Výběrem ID zařízení otevřete stránku s podrobnostmi o zařízení.

  6. Zkopírujte jeden z klíčů zařízení a uložte ho. Tuto hodnotu použijete ke konfiguraci ukázkového kódu, který generuje zprávy telemetrie simulovaného zařízení.

    Snímek obrazovky znázorňující zkopírování primárního klíče ze stránky s podrobnostmi o zařízení

Teď, když máte ID a klíč zařízení, použijte vzorový kód k zahájení odesílání zpráv telemetrie zařízení do IoT Hubu.

Tip

Pokud postupujete podle kroků Azure CLI pro tento kurz, spusťte ukázkový kód v samostatné relaci. Tímto způsobem můžete ukázkový kód povolit, aby pokračoval ve spuštění, zatímco budete postupovat podle zbývajících kroků rozhraní příkazového řádku.

  1. Pokud jste nebyli součástí požadavků, stáhněte nebo naklonujte úložiště Azure IoT SDK pro C# z GitHubu.

  2. Ze složky, do které jste stáhli nebo naklonovali sadu SDK, přejděte do azure-iot-sdk-csharp\iothub\device\samples\how to guides\HubRoutingSample složky.

  3. Nainstalujte sadu Azure IoT C# SDK a potřebné závislosti uvedené v HubRoutingSample.csproj souboru:

    dotnet restore
    
  4. V editoru podle vašeho výběru otevřete Parameters.cs soubor. Tento soubor ukazuje parametry, které ukázka podporuje. Při spuštění ukázky PrimaryConnectionString se použije pouze parametr v tomto článku. Zkontrolujte kód v tomto souboru. Nejsou potřeba žádné změny.

  5. Pomocí následujícího příkazu sestavte a spusťte ukázkový kód:

    Nahraďte <myDevicePrimaryConnectionString> primárním připojovací řetězec ze svého zařízení ve službě IoT Hub.

    dotnet run --PrimaryConnectionString <myDevicePrimaryConnectionString>
    
  6. Měli byste začít zobrazovat zprávy vytištěné do výstupu, protože se odesílají do IoT Hubu. Nechte tento program spuštěný během kurzu.

Konfigurace IoT Exploreru pro zobrazení zpráv

Nakonfigurujte IoT Explorer pro připojení ke službě IoT Hub a čtení zpráv při jejich doručení do integrovaného koncového bodu.

Nejprve načtěte připojovací řetězec pro centrum IoT.

  1. Na webu Azure Portal přejděte do svého centra IoT.

  2. V části Nastavení zabezpečení v nabídce vyberte Zásadysdíleného přístupu.

  3. Vyberte zásadu iothubowner .

    Otevřete zásady sdíleného přístupu iothubowner.

  4. Zkopírujte primární připojovací řetězec.

    Zkopírujte primární připojovací řetězec iothubowner.

Teď tuto připojovací řetězec použijte ke konfiguraci IoT Exploreru pro centrum IoT.

  1. Na vývojovém počítači otevřete IoT Explorer.

  2. Vyberte Přidat připojení.

    Snímek obrazovky znázorňující přidání připojení centra IoT v IoT Exploreru

  3. Vložte připojovací řetězec centra do textového pole.

  4. Zvolte Uložit.

  5. Po připojení k centru IoT by se měl zobrazit seznam zařízení. Vyberte ID zařízení, které jste vytvořili pro účely tohoto kurzu.

  6. Vyberte Telemetrie.

  7. Pokud je vaše zařízení stále spuštěné, vyberte Start. Pokud vaše zařízení není spuštěné, neuvidíte telemetrii.

    Spusťte monitorování telemetrie zařízení v IoT Exploreru.

  8. Měli byste vidět zprávy přicházející ze zařízení s nejnovějšími zprávami zobrazenými nahoře.

    Zobrazení zpráv přicházejících do IoT Hubu na integrovaném koncovém bodu

    Chvíli sledujte příchozí zprávy a ověřte, že vidíte tři různé typy zpráv: normální, úložiště a kritické. Po zobrazení této možnosti můžete zařízení zastavit.

Všechny tyto zprávy přicházejí do výchozího integrovaného koncového bodu pro vaše centrum IoT. V dalších částech vytvoříme vlastní koncový bod a nasměrujeme některé z těchto zpráv do úložiště na základě vlastností zprávy. Tyto zprávy se v IoT Exploreru přestanou zobrazovat, protože zprávy se přesunou jenom do integrovaného koncového bodu, když neodpovídají žádným jiným trasám ve službě IoT Hub.

Nastavení směrování zpráv

Budete směrovat zprávy do různých prostředků na základě vlastností připojených ke zprávě simulovaným zařízením. Zprávy, které nejsou vlastní směrované, se odesílají do výchozího koncového bodu (zprávy nebo události).

Ukázková aplikace pro tento kurz přiřadí vlastnost úrovně každé zprávě, kterou odesílá do centra IoT. Každá zpráva má náhodně přiřazenou úroveň normálního, úložného nebo kritického stavu.

Prvním krokem je nastavení koncového bodu, do kterého se budou data směrovat. Druhým krokem je nastavení trasy zpráv, která používá tento koncový bod. Po nastavení směrování můžete na portálu zobrazit koncové body a trasy zpráv.

Vytvoření účtu úložiště

Vytvořte účet Azure Storage a kontejner v rámci daného účtu, který bude obsahovat zprávy zařízení, které se do něj směrují.

  1. Na webu Azure Portal vyhledejte účty úložiště.

  2. Vyberte Vytvořit.

  3. Zadejte následující hodnoty pro váš účet úložiště:

    Parametr Hodnota
    Předplatné Vyberte stejné předplatné, které obsahuje vaše centrum IoT.
    Skupina prostředků Vyberte stejnou skupinu prostředků, která obsahuje vaše centrum IoT.
    Název účtu úložiště Zadejte globálně jedinečný název vašeho účtu úložiště.
    Výkon Přijměte výchozí standardní hodnotu.

    Snímek obrazovky znázorňující vytvoření účtu úložiště

  4. Všechny ostatní výchozí hodnoty můžete přijmout tak, že vyberete Zkontrolovat a vytvořit.

  5. Po dokončení ověření vyberte Vytvořit.

  6. Po dokončení nasazení vyberte Přejít k prostředku.

  7. V nabídce účtu úložiště vyberte v části Úložiště dat kontejnery.

  8. Vyberte + Kontejner a vytvořte nový kontejner.

    Snímek obrazovky znázorňující vytvoření kontejneru úložiště

  9. Zadejte název kontejneru a vyberte Vytvořit.

Směrování do účtu úložiště

Nyní nastavte směrování pro účet úložiště. V této části definujete nový koncový bod, který odkazuje na účet úložiště, který jste vytvořili. Pak vytvořte trasu, která filtruje zprávy, ve kterých je vlastnost úrovně nastavená na úložiště, a směrujte je do koncového bodu úložiště.

Poznámka:

Data je možné zapsat do úložiště objektů blob ve formátu Apache Avro , což je výchozí nebo JSON.

Formát kódování je možné nastavit pouze v době, kdy je nakonfigurovaný koncový bod úložiště objektů blob. Formát nelze změnit pro koncový bod, který už je nastavený. Při použití kódování JSON je nutné nastavit contentType na JSON a contentEncoding na UTF-8 ve vlastnostech systému zpráv.

Podrobnější informace o používání koncového bodu úložiště objektů blob najdete v doprovodných materiálech ke směrování do úložiště.

  1. Na webu Azure Portal přejděte do centra IoT.

  2. V nabídce prostředků v části Nastavení centra vyberte Směrování zpráv a pak vyberte Přidat.

    Snímek obrazovky znázorňující umístění tlačítka Přidat pro přidání nové trasy do centra IoT

  3. Na kartě Koncový bod vytvořte koncový bod úložiště zadáním následujících informací:

    Parametr Hodnota
    Typ koncového bodu Vyberte Úložiště.
    Název koncového bodu Zadejte jedinečný název tohoto koncového bodu.
    Kontejner Azure Storage Vyberte Vybrat kontejner. Podle pokynů vyberte účet úložiště a kontejner, který jste vytvořili v předchozí části.
    Kódování Vyberte JSON. Pokud je toto pole neaktivní, oblast vašeho účtu úložiště nepodporuje JSON. V takovém případě pokračujte s výchozím AVRO.

    Snímek obrazovky znázorňující podokno Přidat koncový bod úložiště se správnými možnostmi

  4. Přijměte výchozí hodnoty pro zbývající parametry a vyberte Vytvořit + další.

  5. Na kartě Trasa zadejte následující informace a vytvořte trasu, která odkazuje na koncový bod úložiště, který jste vytvořili:

    Parametr Hodnota
    Název Vytvořte název trasy.
    Zdroj dat Ověřte, že jsou v rozevíracím seznamu vybrané zprávy telemetrie zařízení.
    Povolení trasy Ověřte, že je toto pole zaškrtnuté.
    Dotaz směrování Zadejte level="storage" jako řetězec dotazu.

    Snímek obrazovky znázorňující přidání trasy se směrovacím dotazem

  6. Vyberte Vytvořit a přeskočit rozšiřování.

Zobrazení směrovaných zpráv

Jakmile se trasa vytvoří v IoT Hubu a povolí se, okamžitě začne směrovat zprávy, které splňují podmínku dotazu do koncového bodu úložiště.

Monitorování integrovaného koncového bodu pomocí IoT Exploreru

Vraťte se do relace IoT Exploreru na vývojovém počítači. Vzpomeňte si, že IoT Explorer monitoruje integrovaný koncový bod pro vaše centrum IoT. To znamená, že teď byste měli vidět jenom zprávy, které nejsou směrovány vlastní trasou, kterou jsme vytvořili.

Spusťte ukázku znovu spuštěním kódu. Chvíli sledujte příchozí zprávy a měli byste vidět jenom zprávy, kde level je nastavena normal nebo critical.

Zobrazení zpráv v kontejneru úložiště

Ověřte, že zprávy přicházejí do kontejneru úložiště.

  1. Na webu Azure Portal přejděte ke svému účtu úložiště.

  2. V části Úložiště dat v nabídce vyberte Kontejnery.

  3. Vyberte kontejner, který jste vytvořili pro účely tohoto kurzu.

  4. Měla by existovat složka s názvem vašeho centra IoT. Přejděte k podrobnostem struktury souborů, dokud se nedostanete k souboru .json .

    Snímek obrazovky znázorňující hledání směrovaných zpráv v úložišti

  5. Vyberte soubor JSON a pak vyberte Stáhnout a stáhněte soubor JSON. Ověřte, že soubor obsahuje zprávy ze zařízení, které mají vlastnost nastavenou level na storage.

  6. Ukončete spuštění ukázky.

Vyčištění prostředků

Pokud chcete odebrat všechny prostředky Azure, které jste použili pro účely tohoto kurzu, odstraňte skupinu prostředků. Tato akce odstraní všechny prostředky, které skupina obsahuje. Pokud nechcete odstranit celou skupinu prostředků, vyhledejte a odstraňte jednotlivé prostředky pomocí webu Azure Portal.

Pokud chcete pokračovat k dalšímu kurzu, ponechte prostředky, které jste zde vytvořili.

  1. Na webu Azure Portal přejděte do skupiny prostředků, která obsahuje centrum IoT a účet úložiště pro účely tohoto kurzu.
  2. Zkontrolujte všechny prostředky, které jsou ve skupině prostředků, a určete, které prostředky chcete vyčistit.
    • Pokud chcete odstranit všechny prostředky, vyberte Odstranit skupinu prostředků.
    • Pokud chcete odstranit jenom určitý prostředek, pomocí zaškrtávacích políček u každého názvu prostředku vyberte ty, které chcete odstranit. Poté vyberte Odstranit.

Další kroky

V tomto kurzu jste zjistili, jak vytvořit vlastní koncový bod pro prostředek Azure a pak vytvořit trasu pro odesílání zpráv zařízení do tohoto koncového bodu. V dalším kurzu se dozvíte, jak rozšířit zprávy o další data, která je možné použít ke zjednodušení zpracování podřízených dat.