Instrukcja obsługi Podłączanie Arduino Yun do urządzenia QNAP NAS za pośrednictwem QIoT Suite Lite

Pierwsze kroki z Arduino Yun (Python)​


W tym samouczku poznasz podstawy pracy z Arduino Yun (które działa pod kontrolą systemu Linux). Następnie dowiesz się, jak bezproblemowo połączyć swoje urządzenia z QNAP NAS przy użyciu QIoT Suite Lite. W tym przykładzie wykorzystywany jest czujnik wilgotności DHT11 i temperatury.

qiot-arduino_01.png


1. Konfigurowanie urządzeń​


1.1 Pobieranie Arduino IDE​



1.2 Konfigurowanie i testowanie urządzeń​


Jeśli używasz Arduino Yun po raz pierwszy, musisz wykonać kilka kroków w celu jego uruchomienia.

  • Podłącz Arduino Yun do komputera PC za pomocą kabla USB.
  • Otwórz Arduino IDE i znajdź przykład Blink.

    qiot-arduino_02.png
  • Skonfiguruj płytę:

    qiot-arduino_03.png
  • Skonfiguruj port:

    qiot-arduino_04.png
  • Zweryfikuj i wgraj przykład Blink do Arduino Yun

    qiot-arduino_05.png
  • Po wgraniu kodu do Arduino Yun sprawdź urządzenie – dioda L13 powinna zacząć migać:

    qiot-arduino_06.png
  • Podłącz czujnik DHT11 odpowiednio do pinów „Ground", „5V" i „Pin 2 (Digital)" na Arduino Yun.

    qiot-arduino_07.jpg

1.3 Uzyskiwanie adresu IP Arduino Yun​


  • Naciśnij i przytrzymaj przycisk resetowania Wi-Fi przez 5 sekund.

    qiot-arduino_08.png
  • Przejdź do ustawień Wi-Fi i wybierz sieć „Arduino-Yun-XXXXXXX" (gdzie „XXXXXXX" to adres MAC Twojego Arduino Yun).

    qiot-arduino_09.png
  • Otwórz przeglądarkę i przejdź do adresu „http://192.168.240.1" lub „http://arduino.local". Domyślne hasło to „arduino".

    qiot-arduino_10.png
  • Uzupełnij ustawienia płyty i połącz Arduino Yun z używanym routerem. Pomiń sekcję „API setting" i kliknij „Save".

    qiot-arduino_11.png
  • Na swoim komputerze PC zmień sieć Wi-Fi na sieć routera – teraz NAS i Arduino będą w tej samej sieci.

1.4 Instalowanie narzędzi programistycznych dla Arduino Yun​


  • Otwórz Terminal z poziomu http://arduino.local
  • Zaloguj się, podając nazwę użytkownika „root" i swoje hasło. Domyślne hasło to „arduino".

    qiot-arduino_12.png
  • Zainstaluj bibliotekę PIP i MQTT, wprowadzając następujące polecenia.

    qiot-arduino-v2_13.jpg

2. Tworzenie urządzenia w QIoT Suite Lite​


2.1 Instalowanie QIoT Suite Lite​


  • QIoT Suite Lite można zainstalować z App Center.

    qiot-arduino-v2_14.jpg
  • Uruchom QIoT Suite Lite i zaloguj się. Domyślna nazwa użytkownika i hasło to „admin".

    qiot-arduino-v2_15.jpg

2.2 Tworzenie nowej aplikacji IoT​


Aplikacje IoT to połączenie elementów Things, Rules i Dashboards. Zalecamy, aby w pierwszej kolejności utworzyć element „Things" w aplikacji IoT. Aplikacja IoT umożliwia przechowywanie rejestru wszystkich urządzeń podłączonych do NAS.

Reguły (Rules) umożliwiają tworzenie aplikacji IoT, które zbierają, przetwarzają, analizują i reagują na dane generowane przez podłączone urządzenia. Reguły mogą dotyczyć danych z jednego lub wielu urządzeń i mogą równolegle wykonywać jedną lub wiele akcji.

Wszystkie te elementy zapewniają użytkownikowi kompletne środowisko aplikacji IoT.

qiot-arduino-v2_16.png


