Konfiguracja oprogramowania IoTWorX z chmurą Azure

Wiktor Susfał How to, Produkty

Wpis ten poświęcony został szczegółom podstawowej konfiguracji oprogramowania IoTWorX z chmurą Azure.

Zarys struktury całego rozwiązania Internet of Things w systemie SCADA od ICONICS został przedstawiony w jednym z poprzednich wpisów. Niżej zostaną opisane wszystkie niezbędne kroki, jakie należy podjąć w celu nawiązania połączenia pomiędzy bramką IoT z zainstalowanym oprogramowaniem IoTWorX, a GENESIS64 pracującym w chmurze.

Całość będzie przebiegać w dwóch etapach:

  1. utworzeniu odpowiedniej infrastruktury na platformie Azure,
  2. zainstalowaniu oprogramowania IoTWorX na gateway’u (wraz z Update 4) oraz jego rejestracji w IoTHub.

 

Infrastruktura chmury Azure

Przed przystąpieniem do konfiguracji należy utworzyć bezpłatne konto z platformie Microsoft Azure (link) – pozwala ono na testowanie funkcjonalności chmury przez miesiąc. Po zarejestrowaniu użytkownik powinien przejść do Portalu Azure w celu dodania wymaganych elementów systemu.

  1. Pierwszym krokiem jest dodanie brokera wiadomości wysyłanych do chmury, jakim jest Azure IoTHub. Pozwala on uprościć procedurę przekazywania danych do odbiorców – urządzenie nadawcze nie łączy się bezpośrednio z nimi, lecz umieszcza informacje w IoTHub. Każdy, kto posiada odpowiednie uprawnienia, może odczytywać dane tam przechowywane.

W celu utworzenia IoTHub należy wybrać opcję „Utwórz zasób” z menu po lewej stronie portalu Azure oraz wyszukać w nowym oknie omawiany element. Po wybraniu opcji „Utwórz” użytkownik określa rodzaj subskrypcji (domyślnie „Płatność zgodna z rzeczywistym użyciem”), w razie potrzeby tworzy nową grupę zasobów Resource Group (rekomenduje się przypisanie wszystkich elementów systemu do tej samej grupy zasobów). Ostatnim istotnym ustawieniem jest nadanie unikalnej nazwy tworzonemu IoTHub.

Przechodząc dalej do sekcji Size and Scale użytkownik ma możliwość wybrania typu IoTHub’a (basic lub standard) – różnią się one liczbą funkcjonalności. Na potrzeby projektowanego systemu wybrano opcję standard. Liczba jednostek (ang. units) IoTHub oraz jego rodzaj (S1, S2, S3) determinuje maksymalną ilość wiadomości wysyłanych dziennie do chmury. W opisywanej sytuacji pozostawiono jedną jednostkę S1 IoTHub.

W sekcji Advanced Settings użytkownik dostosowuje liczbę partycji (ang. partitions) IoTHub – niezależnych podzbiorów przesyłanych informacji umożliwiających bardziej wydajny, równoległy ich odczyt przez odbiorców. Do najczęstszych zastosowań wystarczają 4 partycje.

 

 

 

 

 

2. Drugi krok – skonfigurowanie elementu Azure Storage Account (Konta Magazynu) przechowującego pliki konfiguracyjne dla IoTWorX. Należy wyszukać ten element w menu dodawania nowego zasobu (podobnie jak wyżej).

Po wskazaniu odpowiedniego elementu z listy i wybraniu opcji „Utwórz”  wyświetlają się opcje konfiguracyjne. Użytkownik, podobnie jak wyżej, wybiera rodzaj subskrypcji (sposób naliczania opłat za usługę), przyporządkowuje element do danej grupy zasobów (rekomendowany jest wybór takiej samej grupy jak dla IoTHub) oraz nadaje unikalną nazwę dla Konta Magazynu.

Reszta opcji dotyczących m.in. rodzaju konta, ustawień bezpiecznego transferu danych lub dostępu do Konta Magazynu z różnych sieci znajduje się w czterech zakładkach – „Podstawowe” (Basics), „Zaawansowane” (Advanced) i „Tagi”. Ich opisy znajdują się w samouczkach od Microsoft, natomiast na potrzeby standardowej konfiguracji IoTWorX wystarczają one w swojej domyślnej formie, pokazanej na zdjęciach poniżej.

 

 

 

 

 

Po wybraniu opcji „Przeglądanie + tworzenie” (ang. Review + create), a następnie „Utwórz” nowy element zostanie dodany do istniejących zasobów.

3. Trzeci krok (opcjonalny) – skonfigurowanie wirtualnej maszyny Azure i zainstalowanie na niej GENESIS64 v10.95. Odbieranie danych wysyłanych do IoTHub przez IoTWorX, jak i samo zarządzanie nim może odbywać się również z poziomu oprogramowania SCADA działającego na innym komputerze z dostępem do internetu.

Jednak w przypadku, gdy konfigurowana jest maszyna wirtualna, należy pamiętać o zapewnieniu jej wymaganych parametrów pozwalających na pracę z systemem SCADA od ICONICS. Wymagania GENESIS64 różnią się w zależności od wielkości obsługiwanej aplikacji. Dla płynnego działania zaleca się, aby maszyna wirtualna nie była gorsza od: Standardowej D2s v3 (2 procesory wirtualne vcpu, 8 GB pamięci). 

