Spisu treści:

LTE Arduino GPS Tracker + IoT Dashboard (część 2): 6 kroków (ze zdjęciami)
LTE Arduino GPS Tracker + IoT Dashboard (część 2): 6 kroków (ze zdjęciami)

Wideo: LTE Arduino GPS Tracker + IoT Dashboard (część 2): 6 kroków (ze zdjęciami)

Wideo: LTE Arduino GPS Tracker + IoT Dashboard (część 2): 6 kroków (ze zdjęciami)
Wideo: Zrób to sam -proste IoT (Internet of Things) publikujące pomiary po HTTP/MQTT do chmury Thingspeak 2024, Lipiec
Anonim
Image
Image
RzeczyKonfiguracja tablicy
RzeczyKonfiguracja tablicy

Wprowadzenie i podsumowanie części 1

Tak, czas na kolejny Instructable na lokalizatorze GPS SIM7000 z Arduino i LTE! Jeśli jeszcze tego nie zrobiłeś, przejdź do samouczka wprowadzającego do osłony Botletics SIM7000 CAT-M/NB-IoT, a następnie przeczytaj część 1 samouczka śledzenia GPS. W związku z tym zakładam, że masz cały sprzęt skonfigurowany i gotowy do publikowania danych w chmurze, wszystko, co naprawdę musimy zrobić w tym samouczku, to zapoznać się z ThingsBoard i wykonać kolejny test drogowy, aby zobaczyć niesamowite dane. przedstawia!

W części 1 udało nam się zdobyć nasz sprytny tracker GPS do wysyłania danych do dweet.io i pobierania danych na freeboard.io w celu wizualizacji danych. Jednak wkrótce zdałem sobie sprawę, że funkcjonalność mapy jest dość kiepska na wolnej burcie, ponieważ nie pozwala na przesuwanie kursora ani nawet na zmianę rozmiaru okna widżetu. To doprowadziło mnie do lepszego rozwiązania: ThingsBoard.io, który jest super niesamowitym pulpitem nawigacyjnym IoT (i darmowym!), który pozwala przechowywać, wizualizować i dostosowywać dane! Możesz przeciągać, aby zmienić kolejność widżetów (i działa w Chrome w przeciwieństwie do wolnej burty), a ogólna jakość jest śmietanką. Co najważniejsze, widżet mapy Google umożliwia swobodne poruszanie się, powiększanie i pomniejszanie oraz wybieranie różnych stylów (satelita, widok drogi itp.), a nawet pozwala przeciągnąć i upuścić małego żółtego faceta na drogę, aby wyświetlić widoki ulicy !

Krok 1: Konfiguracja ThingsBoard

RzeczyKonfiguracja tablicy
RzeczyKonfiguracja tablicy
RzeczyKonfiguracja tablicy
RzeczyKonfiguracja tablicy

Konto ThingsBoard i konfiguracja urządzenia

Pierwszą rzeczą, którą powinieneś zrobić, to przejść do strony głównej ThingsBoard, a następnie utworzyć konto, klikając przycisk menu w prawym górnym rogu i wybierając opcję „Live Demo”. Utwórz konto, zweryfikuj je w wiadomości e-mail, którą Ci wyślą, a następnie zaloguj się ponownie na ekranie głównym Live Demo. Powinno to doprowadzić Cię do ekranu, na którym możesz zarządzać wszystkimi urządzeniami, edytować pulpity nawigacyjne itp.

Następnie wybierz zakładkę "Urządzenia" po lewej stronie. Powinno to wywołać kilka urządzeń demonstracyjnych, takich jak prezentacje ESP8266, DHT22, Arduino i Pi itp. Utwórz nowe urządzenie, klikając czerwony przycisk „+” w prawym dolnym rogu, wprowadź nazwę i wybierz „domyślny” jako typ urządzenia. Po kliknięciu „DODAJ” powinieneś zobaczyć swoje nowe urządzenie w zakładce Urządzenia. Kliknij „Zarządzaj poświadczeniami” i powinno pojawić się małe okno z tokenem dostępu urządzenia. Jest to zasadniczo identyfikator urządzenia i jest analogiczny do identyfikatora urządzenia używanego do wysyłania danych do dweet.io. Możesz zmienić ten identyfikator urządzenia na numer IMEI swojej tarczy, jeśli chcesz, ale możesz też po prostu użyć automatycznie wygenerowanego tokena. Skopiuj ten token, ponieważ będziesz go potrzebować w szkicu Arduino.

