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.
1. Konfigurowanie urządzeń
1.1 Pobieranie Arduino IDE
- Pobierz i zainstaluj Arduino IDE odpowiednie dla swojego komputera PC:
https://www.arduino.cc/en/Main/Software - Więcej samouczków dotyczących Arduino można znaleźć tutaj:
https://www.arduino.cc/en/Tutorial/HomePage
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.
- Skonfiguruj płytę:
- Skonfiguruj port:
- Zweryfikuj i wgraj przykład Blink do Arduino Yun
- Po wgraniu kodu do Arduino Yun sprawdź urządzenie – dioda L13 powinna zacząć migać:
- Podłącz czujnik DHT11 odpowiednio do pinów „Ground", „5V" i „Pin 2 (Digital)" na Arduino Yun.
1.3 Uzyskiwanie adresu IP Arduino Yun
- Naciśnij i przytrzymaj przycisk resetowania Wi-Fi przez 5 sekund.
- Przejdź do ustawień Wi-Fi i wybierz sieć „Arduino-Yun-XXXXXXX" (gdzie „XXXXXXX" to adres MAC Twojego Arduino Yun).
- Otwórz przeglądarkę i przejdź do adresu „http://192.168.240.1" lub „http://arduino.local". Domyślne hasło to „arduino".
- Uzupełnij ustawienia płyty i połącz Arduino Yun z używanym routerem. Pomiń sekcję „API setting" i kliknij „Save".
- 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".
- Zainstaluj bibliotekę PIP i MQTT, wprowadzając następujące polecenia.
2. Tworzenie urządzenia w QIoT Suite Lite
2.1 Instalowanie QIoT Suite Lite
- QIoT Suite Lite można zainstalować z App Center.
- Uruchom QIoT Suite Lite i zaloguj się. Domyślna nazwa użytkownika i hasło to „admin".
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.
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".
- 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".
- Kliknij „+ Add", aby dodać urządzenie do tej aplikacji.
- 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.
W sekcji „Resources" kliknij „Add Resource".
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.
- 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".
Zostanie utworzony przykładowy pulpit nawigacyjny.
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.
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).
- Aby zainstalować zależności przykładowego kodu, wprowadź następujące polecenia:
- Uruchom przykładowy kod
- Urządzenie wyśle wiadomość do tematu „temp" (lub tematu zdefiniowanego przez użytkownika).
3.2 Inny protokół
- Kliknij „Connect a Device".
- Możesz wybrać inny protokół.
- Połącz się z urządzeniem za pomocą SSH i wprowadź następujące polecenia:
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
- 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.
4.2 Skonfiguruj interfejs API przesyłanego strumieniowo zestawu danych
- Utwórz „Datasets"
- Kliknij „Create" w prawym górnym rogu
- Kliknij „Streaming dataset"
- Wybierz „API" jako źródło danych i kliknij „Next".
- 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ć.
- 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.
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
- 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.
- Kod funkcji jest następujący:
- 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".
- 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.
- Twój przepływ Node-RED będzie wyglądał jak poniżej.
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.
- Kliknij „Add tile" w prawym górnym rogu ekranu
- Wybierz „CUSTOM STREAMING DATA" i kliknij „Next".
- Wybierz zestawy danych i kliknij „Next".
- Wybierz typ wizualizacji (np. wskaźnik), a następnie ustaw wartość, wartość minimalną i wartość maksymalną.
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.
Odwiedź stronę QNAP na GitHub, aby zapoznać się z przykładowym kodem QIoT Suite Lite: „QNAP-Github"