Moduły Guardian
Moduł opiekuna to dodatkowy sprzęt, który zawiera mikroukład Azure Sphere i fizycznie dołączany do portu na urządzeniu "brownfield", czyli istniejącym urządzeniu, które może być już używane.
Za pomocą modułu opiekuna możesz dodać bezpieczne funkcje IoT do sprzętu, który albo nie obsługuje łączności internetowej, albo nie obsługuje jej bezpiecznie. Krótko mówiąc, moduł opiekuna umożliwia zaimplementowanie bezpiecznej łączności w istniejących urządzeniach bez narażania tych urządzeń na internet. Ponieważ jest to urządzenie Azure Sphere, dostępne są wszystkie funkcje zabezpieczeń i łączności Azure Sphere: wszystkie dane są szyfrowane, aktualizacje systemu operacyjnego i aplikacji są dostarczane bezpiecznie, a uwierzytelnianie zapewnia, że moduł komunikuje się tylko z zaufanymi hostami.
Oto jak działa moduł opiekuna:
Moduł opiekuna łączy się z urządzeniem z polami poprzemysłowymi zgodnie z opisem w sekcji Łączność w tym temacie. Samo urządzenie z polami poprzemysłowymi nie jest połączone z siecią.
System operacyjny Azure Sphere działa w module opiekuna wraz z niestandardową aplikacją wysokiego poziomu i innymi aplikacjami Azure Sphere wymaganymi w danym scenariuszu.
Moduł guardian używa usługi zabezpieczeń Azure Sphere do uwierzytelniania opartego na certyfikatach, raportowania błędów i aktualizacji oprogramowania w powietrzu.
Urządzenie z polami poprzemysłowymi komunikuje się z modułem opiekuna, który może reagować, podejmując lokalne działania lub zgłaszając obecność w chmurze, taką jak Azure IoT Central.
Możesz kupić moduły opiekuna od dostawcy i dodatkowo dostosować je do swojego scenariusza użycia lub zaprojektować własny moduł opiekuna, ewentualnie współpracując z partnerem sprzętowym. Zobacz witrynę internetową Azure Sphere , aby uzyskać informacje o dostawcach sprzętu.
Używa modułu opiekuna
Moduł opiekuna może robić wszystko, co może robić inne urządzenie Azure Sphere, a jednocześnie działać jako bezpieczny interfejs między istniejącym sprzętem a siecią zewnętrzną. Możliwe zastosowania modułu opiekuna obejmują:
- Zbieranie danych z urządzenia z polami poprzemysłowymi, przetwarzanie danych i bezpieczne przesyłanie danych do punktu końcowego chmury
- Wysyłanie danych do wielu punktów końcowych pod warunkiem, że mogą uwierzytelnić każdy punkt końcowy
- Zbieranie dodatkowych danych, które nie są dostępne na urządzeniu z terenami poprzemysłowymi; na przykład czujniki modułu strażniczego mogą dostarczać dane środowiskowe do użytku z danymi operacyjnymi z urządzenia z terenów poprzemysłowych.
- Zapisywanie danych z urządzenia z terenów poprzemysłowych w przypadku utraty łączności
Repozytorium próbek usługi Azure Sphere zawiera dwie próbki, które pokazują, jak urządzenie Azure Sphere może być używane jako moduł opiekuna:
- Funkcja Device to Cloud pokazuje, jak można używać urządzenia Azure Sphere do zbierania danych, zapewniając jednocześnie bezpieczny dostęp do Internetu dla urządzenia z polami poprzemysłowymi, które jest z nim połączone za pośrednictwem interfejsu szeregowego.
- Prywatne usługi sieciowe pokazują, jak urządzenie Azure Sphere może zapewnić bezpieczny dostęp do Internetu dla urządzenia z polami poprzemysłowymi, które jest z nim połączone za pośrednictwem interfejsu TCP/IP.
Łączność
Istnieje kilka obsługiwanych mechanizmów łączności między modułem opiekuna a siecią oraz między modułem strażnika a urządzeniem z polami poprzemysłowymi. Aby uzyskać ogólne informacje na temat rozwiązań łączności w usłudze Azure Sphere, zobacz Omówienie łączności i wymagania dotyczące sieci.
Aplikacja wysokiego poziomu modułu opiekuna komunikuje się z siecią, w tym z usługą Zabezpieczeń Azure Sphere i innymi usługami w chmurze, oraz w dalszej części rzeki z urządzeniem z polami poprzemysłowymi:
W przypadku połączeń nadrzędnych między modułem opiekuna a siecią możesz używać sieci Ethernet, Wi-Fi lub komórkowej.
W przypadku połączeń podrzędnych między modułem opiekuna a sprzętem terenów poprzemysłowych możesz użyć następujących funkcji:
- Każdy interfejs szeregowy, taki jak UART, RS-485 lub SPI, który urządzenie z polami poprzemysłowymi odsłania
- Prywatna sieć Ethernet, która nie wystawia urządzenia z terenów poprzemysłowych na działanie sieci publicznej
- Bezprzewodowe, takie jak Bluetooth lub ZigBee
Tworzenie i wdrażanie aplikacji
Opracowywanie i wdrażanie aplikacji dla modułu opiekuna nie różni się od opracowywania i wdrażania aplikacji dla dowolnego innego urządzenia Azure Sphere. Aby uzyskać szczegółowe informacje , zobacz Omówienie aplikacji Azure Sphere i podstawy wdrażania . Podobnie jak w przypadku każdego urządzenia Azure Sphere moduł opiekuna musi mieć co najmniej jedną aplikację azure sphere wysokiego poziomu i może mieć aplikacje z obsługą czasu rzeczywistego.
Będziesz potrzebować dostępu do usługi UART, czyli głównego interfejsu programowania i debugowania między MT3620 a środowiskiem deweloperskim działającym na komputerze hosta. W przypadku zaprojektowania własnego modułu opiekuna należy upewnić się, że sygnały UART usługi są narażone i że obsługujesz sposób interfejsu z serwisowym obiektem UART na samym module strażnika lub na osobnym sprzęcie. W przypadku zakupu modułów od dostawcy dostawca powinien udostępnić rozwiązanie umożliwiające to połączenie.
Jeśli aplikacja zostanie utworzona przez Twojego dostawcę lub inną firmę, może być konieczne zapewnienie dostępu do wykazu usługi Azure Sphere, aby deweloper aplikacji mógł załadować i przetestować aplikację oraz utworzyć wdrożenie.
Aplikacje wysokiego poziomu
Aplikacja wysokiego poziomu modułu opiekuna musi być napisana niestandardowo dla urządzeń z polami poprzemysłowymi każdej organizacji. Jeśli dostawca modułu opiekuna udostępnia aplikację, upewnij się, że otrzymasz kod źródłowy i biblioteki aplikacji wysokiego poziomu, dzięki czemu możesz zmodyfikować lub zaktualizować aplikację w razie potrzeby.
Podobnie jak w przypadku każdej aplikacji urządzenia Azure Sphere szczegóły specyficzne dla urządzenia i specyficzne dla aplikacji muszą być wymienione w manifeście aplikacji. Na przykład połączenia modułu opiekuna to szczegóły dotyczące urządzenia, które muszą zostać uwzględnione w manifeście.
Aplikacja wysokiego poziomu działająca w module opiekuna jest odpowiedzialna za następujące elementy:
- Ustanawianie i utrzymywanie łączności ze sprzętem terenów poprzemysłowych
- Ustanawianie i utrzymywanie łączności z Internetem, w tym z usługą Azure Sphere Security Service i innymi usługami w chmurze
- Obsługa danych otrzymanych z urządzenia z polami poprzemysłowymi — rozpakowywanie i przechowywanie danych, jeśli to konieczne, oraz komunikowanie się z hostami internetowymi odpowiednio
- Obsługa danych otrzymanych od hosta internetowego — w razie potrzeby rozpakowywanie i przechowywanie danych oraz komunikowanie się ze sprzętem z terenów poprzemysłowych stosownie do potrzeb
Dane wysyłane dalej mogą zawierać raporty o błędach, parametry operacyjne lub ogólną telemetrię. Usługa Azure Sphere zapewnia, że wszystkie takie dane są szyfrowane. Aplikacja może łączyć się z usługami sieci Web i korzystać z wzajemnego uwierzytelniania dla takich połączeń.
Dane wysyłane poniżej mogą obejmować zaktualizowane oprogramowanie lub zmiany ustawień lub parametrów urządzenia z polami poprzemysłowymi. Aby uniknąć potencjalnych naruszeń bezpieczeństwa, aplikacja powinna zweryfikować przychodzące dane przed przekazaniem ich do urządzenia z polami poprzemysłowymi.
Zagadnienia dotyczące aplikacji
Podczas tworzenia aplikacji należy rozważyć dostępne urządzenia peryferyjne, wymagania dotyczące przestrzeni dyskowej i zużycie energii.
Urządzenia peryferyjne
Podobnie jak inne urządzenia Azure Sphere, moduły opiekuna różnią się w zależności od urządzeń peryferyjnych, które udostępniają. Wybierz moduł opiekuna zapewniający funkcje łączności i wykrywania wymagane w twoim scenariuszu.
W zależności od architektury sprzętowej modułu guardian — czyli sposobu, w jaki udostępnia on możliwości mikroukładu Azure Sphere — możesz określić, czy oprogramowanie umożliwiające dostęp do poszczególnych funkcji musi być implementowane jako aplikacja o wysokim poziomie, czy w czasie rzeczywistym.
Wymagania dotyczące przestrzeni dyskowej
Usługa Azure Sphere ma ograniczoną przestrzeń dyskową, więc dokładnie zastanów się, ile pamięci jest potrzebne dla aplikacji i danych. Aby uzyskać więcej informacji, zobacz Dostępna pamięć .
Gdy wysyłasz dane z chmury na urządzenie z polami poprzemysłowymi, upewnij się, że moduł opiekuna ma wystarczająco dużo miejsca, aby przechowywać dane. Może być konieczne wysłanie danych w fragmentach, jak wynika z przykładu HTTPS_Curl_Multi w repozytorium próbek Usługi Azure Sphere GitHub.
Gdy wysyłasz dane z urządzenia z pola poprzemysłowyego do modułu opiekuna, upewnij się, że Aplikacja może obsługiwać awarie łączności wyższego rzędu. Jeśli urządzenie z polami poprzemysłowymi zapewnia bieżącą telemetrię, należy rozważyć, które dane i ile z nich zachować, a następnie wysłać do chmury po przywróceniu łączności. Zobacz przykład galerii przechowywania i przesyłania dalej, w której pokazano, jak tymczasowo buforować dane za pomocą magazynu lokalnego przed ich przekazaniem.
Pobór
Istnieje wiele aplikacji, w których moduł opiekuna jest nieaktywny przez większość czasu. Rozważmy na przykład urządzenie Azure Sphere, które raz na godzinę zbiera dane z sieci czujników i przekazuje te dane do chmury — operacja, która może potrwać minutę lub dwie. W takim przypadku większość energii zużywanej przez urządzenie jest marnowana.
Możesz znacznie zmniejszyć zużycie energii, a tym samym wydłużyć czas pracy baterii, umieszczając urządzenie w stanie u dołu zasilania, gdy jest nieaktywne, lub ustawiając profil zasilania. Aby uzyskać szczegółowe informacje, zobacz Zarządzanie stanem zasilania i Ustawianie profilów zasilania .