Jeśli chcemy aby hotspot którego będziemy używali mobilnie, jego lokalizacja była pokazywana online na mapie APRS (aprs.fi) oraz na mapie przemienników i hotspotów DMR, możemy wykorzystać do tego celu moduł GPS który będzie przekazywał na bieżąco nasze współrzędne.

Możemy wykorzystać GPS który ma wyjście USB i TTL:
Moduł GPS USB/TTL (nie testowany jeśli ktoś będzie używał prosze o info)
lub moduły GPS:
Moduł GPS NEO-6M UART
Moduł GPS u-blox NEO-6M UART
ostatnie 2 GPS podłącza przez konwerter USB<->TTL https://allegro.pl/oferta/modul-konwerter-usb-ttl-pl2303hx-rs232-arduino-fv-7183969085

Ja użyłem do swoich testów moduł GPS u-blox NEO-6M UART który podłączyłem przez konwerter USB<->TTL:

GPS -> USB/TTL
Vcc -> 3.3V
GND -> GND
TX -> RX
RX -> TX

Całość możemy zapakować do jakiegoś pudełka plastikowego wyprowadzając kabel z wtyczka mikroUSB.

Następnie podłączamy nasz GPS do mikroUSB złącza RPI i pisząc polecenie w konsoli:

sudo dmesg

zobaczymy w ostatnich liniach informacje o podłączonym nowym urządzeniu na USB i numer portu pod jakim GPS jest widziany"

[ 3611.275463] usb 3-2: new full-speed USB device number 6 using xhci_hcd
[ 3611.292433] usb 3-2: New USB device found, idVendor=067b, idProduct=2303
[ 3611.292442] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3611.292447] usb 3-2: Product: USB-Serial Controller
[ 3611.292451] usb 3-2: Manufacturer: Prolific Technology Inc.
[ 3611.524004] usbcore: registered new interface driver usbserial
[ 3611.524030] usbcore: registered new interface driver usbserial_generic
[ 3611.524050] usbserial: USB Serial support registered for generic
[ 3611.534718] usbcore: registered new interface driver pl2303
[ 3611.534731] usbserial: USB Serial support registered for pl2303
[ 3611.534747] pl2303 3-2:1.0: pl2303 converter detected
[ 3611.535760] usb 3-2: pl2303 converter now attached to ttyUSB0

Pobieramy i kompilujemy niezbędny program napisany przez G4KLX o nazwie MobileGPS:

rpi-rw
sudo git clone https://github.com/g4klx/MobileGPS.git
cd MobileGPS
make
sudo cp MobileGPS /usr/local/bin/MobileGPS
sudo cp MobileGPS.ini /etc/mobilegps.ini

Robimy edycje pliku konfiguracyjnego mobilegps.ini w częsci [GPS] aby wpisać numer portu pod którym jest nasz GPS jeśli jest inny niż ttyUSB0.
cd /etc/
sudo nano mobilegps.ini

[General]
MinDistance=400
MinTime=60
MaxTime=300
Daemon=0
Debug=1

[Log]
DisplayLevel=1
FileLevel=1
FilePath=/var/log/pi-star
FileRoot=MobileGPS

[GPS]
Port=/dev/ttyUSB0
Speed=9600
Debug=0

[Network]
Address=127.0.0.1
Port=7834
Debug=1

Po zapisaniu możemy uruchomić program:

sudo MobileGPS /etc/mobilegps.ini

Po złapaniu fix'a GPS zaczyna raportować współrzędne. Możemy sprawdzić w logu czy na GPS przekazuje dane. Plik z logiem znajdzuje sie w katalogu /var/log/pi-star.

M: 2019-05-01 15:31:09.525 Starting MobileGPS-20181029
D: 2019-05-01 15:31:10.262 RMC sentence received: $GPRMC,153113.00,A,5303.58191,N,01833.87859,E,0.244,,010519,,,A79
D: 2019-05-01 15:31:10.262 GGA sentence received: $GPGGA,153113.00,5303.58191,N,01833.87859,E,1,03,6.32,63.6,M,35.3,M,,
69
D: 2019-05-01 15:31:11.266 RMC sentence received: $GPRMC,153114.00,A,5303.58159,N,01833.87864,E,0.458,,010519,,,A7F
D: 2019-05-01 15:31:11.266 GGA sentence received: $GPGGA,153114.00,5303.58159,N,01833.87864,E,1,03,6.33,63.7,M,35.3,M,,
64