Jeśli używasz QIoT Suite Lite po raz pierwszy, kliknij „Quick Setup Wizard", aby uruchomić kreator szybkiej konfiguracji. Po zapoznaniu się z wprowadzeniem kliknij „Next".

qiot-arduino-v2_17.jpg


qiot-arduino-v2_18.jpg


  • Tworzenie nowej aplikacji IoT
    • Wprowadź nazwę aplikacji IoT (na przykład: „app_1").
    • Nazwa reguły i nazwa pulpitu nawigacyjnego zostaną wygenerowane automatycznie na podstawie nazwy aplikacji IoT.
    • Kliknij „Next".

      qiot-arduino-v2_19.jpg
  • Kliknij „+ Add", aby dodać urządzenie do tej aplikacji.

    qiot-arduino-v2_20.png
  • Kliknij „+Add". W sekcji „Add Things":
    • Wprowadź nazwę urządzenia (na przykład: „arduino") i podaj informacje o urządzeniu (takie jak numer seryjny i producent) w sekcji Add attribute.
    • Jeśli Twoje urządzenie jest już obsługiwane przez QIoT (Arduino Yun, Raspberry Pi, Edison i Linkit 7688 (Duo)), wybierz wstępnie zdefiniowany typ Thing Type.
    • Kliknij Add.

      qiot-arduino-v2_21.jpg
    Wprowadź adres IP, nazwę użytkownika i hasło urządzenia, a następnie kliknij ikonę Connect. QIoT Suite Lite sprawdzi połączenie z urządzeniem. Po zweryfikowaniu połączenia kliknij Next.

    qiot-arduino-v2_22.jpg

    W sekcji „Resources" kliknij „Add Resource".

    qiot-arduino-v2_23.png

    W sekcji „Add Thing Resource":
    • Wprowadź nazwę i identyfikator czujnika w polach Resource Name i Resource ID. Pamiętaj, że Resource ID zostanie użyty do utworzenia tematu (Topic) w brokerze QIoT Broker. Identyfikator powinien być unikatowy dla danego urządzenia – dla tego samego urządzenia nie są dozwolone duplikaty.

      qiot-arduino-v2_24.png
    W sekcji „API Keys":
    • Jeśli chcesz osadzić widżety pulpitu nawigacyjnego QIoT na stronach internetowych lub uzyskiwać dostęp do interfejsów API QIoT z aplikacji innych firm, przejdź do karty API Keys i kliknij „Generate New API Key". Kliknij „Done".

      qiot-arduino-v2_25.jpg
    Twoja aplikacja IoT zostanie teraz utworzona. Przykładowe kody Node.js oraz powiązane pliki (certyfikat, informacje o zasobach) zostaną przesłane do wskazanej ścieżki na urządzeniu.

    qiot-arduino-v2_26.jpg

    Zostanie utworzony przykładowy pulpit nawigacyjny.

    qiot-arduino-v2_27.gif

    Przejdź do karty Rule, aby zdefiniować przepływ lub reguły określające sposób przetwarzania danych wysyłanych z urządzenia i sposobu ich prezentacji na pulpicie nawigacyjnym.

    qiot-arduino-v2_28.gif

3. Łączenie urządzenia z QIoT Suite Lite przy użyciu MQTTS​


3.1 Uruchamianie przykładowego kodu​


  • Otwórz aplikację terminalową (np. PuTTY) na swoim komputerze PC. Połącz się z urządzeniem przy użyciu protokołu SSH i przejdź do folderu, w którym przechowywany jest przykładowy kod (na przykład: /home/root/bundle).

    qiot-arduino-v2_29.jpg
  • Aby zainstalować zależności przykładowego kodu, wprowadź następujące polecenia:

    qiot-arduino-v2_30.jpg
  • Uruchom przykładowy kod

    qiot-arduino-v2_31.jpg
  • Urządzenie wyśle wiadomość do tematu „temp" (lub tematu zdefiniowanego przez użytkownika).

    qiot-arduino-v2_32.jpg

3.2 Inny protokół​


  • Kliknij „Connect a Device".
  • Możesz wybrać inny protokół.

    qiot-arduino-v2_33.jpg
  • Połącz się z urządzeniem za pomocą SSH i wprowadź następujące polecenia:

    qiot-arduino-v2_34.jpg

4. Integracja z Power BI​


4.1 Utwórz swoje pierwsze konto Power BI​


  • Zarejestruj bezpłatne konto PowerBI na stronie Power BI - Data Visualization | Microsoft Power Platform

    qiot-arduino-v2_35.png
  • Po zakończeniu procesu rejestracji strona przekieruje Cię do poniższej strony. Możesz nacisnąć „My workspace" – pojawi się przycisk „skip for now". Możesz kliknąć „skip for now", aby rozpocząć tworzenie zestawu danych.

    qiot-arduino-v2_36.png

4.2 Skonfiguruj interfejs API przesyłanego strumieniowo zestawu danych​


  • Utwórz „Datasets"
    • Kliknij „Create" w prawym górnym rogu
    • Kliknij „Streaming dataset"

      qiot-arduino-v2_37.jpg
  • Wybierz „API" jako źródło danych i kliknij „Next".

    qiot-arduino-v2_38.png
  • Zdefiniuj wartości ze strumienia (np. temp, max, min), a w polu tekstowym pojawi się wynik w formacie JSON. Użyjemy tego kodu JSON do przesyłania danych do aplikacji QIoT Suite Lite. Kliknij „Create", aby zakończyć.

    qiot-arduino-v2_39.png
  • Po utworzeniu strumienia danych otrzymasz adres URL interfejsu API REST, który aplikacje IoT mogą wywoływać za pomocą żądań POST w celu przesyłania danych na żywo do utworzonego przez Ciebie przesyłanego strumieniowo zestawu danych.

    qiot-arduino-v2_40.png

4.3 Konfiguracja węzłów NodeRED w aplikacji IoT​


  • Utwórz aplikację IoT w pakiecie QIoT Suite.
  • Poniżej przedstawiono pierwszy przepływ Node-RED, od którego możesz zacząć tworzyć własny przepływ IoT. Więcej informacji o Node-RED znajdziesz na stronie Low-code programming for event-driven applications : Node-RED

    qiot-arduino-v2_41.png
  • Przed rozpoczęciem przesyłania danych na żywo do Power BI potrzebny jest węzeł „function", który przekonwertuje dane IoT na przesyłany strumieniowo zestaw danych. W tym miejscu możesz zastąpić msg.payload swoim zestawem danych JSON.

    qiot-arduino-v2_42.png
  • Kod funkcji jest następujący:

    qiot-arduino-v2_43.jpg
  • Potrzebujemy węzła „http request", który pomoże nam przesyłać dane na żywo do Power BI. Wystarczy przeciągnąć i upuścić węzeł „http request" i połączyć go z końcem węzła „function".

    qiot-arduino_48.png
  • Skopiuj i wklej adres URL interfejsu API REST uzyskany z konsoli Power BI, a następnie ustaw metodę HTTP na POST. Kliknij „Deploy", aby zapisać zmiany.

    qiot-arduino-v2_45.png
  • Twój przepływ Node-RED będzie wyglądał jak poniżej.

    qiot-arduino-v2_46.png

4.4 Dodaj kafelek do wyświetlania danych w czasie rzeczywistym​


  • Utwórz „Dashboard"
    • Kliknij „Create" w prawym górnym rogu ekranu
    • Następnie kliknij „Dashboard"
    • Wprowadź nazwę pulpitu nawigacyjnego i kliknij „Create", aby zakończyć jego tworzenie.

      qiot-arduino-v2_47.png


      qiot-arduino-v2_48.png
  • Kliknij „Add tile" w prawym górnym rogu ekranu

    qiot-arduino-v2_49.gif
  • Wybierz „CUSTOM STREAMING DATA" i kliknij „Next".

    qiot-arduino-v2_50.png
  • Wybierz zestawy danych i kliknij „Next".

    qiot-arduino-v2_51.png
  • Wybierz typ wizualizacji (np. wskaźnik), a następnie ustaw wartość, wartość minimalną i wartość maksymalną.

    qiot-arduino-v2_52.png


    Będziesz mieć przesyłany strumieniowo zestaw danych, z którym możesz pracować, a także wskaźnik czasu rzeczywistego wyglądający jak poniżej.

    qiot-arduino-v2_53.png

Odwiedź stronę QNAP na GitHub, aby zapoznać się z przykładowym kodem QIoT Suite Lite: „QNAP-Github"