Folgende Warnungen sind aufgetreten: | |||||||||||||||
Warning [2] Undefined variable $unreadreports - Line: 34 - File: global.php(961) : eval()'d code PHP 8.2.24 (Linux)
|
GPS Zeit aus Navit in Skript schreiben? - Druckversion +- RasPiCar Projekt Forum (https://RasPiCarProjekt.de) +-- Forum: Software (https://RasPiCarProjekt.de/forumdisplay.php?fid=4) +--- Forum: Programmierung (https://RasPiCarProjekt.de/forumdisplay.php?fid=18) +--- Thema: GPS Zeit aus Navit in Skript schreiben? (/showthread.php?tid=1018) |
GPS Zeit aus Navit in Skript schreiben? - tigger-gg - 20.03.2017 Hallo, nachdem mein CarPi nun super läuft, stört mich nur noch eins: Mein USB GPS unterstützt kein PPS, also kann ich das mit dem Sync bei NTP vergessen. Jedes mal einen Hotspot am Handy aktivieren um das die Zeit synchronisiert wird, ist nervig. Nachdem die Uhr bei mir nicht auf die Sekunde genau gehen muss, hatte ich folgende Idee: - aus snaga.xml Code: <osd enabled="yes" type="text" label="${vehicle.position_time_iso8601[+01:00;%M%M%D%D%h%h%m%m%Y%Y]} " x="512" y="45" w="256" h="80" /> - dieses Skript soll dann mit den ausgelesenen Werten die Systemzeit setzen Code: sudo date -u MMDDhhmmYY Damit wäre ich schon zufrieden. Nur wie bekomme ich die Zeit in mein Skript? Hat da jemand eine Idee und kann mir helfen? RE: GPS Zeit aus Navit in Skript schreiben? - Jack - 20.03.2017 Warum baust du dir nicht einfach eine RTC ein? RE: GPS Zeit aus Navit in Skript schreiben? - Thedk - 20.03.2017 Hat das mittlerweile schon jemand gemacht mit dem RTC? Hatte bisher noch keine Lust RE: GPS Zeit aus Navit in Skript schreiben? - tigger-gg - 20.03.2017 (20.03.2017, 20:24)Jack schrieb: Warum baust du dir nicht einfach eine RTC ein?Weil alles im Auto eingebaut ist und ich keine Lust habe alles wieder raus zu holen RE: GPS Zeit aus Navit in Skript schreiben? - Jack - 20.03.2017 @tigger-gg Hm, blöd gelaufen! Mit den Skripten kann ich leider nicht helfen. Bin da selber ein ziemlicher Noob … @Thedk In meinem Projekt arbeitet seit geraumer Zeit eine RTC DS3231 absolut zuverlässig. Hatte zuerst Bedenken, da die RTC wie auch das Radio-Modul den I2C benutzt. Das ist aber kein Problem, die beiden stören sich nicht. Die Einrichtung mit einer der zahlreichen im Netz zu findenden Anleitungen war auch ruckzuck erledigt. Von meiner Seite eine klare Empfehlung dafür. Aber unbedingt darauf achten, dass es eine DS3231 ist und keine DS1307. Letztere ist nämlich ziemlich ungenau. Und ein weiterer Punkt, auf den man achten sollte: Wenn möglich, ein Exemplar mit einer CR2032 als Stromversorgung nehmen. Es gibt nämlich auch Angebote mit einer ziemlich exotischen Knopfzelle, die man nur schwer im Handel findet. Und nach ca. einem Jahr ist die Zelle leer und muss ersetzt werden. Die CR2032 hat eine höhere Kapazität und hält somit länger durch und ist darüberhinaus auch überall erhältlich. RE: GPS Zeit aus Navit in Skript schreiben? - Thedk - 20.03.2017 Hab beide Module da Das teilweise ein Akku und bei manchen eine normale Batterie verbaut ist, hatte ich auch schon gelesen. Deswegen habe ich mir gleich ein Modul ohne Batterie bestellt. Anleitungen habe ich auch schon genug gefunden, muss ich demnächst mal ran wenn ich Lust habe RE: GPS Zeit aus Navit in Skript schreiben? - Jack - 20.03.2017 Das lohnt sich auf jeden Fall. Die Uhrzeit über GPS zu holen hat bei mir nicht immer wirklich zuverlässig funktioniert. Mit der RTC ist das jetzt überhaupt kein Problem mehr. RE: GPS Zeit aus Navit in Skript schreiben? - tigger-gg - 22.03.2017 So, ich hab mal ein wenig in meinen "alten Dateibeständen" gekramt. Ich wusste ich hatte so was ähnliches schon mal gebraucht. Bei unserem ersten Wetterballon ist noch ein RPi mitgeflogen (ist inzwischen von einem Arduino ersetzt worden). Genau das gleich Problem mit der Systemzeit hatten wir da auch. Hier bin ich damals fündig geworden und habe auch vom Autor sehr nette und schnelle Hilfe bekommen. Das Python Script von der Seite hatten wir damals abgeändert um dem RPi die Systemzeit beizubringen. Ich habe das jetzt noch ein wenig angepasst. Dabei ist das raus gekommen (ich habe es gpstime.py genannt): Code: #!/usr/bin/python Code: chmod +x gpstime.py Folgende Zeile muss noch an die eigene Schnittstelle angepasst werden. Wie man die raus findet erklärt CHristian hier. Code: UART = serial.Serial("/dev/ttyACM0", 9600) Damit das alles auch automatisch abläuft, lasse ich das Script von /etc/rc.local beim Systemstart aufrufen: Code: python /home/pi/gpstime.py & Da ich leider von Python keine große Ahnung habe, weiß ich noch nicht was das Skript macht wenn der GPS Empfänger länger zum Fix braucht. Ich hoffe das meiner jetzt über Nacht alles vergisst und er morgen früh länger für einen Fix braucht. Dann kann ich dazu vielleicht mehr sagen. Sollte das mit der rc.local keine gute Idee sein, könnte man das Script auch in crontab z.B. die 2./5. und 7. Minute nach Systemstart starten lassen. Ich werde berichten. RE: GPS Zeit aus Navit in Skript schreiben? - tigger-gg - 23.03.2017 Inzwischen bin ich soweit zufrieden wie es läuft. Ich habe mich gegen die rc.local und für crontab entschieden. crontab -e: Code: @reboot sleep 60; python /home/pi/gpstime.py Ein kleines Problem gab es noch. Navit erhebt auch Anspruch auf die GPS Schnittstelle (dev/tty****). Da aber nach dem Systemstart dev/tty**** noch von gpstime.py benutzt wird, musste ich Navit pausieren bis das Skript bzw die Zeitsynchronisation beendet ist. Ich habe in /opt/carpc/startup/StartCarPC vor den Start von Navit ein sleep 80 && gesetzt. Code: #!/bin/bash Beim Wechsel von Sommer- und Winterzeit muss in gpstime.py entweder Code: Stunde = int(float(Uhrzeit[0:2]) + 1) Code: Stunde = int(float(Uhrzeit[0:2]) + 2) Es ist sicher keine Ideallösung, doch mir genügt das vollkommen. Es soll auch nur eine Lösung dafür sein, wenn keine Internetverbindung besteht, das GPS Modul kein PPS unterstützt bzw. wenn keine RTC vorhanden ist. |