SoDA

Internet Rzeczy przy wykorzystaniu Azure IoT — Billennium Case Study

Internet Rzeczy

Internet of Things (IoT), czyli po polsku Internet Rzeczy to sieć połączonych ze sobą urządzeń. Najważniejszym zadaniem IoT jest zbieranie danych, analiza i podejmowanie odpowiednich akcji w zależności od kontekstu, bez ingerencji człowieka.

Według raportu firmy badawczej Gartner możemy spodziewać się 20 miliardów urządzeń podłączonych do IoT już w 2020 roku. Warto dodać, iż nie jest tu mowa o urządzeniach typu telefon komórkowy czy komputer, a dedykowanych urządzeniach wyposażonych w odpowiednie czujniki i mechanizmy elektroniczne. Przykładem może być Raspberry Pi z podłączonymi czujnikami.

Natomiast prognoza International Data Corporation (IDC) mówi, że w 2025 r. do IoT podłączonych zostanie 41,6 miliardów urządzeń.

Powyższe dwa raporty pokazują, w jakim kierunku będzie rozwijał się rynek i jak ogromne zapotrzebowanie jest na rozwiązania IoT.

Microsoft Azure IoT

Microsoft podąża za wymaganiami rynkowymi i posiada sporą gamę rozwiązań IoT w oparciu o chmurę obliczeniową Azure. Chciałbym Wam zaprezentować główne usługi Microsoft Azure, które pomogą Wam w utworzeniu inteligentnego rozwiązania IoT.

IoT Hub — brama wejściowa

Kluczowa usługa każdego rozwiązania IoT. Służy przede wszystkim jako brama wejściowa do chmury, która łączy wszystkie urządzenia z chmurą i ustanawia komunikację między nimi.

IoT Hub obsługuje protokoły takie jak HTTP, AMQP oraz MQTT. Warto dodać, iż IoT Hub może przyjmować miliony wiadomości. Dodatkowo w ramach IoT Hub możemy zarządzać urządzeniami oraz autoryzacją.

A co, jeśli nie mamy stałego dostępu do Internetu?

Wyobraźmy sobie sytuację, w której urządzenie nie posiada stałego dostępu do Internetu. Przykładem może być kontenerowiec, który pływa po oceanach. Odpowiedzią na takie sytuacje jest Azure IoT Edge. Usługa ta, pozwala na wdrożenie i uruchomienie usług Azure, takich jak Azure Cognitive Services, Machine Learning, Stream Analytics czy własnych rozwiązań na samym urządzeniu, bez konieczności przesłania danych do Azure przez Internet. W momencie, kiedy urządzenie będzie miało już dostęp do Internetu może przesłać do Azure dane w celu dalszego procesowania.

Warto dodać, iż Azure IoT Edge jest dostępny jako projekt open source na GitHubie.

Telemetria w czasie rzeczywistym

W momencie, gdy chcielibyśmy przeglądać dane z urządzeń w czasie prawie, że rzeczywistym, możemy użyć usługi Azure Time Series Insights. Usługa ta odpowiedzialna jest za składowanie danych oraz ich wizualizację.

Time Series Insights udostępnia API dostępne za pomocą REST lub WebSocket, więc istnieje możliwość wykorzystania usługi w swoich aplikacjach. Istotne jest to, że Time Series Insights posiada natywną integracje z Azure Event Hub.

Zarządzanie dużą ilością urządzeń

Urządzenie może wysyłać dane do naszej chmury dopiero po uwierzytelnieniu się. Oczywiście można dodać urządzenie ręcznie, ale co w przypadku, jeśli mamy setki, tysiące a nawet miliony urządzeń? Dodatkowo możemy używać w naszym rozwiązaniu wielu IoT Hub w różnych regionach świata i w takim przypadku chcielibyśmy, aby urządzenie komunikowało się z najbliższym IoT Hub w celu zniwelowania przesyłu danych przez wiele regionów świata.

Rozwiązaniem jest użycie Azure Device Provisioning Service, który jest usługą pomagającą Azure IoT Hub na automatyczną rejestrację urządzeń bez interwencji człowieka. Usługa ta, umożliwia rejestrację nawet milionów urządzeń.

1. Producent urządzenia dodaje informację o rejestracji urządzenia do “enrollment list” na Portalu Azure.
2. Urządzenie komunikuje się z Azure DPS przekazując dane identyfikacyjne w celu potwierdzenia swojej tożsamości.
3. Azure DPS weryfikuje tożsamość urządzenia.
4. Azure DPS rejestruje urządzenie z odpowiednim Azure IoT Hub i ustawia pożądany stan urządzenia.
5. Azure IoT Hub zwraca identyfikator urządzenia do Azure DPS.
6. Azure DPS zwraca do IoT Hub informację o połączeniu do urządzenia. Od tego momentu urządzenie może przesyłać dane do Azure IoT Hub.
7. Urządzenie łączy się z odpowiednim Azure IoT Hub.
8. Urządzenie otrzymuje pożądany stan urządzenia z IoT Hub.

Internet Rzeczy, a bezpieczeństwo

Poprzez ogromny wzrost urządzeń i zastosowania urządzeń Internetu Rzeczy, nie wolno zapominać o bezpieczeństwie. W swoich rozwiązaniach należy pamiętać również o zagrożeniach płynących z nieodpowiednio zabezpieczonych narzędzi czy komunikacji z chmurą. Niestety wiele urządzeń aktualnie może być nieprawidłowo zabezpieczonych i są potencjalnym obszarem ataków hackerskich. Usługi IoT Microsoft Azure w pierwszej kolejności stawiają na bezpieczeństwo. Azure IoT Hub szyfruje komunikację przy pomocy Transport Layer Security. Dostęp do zasobów dla urządzeń następuje poprzez tzw. weryfikację tokenu.

Dodatkowo warto zapoznać się z usługą Azure Defender for IoT czy Azure Security Center.

Wykorzystanie IoT

IoT aktualnie używane jest w wielu gałęziach oraz sektorach gospodarki m.in:

· inteligentne miasta,
· służba zdrowia,
· przemysł,
· rolnictwo,
· telekomunikacja,
· transport.

Jak widać powyżej, zastosowanie inteligentnych urządzeń jest szerokie i można stwierdzić, że niemalże w każdej firmie istnieje pole do wprowadzenia rozwiązań w postaci IoT.

Innowacja w postaci Internetu Rzeczy już nadeszła i będzie rozwijała się w bardzo szybkim tempie. Jest to obszar ogromnych szans dla firm w zdobyciu przewagi w swojej branży, pomimo tego, iż jesteśmy na początku transformacji.

Przewagę nad konkurencją mogą zdobyć te firmy, które znajdą ciekawy i innowacyjny sposób na wykorzystanie Internetu Rzeczy do usprawnienia swoich usług i procesów, czyli przejdą transformację cyfrową.

Zachęcam do udziału w procesie transformacji technologicznej, która dzieje się na naszych oczach.

______________________

Maciej Skuratowski, Team Leader zespołu .Net w Billennium

Najnowsze artykuły

Najnowsze artykuły

The tech sector has a responsibility to support people during times of crisis; the war in Ukraine is no exception

Jedna składka członkowska w SoDA — duża oszczędność dla firmowego budżetu i korzyści dla całego zespołu

W SoDA korzysta każdy — wsparcie dla mniejszych, średnich i dużych software house’ów.