Forum: Mikrocontroller und Digitale Elektronik uBlox Neo 6M konfigurieren


von Norbert (elektronenknecht)


Lesenswert?

Hallo,

mein Neo 6M spuckt bspw. den GPRMC nicht mehr aus.

Ich bin auf die Konfigurationsmöglichkeit des Moduls aufmerksam 
geworden, möchte aber nicht uCenter installieren.
Gibt es die Möglichkeit, das Ding auf der Kommandozeile zu 
konfigurieren?

Ich würde gerne die Baudrate ändern und die ausgespuckten NMEA-Sätze 
auch.

von Andreas (andreas6)


Lesenswert?

Sofern Du eine Datenverbindung (gewöhnlich seriell) zum Modul hast, 
kannst Du es ganz normal über diese Datenverbindung mit der korrekten 
Baudrate umkonfigurieren. Details stehen im Datenblatt. Das geht 
natürlich auch per Kommandozeile, sofern man die erzeugte 
Konfigurationsdatei per copy zum Modul schickt.
Ich mache so etwas täglich im Auto, um die halbe Wettersonde unter der 
Frontscheibe als Gps-Empfänger mit der passenden Baudrate und den 
richtigen Einstellungen zu konfigurieren.

MfG. Andreas

von Norbert (elektronenknecht)


Lesenswert?

Aktuell hängt es an einem ArduinoNano (SoftSerial), oder soll es direkt 
an eine serielle Leitung geklemmt werden?
Ich hätte einen USB-TTL-Adapter hier. Oder taugt nur ein FTDI-Adapter?
Tschuldigung schon mal für die blöde Frage :D

Als Datenblatt habe ich das hier gefunden: 
https://content.u-blox.com/sites/default/files/products/documents/NEO-6_DataSheet_%28GPS.G6-HW-09005%29.pdf
Da möchte ich eigentlich auf Seite 22 die Standardeinstellungen von 
Seriell Port 1 Output wiederherstellen.

Die einzige Konfigurationsmöglichkeit sehe ich auf Seite 11, die ist 
aber sehr spärlich...