Przykładowa konfiguracja Arduino

W tym samouczku użyjemy dokładnie tego samego przykładowego szkicu Arduino, co w pierwszym samouczku, ale tym razem zaktualizowałem szkic, aby zawierał kod do wysyłania danych bezpośrednio do ThingsBoard.io zamiast dweet.io w części 1. Jak zawsze, przykładowy kod można znaleźć tutaj na Github.

Pierwszą rzeczą, którą musisz zrobić, to skomentować wiersze, które tworzą post tarczy na dweet.io:

// GET request /* // Możesz dostosować zawartość żądania, jeśli nie potrzebujesz pewnych rzeczy, takich jak prędkość, wysokość itp. sprintf(URL, "https://dweet.io/dweet/for/%s ?lat=%s&long=%s&speed=%s&head=%s&alt=%s&temp=%s&batt=%s", imei, latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff);

int licznik = 0; // Liczy liczbę nieudanych prób

// Spróbuj w sumie trzy razy, jeśli post się nie powiódł (spróbuj dodatkowo 2 razy) while (counter < 3 && !fona.postData("GET", URL, "")) { // Dodaj cudzysłowy "" jako trzecie input, ponieważ dla żądania GET nie ma "body" Serial.println(F("Nie można wysłać danych, ponawianie…")); licznik++; // Opóźnienie licznika przyrostu(1000); } */

Następnie odkomentuj wiersze, które publikują na thingsboard.io:

// Spróbujmy wysłać żądanie POST do thingsboard.io const char* token = "TWOJE_URZĄDZENIE_TOKEN"; // Z urządzenia thingsboard.io sprintf(URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", token); sprintf(body, "{"latitude\":%s, \"longitude\":%s, \"speed\":%s, \"head\":%s, \"alt\":%s, \"temp\":%s, \"batt\":%s}", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf(body, "{"lat\":%s, \"long\":%s}", latBuff, longBuff); // Jeśli chcesz tylko lat/długości

int licznik = 0;

while (!fona.postData("POST", URL, treść)) { Serial.println(F("Nie udało się ukończyć POST HTTP…")); licznik++; opóźnienie (1000); }

Prześlij kod do Arduino, upewnij się, że masz podłączoną kartę SIM i antenę i sprawdź, czy tarcza wysyła kod do chmury przed kontynuowaniem!

UWAGA: Arduino Uno ma bardzo mało pamięci (RAM), a wysyłanie do Thingsboard może spowodować awarię Arduino. Jeśli wystąpi ponowne uruchomienie szkicu w przybliżeniu w miejscu funkcji postData() lub inne dziwne zachowanie, najprawdopodobniej to się dzieje. Prostym rozwiązaniem jest zamiana Uno na Arduino Mega lub płytę z większą ilością pamięci RAM. Możesz także spróbować zminimalizować rozmiar tablic i podzielić dane na wiele postów.

Krok 2: Sprawdź odbiór danych

Sprawdź odbiór danych
Sprawdź odbiór danych

Aby faktycznie sprawdzić, czy dane są prawidłowo przesyłane do ThingsBoard, przejdź do tej samej strony szczegółów urządzenia (kliknij kafelek urządzenia GPS Tracker na stronie „Urządzenia”), a następnie kliknij zakładkę „Najnowsza telemetria”. Jeśli twój tracker GPS wysyła wartości do ThingsBoard, powinieneś zobaczyć tutaj najnowsze wartości i będą one aktualizowane w czasie rzeczywistym, gdy się pojawią.

Teraz, gdy już sprawdziłeś, że ThingsBoard faktycznie pobiera dane, nadszedł czas, aby skonfigurować pulpit nawigacyjny, abyśmy mogli wizualizować nasze dane, gdy je zbieramy! (Lub po fakcie)

