Pierwsze kroki z Raspberry Pi (Nodejs)
W tym samouczku poznasz podstawy pracy z Raspberry Pi (z systemem Raspbian opartym na Debianie). Następnie dowiesz się, jak podłączyć swoje urządzenia do systemu QNAP NAS przy użyciu QIoT Suite Lite.
Upewnij się, że Raspberry Pi i NAS znajdują się w tej samej sieci LAN.
1. Podłączanie Raspberry Pi do QNAP NAS
Skonfiguruj urządzenie Raspberry Pi z systemem operacyjnym, przygotuj środowisko programistyczne i wdróż aplikację na Raspberry Pi.
1.1 Czego będziesz potrzebować
- Raspberry Pi
- Karta SD (zalecana karta SD klasy 4 o pojemności 8 GB) z zainstalowanym NOOBS.
- Wyświetlacz HDMI™.
- Klawiatura USB i mysz.
- Zasilacz: Pi wymaga zasilacza micro USB dostarczającego co najmniej 2 A przy 5 V dla modelu 3B lub 700 mA przy 5 V dla wcześniejszych modeli.
1.2 Konfigurowanie systemu Raspbian
- Włóż kartę SD z wypakowanymi plikami NOOBS do Raspberry Pi.
- Podłącz klawiaturę, mysz i wyświetlacz HDMI™ do Raspberry Pi. Podłącz zasilacz. Raspberry Pi nie posiada wyłącznika zasilania i uruchomi się automatycznie po podłączeniu zasilacza.
- Menu zapyta o to, który system operacyjny zainstalować oraz jaki język i układ klawiatury zastosować. Zaznacz pole obok pozycji Raspbian i kliknij „Install".
- Proces instalacji może trwać do 20 minut, a po jego zakończeniu nastąpi ponowne uruchomienie i załadowanie pulpitu Raspbian.
- Konfigurowanie sieci Wi-Fi – W środowisku graficznym pulpitu znajdź ikonę sieci bezprzewodowej w prawym górnym rogu menu i kliknij ją, aby wyświetlić listę dostępnych sieci Wi-Fi.
- Aby nawiązać połączenie z Raspberry Pi z innego urządzenia, musisz znać adres IP Pi. Korzystając z terminala (Ctrl + Alt + t, aby otworzyć terminal), wpisz hostname -I.
Więcej poradników dotyczących konfiguracji Raspberry Pi można znaleźć pod adresem: https://www.raspberrypi.org/learning/software-guide/
1.3 Instalowanie środowiska Nodejs i wymaganych bibliotek
- Zainstaluj node.js v6
Przykładowy kod dla QIoT Suite Lite znajdziesz na GitHub QNAP
2. Tworzenie urządzenia w QIoT Suite Lite
2.1 Instalowanie QIoT Suite Lite
- QIoT Suite Lite można zainstalować z Centrum aplikacji.
- Uruchom i zaloguj się do QIoT Suite Lite. Domyślna nazwa użytkownika i hasło to „admin".
2.2 Tworzenie nowej aplikacji IoT
Aplikacje IoT to połączenie elementów Things (urządzeń), Rules (reguł) i Dashboards (pulpitów nawigacyjnych). Zalecamy, aby najpierw utworzyć element „Things" w aplikacji IoT. Ta aplikacja IoT umożliwia prowadzenie rejestru wszystkich urządzeń podłączonych do NAS.
Reguły umożliwiają budowanie aplikacji IoT, które gromadzą, przetwarzają, analizują dane generowane przez podłączone urządzenia i reagują na nie. Reguły mogą dotyczyć danych z jednego lub wielu urządzeń i mogą wykonywać równolegle jedną lub wiele akcji.
Pulpity nawigacyjne przekształcają dane w analizy i raporty zapewniające wgląd w informacje w czasie rzeczywistym.
Wszystkie te elementy zapewniają użytkownikowi kompletne środowisko aplikacji IoT.
- Jeśli korzystasz z QIoT Suite Lite po raz pierwszy, QIoT Suite Lite udostępnia kreatora ułatwiającego szybką konfigurację aplikacji IoT.
- Kliknij „Quick Setup Wizard", aby uruchomić kreatora szybkiej konfiguracji. Po zapoznaniu się z wprowadzeniem do QIoT Suite Lite w wyskakującym oknie kliknij przycisk Dalej.
- Tworzenie nowej aplikacji IoT
- Wprowadź nazwę aplikacji IoT, np. app_1.
- Nazwa reguły i nazwa pulpitu nawigacyjnego zostaną wygenerowane automatycznie na podstawie nazwy wprowadzonej aplikacji IoT.
- Kliknij „Next", aby zakończyć tworzenie nowej aplikacji IoT.
- Kliknij „+ Add", aby dodać urządzenie do tej aplikacji.
- Po kliknięciu „+ Add" w oknie „Add Thing":
- Wprowadź nazwę urządzenia (np. raspberrypi) 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 predefiniowany typ Thing Type.
- Kliknij Add, aby dodać urządzenie.
- 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.
- W sekcji „Resources" kliknij „Add Resource".
- Po kliknięciu „Add Resource" w oknie „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 w brokerze QIoT. Ten identyfikator powinien być unikatowy dla danego urządzenia i nie powinny istnieć duplikaty dla tego samego urządzenia.
- Wprowadź nazwę i identyfikator czujnika w polach Resource Name i Resource ID. Pamiętaj, że Resource ID zostanie użyty do utworzenia tematu w brokerze QIoT. Ten identyfikator powinien być unikatowy dla danego urządzenia i nie powinny istnieć duplikaty dla tego samego urządzenia.
- 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".
- 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".
- Twoja aplikacja IoT zostanie teraz utworzona. Przykładowe kody Node.js i powiązane pliki (certyfikat, informacje o zasobach) zostaną przesłane do wskazanej ścieżki na urządzeniu.
- 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 oraz sposób ich prezentacji na pulpicie nawigacyjnym.
3. Podłączanie urządzenia do QIoT Suite Lite przy użyciu protokołu MQTTS
3.1 Uruchamianie przykładowego kodu
- Otwórz aplikację terminalową (np. PuTTY) na swoim komputerze. Połącz się z urządzeniem przez SSH i przejdź do folderu zawierającego przykładowy kod (np. /home/root/bundle).
- Zainstaluj zależności przykładowego kodu, wprowadzając następujące polecenie:
- Uruchom przykładowy kod
- Urządzenie wyśle wiadomość do tematu „temp" lub do tematu zdefiniowanego przez użytkownika
3.2 Inny protokół
- Kliknij przycisk "Połącz urządzenie"
- Możesz wybrać inny protokół, którego chcesz użyć
- Połącz się przez SSH z urządzeniem i wprowadź polecenie jak poniżej.
4. Integracja z Power BI
4.1 Utwórz pierwsze konto Power BI
- Zarejestruj bezpłatne konto PowerBI pod adresem Power BI - Data Visualization | Microsoft Power Platform
- Po rejestracji zostanie wyświetlona następująca strona – możesz kliknąć "pomiń na razie", aby rozpocząć tworzenie zestawu danych.
4.2 Konfiguracja interfejsu API strumieniowego zestawu danych
- Utwórz "Zestawy danych"
- Kliknij "Utwórz" w prawym górnym rogu ekranu
- Następnie kliknij "Strumieniowy zestaw danych"
- Wybierz "API" jako źródło danych i kliknij "Dalej".
- Zdefiniuj wartości ze strumienia – w polu tekstowym zostanie wyświetlony wynik w formacie JSON. Użyjemy tego kodu JSON do przesyłania danych do aplikacji IoT. Kliknij "Utwórz", 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 strumieniowego zestawu danych.
4.3 Konfiguracja węzłów Node-RED w aplikacji IoT
- Utwórz aplikację IoT w QIoT Suite. Poniżej przedstawiono pierwszy przepływ Node-RED – możesz następnie zacząć tworzyć własny przepływ IoT. Więcej informacji o Node-RED znajdziesz pod adresem Low-code programming for event-driven applications : Node-RED
- Przed rozpoczęciem przesyłania danych na żywo do Power BI należy dodać węzeł „function", który przekonwertuje dane IoT na strumieniowy zestaw danych. W tym miejscu możesz zastąpić msg.payload własnym zestawem danych JSON.
- Kod funkcji jest następujący:
- Potrzebny jest węzeł "http request", który pomoże przesyłać dane na żywo do Power BI. Wystarczy przeciągnąć i upuścić węzeł "http request" oraz 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 "Wdróż", aby zapisać zmiany.
- Przepływ Node-RED będzie wyglądał jak poniżej.
4.4 Dodawanie kafelków do wyświetlania danych w czasie rzeczywistym
- Utwórz "Pulpit nawigacyjny"
- Kliknij „Utwórz" w prawym górnym rogu ekranu
- Następnie kliknij „Pulpit nawigacyjny"
- Wprowadź nazwę pulpitu nawigacyjnego i kliknij „Utwórz", aby zakończyć tworzenie pulpitu nawigacyjnego.
- Kliknij "Dodaj kafelek" w prawym górnym rogu ekranu
- Wybierz "NIESTANDARDOWE DANE STRUMIENIOWE" i kliknij "Dalej".
- Wybierz "zestawy danych", a następnie kliknij "Dalej".
- Wybierz typ wizualizacji (np. wskaźnik) i ustaw wartość, wartość minimalną oraz wartość maksymalną.
- Będziesz dysponować strumieniowym zestawem danych, a wskaźnik w czasie rzeczywistym będzie wyglądał następująco