Aktualizace IoT v reálném čase

Azure Functions
Azure IoT Edge
Azure IoT Hub
Azure Maps
Azure SignalR Service

Tato příručka popisuje způsob, jak klienti, jako jsou webové stránky nebo mobilní aplikace, přijímat aktualizace ze zařízení v reálném čase. Cloudové aplikace už odesílaly požadavky HTTP na aktuální informace. Místo toho služba Azure SignalR odešle obsah klientům hned, jak je k dispozici. Služba Azure SignalR jako spravovaná služba zjednodušuje proces přidávání komunikace v reálném čase do aplikací.

Architektura

Diagram architektury znázorňující, jak služba Azure SignalR udržuje klienty, jako jsou webové stránky a mobilní aplikace, aktualizují pomocí dat IoT v reálném čase.

Stáhněte si soubor aplikace Visio s touto architekturou.

Workflow

  1. Webové stránky, mobilní aplikace a další klienti požadují koncový bod a token služby Azure SignalR ze služby Azure Functions, bezserverovou výpočetní platformu. Kromě integrace dat z různých zdrojů spravuje služba Functions také koncové body služby Azure SignalR a informace o skupinách klientů.

  2. Klienti používají koncový bod a token pro připojení ke službě Azure SignalR.

  3. Zařízení IoT odesílají telemetrii do Azure IoT Edge a Azure IoT Hubu. IoT Edge odesílá zpracovanou telemetrii zařízení IoT do IoT Hubu.

  4. Telemetrie aktivuje funkci ve službě Azure Functions. Funkce dokončí tyto úlohy:

    • Spustí všechny výpočty, které programujete v telemetrii.
    • Transformuje data jakýmkoli způsobem, který programujete.
    • Používá spravovanou službu Azure SignalR Service k vysílání dat.
  5. Služba Azure SignalR podporuje několik technik, které aplikace v reálném čase používají, například WebSocket, upřednostňovaný transportní protokol. Služba Azure SignalR ale používá techniky, jako jsou události odeslané serverem (SSE) a dlouhé dotazování, pokud není protokol WebSocket dostupný. Služba Azure SignalR automaticky rozpozná a inicializuje příslušný transportní protokol na základě funkcí, které server a klient podporuje.

  6. Zpráva služby Azure SignalR se zobrazí konkrétnímu klientovi nebo skupině klientů. Klienti používají data k aktualizaci aplikací.

Podrobnosti scénáře

Aplikace Internetu věcí (IoT) často potřebují data ze zařízení IoT v reálném čase. Některé aplikace například zobrazují telemetrická data nebo upozorňující data, která z zařízení získávají. U tradičních metod dotazování se tyto klientské aplikace ptají zařízení na změny stavu.

Tato příručka popisuje způsob, jak klienti, jako jsou webové stránky nebo mobilní aplikace, přijímat aktualizace ze zařízení v reálném čase. Cloudové aplikace už odesílaly požadavky HTTP na aktuální informace. Místo toho služba Azure SignalR odešle obsah klientům hned, jak je k dispozici. Služba Azure SignalR jako spravovaná služba zjednodušuje proces přidávání komunikace v reálném čase do aplikací.

Prodejce může mít například aplikaci řídicího panelu, která zobrazuje aktuální počet zákazníků v obchodě. V tomto průvodci řešení aplikace nepožádá o nejnovější počet zákazníků. Místo toho Služba Azure SignalR předá informace aplikaci, když se celkový počet změn změní.

Potenciální případy použití

Kromě maloobchodního průmyslu mohou tato řešení využívat i další oblasti:

  • Jakýkoli scénář, ve kterém servery odsílaly data v reálném čase klientům pro použití ve vizualizacích a aplikacích.
  • Bohaté a vysoce interaktivní aplikace, jako jsou přizpůsobená uživatelská rozhraní a mapy.

Mezi konkrétní příklady, které poskytují aktualizace dat v reálném čase, patří:

  • Monitorování vozového parku, které mapuje polohu vozidel (automobilový průmysl).
  • Vzdálené monitorování teploty, tlaku a stavu výrobního procesu (platí také pro energetický průmysl).
  • Systémy pro řízení procházení, které používají telemetrii, jako jsou revoluce za minutu, točivý moment a zatížení háku pro optimalizaci procesů.
  • Mechanismy upozorňování

Důležité informace

Při použití tohoto vzoru zvažte tyto body:

  • Pokud má váš systém přísné požadavky na latenci, mějte na paměti faktory, které můžou výrazně zvýšit latenci:

    • Ve scénářích v reálném čase může signalizace cloudových aplikací zvýšit latenci až o 10 sekund.
    • Všechny kroky transformace dat, které přidáte do řešení, můžou zvýšit latenci.
  • Služba Azure SignalR definuje sedm úrovní, které odpovídají rozsahu kapacit výkonu. Zjistěte příchozí a odchozí kapacitu vašeho scénáře pochopením faktorů, které ovlivňují tyto hodnoty. Pak vyberte úroveň, která nejlépe vyhovuje vašim požadavkům. Další informace najdete v průvodci výkonem služby Azure SignalR.

  • Azure SignalR vychází z protokolu SignalR a při vysílání zpráv klientům se řídí modelem publikování a odběru. Zvažte vlastní mechanismus potvrzení zpráv (ACK), pokud potřebujete zaručit doručení zpráv při publikování zpráv do více klientů.

  • Při zobrazování dat ve vizuálech Power BI v reálném čase zvažte streamování v reálném čase v Power BI jako alternativu k tomuto řešení.

Další kroky

Informace o souvisejících řešeních najdete v těchto informacích:

Průvodci architekturou IoT

Vzory IoT

Architektury IoT