Jeśli wszystko jest OK możemy wyłączyć zapisywanie do loga danych z GPS w pliku /etc/mobilegps.ini w [General] ustawic Debug=0

Teraz możemy pobrać skrypty do wysyłania współrzędnych do sieci APRS:

rpi-rw
cd /tmp
sudo wget http://sp2ong.noip.pl/downloads/mobilegps.tgz
sudo tar xvzfP mobilegps.tgz

Skrypty do wysyłania danych do aprs.fi zostaną umieszczone w katalogu /etc/mobilegps/. Głównym skryptem wykonawczym jest plik o nazwę 'aprshotspot' , drugi plik plik służy do wysłania danych oraz konwersji współrzędnych do formatu używanego w aprs.fi

Treść informacji jak się pokazuje na APRS może być dostosowana indywidualnie, wystarczyć zrobić edycje pliku aprshotspot:

sudo nano /etc/mobilegps/aprshotspot

i wpisz własną treść informacji na APRS zamiast przykładowej:

$description="Hotspot DMR - Pi-Star - GPS"

zapisujemy plik używając kombinacji klawiszy: CTRL+X i następnie klawisz "Y"

Numer SSID w naszym znaku na APRS domyślnie jest 10 ale zamiast 10 możemy wpisać od 1 do 15. Jak określić SSID dla APRS inny niż 10 możecie znaleźć tu: http://www.aprs.pl/stacja.htm Wartość SSID zmieniamy w pliku robiąc edycje:

sudo nano /etc/mobilegps/aprshotspot

i poszukać wiersza:

$ssid="10"

zapisujemy plik używając kombinacji klawiszy: CTRL+X i następnie klawisz "Y"

Możemy ręcznie uruchomić skrypt pisząc polecenie:

sudo /etc/mobile/aprshotspot

Pojawi się nam na ekranie informacja np:

Możemy teraz dopisać wykonywanie cykliczne naszego skryptu poleceniem:

cd /etc
sudo nano crontab

i dodajemy na końcu pliku linie:

 */20 * * * *   root    /etc/aprs/aprshotspot > /dev/null 2>&1 &

i wpisac ja jak na poniższym obrazku w czerwonej ramce (zamiast 20 min możemy zmienić co ile ma być wysłany nasz raport):

zapisujemy plik używając kombinacji klawiszy: CTRL+X i następnie klawisz "Y"

Robimy restart serwisu crontab poleceniem:

sudo /etc/init.d/cron restart

i po 20 min mamy na mapie aprs.fi pozycje naszego hotspota.

Jeśli za jakiś przyczyn po włączeniu RPI z GPS podłączonym do mikroUSB zmienia się port pod którym jest podłączony GPS np. zamiast ttyUSB0 jest ttyUSB1 itp możemy zapobiec temu zakładając plik o nazwie gps.rules w katalogu /etc/udev/rules.d/

rpi-rw
sudo nano /etc/udev/rules.d/gps.rules

wpisać treśc w plik :

SUBSYSTEM=="tty", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="003d", SYMLINK+="gps"

gdzie wartości idVendor i idProduct znajdziecie pisząc polecenie (GPS musi być podłączony):

lsusb

dostaniemy wykaz podłączony urządzeń do USB i szukamy lini np:

Bus 003 Device 008: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

nasz konwerter USB w wykazie np u mnie jest to PL2303 i odpowiednio mamy:

idVendor=067b
idProduct=2303

Następnie w pliku /etc/mobilegps w opcji port wpisać:

Port=/dev/gps

Po przeładowaniu systemu nasz moduł GPS zawsze będzie pod /dev/gps

W ramach paczki z skryptem dołożyłem do dashboard mała stronę na bazie "POWER" która służy do uruchomienia aplikacji MobileGPS lub wyłączenia jej. Należy w przeglądarce wpisać adres:

http://ip_adres_pi-star/admin/gps.php

gdzie zamiast ip_adres_pi-star należy wpisać IP adres naszego Pi-Star. Klikając na zieloną ikonkę uruchamiamy aplikacje MobileGPS a na czerwoną wyłączamy tę aplikacje.

Poprzedni Post Następny Post

Cytowanie lub kopiowanie treści jest dozwolone w przypadku podania źródła pochodzenia tekstu i/lub autora.