Najlepsze rozwiązania dotyczące konfiguracji urządzeń w rozwiązaniu IoT
Automatyczne zarządzanie urządzeniami w Azure IoT Hub automatyzuje wiele powtarzających się i złożonych zadań zarządzania dużymi flotami urządzeń w całym ich cyklu życia. W tym artykule zdefiniowano wiele najlepszych rozwiązań dla różnych ról związanych z opracowywaniem i obsługą rozwiązania IoT.
Producent/integrator sprzętu IoT: Producenci sprzętu IoT, integratorzy montażu sprzętu od różnych producentów lub dostawcy dostarczający sprzęt do wdrożenia IoT produkowanego lub zintegrowanego przez innych dostawców. Udział w tworzeniu i integracji oprogramowania układowego, osadzonych systemów operacyjnych i oprogramowania osadzonego.
Deweloper rozwiązań IoT: Opracowywanie rozwiązania IoT jest zwykle wykonywane przez dewelopera rozwiązań. Ten deweloper może być częścią wewnętrznego zespołu lub integratora systemu specjalizującego się w tym działaniu. Deweloper rozwiązań IoT może opracowywać różne składniki rozwiązania IoT od podstaw, integrować różne składniki standardowe lub open source.
Operator rozwiązania IoT: Po wdrożeniu rozwiązania IoT wymaga długoterminowych operacji, monitorowania, uaktualnień i konserwacji. Te zadania mogą być wykonywane przez wewnętrzny zespół składający się ze specjalistów ds. technologii informatycznych, zespołów ds. operacji sprzętowych i konserwacji oraz specjalistów ds. domen, którzy monitorują prawidłowe zachowanie ogólnej infrastruktury IoT.
Omówienie automatycznego zarządzania urządzeniami na potrzeby konfigurowania urządzeń IoT na dużą skalę
Automatyczne zarządzanie urządzeniami obejmuje wiele zalet bliźniaczych reprezentacji urządzeń i bliźniaczych reprezentacji modułów w celu zsynchronizowania żądanych i zgłoszonych stanów między chmurą a urządzeniami. Automatyczne konfiguracje urządzeń automatycznie aktualizują duże zestawy bliźniaczych reprezentacji i podsumowują postęp i zgodność. W poniższych krokach wysokiego poziomu opisano, jak jest opracowywane i używane automatyczne zarządzanie urządzeniami:
Producent/integrator sprzętu IoT implementuje funkcje zarządzania urządzeniami w osadzonej aplikacji przy użyciu bliźniaczych reprezentacji urządzeń. Te funkcje mogą obejmować aktualizacje oprogramowania układowego, instalację i aktualizację oprogramowania oraz zarządzanie ustawieniami.
Deweloper rozwiązań IoT implementuje warstwę zarządzania operacjami zarządzania urządzeniami przy użyciu bliźniaczych reprezentacji urządzeń i automatycznych konfiguracji urządzeń. Rozwiązanie powinno obejmować definiowanie interfejsu operatora w celu wykonywania zadań zarządzania urządzeniami.
Operator rozwiązania IoT używa rozwiązania IoT do wykonywania zadań zarządzania urządzeniami, szczególnie w celu grupowania urządzeń, inicjowania zmian konfiguracji, takich jak aktualizacje oprogramowania układowego, monitorowanie postępu i rozwiązywanie pojawiających się problemów.
Producent/integrator sprzętu IoT
Poniżej przedstawiono najlepsze rozwiązania dotyczące producentów sprzętu i integratorów zajmujących się tworzeniem oprogramowania osadzonego:
Implementowanie bliźniaczych reprezentacji urządzeń: Bliźniacze reprezentacje urządzeń umożliwiają synchronizowanie żądanej konfiguracji z chmury oraz raportowanie bieżących konfiguracji i właściwości urządzenia. Najlepszym sposobem zaimplementowania bliźniaczych reprezentacji urządzeń w aplikacjach osadzonych jest zestawy SDK usługi Azure IoT. Bliźniacze reprezentacje urządzeń najlepiej nadają się do konfiguracji, ponieważ:
- Obsługa komunikacji dwukierunkowej.
- Zezwalaj na stany urządzeń połączonych i odłączonych.
- Postępuj zgodnie z zasadą spójności ostatecznej.
- Są w pełni odpytywalne w chmurze.
Struktura bliźniaczej reprezentacji urządzenia na potrzeby zarządzania urządzeniami: Bliźniacze reprezentacje urządzenia powinny mieć strukturę, tak aby właściwości zarządzania urządzeniami zostały logicznie pogrupowane w sekcje. Dzięki temu zmiany konfiguracji będą odizolowane bez wpływu na inne sekcje bliźniaczej reprezentacji. Na przykład utwórz sekcję w żądanych właściwościach oprogramowania układowego, inną sekcję oprogramowania i trzecią sekcję ustawień sieciowych.
Raportowanie atrybutów urządzenia, które są przydatne do zarządzania urządzeniami: Atrybuty, takie jak tworzenie i model urządzenia fizycznego, oprogramowanie układowe, system operacyjny, numer seryjny i inne identyfikatory, są przydatne do raportowania i jako parametrów określania wartości docelowej zmian konfiguracji.
Zdefiniuj główne stany raportowania stanu i postępu: Stany najwyższego poziomu powinny być wyliczane, aby można je było zgłaszać operatorowi. Na przykład aktualizacja oprogramowania układowego będzie zgłaszać stan Bieżące, Pobieranie, Stosowanie, W toku i Błąd. Zdefiniuj dodatkowe pola, aby uzyskać więcej informacji na temat każdego stanu.
Deweloper rozwiązań IoT
Poniżej przedstawiono najlepsze rozwiązania dla deweloperów rozwiązań IoT, którzy kompilują systemy oparte na platformie Azure:
Implementowanie bliźniaczych reprezentacji urządzeń: Bliźniacze reprezentacje urządzeń umożliwiają synchronizowanie żądanej konfiguracji z chmury oraz raportowanie bieżących konfiguracji i właściwości urządzenia. Najlepszym sposobem zaimplementowania bliźniaczych reprezentacji urządzeń w aplikacjach rozwiązań w chmurze jest zestawy SDK usługi Azure IoT. Bliźniacze reprezentacje urządzeń najlepiej nadają się do konfiguracji, ponieważ:
- Obsługa komunikacji dwukierunkowej.
- Zezwalaj na stany urządzeń połączonych i odłączonych.
- Postępuj zgodnie z zasadą spójności ostatecznej.
- Są w pełni odpytywalne w chmurze.
Organizowanie urządzeń przy użyciu tagów bliźniaczych reprezentacji urządzeń: Rozwiązanie powinno umożliwić operatorowi definiowanie pierścieni jakości lub innych zestawów urządzeń na podstawie różnych strategii wdrażania, takich jak kanary. Organizacja urządzeń można zaimplementować w ramach rozwiązania przy użyciu tagów bliźniaczych reprezentacji urządzeń i zapytań. Organizacja urządzeń jest niezbędna, aby umożliwić bezpieczne i dokładne wdrażanie konfiguracji.
Zaimplementuj konfiguracje urządzeń automatycznych: Automatyczne konfiguracje urządzeń wdrażają i monitorują zmiany konfiguracji w dużych zestawach urządzeń IoT za pośrednictwem bliźniaczych reprezentacji urządzeń.
Automatyczne konfiguracje urządzeń służą do określania docelowych zestawów bliźniaczych reprezentacji urządzeń za pośrednictwem warunku docelowego, czyli zapytania dotyczącego tagów bliźniaczych reprezentacji urządzeń lub zgłoszonych właściwości. Zawartość docelowa to zestaw żądanych właściwości, które zostaną ustawione w ramach docelowych reprezentacji bliźniaczych urządzeń. Zawartość docelowa powinna być zgodna ze strukturą bliźniaczej reprezentacji urządzenia zdefiniowaną przez producenta/integratora sprzętu IoT. Metryki to zapytania dotyczące zgłaszanych właściwości bliźniaczej reprezentacji urządzenia i powinny być również zgodne ze strukturą bliźniaczej reprezentacji urządzenia zdefiniowaną przez producenta/integratora sprzętu IoT.
Automatyczne konfiguracje urządzeń są uruchamiane po raz pierwszy po utworzeniu konfiguracji, a następnie w pięciu minutach. Korzystają one również z IoT Hub wykonywania operacji bliźniaczej reprezentacji urządzenia w tempie, który nigdy nie przekroczy limitów ograniczania dla operacji odczytu i aktualizacji bliźniaczej reprezentacji urządzenia.
Użyj usługi Device Provisioning Service: deweloperzy rozwiązań powinni używać usługi Device Provisioning Service do przypisywania tagów bliźniaczych reprezentacji urządzeń do nowych urządzeń, tak aby były one automatycznie konfigurowane przez automatyczne konfiguracje urządzeń przeznaczone dla bliźniaczych reprezentacji z tym tagiem.
Operator rozwiązania IoT
Poniżej przedstawiono najlepsze rozwiązania dla operatorów rozwiązań IoT, którzy korzystają z rozwiązania IoT utworzonego na platformie Azure:
Organizowanie urządzeń na potrzeby zarządzania: Rozwiązanie IoT powinno definiować lub zezwalać na tworzenie pierścieni jakości lub innych zestawów urządzeń na podstawie różnych strategii wdrażania, takich jak kanary. Zestawy urządzeń będą używane do wdrażania zmian konfiguracji i wykonywania innych operacji zarządzania urządzeniami na dużą skalę.
Przeprowadź zmiany konfiguracji przy użyciu wdrożenia etapowego: Wdrożenie etapowe to ogólny proces, w którym operator wdraża zmiany w rozszerzonym zestawie urządzeń IoT. Celem jest stopniowe wprowadzanie zmian w celu zmniejszenia ryzyka wprowadzenia zmian powodujących niezgodność na dużą skalę. Operator powinien użyć interfejsu rozwiązania do utworzenia automatycznej konfiguracji urządzenia , a warunek określania wartości docelowej powinien dotyczyć początkowego zestawu urządzeń (takiego jak grupa kanary). Operator powinien następnie zweryfikować zmianę konfiguracji w początkowym zestawie urządzeń.
Po zakończeniu walidacji operator zaktualizuje konfigurację urządzenia automatycznego w celu uwzględnienia większego zestawu urządzeń. Operator powinien również ustawić priorytet konfiguracji na wyższy niż inne konfiguracje, które są obecnie przeznaczone dla tych urządzeń. Wdrożenie można monitorować przy użyciu metryk zgłaszanych przez automatyczną konfigurację urządzenia.
Wykonaj wycofywanie w przypadku błędów lub błędów konfiguracji: Automatyczna konfiguracja urządzenia, która powoduje błędy lub błędy konfiguracji, można wycofać, zmieniając warunek określania wartości docelowej , aby urządzenia nie spełniały już warunku określania wartości docelowej. Upewnij się, że kolejna automatyczna konfiguracja urządzenia o niższym priorytcie jest nadal przeznaczona dla tych urządzeń. Sprawdź, czy wycofywanie zakończyło się pomyślnie, wyświetlając metryki: Konfiguracja wycofana nie powinna już pokazywać stanu dla nie docelowych urządzeń, a metryki drugiej konfiguracji powinny teraz zawierać liczniki dla urządzeń, które są nadal docelowe.
Następne kroki
Dowiedz się więcej o implementowaniu bliźniaczych reprezentacji urządzeń w temacie Omówienie bliźniaczych reprezentacji urządzeń i korzystanie z nich w IoT Hub.
Zapoznaj się z krokami tworzenia, aktualizowania lub usuwania automatycznej konfiguracji urządzenia w temacie Konfigurowanie i monitorowanie urządzeń IoT na dużą skalę.
Dowiedz się, jak ukończyć kompleksową aktualizację opartą na obrazach w artykule Device Update for Azure IoT Hub tutorial using the Raspberry Pi 3 B+ Reference Image (Aktualizacja urządzenia na potrzeby Azure IoT Hub samouczka, korzystając z obrazu referencyjnego urządzenia Raspberry Pi 3 B+.