Hier (https://github.com/orgs/espruino/discussions/1021) habe ich mal 
was von so einem Befehl gelesen:
$PUBX,40,RMC,0,0,0,047
Geht das eher in die richtige Richtung?

Sonst bin ich noch über Kommandos wie "UBX-CFG-..." gestoßen. Aber immer 
ohne Erklärung, WIE man nun die gewünschte Konfiguration definiert.

von Andreas (andreas6)


Lesenswert?

Eine schon vorhandene Verbindung ist ok. Das Teil kann laut Datenblatt 
sogar Usb; seriell genügt ein billiger Usb-Serial-Wandler mit 
3,3-V-Pegel. Ansonsten siehe Tabelle 6 mit den Konfigurations-Pins. 
Allein darüber lässt sich bereits eine sinnvolle Voreinstellung für die 
seriellen Daten vornehmen. Sofern das Beschalten keine Mühe macht, 
sollte das die einfachste Methode sein. Ältere Chips konnten das nicht, 
die mussten mit Daten umgestellt werden.

MfG. Andreas

: Bearbeitet durch User
von Dieter S. (ds1)


Lesenswert?


von Norbert (elektronenknecht)


Lesenswert?

Ja, dort habe ich von diesen UBX-CFG-Kommandos gelesen, stochere aber 
weiterhin im Dunkeln...

Nehmen wir mal an, ich möchte so eine PUBX,00-Message wie auf Seite 68 
an das Modul senden.
Wie geht das konkret?
Im Arduino-seriellenMonitor bei der Inputzeile? Mit tio aufs 
entsprechende /dev/tty?
echo "$PUBX,00*33" | tio -b 9600 /dev/ttyUSB0

Ich stehe da echt wie der Ochs vorm Berg.

: Bearbeitet durch User
von Andreas (andreas6)


Lesenswert?

CR/LF fehlen wohl noch als Abschluss. Ich weiß nicht, ob Dein Kommando 
dies automatisch mit schickt. Die Prüfsumme möchte auch korrekt sein, 
sonst wird das Kommando nicht akzeptiert.

MfG. Andreas

von Norbert (elektronenknecht)


Lesenswert?

Es lag wohl am CR/LF.
Mittlerweile spuckt mir das Modul wieder den GPRMC aus, vielen Dank.
Ich habe das hier ans Modul geschickt:
1
echo "$PUBX,00*33\r\n" | tio -b 9600 /dev/ttyUSB0

von Jan H. (jan_h74) Flattr this


Lesenswert?

Am besten kannst du einmal Ucenter installieren, und dort die benotigte 
config einstellen. Ucenter gibt auch die exacte hex commandos von jeden 
config. When ihre NEO M6 module flash memory hat, kansst du einfach die 
gewunschte config abspeicheren. When nicht, muss bei jeden boot neu die 
config eingestellt werden. Bei meinen GPS-Speed logger wird bei jeden 
boot die config neu eingestellt (Ublox hat eine serielle schnittstelle 
nach ESP32). Forteil : functioniert immer, auch bei GPS module ohne 
flash. Mein project mit source : 
https://github.com/RP6conrad/ESP-GPS-Logger/blob/master/Ublox.h

von Norbert (elektronenknecht)


Lesenswert?

Ich möchte es vorerst noch ohne uCenter probieren.

Hier 
(https://content.u-blox.com/sites/default/files/products/documents/u-blox6_ReceiverDescrProtSpec_%28GPS.G6-SW-10018%29_Public.pdf?utm_source=en%2Fimages%2Fdownloads%2FProduct_Docs%2Fu-blox6_ReceiverDescriptionProtocolSpec_%28GPS.G6-SW-10018%29.pdf) 
steht auf Seite 82 etwas von
1
$PUBX,40
Damit soll man wohl die einzelnen NMEA-Sätze (de-)aktivieren können.

Soweit so gut - nur: wie bilde ich die Checksumme!?

von Rainer W. (rawi)


Lesenswert?

Norbert schrieb:
> Ich möchte es vorerst noch ohne uCenter probieren.

Warum sträubst du dich gegen ein passendes Werkzeug, mit dem du nicht 
alles von Hand zusammenbasteln musst?

> Soweit so gut - nur: wie bilde ich die Checksumme!?

Ausrechnen, suchst du "Checksum NMEA0183".
z.B. https://de.wikipedia.org/wiki/NMEA_0183#Datens%C3%A4tze
Die Prüfsumme ist eine XOR-Verknüpfung aller Zeichen zwischen '$' und 
'*'.
Möglicherweise ist die aber auch gar nicht erforderlich. Was sagt das 
Datenblatt?

: Bearbeitet durch User
von Norbert (elektronenknecht)


Lesenswert?

Rainer W. schrieb:
> Warum sträubst du dich gegen ein passendes Werkzeug, mit dem du nicht
> alles von Hand zusammenbasteln musst?
Ich habe gerade keine Lust, mich mit ner Win-Software herumzuplagen. 
Arbeitsrechner/VM/dualboot sind gerade nicht verfügbar.

> suchst du "Checksum NMEA0183".
> z.B. https://de.wikipedia.org/wiki/NMEA_0183#Datens%C3%A4tze
> Die Prüfsumme ist eine XOR-Verknüpfung aller Zeichen zwischen '$' und
> '*'.
> Möglicherweise ist die aber auch gar nicht erforderlich. Was sagt das
> Datenblatt?
Danke, "NMEA0183" war ein großartiges Stichwort und hat mich zu diesem 
Checksummenrechner geführt: 
https://alekunderwater.github.io/nmea0183_checksum_calculator.html

Im Datenblatt ist nur ein Beispiel gegeben, wie man GLL auf DDC 
anschaltet und sonst ausschaltet (mit Checksumme 5D).

von Andreas (andreas6)


Lesenswert?

Der faule Mensch nimmt ein Programm:
1
NMEA-Checksum.
2
Enter NMEA-Command:
3
$PUBX,40
4
$PUBX,40*37
5
$PUBX,40*37$0D$0A
6
Enter NMEA-Command:

und kopiert sich das Kommando mit Prüfsumme dort raus. Für gelegentliche 
Anwendungen reicht das aus.

MfG. Andreas

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Die Minimalversion (bzgl. der Bedienoberfläche) dürfte wohl dieser 
Onlinerechner sein:
https://www.meme.au/nmea-checksum.html

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.