← Blog Chmura

Azure IoT Hub dla producentów urządzeń: kompletny przewodnik integracji

Azure IoTurządzenieEvent HubDashboard

Azure IoT Hub: uwierzytelnianie urządzeń, telemetria D2C, Device Twins i metody bezpośrednie w jednej usłudze zarządzanej

Azure IoT Hub to zarządzana usługa Microsoftu do dwukierunkowej komunikacji IoT. Producentom urządzeń budującym produkty podłączone do sieci zapewnia tożsamość urządzeń, obsługę wiadomości i zarządzanie bez konieczności prowadzenia własnego brokera MQTT.

Device Provisioning Service (DPS)

DPS obsługuje provisioning bezdotykowy na dużą skalę — urządzenia z certyfikatami X.509 automatycznie rejestrują się do właściwego IoT Hub na podstawie reguł grup rejestracji:

// Grupa rejestracji DPS — urządzenia podpisane certyfikatem CA X.509

az iot dps enrollment-group create   --dps-name fss-dps   --enrollment-id fss-production   --certificate-path manufacturing-ca.crt   --iot-hubs fss-prod.azure-devices.net   --allocation-policy hashed

Device Twins

// Device Twin desired -> wyzwala OTA na urządzeniu

{
  "desired": {
    "firmware": {"version":"2.1.0","url":"https://...","sha256":"abc..."}
  },
  "reported": {
    "firmware": {"version":"2.0.3","status":"downloading","progress":45}
  }
}

Metody bezpośrednie

// Z chmury do urządzenia: polecenie restartu

az iot hub invoke-device-method   --hub-name fss-prod   --device-id "device-001"   --method-name "restart"   --method-payload "{"reason":"scheduled"}"   --timeout 30

Routing i wzbogacanie wiadomości

Silnik routingu wiadomości w IoT Hub pozwala wysyłać różne typy wiadomości do różnych punktów końcowych na podstawie właściwości wiadomości lub treści jej ciała. Reguły routingu używają składni podobnej do SQL i działają na etapie przyjmowania danych — zanim wiadomości trafią do Event Hubs lub Service Bus. Oznacza to, że usługi przetwarzania niżej w łańcuchu otrzymują wstępnie przefiltrowane strumienie, co zmniejsza obciążenie przetwarzaniem i koszty.

// Reguła routingu — wysyłanie alertów do Service Bus

SELECT * FROM messages WHERE
  messageType = 'alert' AND severity >= 7
-- Telemetria pozostaje w Event Hub; alerty trafiają do kolejki Service Bus
-- System dyżurny personelu subskrybuje kolejkę Service Bus

Wzbogacanie wiadomości dodaje statyczne właściwości lub właściwości device twin do każdej wiadomości przed routingiem — na przykład dołączając do każdej wiadomości telemetrycznej identyfikator klienta urządzenia, region geograficzny lub rewizję sprzętu z device twin. Eliminuje to konieczność wyszukiwania metadanych urządzenia przez usługi niżej w łańcuchu przy każdej wiadomości.

Limity IoT Hub i wybór poziomu

Cennik IoT Hub oparty jest na poziomach usług, a błędny wybór poziomu jest kosztowny. Poziom S1 dopuszcza 400 000 wiadomości dziennie na jednostkę — dla floty 1000 urządzeń wysyłających telemetrię co 30 sekund daje to 2 880 000 wiadomości dziennie, co wymaga 8 jednostek S1 lub pojedynczej jednostki S3. Starannie oblicz swój wolumen wiadomości przed provisioningiem: uwzględnij telemetrię, aktualizacje device twin, wywołania metod bezpośrednich oraz operacje OTA.

Poziom bezpłatny (F1) jest ograniczony do 8000 wiadomości dziennie i 500 urządzeń — przydatny do prac deweloperskich, niewystarczający dla jakiejkolwiek floty produkcyjnej. S1 to właściwy poziom dla większości premier produktów; S3 (z 300 milionami wiadomości na jednostkę dziennie) sprawdza się dla flot liczących dziesiątki tysięcy urządzeń.

Integracja z usługami Azure

IoT Hub integruje się natywnie z szerszym ekosystemem Azure: Event Hubs do przetwarzania strumieni, Azure Stream Analytics do zapytań w czasie rzeczywistym, Azure Time Series Insights (oraz jego następca Azure Data Explorer) do przechowywania telemetrii, Azure Functions do bezserwerowego przetwarzania zdarzeń oraz Azure Logic Apps do automatyzacji przepływów pracy. Ta integracja ekosystemowa to jedna z największych przewag IoT Hub nad samodzielnie hostowanymi brokerami MQTT — połączenia między usługami są gotowe i zarządzane.

Dla producentów urządzeń budujących swój pierwszy produkt podłączony do sieci rozpoczęcie od Azure IoT Hub i rozszerzanie o kolejne usługi w miarę potrzeb to ścieżka o najniższym ryzyku. Zarządzana infrastruktura pozwala Twojemu zespołowi inżynieryjnemu skupić się na funkcjach produktu, a nie na obsłudze infrastruktury.

Budujesz produkt IoT?

FSS to pełnostackowy zespół inżynieryjny IoT — sprzęt, firmware, chmura i aplikacje mobilne w jednym miejscu.

Nasze możliwości chmurowe →