Do prawidłowej jej konfiguracji powinny zostać wykonane działania z sekcji „Konfiguracja serwera w chmurze” tego wpisu.

Należy pamiętać o konieczności odblokowania portów: 443 (dla komunikacji po HTTPS), 5671 (dla AMQPs), 8778 (dla usługi IoT Collector) w usłudze Firewall niezależnie od tego, czy GENESIS64 działa na komputerze lokalnym, czy na maszynie wirtualnej.

 

Konfiguracja bramki IoT

Po zainstalowaniu oprogramowania IoTWorX wraz z Update 4 musi nastąpić jego rejestracja w usłudze IoTHub. Przeglądu stanu wszystkich narzędzi składowych IoTWorX oraz jego rejestracji dokonuje się z poziomu przeglądarki Internet Explorer.

W zależności od korzystania z bramki IoT lub innego komputera będącego w tej samej sieci co gateway, należy wprowadzić w wyszukiwarce stron www frazę: http://localhost:1447 lub http://<adres_bramki_w_sieci_lokalnej>:1447.

Domyślnym loginem i hasłem są: admin i iconics. Po pierwszym zalogowaniu hasło musi zostać zmienione. Rejestracji oprogramowania dokonuje się w zakładce Provisioning nowo otwartego interfejsu. Użytkownik wskazuje tam na użycie swojego prywatnego IoTHub’a (usługa IoTHub od ICONICS nie jest jeszcze dostępna).

Kolejnym krokiem jest określenie, czy dana bramka IoT ma zostać zarejestrowana jako nowe urządzenie w IoTHub, czy ma zostać nadane przyporządkowanie pomiędzy już zarejestrowanym w IoTHub urządzeniem, a używaną bramką. W tym wpisie zostanie omówiona pierwsza opcja.

Ostatnie okno konfiguracyjne pozwala na wprowadzenie parametrów połączenia bramki IoT z IoTHub. Będzie tu potrzebny specjalny token dostępu generowany wraz z utworzeniem IoTHub’a. Aby go pozyskać, należy z listy zasobów chmury Azure wybrać utworzony broker, a następnie przejść do zakładki Shared access policies. Na potrzeby tej konfiguracji zostanie użyty token właściciela IoTHub.

Następnie użytkownik wprowadza unikalną nazwę dla swojego urządzenia (Device ID) oraz określa typ autoryzacji. Dostępne jest uwierzytelnianie za pomocą klucza symetrycznego (użytkownika lub generowanego automatyczne) w formacie base64 lub Certyfikatów X.509. Na potrzeby tej konfiguracji zostanie użyta pierwsza opcja.

Całość jest kończona wprowadzeniem nazwy puli licencji oraz odpowiadającego jej hasła – jeśli krok ten zostanie pominięty IoTWorX będzie działał w trybie demo. Po zakończeniu rejestracji należy zrestartować gateway’a. Powyższą konfigurację przedstawia film instruktażowy:

 

Projekt IoT programu Workbench do zarządzania IoTWorX

Za jego pomocą osiągalne są urządzenia zarejestrowane w danym IoTHub. Na tym etapie konfiguracji systemu potrzebne będą dwa tokeny połączeń:

  • pierwszy – z IoTHub, do którego dostęp został omówiony wyżej;
  • drugi – z Azure Storage Account, którego sposób pozyskania jest analogiczny do wcześniejszego i zobrazowany na poniższym zdjęciu.

Przed przystąpieniem do zmian ustawień w Workbench należy jeszcze dodać nowy Kontener dla danych w usłudze Azure Storage Account, zgodnie z poniższym filmem:

 

Po wybraniu opcji New IoT Project w programie Workbench pojawiać się będą kolejno okna konfiguracyjne. W pierwszym użytkownik wprowadza nazwę (dowolną) dla projektu oraz token połączenia z Azure Storage Account.

Następnie należy skonfigurować połączenie z IoTHub poprzez stworzenie nowej subskrypcji (podając jej nazwę – dowolną oraz token połączenia z IoTHub). Będąc jeszcze w tym samym oknie, użytkownik wybiera nową subskrypcję z listy, tworzy dla niej nową grupę urządzeń oraz podaje nazwę folderu (kontenera) w usłudze Azure Blob Storage (Storage Account), gdzie mają być przechowywane pliki konfiguracyjne IoTWorX.

Kolejnymi krokami są: określenie serwera SQL, na którym będą przechowywane konfiguracje projektu IoT programu Workbench (tu – serwer domyślnie instalowany wraz z GENESIS64) oraz nadanie nazwy nowej bazie danych dla w/w konfiguracji.

Po zakończeniu dodawania nowego projektu jest on widoczny w oknie Project Explorer programu Workbench. Znajduje się w nim element symbolizujący posiadaną bramkę IoT. Niebieski kolor znacznika symbolizuje jej dostępność on-line. Powyższą konfigurację obrazuje film:

 

Podsumowanie

Wpis ten szczegółowo przedstawił sposób połączenia IoTWorX, GENESIS64 oraz usług chmury Azure w jeden system. W jednym z kolejnych artykułów zostanie pokazana procedura wdrażania przykładowego projektu dla bramki IoT.

Elmark Automatyka udostępnia wersję demo oprogramowania GENESIS64 oraz IoTWorX w celu osobistego przetestowania funkcjonalności pakietu. Skontaktuj się z nami na ICONICS@elmark.com.pl w celu otrzymania wersji testowej lub oferty handlowej.