Sprzętowe, sieciowe i programowe innowacje technologiczne napędzają tworzenie nowych rozwiązań Internetu Rzeczy IoT (ang. Internet of Things) i rozszerzają zakres możliwych przypadków ich użycia. IoT zmienia sposób, w jaki organizacje wchodzą w interakcje z klientami, dostawcami, partnerami i użytkownikami. Gromadzenie, wymiana i analiza wygenerowanych danych odbywa się w sieci połączonych czujników, siłowników i innych urządzeń.Rozwiązania takie jak Raspberry Pi, ułatwiają szybsze i tańsze opracowywanie nowych urządzeń. Standardy sieciowe dla sieci o niedużych mocach, takie jak LoRaWAN czy Sigfox, tworzą nowe możliwości łączenia małych urządzeń w sieci. Specjalnie pod kątem sieci IoT opracowywane są nowe standardy, takie jak MQTT do wysyłania wiadomości czy OMA Lightweight M2M do zarządzania urządzeniami. Następuje również rozwój metod przechowywania danych, ich analizy i przetwarzania informacji o zdarzeniach wobec rosnącej skali ilości danych generowanych w sieciach IoT. Typowe współczesne rozwiązanie IoT charakteryzuje się wykorzystaniem lekkiego protokołu przesyłania i subskrypcji, optymalizowanego pod kątem zastosowań M2M (ang.Machine-to-Machine, maszyna z maszyną), w warunkach niskiej przepustowości sieci i ograniczonych zasobów. Do popularnych protokołów połączeń, używanych w przypadku wdrożeń IoT, należy MQTT, który może być stosowany nawet z linkami satelitarnymi i połączeniami wdzwanianymi (choć może nie zawsze pamiętamy, jak działają). Rozwiązanie składa się z wielu urządzeń (rzeczy), używających bramy (ang. gateway) do komunikacji przez sieć do serwerów obsługujących platformę IoT, która integruje dane z IoT z danymi organizacji. Role urządzeń, bram platformy są ściśle zdefiniowane, każde oferuje określone cechy i funkcje, wymagane przez dowolne rozwiązanie IoT [1].
Uruchomienie infrastruktury IoT możemy prześledzić na przykładzie projektu Open Source Eclipse IoT, z wykorzystaniem brokera MQTT Mosquitto (na licencji EPL/EDL) [2].
Zawartość pakietu Mosquitto Eclipse. Dla platformy UniCloud jest paczka oprogramowania gotowego do pracy tuż po rozpakowaniu [3]. Po zainstalowaniu otrzymujemy środowisko obejmujące [4]:
Interakcja urządzeń za pomocą protokołu MQTT. Architektura rozwiązania opiera się na modelu centralnego brokera, z którym łączą się klienty. Zastosowanie topologii subskrypcji / publikacji pozwala utrzymywać klienty nieświadomymi siebie nawzajem, ponieważ nie są połączone bezpośrednio przez serwer MQTT.
Każdy klient MQTT ma możliwość subskrypcji / publikacji wybranych tematów. Każda nowa wiadomość przechodzi przez brokera przesyłającego ją tylko do klientów z aktywną subskrypcją wątku. Sieć jest kontrolowana centralnie i optymalizuje przesyłanie informacji.
Wdrożenie serwera Eclipse Mosquitto MQTT w UniCloud. Najprostsza metoda wdrożenia serwera Eclipse Mosquitto MQTT w UniCloud polega na instalacji z wykorzystaniem Listy Gotowych Aplikacji [5]:
1. Logujemy się na naszym koncie UniCloud [6],
2 Wybieramy pakiet Eclipse Mosquit to i klikamy Zainstaluj (Rysunek 3). Alternatywnie możemy zaimportować manifest z repozytorium:
https://github.com/jelastic-jps/mosquitto/blob/master/manifest.jps
Aby kontynuować, naciskamy Import (Rysunek 4).
3. W otwartej ramce dopasowujemy parametry środowiska do naszych potrzeb.Wpisujemy nazwę środowiska oraz, opcjonalnie, nazwę wyświetlaną (alias).
Po zakończeniu instalacji pojawia się okienko z informacją o pomyślnej instalacji pakietu (Rysunek 6).
Broker Eclipse Mosquitto jest już gotowy do pracy. Aby przetestować działanie Eclipse Mosquitto, potrzebujemy urządzeń sieci IoT (klient MQTT), którymi najłatwiej zarządzać jako kontenerami w osobnym środowisku, z zainstalowanymi paczkami mosquitto-client [2] w każdym z nich. Protokoł MQTT jest uniwersalny, co oznacza możliwość skonfigurowania monitorowania i automatyzacji dla większości urządzeń.
Info:
[1] Eclipse IoT, The Three Soft ware Stacks Required for IoT Architectures, September 2016:
https://iot.eclipse.org/resources/white-papers/EclipseIoTWhitePaperThe Three Soft ware Stacks Required for IoTArchitectures.pdf
[2] Eclipse IoT, Mosquitto, An Open Source MQTT v3.1/v3.1.1 Broker:
https://mosquitto.org
[3] Jelastic, Blog: https://blog.jelastic.com/2017/09/20/eclipse-mosquitto-mqtt–for-iot-networks-in-the-cloud
[4] GitHub, Jelastic JPS Collection: https://github.com/jelastic-jps/mosquitto
[5] Baza Wiedzy UniCloud: http://pomoc.uni-cloud.pl/unicloud/srodowiska-serwery/ec-lipse-mosquitto-serwer-osobistej-siec-iot
[6] Konto UniCloud: https://app.unicloud.pl
e-mail: [email protected]
Partnerzy technologiczni
Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką prywatności. Przeglądanie strony jest jednoznaczne z akceptacją polityki prywatności.