Sdílet prostřednictvím


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 využít k odesílání telemetrických dat ze zařízení IoT do různých služeb Azure, jako jsou úložiště blob, fronty a 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 blobu úč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 IoT 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 Microsoft Azure IoT SDK pro .NET.

    • 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 řešení tohoto problému najdete v tématu Připojení ke službě IoT Hub.

  • Volitelně můžete nainstalovat Azure IoT Explorer (Preview). 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.

Důležité

Tento článek obsahuje postup připojení zařízení pomocí sdíleného přístupového podpisu, označovaného také jako ověřování symetrického klíče. Tato metoda ověřování je vhodná pro testování a vyhodnocení, ale ověřování zařízení pomocí certifikátů X.509 je bezpečnější přístup. Další informace najdete v tématu Osvědčené postupy zabezpečení pro zabezpečení připojení řešení > IoT.

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

  2. V nabídce vyberte Zařízení z správy 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, který ukazuje, jak zkopírovat primární klíč pro zařízení IoT ze stránky s podrobnostmi o zařízení na webu Azure Portal

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 to neudělali v rámci předpokladů, stáhněte nebo naklonujte nyní z GitHubu úložiště Microsoft Azure IoT SDK pro .NET.

  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 Microsoft Azure IoT SDK pro .NET 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 zobrazuje parametry podporované ukázkou. V tomto článku se při použití ukázky používá pouze parametr PrimaryConnectionString. 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ím řetězcem svého zařízení pro váš IoT Hub.

    dotnet run --PrimaryConnectionString <myDevicePrimaryConnectionString>
    
  6. Měli byste začít zobrazovat zprávy vytištěné do výstupu, které 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 řetězec připojení pro vaše IoT centrum.

  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.

    Snímek obrazovky, který ukazuje, jak vybrat zásady sdíleného přístupu iothubowner na webu Azure Portal

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

    Snímek obrazovky, který ukazuje, jak zkopírovat primární připojovací řetězec pro zásady iothubowner centra IoT v portálu Azure.

Nyní použijte tento připojovací řetězec ke konfiguraci IoT Exploreru pro váš IoT hub.

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

  2. Pokud se zobrazí, vyberte Připojit přes připojovací řetězec IoT Hub.

    Snímek obrazovky znázorňující úvodní podokno Azure IoT Exploreru se zvýrazněnou možností připojení přes připojovací řetězec ioT Hubu

  3. Vyberte Přidat připojení.

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

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

  5. Zvolte Uložit.

  6. 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.

  7. Vyberte Telemetrie.

  8. Pokud je vaše zařízení stále spuštěné, vyberte Start. Pokud vaše zařízení není spuštěné, nemůžete zobrazit telemetrii.

    Snímek obrazovky s podoknem Telemetrie pro zařízení v Azure IoT Exploreru a zvýrazněním, jak začít monitorovat telemetrii zařízení

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

    Snímek obrazovky zobrazující zprávy přicházející do centra IoT v 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í všech tří typů zpráv 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 přejdou 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řiřazených ke zprávě simulovaným zařízením. Zprávy, které nejsou přizpůsobeně směrovány, se odesílají do výchozího koncového bodu (zprávy/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 data směrují. 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ý obsahuje zprávy zařízení, které jsou na něj směrované.

  1. Na portálu Azure vyhledejte účet ú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, který ukazuje, jak vytvořit účet úložiště na webu Azure Portal

  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í klikněte na Přejít k prostředku.

  7. V nabídce účtu úložiště vyberte z části Úložiště dat možnost Kontejnery.

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

    Snímek obrazovky, který ukazuje, jak vytvořit kontejner pro účet úložiště na webu Azure Portal

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

Cesta k úč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ěruje tyto zprávy do koncového bodu úložiště.

Poznámka:

Data je možné zapsat do úložiště typu 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 pro dříve nakonfigurovaný koncový bod nejde změnit. 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žití koncového bodu úložiště objektů blob najdete v tématu Azure Storage jako koncový bod směrování.

Důležité

Tento článek obsahuje postup připojení ke službě pomocí sdíleného přístupového podpisu. Tato metoda ověřování je vhodná pro testování a vyhodnocení, ale ověřování ve službě pomocí MICROSOFT Entra ID nebo spravovaných identit je bezpečnější přístup. Další informace najdete v tématu Osvědčené postupy zabezpečení zabezpečení řešení > IoT v cloudu.

  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 z rozevíracího seznamu vybrány zprávy telemetrie zařízení.
    Povolit trasu 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ří ve službě IoT Hub 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 sezení 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, zda zprávy dorazily do úložného kontejneru.

  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. Procházejte strukturu souborů, až 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čistit zdroje

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.