Spisu treści:

Śledzenie trasy GPS V2: 4 kroki (ze zdjęciami)
Śledzenie trasy GPS V2: 4 kroki (ze zdjęciami)

Wideo: Śledzenie trasy GPS V2: 4 kroki (ze zdjęciami)

Wideo: Śledzenie trasy GPS V2: 4 kroki (ze zdjęciami)
Wideo: #005. GPS w górach. Planowanie i wgrywanie trasy do urządzenia 2024, Listopad
Anonim
Śledzenie trasy GPS V2
Śledzenie trasy GPS V2
Śledzenie trasy GPS V2
Śledzenie trasy GPS V2
Śledzenie trasy GPS V2
Śledzenie trasy GPS V2

Projekt: Śledzenie trasy GPS V2

Data: maj - czerwiec 2020

AKTUALIZACJA

Pierwsza wersja tego projektu, choć działała w zasadzie, miała szereg usterek, które należało naprawić. Po pierwsze pudełko mi się nie podobało, więc wymieniłem je na inne. Po drugie, obliczenia dotyczące prędkości i odległości nie były poprawne. Dodatkowe testy terenowe z jednostką umieszczoną wewnątrz pojazdu i pozwoliły na wytyczenie trasy, a następnie ta zmapowana trasa została zmapowana na Wizualizator GPS i Google Earth Pro z doskonałymi wynikami zarówno pod względem rzeczywistej zmapowanej trasy, jak i obliczonej odległości mierzonej względem opcji „linijki” w Earth Pro

Ponadto obwody zostały zaktualizowane tak, aby akumulatory 18650 dostarczały zasilanie bezpośrednio do płyty DEV ESP32, podczas gdy jednostka NEO7M GSP była zasilana bezpośrednio z modułu Step Down, a nie przez płytę DEV. To stworzyło bardziej stabilny system. Oprogramowanie było ogólnie uporządkowane, a opcja e-mail i późniejsze połączenie z lokalnym routerem było wykonywane tylko wtedy, gdy urządzenie znalazło plik lub pliki dostępne do wysłania. Ostatnim ulepszeniem była zmiana testu „gps.location.isValid” na „gps.location.isUpdated”, co zapewniło, że tylko zaktualizowane lokalizacje GPS zostały zapisane w pliku trasy, a nie wiele lokalizacji GPS, z których każda ma tę samą szerokość i długość geograficzną

Zaznaczę w tym miejscu, że jest to pierwszy stworzony przeze mnie system oparty na GPS, a kolejne wersje w dużej mierze zastąpiłyby istniejące okablowanie płytką opartą na PCB. Aby zapewnić, że wszystkie połączenia przewodów nie ulegną awarii, podczas nieostrożnego obchodzenia się, wszystkie te połączenia zostały sklejone

Zaktualizowałem pliki ICO i Fritzing oraz dodałem nowe zdjęcia, aby pokazać wprowadzone przeze mnie zmiany

PRZEGLĄD

Ten projekt był dla mnie całkowitą zmianą kierunku, odchodząc od zegarów Nixie i robotów opartych na WiFi. Wykorzystanie modułu Arduino opartego na GPS intrygowało mnie od jakiegoś czasu, a ponieważ miałem trochę wolnego czasu czekając na dodatkowe części do głównego projektu, nad którym również pracuję, postanowiłem zbudować urządzenie do śledzenia trasy GPS, zasilane bateryjnie, lekkie, przenośny i zdolny do przesyłania informacji o trasie za pośrednictwem karty micro SD lub, jeśli dostępna jest sieć Wi-Fi, za pośrednictwem poczty e-mail i załączonego pliku. Ten projekt wymagał użycia czterech komponentów, których wcześniej nie używałem, a mianowicie ekranu OLED o przekątnej 0,96 cala, czytnika kart SD, modułu GPS i płytki rozwojowej ESP32. Ostateczny rozmiar urządzenia, choć z pewnością przenośny, można by jeszcze bardziej zmniejszyć, o pełne 25-50%, gdyby okablowanie, którego użyłem, zostało zastąpione płytką PCB przymocowaną bezpośrednio do płytki rozwojowej ESP32 i bateriami 18650 i obniżeniem moduł został zastąpiony odpowiednim akumulatorem Li-ion 5V.