Krok 3: Konfiguracja pulpitu nawigacyjnego

Konfigurowanie pulpitu nawigacyjnego
Konfigurowanie pulpitu nawigacyjnego
Konfigurowanie pulpitu nawigacyjnego
Konfigurowanie pulpitu nawigacyjnego
Konfigurowanie pulpitu nawigacyjnego
Konfigurowanie pulpitu nawigacyjnego

Teraz czas na zabawną część! Teraz kliknij zakładkę „Dashboards” po lewej stronie i wybierz urządzenie śledzące GPS. Powinno to wywołać nową stronę z prośbą o dodanie widżetów. Kliknij prawy dolny przycisk „+” i „utwórz nowy widżet”, aby wyświetlić rozwijane menu widżetów do wyboru. Na razie dodajmy „wskaźnik cyfrowy”. Wybranie tej opcji powinno załadować kilka podglądów dla wszystkich różnych typów wskaźników cyfrowych, z których możesz wybierać. Kliknięcie jednego spowoduje wyświetlenie kolejnego ekranu, na którym można skonfigurować parametry widżetu. Pierwszą rzeczą, którą musisz dodać, jest źródło danych (twoje urządzenie śledzące GPS, które wysyła dane do ThingsBoard). Naciśnij przycisk „+ DODAJ” i wybierz swoje urządzenie „GPS Tracker” i wybierz odpowiednią zmienną, którą chcesz wyświetlić widżetem. W takim przypadku wybierzmy zmienną „temp” (temperatura).

Teraz, jeśli chcesz dodać takie rzeczy, jak tytuł widżetu, przejdź do zakładki „Ustawienia”, zaznacz „Wyświetl tytuł” i wprowadź tytuł. Istnieje wiele innych rzeczy, które możesz zrobić w zakładce „Zaawansowane”, ale pozwolę ci je zbadać samodzielnie! Baw się, zmieniając zakresy wartości, tekst etykiety, kolory i nie tylko! Po dodaniu widżetu pojawi się on w lewym dolnym rogu pulpitu nawigacyjnego (może być konieczne przewinięcie w dół, jeśli masz wiele widżetów wypełniających ekran). Możesz edytować widżet w dowolnym momencie, naciskając przycisk na widżecie, jeśli jesteś już w trybie edycji pulpitu nawigacyjnego, lub przejść do trybu edycji, naciskając najpierw przycisk ołówka w prawym dolnym rogu całego ekranu, aby umożliwić edycję widżety. Całkiem proste!

Krok 4: Dodanie mapy

Dodawanie mapy!
Dodawanie mapy!
Dodawanie mapy!
Dodawanie mapy!
Dodawanie mapy!
Dodawanie mapy!
Dodawanie mapy!
Dodawanie mapy!

Teraz dla lokalizatora GPS mapa jest koniecznością! Dodajmy jeden, tworząc nowy widżet (ponownie prawy dolny przycisk „+”) i tym razem przewiń w dół i wybierz „Mapy”. Śmiało i kliknij jeden, a wyświetli się jego opcje. Dodaj źródło danych jak zwykle, ale tym razem wybierz zarówno zmienne „lat”, jak i „long”, ponieważ do uzyskania lokalizacji będą potrzebne obie te zmienne. Następnie przejdź do zakładki „Ustawienia” i tutaj możesz ustawić okno czasowe danych, które mają być wyświetlane na mapie. Na przykład możesz chcieć, aby pojawiły się tylko ostatnie 2 minuty danych, możesz chcieć wszystkie dane od wczoraj, a może po prostu chcesz mieć stałe okno czasowe (np. od 14:00 wczoraj do 10:00 dzisiaj).

