Prosta radiolokalizacja LoRa + GPS
: piątek, 2 lis 2018, 01:07
Ostatnio wpadły w moje ręce moduły do komunikacji radiowej dalekiego zasięgu LoRa SX1278 433 MHz. Są one niewielkie (21x36mm), lekkie (waga ok. 7g bez anteny), zasilane 2.5-5.5V a komunikacja odbywa się przez UART, czyli idealny moduł do połączenia np. z Arduino.
W skrócie działa to jak bezprzewodowy kabelek - dane które wysyłamy do pierwszego modułu odbieramy w drugim bez większych komplikacji.
Mam wersję o mocy 100mW, zasięg deklarowany przez producenta do 3km (na otwartej przestrzeni z odpowiednią anteną itd). W pierwszych testach na fabrycznej konfiguracji udało mi się uzyskać ok 600m w terenie z luźną zabudową jednorodzinną, co moim zdaniem jest bardzo przyzwoitym wynikiem i mam nadzieję go poprawić w otwartym terenie. Moduł nadajnika miał antenę 2,5dBi, w odbiorniku użyłem anteny samoróbki.
Jest też mocniejsza wersja o mocy 1W i deklarowanym zasięgu 8km - czekam na dostawę.
Pomysły na lokalizację rakiety za pomocą tych modułów miałem dwa, pierwszy to podłączenie modułu GPS i przesyłanie lokalizacji i o tym będzie ten opis. Drugi pomysł to po prostu nadawanie sygnału i łapanie go anteną kierunkową.
Mam moduł GPS do Arduino z układem u-blox NEO 6m i tenże moduł również ma interfejs komunikacyjny UART. Okazało się, że wystarczy podłączyć go do zasilania oraz połączyć z modułem LoRa i mam gotowy nadajnik radiowy GPS. Ten moduł GPS ma możliwosć podłączenia zewnętrznej anteny, co też może być ciekawą opcją.
Drugi moduł LoRa połączyłem z przejściówką UART na USB (na układzie CP2102) i podłączyłem go do smartfona (potrzebny model z obsługą OTG). Na smartofnie odpaliłem aplikację z terminalem portu szeregowego i w ten sposób uzyskałem gotowy zestaw odbiorczy.
Tak wygląda moj zestaw testowy:
Nadajnik GPS wysyła dane w formacie NMEA czyli w formie tekstowej, z ciągu danych wystarczy wyłuskać linię zawierającą współrzędne GPS i gotowe. Wpisujemy je później w Google lub nawigację i idziemy po rakietę. Trzeba tylko zwrócić uwagę, żeby odczytane współrzędne wpisać w formacie: 50 11.1234N 18 59.1234E.
Oczywiście można to zrobić bardziej elegancko, dorzucić po drodze jakieś Arduino i przesyłać już obrobione dane, ale nawet w takiej formie jest to całkie użyteczne i można to zmontować bez programowania czy nawet lutowania.
Wadą tanich układów GPS jest to, że trzeba długo poczekać zanim złapią tzw. fixa, czyli zaczną odczytywać pozycję i zdecydowanie warto to zrobić przed startem rakiety.
Natomiast myślę, że sporą zaletą będzie możliwość śledzenia pozycji w trakcie lotu i nawet jeśli przy lądowaniu stracimy sygnał to i tak znacznie uda nam się zawęzić obszar poszukiwań. Moje testy na razie były stacjonarne, ale mam nadzieję niedługo zbudować jakąś rakietę, w której będę mógł przetestować rozwiązanie w praktyce. Widziałem też bardzo fajny miniaturowy moduł GPS u-blox 7 do dronów, mam nadzieję, że kiedyś wpadnie w moje ręce i również będę mógł bo przetestować w takim rozwiązaniu.
Elektronikę zamawiałem na AliExpress. Za dwa moduły LoRa 100mW zapłaciłem 30zł, a za wariant 1W 50zł (2 szt), za moduł GPS zapłaciłem 30zł. Przejściówka USB-UART to koszt ok 5-10zł a antena ok 10zł.
Pozdrawiam
Rafał.
W skrócie działa to jak bezprzewodowy kabelek - dane które wysyłamy do pierwszego modułu odbieramy w drugim bez większych komplikacji.
Mam wersję o mocy 100mW, zasięg deklarowany przez producenta do 3km (na otwartej przestrzeni z odpowiednią anteną itd). W pierwszych testach na fabrycznej konfiguracji udało mi się uzyskać ok 600m w terenie z luźną zabudową jednorodzinną, co moim zdaniem jest bardzo przyzwoitym wynikiem i mam nadzieję go poprawić w otwartym terenie. Moduł nadajnika miał antenę 2,5dBi, w odbiorniku użyłem anteny samoróbki.
Jest też mocniejsza wersja o mocy 1W i deklarowanym zasięgu 8km - czekam na dostawę.
Pomysły na lokalizację rakiety za pomocą tych modułów miałem dwa, pierwszy to podłączenie modułu GPS i przesyłanie lokalizacji i o tym będzie ten opis. Drugi pomysł to po prostu nadawanie sygnału i łapanie go anteną kierunkową.
Mam moduł GPS do Arduino z układem u-blox NEO 6m i tenże moduł również ma interfejs komunikacyjny UART. Okazało się, że wystarczy podłączyć go do zasilania oraz połączyć z modułem LoRa i mam gotowy nadajnik radiowy GPS. Ten moduł GPS ma możliwosć podłączenia zewnętrznej anteny, co też może być ciekawą opcją.
Drugi moduł LoRa połączyłem z przejściówką UART na USB (na układzie CP2102) i podłączyłem go do smartfona (potrzebny model z obsługą OTG). Na smartofnie odpaliłem aplikację z terminalem portu szeregowego i w ten sposób uzyskałem gotowy zestaw odbiorczy.
Tak wygląda moj zestaw testowy:
Nadajnik GPS wysyła dane w formacie NMEA czyli w formie tekstowej, z ciągu danych wystarczy wyłuskać linię zawierającą współrzędne GPS i gotowe. Wpisujemy je później w Google lub nawigację i idziemy po rakietę. Trzeba tylko zwrócić uwagę, żeby odczytane współrzędne wpisać w formacie: 50 11.1234N 18 59.1234E.
Oczywiście można to zrobić bardziej elegancko, dorzucić po drodze jakieś Arduino i przesyłać już obrobione dane, ale nawet w takiej formie jest to całkie użyteczne i można to zmontować bez programowania czy nawet lutowania.
Wadą tanich układów GPS jest to, że trzeba długo poczekać zanim złapią tzw. fixa, czyli zaczną odczytywać pozycję i zdecydowanie warto to zrobić przed startem rakiety.
Natomiast myślę, że sporą zaletą będzie możliwość śledzenia pozycji w trakcie lotu i nawet jeśli przy lądowaniu stracimy sygnał to i tak znacznie uda nam się zawęzić obszar poszukiwań. Moje testy na razie były stacjonarne, ale mam nadzieję niedługo zbudować jakąś rakietę, w której będę mógł przetestować rozwiązanie w praktyce. Widziałem też bardzo fajny miniaturowy moduł GPS u-blox 7 do dronów, mam nadzieję, że kiedyś wpadnie w moje ręce i również będę mógł bo przetestować w takim rozwiązaniu.
Elektronikę zamawiałem na AliExpress. Za dwa moduły LoRa 100mW zapłaciłem 30zł, a za wariant 1W 50zł (2 szt), za moduł GPS zapłaciłem 30zł. Przejściówka USB-UART to koszt ok 5-10zł a antena ok 10zł.
Pozdrawiam
Rafał.