Kieszonkowe dzieci

1. Płytka rozwojowa ESP32

2. Zegar RTC DS3231 z podtrzymaniem bateryjnym

3. Czytnik oparty na kartach Micro SD SPI, z kartą micro SD o pojemności 1 GB

4. Ekran OLED I2C o przekątnej 0,96 cala

5. Moduł GPS NEO-7M-0-000

6. Kondensator 10uF

7. Rezystory 2x10K, rezystor 4,7K;

8. Transformator obniżający napięcie DC-DC

9. 2x18650 baterie

10. Podwójny uchwyt baterii 18650

11. Przełącznik jednobiegunowy

12. Chwilowy przełącznik wciskany

13. Pudełka projektowe 2x100mmx50mmx65mm

14. Druty Dupont, gorący klej.

Krok 1: BUDOWA

BUDOWA
BUDOWA
BUDOWA
BUDOWA
BUDOWA
BUDOWA

Załączony schemat Fritzing pokazuje układ obwodu. Dwie baterie 18650 i moduł obniżający napięcie można zastąpić akumulatorem litowo-jonowym zapewniającym bezpośrednio 5 V. Polecam moduł NEO-7M ze zintegrowaną wtyczką anteny zewnętrznej SMA, która pozwala na dodanie prostego kawałka przewodu o długości 30 cm, który odbiera informacje z satelity, często zajmuje to kilka minut po pierwszym włączeniu urządzenia. Dolna z dwóch pudełek projektowych ma otwory na ekran, antenę GPS, przełącznik i kartę SD, zawiera również zegar RTC, czytnik kart SD, ekran OLED 0,96”, przycisk, moduł GPS i płytkę PCB. Górne pudełko projektowe zawiera płytkę rozwojową ESP32, baterie 18650 i uchwyt baterii, moduł obniżający i pojedynczy otwór na przełącznik jednobiegunowy. Górna część tego pudełka projektowego jest utrzymywana na miejscu za pomocą czterech śrub z łbem wpuszczanym, które można wyjąć, aby umożliwić wyjęcie, naładowanie, a następnie wymianę dwóch akumulatorów 18650. Urządzenie nie jest wodoodporne, ale może być tak wykonane. W górnej skrzynce projektowej można również zainstalować odpowiednią ładowarkę akumulatorów z interfejsem USB, z odpowiednim otworem, aby umożliwić ładowanie akumulatorów znajdujących się w środku bez konieczności zdejmowania pokrywy skrzynki. Podczas gdy moduł GPS może podać godzinę i datę uzyskaną z satelity, zdecydowałem, że bardziej odpowiedni będzie czas lokalny i data, więc dodałem moduł RTC.

Niektóre zdjęcia z budowy pokazują wczesny rozwój tego projektu, w którym używałem płyty WeMos D1 R2 i prostego wyświetlacza LED 16x2, oba zostały wymienione w ostatecznej wersji.

Obraz
Obraz

Krok 2: OPROGRAMOWANIE

OPROGRAMOWANIE
OPROGRAMOWANIE
OPROGRAMOWANIE
OPROGRAMOWANIE
OPROGRAMOWANIE
OPROGRAMOWANIE

Powodem, dla którego płyta Arduino oparta na ESP32 była taka, że po kilku badaniach odkryłem, że ESP32 może z powodzeniem wysyłać e-maile na konto G-Mail, pod warunkiem, że ustawienia konta zostaną zmienione tak, aby umożliwić „odbieranie mniej bezpiecznych wiadomości e-mail”, wymaga to zmiany ustawień konta G-Mail. Aby uzyskać do tego dostęp, przejdź do opcji menu „Zarządzaj kontem Google”, a następnie wybierz „Zabezpieczenia” i przewiń w dół, aż zobaczysz „Mniej bezpieczny dostęp do aplikacji”, włącz tę funkcję.

Będziesz musiał pobrać i zainstalować następujące pliki: TinyGPS++.h, SoftwareSerial.h, "RTClib.h", "ESP32_MailClient.h", "SPIFFS.h", WiFiClient.h, math.h, Wire.h, SPI.h, SD.h, Adafruit_GFX.h i Adafruit_SSD1306.h.

Program został opracowany przy użyciu wersji 1.8.12 Arduino IDE, a wybraną płytą była „DOIT ESP32 DEVKIT V1”.