Jeśli chcesz, możesz przejść do zakładki „Zaawansowane” i wybrać typ mapy (mapa drogowa, satelitarna, hybrydowa lub terenowa). Być może najważniejszą częścią tego wszystkiego jest sprawdzenie nazw kluczy szerokości i długości geograficznej. Upewnij się, że te nazwy odpowiadają dokładnie nazwom zmiennych, które faktycznie wysyłasz do ThingsBoard. Na przykład, jeśli twój szkic Arduino mówi, że wysyła zmienne "lat" i "long" (które są domyślnie), musisz zmienić nazwy kluczy na "lat" i "long" i użyć "lattitude" i "longitude" nie pobierze Twoich danych!

Ponownie po dodaniu mapy pojawi się ona na dole deski rozdzielczej. Po prostu przeciągnij go, aby zmienić jego położenie na desce rozdzielczej, a następnie kliknij i przeciągnij krawędzie, aby zmienić jego rozmiar. Jeśli twoje okno czasowe zostało ustawione poprawnie, powinieneś zobaczyć swoją aktualną lokalizację na mapie. Super schludny co? Teraz jesteśmy gotowi na prawdziwy test!

Krok 5: Test drogowy

Test drogowy
Test drogowy
Test drogowy
Test drogowy

Testowanie lokalizatora GPS jest bardzo proste! Po prostu podłącz Arduino do samochodowego adaptera USB, aby go zasilić, upewnij się, że świeci się zielona dioda LED i powinno zacząć wysyłać dane! Aby zmienić częstotliwość próbkowania modułu śledzącego GPS, upewnij się, że w przykładowym szkicu znajduje się ten wiersz kodu:

#define samplingRate 10 // Czas pomiędzy postami, w sekundach

i ustaw go na co chcesz. Odkryłem, że 10s sprawdza się całkiem nieźle w spokojnym teście drogowym, ale jeśli jesteś szybki i wściekły, może przyda ci się jeszcze wyższa częstotliwość próbkowania!

Krok 6: Wyniki

Wyniki
Wyniki
Wyniki
Wyniki
Wyniki
Wyniki

Na powyższych zdjęciach możesz zobaczyć moją konfigurację deski rozdzielczej. Dodałem wykresy do wykresów danych historycznych, takich jak prędkość, wysokość i temperatura, a także włączyłem wskaźniki w czasie rzeczywistym na wypadek, gdybym chciał je zobaczyć w czasie rzeczywistym podczas innej podróży (wyobraź sobie to w kamperze!).

Mapa była niesamowita i udało mi się zebrać naprawdę dokładne dane o trasie, którą wybrałem. Ponadto dane dotyczące prędkości były niezwykle dokładne, ponieważ nigdy nie przekroczyliśmy około 40 mil na godzinę (wykres jest w km/h) na drogach miejskich. Wiele wahań prędkości można wytłumaczyć sygnalizacją świetlną. Ogólnie świetne wyniki i wyobraź sobie, do czego jeszcze moglibyśmy to wykorzystać! Możesz zainstalować to na kamperze, motocyklu, samochodzie itp. i mieć go cały czas śledzić i wyświetlać wyniki na ThingsBoard!

Podsumowując, w tym samouczku zaprogramowaliśmy nasz tracker GPS do wysyłania danych bezpośrednio do ThingsBoard za pośrednictwem żądań HTTP POST i zarządzaliśmy danymi na pulpicie nawigacyjnym. Możesz dodać wiele urządzeń i pulpitów nawigacyjnych, z których każdy zawiera wiele widżetów, które wyglądają super fajnie i mają wiele opcji dostosowywania! ThingsBoard okazał się bardzo potężnym (i darmowym!) narzędziem do przeglądania danych IoT i są nawet inne funkcje, których nawet nie zarysowałem. Zapraszam do zabawy i zobaczenia, co znajdziesz.

  • Jeśli podobał Ci się ten samouczek, stworzyłeś własny lub masz jakieś pytania, zrób komentarz poniżej!
  • Pamiętaj, aby dać temu Instructable serce i zasubskrybuj tutaj i na moim kanale YouTube, aby uzyskać więcej niesamowitych samouczków związanych z Arduino!
  • Jeśli chcesz wesprzeć to, co robię, rozważ zakup własnej osłony Botletics SIM7000 na Amazon.com!

Dzięki temu do zobaczenia następnym razem!

Zalecana: