Hallo, bisher hatte ich mich an das Thema https://forum.fhem.de/index.php/topic,97770.30.html angehängt. Dieses Thema löst die Themen, nachdem man die GPS-Daten auf dem Raspberry hat. Dort bin ich aber noch nicht und habe auch einen anderen Ansatz:
Ich bin auf der Suche nach einem GPS-Modul, das ich zusätzlich zu einem HM-Mod-RPI-PCB auf der GPIO Schnittstelle betreiben kann.
Gemäss MadMax ist die Auswahl des Modules insoweit schwierig, dass Tx/Rx auf dem Raspberry nur einmal verwendet werden darf, und das HMOD-PCB benutzt diese Schnittstelle bereits.
Eine Lösung wäre die Anbindung eines Modules per I2C oder SPI Schnittstelle. Ein solches Modul mit dieser Softwareschnittstelle habe ich bisher noch nicht gefunden.
Meine Kenntnisse reichen leider nicht aus, dass ich die Schnittstelle selbst software- oder hardwaremässig modifiziere. Hat jemand von euch hier einen Lösungsvorschlag?
Alternativ muss ich dann eben eine GPS-Maus an einer USB Schnittstelle verwenden. Habt ihr da einen Vorschlag. Hab mal selbst folgendes selektiert.
https://smile.amazon.de/gp/product/B01LXEMF0F
https://www.amazon.de/gp/product/B008200LHW/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1&tag=psblog-21&pldnSite=1
Merci.
Zitat von: UweUwe am 06 März 2019, 08:51:23
Eine Lösung wäre die Anbindung eines Modules per I2C oder SPI Schnittstelle. Ein solches Modul mit dieser Softwareschnittstelle habe ich bisher noch nicht gefunden.
Das in dem/den Link(s) genannte GPS-Modul kann das, also: UART (Tx/Rx am PI -> schon belegt), SPI und I2C...
Zitat von: UweUwe am 06 März 2019, 08:51:23
Meine Kenntnisse reichen leider nicht aus, dass ich die Schnittstelle selbst software- oder hardwaremässig modifiziere. Hat jemand von euch hier einen Lösungsvorschlag?
Das wird der Haken sein/bleiben...
Weil das was du (in dem anderen Thread) genannt hast zur Verarbeitung der Daten auf dem PI (gpsd!?) Daten auf einer UART-Schnittstelle erwartet (zumindest laut dem kurzen durchfliegen ;) ).
Wenn dem nicht so ist (müsste man halt mal im Internet bzgl. des GPS deamon / gpsd herausfinden) dann geht das GPS-Modul auch...
Ansonsten: eigene SW schreiben ;)
Zitat von: UweUwe am 06 März 2019, 08:51:23
Meine Kenntnisse reichen leider nicht aus, dass ich die Schnittstelle selbst software- oder hardwaremässig modifiziere. Hat jemand von euch hier einen Lösungsvorschlag?
Alternativ muss ich dann eben eine GPS-Maus an einer USB Schnittstelle verwenden.
Da wird es wohl so laufen "müssen"...
EDIT: der Titel "in einem Gehäuse" klingt interessant, weil beim Gehäuse bist du ja auch noch nicht ;) / evtl. ändern in: an einem PI betreiben... ;)
Gruß, Joachim
Hi,
bin jetzt den Weg über die USB-Maus gegangen. Ich hab einen https://www.amazon.de/USG-SiRFIV-USB-GPS-Receiver/dp/B008200LHW (USG SiRFIV USB GPS Receiver ) an den Raspberry angeschlossen und auch die entsprechenden Pakete installiert
sudo apt-get install gpsd gpsd-clients -y
Mit lsusb bekomme ich
pi@vagabundi:~ $ lsusb
Bus 001 Device 004: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
==> Bus 001 Device 4
mit
stty -F /dev/ttyUSB0 4800
cat /dev/ttyUSB0
erhalte ich valide Daten.
$GPGSA,A,3,16,27,21,26,20,10,,,,,,,4.9,1.7,4.6*3D
$GPGSV,3,1,11,16,70,236,29,27,54,291,24,21,50,063,29,26,49,182,44*75
$GPGSV,3,2,11,20,48,124,41,10,31,153,45,15,06,065,21,57,30,070,*75
$GPGSV,3,3,11,08,22,286,,07,14,319,,13,03,034,*42
$GPRMC,201713.000,A,5036.2094,N,00617.5489,E,0.00,205.58,120319,,,A*65
$GPGGA,201714.000,5036.2094,N,00617.5489,E,1,06,1.7,610.9,M,47.6,M,,0000*59
Aber in gpsd kann ich die Daten nicht anzeigen:
pi@vagabundi:~ $ gpsd -D5 -b -n -N /dev/ttyACM0
gpsd:INFO: launching (Version 3.16)
gpsd:IO: opening IPv4 socket
gpsd:ERROR: can't bind to IPv4 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:IO: opening IPv6 socket
gpsd:ERROR: can't bind to IPv6 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:INFO: command sockets creation failed, netlib errors -1, -1
auch wenn ich den möglich laufenden Prozess vorher kille. sudo pkill gpsd
.
Damit ist der Weg nach fhem versperrt. Wo ist mein Fehler?
Musst du nicht bei gpsd auch /dev/ttyUSB0 (wie beim Consolenaufruf) angeben?
Ich kenne aber das gpsd nicht wirklich...
Auf wekchem USB-dev "hängt" denn die GP-Maus?
Mal ls -la /dev/tty* ohne und mit gesteckter "Maus"...
Gruß, Joachim
Hi MadMax, schön von dir zu hören.
ZitatMal ls -la /dev/tty* ohne und mit gesteckter "Maus"...
Ergebnis ist :
crw-rw---- 1 root dialout 188, 0 Mär 12 21:30 /dev/ttyUSB0
gpsd -D5 -b -n -N /dev/ttyUSB0
, hatte ich so schon versucht. Habe den Eindruck, dass sich FHEM und die Maus sich in die quere kommen.
Ich meine sit dem GPS Installationstest Zugriffprobleme über die IP Adresse auf FHEM zu haben. Nach reboot ist alles wieder ok.
pi@vagabundi:~ $ gpsd -D5 -b -n -N /dev/ttyACM0
gpsd:INFO: launching (Version 3.16)
gpsd:IO: opening IPv4 socket
gpsd:ERROR: can't bind to IPv4 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:IO: opening IPv6 socket
gpsd:ERROR: can't bind to IPv6 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:INFO: command sockets creation failed, netlib errors -1, -1
pi@vagabundi:~ $ gpsd -D5 -b -n -N /dev/ttyUSB0
gpsd:INFO: launching (Version 3.16)
gpsd:IO: opening IPv4 socket
gpsd:ERROR: can't bind to IPv4 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:IO: opening IPv6 socket
gpsd:ERROR: can't bind to IPv6 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:INFO: command sockets creation failed, netlib errors -1, -1
Bist du sicher dass gpsd nicht schon als Deamon/Hintergrundprozess läuft bevor du ihn nochmal per Console zu starten versuchst?
Was sagt:
ps -ax | grep gpsd
Bevor du noch mal manuell startest (bzw. nach Boot / schon mal gebootet? )...
ttyUSB0 müsste schon passen...
Was machst du denn (bereits) in fhem mit dem GPS-Modul?
Gruß, Joachim
Hi,
folgendes bringt den beschrieben Step nach vorne:
Neustart
Maus einstecken
pi@vagabundi:~ $ stty -F /dev/ttyUSB0 4800
pi@vagabundi:~ $ cat /dev/ttyUSB
Anschliessend fliegen nach kurzer Zeit valide Daten über den Bildschirm:
$GPGSV,3,3,12,08,37,293,,57,29,067,,07,15,304,,30,06,334,*73
$GPRMC,205559.000,A,5036.2151,N,00617.5516,E,0.00,94.87,120319,,,A*5A
$GPGGA,205600.000,5036.2151,N,00617.5516,E,1,08,1.2,507.4,M,47.6,M,,0000*55
Aber eben kein gpsd und kein FHEM :-[
Hast du in fhem noch den initialUsbCheck aktiv?
Was "sagt" der ps-ax?
Und es kann immer nur EINER mit der GPS-Maus "reden"...
Gruß, Joachim
Hi,
nochmals rboot und dann
pi@vagabundi:~ $ ps -ax | grep gpsd
780 pts/0 S+ 0:00 grep --color=auto gpsd
Heisst dies, dass gpsd bereits läuft?
Ich mache bisher nichts in FHEM mit GPS. Ich habe ne kleine FHEM Installation ohne GPS
Nein die Ausgabe sagt eigentlich dass kein gpsd läuft/laufen sollte...
Dachte nur wg. der Port-Belegt-Meldung...
...da der Standardport definitiv nicht der von fhem ist sollte sich das auch nicht stören...
Was ist mit initialUsbCheck?
Aktiv?
Das kann dann zu "Problemen" mit USB-Geräten führen (die kein CUL etc. sind) und sogar fhem "blockieren"...
Gruß, Joachim
Hi mad-max, jetzt bist du mir davongeeilt.
ZitatHast du in fhem noch den initialUsbCheck aktiv?
Mein FHEM ist wieder blockiert. Meine Vermutung!!
ZitatWas "sagt" der ps-ax? |
==> Muss ich leider alles schicken..
pi@vagabundi:~ $ ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:01 /sbin/init
2 ? S 0:00 [kthreadd]
4 ? I< 0:00 [kworker/0:0H]
5 ? I 0:00 [kworker/u8:0]
6 ? I< 0:00 [mm_percpu_wq]
7 ? S 0:00 [ksoftirqd/0]
8 ? I 0:00 [rcu_sched]
9 ? I 0:00 [rcu_bh]
10 ? S 0:00 [migration/0]
11 ? S 0:00 [cpuhp/0]
12 ? S 0:00 [cpuhp/1]
13 ? S 0:00 [migration/1]
14 ? S 0:00 [ksoftirqd/1]
16 ? I< 0:00 [kworker/1:0H]
17 ? S 0:00 [cpuhp/2]
18 ? S 0:00 [migration/2]
19 ? S 0:00 [ksoftirqd/2]
21 ? I< 0:00 [kworker/2:0H]
22 ? S 0:00 [cpuhp/3]
23 ? S 0:00 [migration/3]
24 ? S 0:00 [ksoftirqd/3]
26 ? I< 0:00 [kworker/3:0H]
27 ? S 0:00 [kdevtmpfs]
28 ? I< 0:00 [netns]
29 ? I 0:00 [kworker/0:1]
30 ? I 0:00 [kworker/1:1]
31 ? I 0:00 [kworker/2:1]
32 ? I 0:00 [kworker/3:1]
33 ? S 0:00 [khungtaskd]
34 ? S 0:00 [oom_reaper]
35 ? I< 0:00 [writeback]
36 ? S 0:00 [kcompactd0]
37 ? I< 0:00 [crypto]
38 ? I< 0:00 [kblockd]
39 ? I< 0:00 [watchdogd]
40 ? I< 0:00 [rpciod]
41 ? I< 0:00 [xprtiod]
42 ? I 0:01 [kworker/u8:1]
44 ? S 0:00 [kswapd0]
45 ? I< 0:00 [nfsiod]
55 ? I< 0:00 [kthrotld]
56 ? I< 0:00 [iscsi_eh]
57 ? I< 0:00 [dwc_otg]
58 ? I< 0:00 [DWC Notificatio]
59 ? S< 0:00 [vchiq-slot/0]
60 ? S< 0:00 [vchiq-recy/0]
61 ? S< 0:00 [vchiq-sync/0]
62 ? S 0:00 [vchiq-keep/0]
63 ? S< 0:00 [SMIO]
65 ? S 0:00 [irq/92-mmc1]
66 ? I 0:00 [kworker/3:3]
68 ? S 0:00 [mmcqd/0]
69 ? S 0:00 [jbd2/mmcblk0p2-]
70 ? I< 0:00 [ext4-rsv-conver]
71 ? I< 0:00 [ipv6_addrconf]
86 ? I< 0:00 [kworker/1:1H]
90 ? Ss 0:00 /lib/systemd/systemd-journald
93 ? I 0:00 [kworker/u8:2]
123 ? I 0:00 [kworker/2:2]
125 ? I 0:00 [kworker/0:2]
127 ? Ss 0:00 /lib/systemd/systemd-udevd
128 ? I 0:00 [kworker/1:2]
237 ? I< 0:00 [cfg80211]
244 ? I< 0:00 [brcmf_wq/mmc1:0]
245 ? S 0:00 [brcmf_wdog/mmc1]
286 ? Ssl 0:00 /lib/systemd/systemd-timesyncd
328 ? Ss 0:00 /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d
329 ? Ss 0:00 /usr/sbin/cron -f
331 ? Ss 0:00 /usr/bin/dbus-daemon --system --address=systemd: --no
336 ? Ss 0:00 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
337 ? Ss 0:00 /lib/systemd/systemd-logind
347 ? Ss 0:00 avahi-daemon: running [vagabundi.local]
348 ? Ssl 0:00 /usr/sbin/rsyslogd -n
380 ? S 0:00 avahi-daemon: chroot helper
413 ? Ss 0:00 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplican
428 ? I< 0:00 [kworker/2:1H]
480 ? I< 0:00 [kworker/u9:0]
482 ? S 0:00 /usr/bin/hciattach /dev/serial1 bcm43xx 460800 noflow
485 ? I< 0:00 [kworker/u9:2]
490 ? Ss 0:00 /usr/lib/bluetooth/bluetoothd
546 ? Ss 0:00 /sbin/dhcpcd -q -w
561 tty1 Ss+ 0:00 /sbin/agetty --noclear tty1 linux
563 ? Ss 0:00 /usr/sbin/sshd -D
572 ? S 0:09 /usr/bin/perl fhem.pl fhem.cfg
646 ? Ssl 0:00 /usr/sbin/mysqld
742 ? Ss 0:00 sshd: pi [priv]
747 ? Ss 0:00 /lib/systemd/systemd --user
750 ? S 0:00 (sd-pam)
757 ? S 0:00 sshd: pi@pts/0
760 pts/0 Ss 0:00 -bash
777 ? I< 0:00 [kworker/0:1H]
784 ? I< 0:00 [kworker/3:1H]
786 ? I 0:00 [kworker/3:0]
787 ? I 0:00 [kworker/0:0]
788 pts/0 R+ 0:00 ps ax
Hallo, hab kein CUL dran. Nur ein Homematic Funkmodul.
Ich weiss nicht, ob ich initialUsbCheck aktiv habe. Kann ich dies testen?
Ich daddel grad nur mit dem Handy...
Mit ps -ax war nat. der gesamte Befehl von oben gemeint: passt schon! ;)
Wollte nur nicht alles noch mal rein daddeln... ;)
Wie steht es um initialUsbCheck?
Gruß, Joachim
Zitat von: UweUwe am 12 März 2019, 22:11:42
Hallo, hab kein CUL dran. Nur ein Homematic Funkmodul.
Ich weiss nicht, ob ich initialUsbCheck aktiv habe. Kann ich dies testen?
Ich meinte ja auch nicht, dass du einen CUL dran hast, sondern dass initialUsbCheck schon mal Probleme (mit nicht CUL) USB-Devices macht (führt zu weit, einfach mal.danach suchen bei Interesse)...
Ja.
Entweder list initialUsbCheck
Oder (wenn fhem nicht tut):
cat /opt/fhem/fhem.cfg | grep initialUsbCheck
Oder im fhem-Log nach entsprechenden Meldungen schauen...
Gruß, Joachim
Internals:
DEF global:INITIALIZED usb create
FUUID 5c76d022-f33f-813e-ea4a-b5b2b44cc116842a
NAME initialUsbCheck
NOTIFYDEV global
NR 13
NTFY_ORDER 50-initialUsbCheck
REGEXP global:INITIALIZED
STATE 2019-03-12 22:13:39
TRIGGERTIME 1552425219.95221
TYPE notify
READINGS:
2019-03-12 22:13:37 state active
Attributes:
DbLogExclude .*
Ich nehme an "deaktivieren" oder löschen.
Bei gesteckter Maus bei reboot komme ich nicht auf FHEM!
pi@vagabundi:~ $ cat /opt/fhem/fhem.cfg | grep initialUsbCheck
define initialUsbCheck notify global:INITIALIZED usb create
setuuid initialUsbCheck 5c76d022-f33f-813e-ea4a-b5b2b44cc116842a
attr initialUsbCheck DbLogExclude .*
Definitiv.
Hab mich noch gar nicht bei dir bedankt für den Support, warst einfach zu schnell. Soll ich jetzt deaktivieren und reboot..?
Dann Maus abstecken und booten und dann:
attr initialUsbCheck disable 1
EDIT: nach Boot ohne GPS-Maus kommst du ja auf fhem!?
EDIT2: wenn es mehrere Möglichkeiten gibt reicht (mir) das Ergebnis einer Variante ;)
Danach sollte (hoffentlich) fhem auch mit gesteckter Maus laufen...
Gruß, Joachim
Hi,
leider war dies noch nicht die Lösung für GPS:
Internals:
DEF global:INITIALIZED usb create
FUUID 5c76d022-f33f-813e-ea4a-b5b2b44cc116842a
NAME initialUsbCheck
NOTIFYDEV global
NR 13
NTFY_ORDER 50-initialUsbCheck
REGEXP global:INITIALIZED
STATE disabled
TYPE notify
READINGS:
2019-03-12 22:26:39 state disabled
Attributes:
DbLogExclude .*
disable 1
pi@vagabundi:~ $ gpsd -D5 -b -n -N /dev/ttyUSB0
gpsd:INFO: launching (Version 3.16)
gpsd:IO: opening IPv4 socket
gpsd:ERROR: can't bind to IPv4 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:IO: opening IPv6 socket
gpsd:ERROR: can't bind to IPv6 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:INFO: command sockets creation failed, netlib errors -1, -1
Zitat von: UweUwe am 12 März 2019, 22:31:25
Hi,
leider war dies noch nicht die Lösung für GPS:
Internals:
DEF global:INITIALIZED usb create
FUUID 5c76d022-f33f-813e-ea4a-b5b2b44cc116842a
NAME initialUsbCheck
NOTIFYDEV global
NR 13
NTFY_ORDER 50-initialUsbCheck
REGEXP global:INITIALIZED
STATE disabled
TYPE notify
READINGS:
2019-03-12 22:26:39 state disabled
Attributes:
DbLogExclude .*
disable 1
pi@vagabundi:~ $ gpsd -D5 -b -n -N /dev/ttyUSB0
gpsd:INFO: launching (Version 3.16)
gpsd:IO: opening IPv4 socket
gpsd:ERROR: can't bind to IPv4 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:IO: opening IPv6 socket
gpsd:ERROR: can't bind to IPv6 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:INFO: command sockets creation failed, netlib errors -1, -1
Das war auch nicht das Ziel.
Sondern nur erst mal (hoffentlich) fhem mit gesteckter Maus nutzen zu können...
Bzgl. gpsd hab ich grad keine Idee...
...außer evtl. mal beim Aufruf einen Port angeben der auf jeden Fall frei ist...
Da ich gpsd nicht wirklich kenne und auch keine GPS-Maus etc. hab kann ich auch nicht mehr viel helfen. Evtl. mal in einem Raspberry-Forum (du hast ja was verlinkt, wenn ich mich recht erinnere) nachfragen. Oder hier einen neuen Thread aber dann brauchst du Glück, dass jemand hier ist, der Ahnung hat und "drüber stolpert"...
Gruß, Joachim
Hi, komischerweise bekomme ich sowohl bei
gpsd -D5 -b -n -N /dev/ttyUSB0
(müsste richtig sein)
und gpsd -D5 -b -n -N /dev/ttyACM0
diesselbe Fehlermeldung.
pi@vagabundi:~ $ gpsd -D5 -b -n -N /dev/ttyUSB0
gpsd:INFO: launching (Version 3.16)
gpsd:IO: opening IPv4 socket
gpsd:ERROR: can't bind to IPv4 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:IO: opening IPv6 socket
gpsd:ERROR: can't bind to IPv6 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:INFO: command sockets creation failed, netlib errors -1, -1
Hi, das erste Ziel hast du erreicht, auch bei gesteckter Maus funktionieren FHEM Zugriffe. Merci. Danke.
Vielleicht widerhole ich mich:
1. Maus hat fix und liefert fleissig mit
pi@vagabundi:~ $ stty -F /dev/ttyUSB0 4800
pi@vagabundi:~ $ cat /dev/ttyUSB0
Daten.. weiterhin. USB0 müsste korrekt sein.
Zitat von: UweUwe am 12 März 2019, 22:41:07
Hi, das erste Ziel hast du erreicht, auch bei gesteckter Maus funktionieren FHEM Zugriffe. Merci. Danke.
Vielleicht widerhole ich mich:
1. Maus hat fix und liefert fleissig mit
pi@vagabundi:~ $ stty -F /dev/ttyUSB0 4800
pi@vagabundi:~ $ cat /dev/ttyUSB0
Daten.. weiterhin. USB0 müsste korrekt sein.
Ja, denke auch, dass /dev/ttyUSB0 richtig ist...
Habe hier etwas gefunden was (zu Beginn) ähnlich deinem Problem ist: https://www.raspberrypi.org/forums/viewtopic.php?t=138711
Habs aber nicht wirklich zu Ende verfolgt...
Und wie geschrieben: ab jetzt gehen mir die Ideen aus und probieren testen kann ich mangels HW nicht...
Viel Erfolg!!
Gruß und sorry, Joachim
Hallo Mad.Max, das war ein guter Schritt weiter. gpsd lässt sich jetzt starten und bringt folgende Daten an den Bildschirm nach Eingabe von:
6,M,,0000*50
gpsd:PROG: GPGGA sentence timestamped 220026.00.
gpsd:PROG: GPGGA starts a reporting cycle.
gpsd:PROG: NTP: ntpshm_put(/dev/ttyUSB0 clock) 1552428026.000000000 @ 1552428023.274300906
gpsd:IO: <= GPS: $GPGSA,A,3,27,08,10,20,18,16,21,,,,,,2.1,1.4,1.6*30
gpsd:PROG: GPGSA sets mode 3
gpsd:IO: <= GPS: $GPRMC,220026.000,A,5036.2023,N,00617.5791,E,0.00,303.64,120319,,,A*69
gpsd:PROG: GPRMC sentence timestamped 220026.00.
gpsd:PROG: GPRMC ends a reporting cycle.
gpsd:IO: <= GPS: $GPGGA,220027.000,5036.2023,N,00617.5791,E,1,07,1.4,543.4,M,47.6,M,,0000*51
gpsd:PROG: GPGGA sentence timestamped 220027.00.
gpsd:PROG: GPGGA starts a reporting cycle.
gpsd:PROG: NTP: ntpshm_put(/dev/ttyUSB0 clock) 1552428027.000000000 @ 1552428024.274661574
gpsd:IO: <= GPS: $GPGSA,A,3,27,08,10,20,18,16,21,,,,,,2.1,1.4,1.6*30
gpsd:PROG: GPGSA sets mode
Der Hinweis war:
ZitatHi,
...
Try to change /lib/systemd/system/gpsd.socket
from ListenStream=127.0.0.1:2947
which listens to localhost only to
ListenStream=0.0.0.0:2947
Leider zeigt
cgps -s
immer noch keine Daten an, alles nur mit Platzhaltern.
Startest du cgps in einem neuen/weiteren Terminal!?
Oder läuft jetzt gpsd als service nach dem Booten!?
Ansonsten: nicht wirklich hilfreiche weitere Ideen...
gpxlogger oder gpsmon probiert!?
Gruß, Joachim
Hallo Mad-Max,
ZitatStartest du cgps in einem neuen/weiteren Terminal!?
==> nach dem Booten starte ich manuell:
stty -F /dev/ttyUSB0 4800
cat /dev/ttyUSB0 # dann sehe ich, dass Daten kommen, dies breche ich dann ab.
sudo gpsd -D5 -b -N /dev/ttyUSB0 # das läuft auch weiter bis ich es abbreche
cgps -s # dann bekomme ich die korrekte cgps Anzeige, jedoch mit Platzhaltern.
es bringt dasselbe, wenn ich anstatt
sudo gpsd -D5 -b -N /dev/ttyUSB0
nur
sudo gpsd -b /dev/ttyUSB0
mache und dann
cgps -s
Was heißt bis du abbrichst!?
Läuft nun gpsd weiterhin!?
Weil wenn du gpsd manuell startest/starten musst ist dann das Terminal "frei", also siehst du einen "prompt"!?
Oder erst wieder, wenn du gpsd wieder "beendest"/"abbrichst"!?
Weil gpsd muss nat. laufen, sonst gibts auch mit cgps keine Ausgaben!
Also ohne laufenden gpsd "Deamon" keine GPS-Daten...
Drum ja auch die Frage, ob du schon mal in einem Terminal gpsd gestartet hast und laufen lässt und dann in einem weiteren Terminal cgps gestartet hast...
Ist unnötig, wenn gpsd als Service nach dem Boot selber laufen würde...
Gruß, Joachim
Hallo, Guten Morgen.
ich starte gpsd in einem Terminal und bekomme dann folgenden Output:
pi@vagabundi:~ $ sudo gpsd -D5 -b -N /dev/ttyUSB0
gpsd:INFO: launching (Version 3.16)
gpsd:IO: opening IPv4 socket
gpsd:IO: opening IPv6 socket
gpsd:ERROR: can't bind to IPv6 port gpsd, Address already in use
gpsd:ERROR: maybe gpsd is already running!
gpsd:INFO: listening on port gpsd
gpsd:PROG: NTP: shmat(0,0,0) succeeded, segment 0
gpsd:PROG: NTP: shmat(32769,0,0) succeeded, segment 1
gpsd:PROG: NTP: shmat(65538,0,0) succeeded, segment 2
gpsd:PROG: NTP: shmat(98307,0,0) succeeded, segment 3
gpsd:PROG: NTP: shmat(131076,0,0) succeeded, segment 4
gpsd:PROG: NTP: shmat(163845,0,0) succeeded, segment 5
gpsd:PROG: NTP: shmat(196614,0,0) succeeded, segment 6
gpsd:PROG: NTP: shmat(229383,0,0) succeeded, segment 7
gpsd:PROG: successfully connected to the DBUS system bus
gpsd:PROG: shmget(0x47505344, 8928, 0666) for SHM export succeeded
gpsd:PROG: shmat() for SHM export succeeded, segment 262152
gpsd:INFO: stashing device /dev/ttyUSB0 at slot 0
gpsd:INFO: running with effective group ID 20
gpsd:INFO: running with effective user ID 110
gpsd:INFO: startup at 2019-03-13T06:16:16.000Z (1552457776)
was auf den ersten Blick nicht schlecht aussieht, wobei IPv6 scheitert, was das immer heisst.
Dann wechsle ich das Terminal, schaue mir nochmals die einkommenden Daten an:
$GPGSA,A,3,07,09,30,02,05,06,23,16,,,,,2.3,1.1,2.0*3B
$GPRMC,062100.000,A,5036.2133,N,00617.5674,E,0.00,317.93,130319,,,A*6E
$GPGGA,062101.000,5036.2133,N,00617.5674,E,1,08,1.1,544.7,M,47.6,M,,0000*54
$GPGSA,A,3,07,09,30,02,05,06,23,16,,,,,2.3,1.1,2.0*3B
$GPRMC,062101.000,A,5036.2133,N,00617.5674,E,0.00,317.93,130319,,,A*6F
$GPGGA,062102.000,5036.2133,N,00617.5674,E,1,08,1.1,544.7,M,47.6,M,,0000*57
und starte dann
cgps -s
ohne Daten, nur Platzhalter.
Hallo, bin jetzt schon weiter gekommen, sehr durch die Hinweise von MadMax und folgende Seite:
https://www.raspberrypi.org/forums/viewtopic.php?t=138711
Problem lag in der unvollständigen Konfiguration. Ich hatte erwartet, dass dies mit der Installation geschieht:
1. Thema: hat man in FHEM das attr initialUsbCheck aktiviert, so blockiert die angeschlossene GPS-Maus den Zugang zu FHEM:
ZitatDann Maus abstecken und booten und dann:
Code: [Auswählen]
attr initialUsbCheck disable 1
2. Folgende Änderungen in der /lib/systemd/system/gpsd/socket durchführen:
Try to change /lib/systemd/system/gpsd.socket
from ListenStream=127.0.0.1:2947
which listens to localhost only to
ListenStream=0.0.0.0:2947
3. Folgende Änderungen in /etc/default/gpsd durchführen:
# /etc/default/gpsd
START_DAEMON="true"
GPSD_OPTIONS="-n"
DEVICES="/dev/ttyAMA0"
USBAUTO="false"
GPSD_SOCKET="/var/run/gpsd.sock"
Reboot
pi@vagabundi:~ $ stty -F /dev/ttyUSB0 4800
pi@vagabundi:~ $ sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
pi@vagabundi:~ $ cgps -s
bringt dann korrekte Daten in der cgps.
Jetzt gilt es die Daten in FHEM zu bringen. Für Tips bin ich sehr offen und sehr interessiert.
Hallo, möchte noch einen weiteren Update geben, der führt mich jetzt in das FHEM zurück.
Ich fasse nochmals zusammen:
1. attr initialUsbCheck disable 1 (wichtig).2. Zitat2. Folgende Änderungen in der /lib/systemd/system/gpsd/socket durchführen:[/u][/u]
Code: [Auswählen]
Try to change /lib/systemd/system/gpsd.socket
from ListenStream=127.0.0.1:2947
which listens to localhost only to
ListenStream=0.0.0.0:2947
kann und muss man leider wieder rückgängig machen. Ansonsten läuft das Umsetzprogramm nach FHEM nicht.
3.
Zitat
3. Folgende Änderungen in /etc/default/gpsd durchführen:
Code: [Auswählen]
# /etc/default/gpsd
START_DAEMON="true"
GPSD_OPTIONS="-n"
DEVICES="/dev/ttyAMA0"
USBAUTO="false"
GPSD_SOCKET="/var/run/gpsd.sock"
genau so ändern
4. Folgendes Programm installieren:sudo cpan install GPSD::Parse
5. Test durchführen, ob cprs läuft:pi@vagabundi:~ $ stty -F /dev/ttyUSB0 4800
pi@vagabundi:~ $ sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
pi@vagabundi:~ $ cgps -s
6. Subprogramm aus dem Forum nachladen und definieren: https://forum.fhem.de/index.php/topic,75736.msg711208.html#msg711208
ZitatDann das angehängte FHEM-Modul laden. Läuft gpsd lokal, braucht man nix weiter einstellen:
Code: [Auswählen]
define meinGPS GPSD
- fertig. Ansonsten mit:
Code: [Auswählen]
define meinGPS GPSD host=192.168.77.88 port=2947
Nach einigen Sekunden kriegt man dann diverse Readings. Das Update-Intervall lässt sich per Attribut gpsd_PollInterval einstellen.
Erfolgreich dauergetestet auf einem Raspi Pi 3 (unter Raspbian Stretch Lite) mit einem Navilock NL-8002U 62523 USB-GPS-Empfänger (Ublox UBX-M8030-KT Chip) und frischem FHEM. Knownbugs sind ein paar Perl-Warnings im FHEM-Log durch die GPSD::Parse Bibliothek.
* 49_GPSD.pm (4.94 kB - runtergeladen 26 Mal.)
==> und man kommt in FHEM die readings:
Internals:
CFGFN
FUUID 5c88df62-f33f-813e-674c-e2c2ebdc26cb0a2e
NAME meinGPS
NR 86
STATE Connected
TYPE GPSD
gpsdHost 127.0.0.1
gpsdPort 2947
pollInterval 600
Helper:
DBLOG:
altitude:
DBLogging:
TIME 1552474374.45812
VALUE 545.89
lat:
DBLogging:
TIME 1552474374.45812
VALUE 50.603580056
lon:
DBLogging:
TIME 1552474374.45812
VALUE 6.292890721
state:
DBLogging:
TIME 1552473954.14298
VALUE Connected
READINGS:
2019-03-13 11:52:54 altitude 545.89
2019-03-13 11:52:54 climbRate 0
2019-03-13 11:52:54 direction N
2019-03-13 11:52:54 errorAltitude 10.11
2019-03-13 11:52:54 errorClimbRate 20.22
2019-03-13 11:52:54 errorLonLat 4.36
2019-03-13 11:52:54 errorSpeed 8.72
2019-03-13 11:52:54 heading 0
2019-03-13 11:52:54 lat 50.603580056
2019-03-13 11:52:54 lon 6.292890721
2019-03-13 11:52:54 speed 0
2019-03-13 11:45:54 state Connected
2019-03-13 11:52:54 time_utc 2019-03-13T10:52:54.000Z
2019-03-13 11:52:54 usedGpsDevice /dev/ttyUSB0
helper:
GPSDparams:
host 127.0.0.1
port 2947
Attributes:
DbLogExclude .*
DbLogInclude lat,lon,altitude
gpsd_pollInterval 600
userattr gpsd_pollInterval
8. Ich habe dblog aktiv und schreibe nun alle 10 Minuten lat,lon und altitude weg.
---------------------------------------------------------------------------------------------- soweit ok -----------------------------
Frage und Bitte noch an die Linux Experten: wie erreiche ich es jetzt, dass diese gesamte Prozedure immer bei Neustart des Raspberry gestartet wird? 8) 8) 8)