Ze względu na rozmiar programu nie można go rozwijać na Arduino UNO, również podczas pobierania oprogramowania konieczne jest usunięcie przewodu TX z modułu GSP, w przeciwnym razie pobieranie się nie powiedzie. Kondensator 10uF został dołączony do pinów „EN” i „GND” płytki ESP32, dzięki czemu nie było potrzeby wciskania przycisku „EN” za każdym razem, gdy pobierany był nowy program.

Oprogramowanie Arduino zostało opracowane, aby umożliwić użytkownikowi systemu rejestrowanie trasy lub tras w urządzeniu, a następnie wyjęcie karty SD i przesłanie jej za pomocą czytnika kart opartego na komputerze PC lub wybranie opcji menu E-Mail i wszystkie pliki tras przechowywane w urządzeniu wysłane na konto G-Mail, jedna trasa dołączona do każdej wiadomości e-mail. Pliki tras są sformatowane w urządzeniu i mogą mieć postać dwóch różnych stylów, formatu „GPX”, który można bezpośrednio przeglądać za pomocą „GPS Viewer”, aplikacji Google dostępnej bezpłatnie w Internecie lub „KML” format, który można bezpośrednio przeglądać za pomocą aplikacji „Google Earth Pro” dostępnej do pobrania z Internetu. Ta sama aplikacja może również odczytywać i wyświetlać pliki tras oparte na „GPX”. Oba te formaty plików są swobodnie dostępne jako schematy formatów plików i można je znaleźć w Internecie na Wikipedii. Po wysłaniu e-maila lub e-maili urządzenie powróci do monitorowania trasy, jednak domyślnie będzie to format pliku GPX. Przycisk służy do wyboru opcji e-mail, wyboru formatu pliku GPX lub KML oraz do rozpoczęcia i zatrzymania nagrywania trasy. W trybie monitorowania trasy ekran OLED wyświetli długość i szerokość geograficzną aktualnej pozycji, a następnie na drugim ekranie wyświetli aktualny czas, datę, wysokość w metrach, liczbę używanych satelitów, prędkość w km i na koniec kurs podany jako jeden głównych punktów kompasu. Podczas gdy w trybie nagrywania trasy na ekranie zostanie wyświetlony plik trasy, który został otwarty, następnie oprócz dwóch wcześniej opisanych ekranów zostanie wyświetlony trzeci ekran, który zawiera szczegółowe informacje na temat używanego pliku trasy, liczby zapisanych punktów trasy i na koniec pokonany dystans w km.

Poniższe obrazy pokazują, w jaki sposób wiadomości e-mail, tworzone i wysyłane przez urządzenie, są odbierane i wyświetlane przez G-Mail.

Obraz
Obraz
Obraz
Obraz
Obraz
Obraz

Krok 3: WNIOSEK

WNIOSEK
WNIOSEK
WNIOSEK
WNIOSEK

Wiele się nauczyłem podczas opracowywania tego projektu, jednak ta jednostka może być uważana tylko za „zaplecze” systemu opartego na aplikacji, który wyświetla pliki GPX lub KML. Korzystanie z oprogramowania firm trzecich było dopuszczalną alternatywą dla dalszego rozwoju tego oprogramowania. Dostępność opcji menu „Mniej bezpieczna aplikacja” w menu Zarządzanie kontem Google może być ograniczona, ponieważ zmiany mogą nastąpić w czerwcu 2020 r., w takim przypadku może być konieczne przekierowanie wiadomości e-mail na alternatywne konto lub za pomocą portu 586 na serwerze pocztowym.

Krok 4: Formaty plików GPS i KML

Formaty plików GPS i KML
Formaty plików GPS i KML
Formaty plików GPS i KML
Formaty plików GPS i KML

Poniżej przedstawiono typową zawartość pliku dla każdego typu pliku generowanego przez urządzenie (wartości szerokości i długości geograficznej nie zmieniają się zbytnio w tych przykładach, ponieważ urządzenie jest nieruchome). Oba pliki zawierają minimalne dane nagłówka i stopki wymagane przez przeglądarkę GPS i Google Earth pro do wyświetlenia prostej czarnej linii pokazującej przebytą trasę:

Plik KML:

Obraz
Obraz

Plik GPX:

Zalecana: