SAPOS GPS Korrektursignal per DAB+ empfangen - SSRoverDAB+auswerten?

So eine Variante der ssr2obs-Software gibt es für ARM und x86_64. Läuft als Hintergrunddienst, nimmt da Daten als TCP entgegen und gibt sie konvertiert als RTCM3.2 MSM wieder aus. Wir paketieren die Binaries für RPM (openSUSE) und DEB (Ubuntu) mit zugehörigem SystemD-Dienst.

Da wir nicht Eigentümer der Software sind, können wir die aber nicht vertreiben. Hier also bitte entweder über das BKG oder Geo++ den Bezug klären. Die Pakete (wenn die Binaries frei verfügbar sind) oder die Utensilien zum Bauen stelle ich gern zur Verfügung, da ist nichts schutzwürdiges dran, wenn man die Binaries wegnimmt :wink:

Ich hab das bei Geo++ angefragt und hab wie gesagt eine “Eingangsbestätigung” :wink: Gibts ja leider nicht als einfachen Download wie die Android und Windows binaries.

Flo

1 Like

So zwischenstand - Es liegt vor mir und läuft - D.h. das RTK fähige GPS Chipset - aktuell Quectel LC29H hat einen RTK FIX - rtkplot sieht nach 20 Minuten so aus.

Bill of Materials:

  • Quectel LC29H(EA) 55€
  • DAB+ USB Radio 25€
  • Raspberry PI 5 8GB 84€ (Wobei ein alter Pi 4 oder 3 vermutlich genau so gehen wird - Man braucht nur 2 USB und 128MByte Speicher )

Und tage an Pfriemelei …

Es ist noch nicht ganz “offline” da das ssr2obs Ephemeriden braucht die aus DIESEM gps Empfänger nicht im Rover mode rausplumpsen. Deshalb hole ich die gerade via NTRIP.

Dafür gibts verschiedene optionen. Anderes GPS Modul was das kann (Schwierig und/oder Teuer) oder einfach 2 GPS Empfänger nehmen und die Ephemeriden aus dem einen in den anderen Füttern. Der für die Ephemeriden kann auch irgendein Billig ding mit Keramik Patch Antenne sein - muss halt nur Ephemeriden als RTCM rauswerfen können. Die ublox können auch keine Ephemeriden als RTCM - also müsste man die (Wenn sie es können) via UBX extrahieren und konvertieren, oder ggfs kann der Unicore UM980 sowohl RTK Rover spielen wie auch ephemeriden rausspucken. Doku sagt das müsste gehen. Der UM980 kostet natürlich deutlich mehr als der Quectel.

9 Likes

Hut ab! Super! :+1:

Kannst Du was zum Stromverbrauch sagen?

Mein ArduSimple mit angeschlossener ublox-Antenne zieht ca. 140 mA. Was der NTRIP-Client samt Sende- und Empfangsbetrieb als Rover auf dem Handy benötigen, weiß ich natürlich leider nicht …

Interessiert

tracker51

Ich hab nur mal kurz rumprobiert wie lange die gesamtlösung mit einer Powerbank läuft. Mit 30000mAh läuft es 1 1/2 Tage. Lag hier einfach auf dem Wohnzimmertisch. Da ist bestimmt auch noch was zu drehen. CPU runterclocken auf dem Pi, Wifi Aus, Ggfs einen Pi2 oder Pi3 nehmen - da hab ich hier schon was liegen. Denn CPU brauchst du ja nicht viel. Nur leider reicht halt ein esp32 nicht weil du den ganzen C++ code da nicht drauf bekommst. Und nen Pi hab ich ja nur genommen weil sie rumlagen. Ich will nicht ausschliessen das wenn man auf USB setzt man auch noch was kleineres Stromsparendes mit arm64 findet.

Es ist alles gerade noch nicht so wie ich mir das vorstelle weil ich ephemeriden brauche die aus keinem meiner Chipsets parallel rausfällt. Der UM980 sieht da am vielversprechensten aus - Der bei mir ankam war “kaputt” und machte keine Antennenspeisung so das er keinen Fix bekommen hat. Ist auf dem Rückweg.

Mit dem X20 (Der auch gerade nochmal eine Schleife zum Hersteller macht wegen Softwareproblemen) kann vielleicht die ephemeriden als UBX - müsste man sehen wie man die zu RTCM messages “umformatiert” …

Der Quectel LC29H kann nur ephemeriden im Base Station betrieb, als Rover kann er es nicht.

Die ganzen chipsets bzw deren Firmware sind alle irgendwie zum brechen.

Flo

Boah ey, das sind ja gut 800 mA! Da ist es schon ein bisschen sinnvoll, was am Stromverbrauch zu drehen :wink:

Für die Info dankt

tracker51

Das wird zu 90% im Pi5 landen. Das Netzteil ist 3000mA gerated und mit 2000mA hat der einen Brownout beim Boot wenn der das Wifi an macht :wink:

Wifi braucht halt richtig Strom. In meinem Test war auch Wifi an - und auch nötig weil ich ja noch die ephemeriden via NTRIP hole.

Ich denke wenn man da den Video Output aus macht, das Wifi aus macht, PCIe aus macht, vielleicht die CPU als UP und nicht SMP bootet - da geht noch was. Ist mir im moment aber total egal. Das nächste Target ist das ganze komplett offline hin zu bekommen, ledliglich mit einer Bluetooth connection um sich NMEA abzuholen für ein Mobile/Display etc.

Dafür brauche ich ein GPS Chipset das im Rover mode die RTCM Ephemeriden raus wirft. Das müssten message type 1019 für GPS, 1020 für Glonass, 1042 Beidou, 1044 QZSS (Eher uninteressant), 1045 Galileo sein.

Der Quectel LC29H kann das im Base Station mode - nicht im Rover mode. Ublox ZED-X20 kann es gar nicht. Also RTCM 1019/1020 sind unbekannt, als UBX messages sind nur assistance messages definiert für Assisted GPS. Evtl dann als UBX-RXM-RAWX und dann gucken das man das selber konvertiert zu Fuß. Für den UM980 hab ich nichts an Doku gefunden - ich habe gefunden das es ggfs ein rtcm1019 60 als command habe - alle 60 sekunden die GPS Emphemeriden. Das das der UBlox X20 der mit abstand teuerste ist ist das schon eher enttäuschend.

Insgesamt sieht der UM980 so aus wie das vielversprechenste Chipset - meine Lieferung hatte nur einen SMD Bestückungsfehler so das ich kein Antenna Power hatte. Warte gerade auf Neulieferung.

Flo

So - aktueller Status

Gestern habe ich das Thema “offline” Ephemeriden gelöst so das ich jetzt für die ganze Lösung keinerlei Netz mehr brauche. D.h. alle Korrekturdaten kommen via DAB+ bzw GNSS. Das ganze ist noch ziemlich hakelig der DAB Empfang ist doch deutlich kritischer als man sich so wünscht. Ich werde da die nächsten Tage mal noch mit “besseren” Antennen rumprobieren. Die billigen die mit den USB DAB+ Adaptern mit kommen sind eher zu schnell am ende. Ich denke auch das die SMB Stecker und die mangelnde RFI abschirmung des RPi und der DAB+ USB Empfänger da negativ reinschlagen. Hab schon überlegt ob ich auf den billigen USB DAB Empfängern die SMB Buchsen auf RP-SMA umlöte - dann hab ich auch eine Schraubverbindung. Auch wenn ich die GPS Antenne oben auf eine Kiste mit dem RPi lege bekommt der keinen RTK Fix mehr. Also - sind die nächsten Schritte: Bessere DAB+ Antenne, und Metallgehäuse für den RPi um die abschirmung zu verbessern.

Jedenfalls habe ich heute meine Fliegende Verdrahtung mal in einen Fahrradanhänger gestellt und bin losgelaufen. Hier um 2 Abwasserschächte aka man_made=manholes drumherum. Das DOP des landes NRW und die OSM Daten als overlay (LiveGPS Plugin im JOSM). War auch erstmal nur mit 1HZ - Der ublox X20 kann auch 25Hz.

Im Garten mal mit rtkplot den Anhänger nochmal stehen lassen sieht das so aus. Ein Kästchen sind 2cm:

Ich schreibe gerade alles an Doku zusammen. Das ist mal ein Schaubild für die ganzen Datenströme. Die ganzen systemd units und scripte etc packet ich dann alles mal in ein git repo.

Ich hab noch dran gebaut das man auch via Bluetooth an den RPi connected kann und die NMEA telegramme bekommt - Damit kann man dann via Tablet oder Handy da connecten. So hab ich mir auch die Datenströme für josm bzw rtkplot abgeholt während ich rumgelaufen bin.

Hier und da fehlt noch krams - der ntripcaster vom BKG möchte zwangsweise log_FILES_ schreiben was jetzt im embedded bereich die SDKarten kaputt schreibt. Syslog wäre schick - dem journald hab ich beigebracht nur ein memory log zu haben und nicht ins FS zu schreiben. Muss man mal raus patchen.

Jedenfalls kann man das natürlich schick debuggen weil man von aussen einfach an die NTRIP ströme connecten kann und sofort sieht ob da frames sind oder nicht. Der ggalimiter liefert auf verschiedenen ports unterschiedlich gefilterte NMEA streams für das Bluetooth und auch den SSR2OBS der sehr empfindlich reagiert wenn da mehr als einmal pro sekunde ein GNGGA kommt. Das sind aber auch nur 50 Zeilen perl.

Flo

10 Likes

Interessantes Projekt. Ich habe mir gerade die Datenausgabe für das ugreen Board gebaut. Ziel ist das Board später ohne den Pi zu verwenden und die Daten direkt über Bluetooth bereitzustellen. Im Berliner Raum für PPP-RTK:
sudo ~/dabpi/dabpi_ctl -a -k2 -i0 -f15 -r1 -p

huhu sagt mal, wie wäre denn vorzugehen, wenn man sich gerne ein RTK holen wollen würde, dass auch für DAB+ das Potential hätte? Das ZED-F9P Einsteigerpaket von Ardusimpel erscheint mir mit ~200Eur noch erschwinglich, aber hat man da auch die Möglichkeit alles für SSRoverDAB+ auszulesen?

Also die UBlox RTK fähigen chipsets müsste man alle dazu überreden können. Das frickeligste Thema bei mir war an die Ephemeriden zu kommen. Die UBLOX können zwar die Ephemeriden nicht als RTCM messages raus werfen, aber die können das als UBX - Und das RTKLibExplorer kann dann UBX → RTCM machen so das man das in das ssr2obs füttern kann.

Ich hab meine ganzen scripte und so zeugs mal hier zusammengetragen:

https://gl.zz.de/zz/ssroverdab-pirover

Flo

2 Likes