Buggfix Plus
Aktuellt datum och tid: 07.49 2020-02-21

Alla tidsangivelser är UTC + 1 timme




Svara på tråd  [ 14 inlägg ] 
Författare Meddelande
 Inläggsrubrik: OpenCPN, TCP, NMEA 0183
InläggPostat: 21.11 2019-10-14 
Användarvisningsbild

Blev medlem: 21.24 2011-12-10
Inlägg: 298
Ort: Nynäs
Jag försöker bygga en motortermometer för min båtmotor som jag skall presentera på en navigator. Jag börjar med OpenCPN 5.0.0 som har en NMEA debugfunktion jag vill utnyttja. Den loggar alla NMEA 0183 data som kommer in.
User manual https://opencpn.org/OpenCPN/info/manuals.html I pdf-dokumentet sid 189 finns följande text.
Citera:
TCP
A “connection-oriented” protocol which provides a reliable link between two network
endpoints. TCP ensures that any network packets lost in transit are re-transmitted. Internet
AIS servers normally accept TCP connections as do many serial-to-network/wifi devices.
To make a connection to a remote TCP server, enter its IP address or hostname in the
“Address” box and the TCP port on which the server listens in the “DataPort” box. Many
devices use a non-standard TCP port rather than OpenCPN's standard 10110, so do check the
server's documentation.
If “0.0.0.0” is entered in the Address box, OpenCPN will act as a TCP server accepting a
connection from a remote TCP client. OpenCPN will listen on all its host computer's
network interfaces for TCP connections to the port specified in the “DataPort” field. There
should normally be no reason to select a “DataPort” value other than the standard 10110
unless multiple servers are required:

Python-klienten jag testar med:
Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
#!/usr/bin/env python3
import socket

HOST = '0.0.0.0'
PORT = 10110

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, PORT))
    s.sendall(b'$GPGSV 4,1,14,01,29,162,10,03,81,134,13,06,30,307,,09,19,221,27*7D')   
 

Jag får det inte att fungera. Det kommer inte ett pip i debugfönstret från TCP. När jag använder gpsd med GSPD-protokol över lokalnät får jag in data från GPS. Några tips?

Bild från OpenCPN connections:


Logga in för att visa de filer som bifogats till detta inlägg.


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 21.30 2019-10-14 
EF Sponsor

Blev medlem: 11.54 2014-05-26
Inlägg: 689
Ort: Karlskoga
Prova med "localhost" istället för "0.0.0.0" i pythonkoden.

Jag tolkar det som att 0.0.0.0 i konfigurationen gör att den lyssnar efter inkommande anslutningar. Det har inget att göra med vilken ip-adress den verkligen har. Det är din dators konfiguration som styr.

localhost kan eventuellt ersättas med 127.0.0.1 som är samma sak.


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 21.54 2019-10-14 
Användarvisningsbild

Blev medlem: 21.24 2011-12-10
Inlägg: 298
Ort: Nynäs
Tyvärr localhost och 127.0.0.1 i pythonkoden ger samma resultat. Ingenting


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 22.14 2019-10-14 
Användarvisningsbild

Blev medlem: 16.35 2010-03-12
Inlägg: 1413
Ort: Smedjebacken
Servern lysnar på "0.0.0.0" vilket betyder alla interface i den burken.

Klienten ska konfas att prata med en ipadress som faktiskt finns på servern. (127.0.0.1 om klient och server körs på samma maskin)


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 22.27 2019-10-14 

Blev medlem: 22.31 2008-03-27
Inlägg: 1698
Ort: stockholm
vad säger
tcpdump broadcast
?


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 22.44 2019-10-14 

Blev medlem: 22.31 2008-03-27
Inlägg: 1698
Ort: stockholm
skulle visst varit ett litet sudo också :)
jag har ingen koll på python men om du ska skicka broadcast kanske 255.255.255.255 kan funka, annars får du nog göra som ajje skriver.

provade på min uppsättning ais-openCPN
ais skickar broadcast frames på nätverket och open cpn lyssnar på port 10110

Bilaga:
tcpdump.JPG




edit: kör du allt på samma maskin?


Logga in för att visa de filer som bifogats till detta inlägg.


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 23.26 2019-10-14 
Användarvisningsbild

Blev medlem: 20.23 2005-08-06
Inlägg: 24891
Ort: Oskarshamn (En bit utanför)
Apropå 0.0.0.0 osv:
Kika på mitt test här för ledtrådar:
viewtopic.php?f=43&t=69654&p=1015680&hilit=%2Apython%2A#p1015827


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 12.55 2019-10-15 
Användarvisningsbild

Blev medlem: 21.24 2011-12-10
Inlägg: 298
Ort: Nynäs
Hm nu skall vi se...
Ja jag kör på samma maskin. OpenCPN och pythonklienten.
Jag körde först 'sudo tcpdump -i lo'. Sen bytte jag till Wireshark och då upptäckte jag att jag missade att skicka LF o CR (0x0d o 0x0a) på slutet, men att peta dessa gjorde ingen skillnad.
Jag testade även att köra med UDP eftersom nifelheim använde det. Det gjorde inte någon skillnad. Det hände inte något i degbugfönstret på OpenCPN.

Om jag stänger ner OpenCPN får jag felmeddelande från min Pythonklient ('ConnectionRefusedError: [Errno 111] Connection refused). Får även felmeddelande även vid UDP men det ser jag bara i Wireshark och i tcpdump. (vem skickar felmedelande vid UDP? Routern?) Det är väl ok pythonklienten inte skickar felmedelande eftersom jag skickar datagram i detta fall.

Så min tanke för tillfället är att mitt problem är inte ett IP-problem utan något som OpenCPN inte gillar. Jag får kolla den bytesträng jag skickar från klienten igen.


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 19.44 2019-10-15 
EF Sponsor
Användarvisningsbild

Blev medlem: 15.29 2005-05-10
Inlägg: 38196
Ort: Söderköping
Inte för att jag vet, men vad ska man ha ett debug fönster
till om det inte även visar felaktiga paket/data?


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 20.20 2019-10-15 
Användarvisningsbild

Blev medlem: 10.07 2008-01-22
Inlägg: 1943
Ort: Stockholm
Vet inte alls om detta är relevant men när jag testade här att ta fram checksumman på strängen:
"GPGSV 4,1,14,01,29,162,10,03,81,134,13,06,30,307,,09,19,221,27" så blev det 71 och inte 7D?!

Bilaga:
Screenshot 2019-10-15 at 21.16.54.png


Logga in för att visa de filer som bifogats till detta inlägg.


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 21.24 2019-10-15 
Användarvisningsbild

Blev medlem: 21.24 2011-12-10
Inlägg: 298
Ort: Nynäs
Bilaga:
Screenshot from 2019-10-15 14-42-36.png
sodjan skrev:
Inte för att jag vet, men vad ska man ha ett debug fönster
till om det inte även visar felaktiga paket/data?
Det var det som var det fina i kråksången, tyckte jag, att även felaktiga meddelande skulle visas

edit:
Johano: Använt annan checksumma, 71. Tyvärr hände inget i debugfönstret. Stängde även av checksum-kollen. Inget nytt hände.


Logga in för att visa de filer som bifogats till detta inlägg.


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 22.28 2019-10-15 
Användarvisningsbild

Blev medlem: 10.07 2008-01-22
Inlägg: 1943
Ort: Stockholm
Jag blev tvungen att testa så jag sög ner OpenCPN och satte upp en "connection" med samma port som du.
Körde sedan ditt pythonprog och det dyker upp loggningar i debugfönstret.
(Har jag fel checksumma dyker det inte upp någonting dock).

Det är ingen brandvägg eller nåt sånt aktiverat som inte släpper igenom?
Fast då borde ju pythonprogrammet gett socket error 61 tycker jag.

Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
import socket

HOST = "127.0.0.1"
PORT = 10110

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, PORT))
    s.sendall(b"$GPGSV 4,1,14,01,29,162,10,03,81,134,13,06,30,307,,09,19,221,27*71")


Bilaga:
Screenshot 2019-10-15 at 23.22.40.png


Bilaga:
Screenshot 2019-10-15 at 23.22.51.png


Logga in för att visa de filer som bifogats till detta inlägg.


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 08.44 2019-10-16 
Användarvisningsbild

Blev medlem: 21.24 2011-12-10
Inlägg: 298
Ort: Nynäs
Hm...
Det som skiljer är att du använder en Mac och jag PC med Ubuntu.
Intressant att du har inga \x0d och \x0a i bytesträngen men de kommer ändå i Debugfönstret. Vet inte vad jag skall hitta på nu. Jag får installera om OpenCPN eftersom jag inte har några andra ideer.

Men jag får tacka för allt engagemang jag fått hitills. Det är tryggt när man kört fast och ideer och kunskap sinar. Tack :)


Upp
 Profil  
 
 Inläggsrubrik: Re: OpenCPN, TCP, NMEA 0183
InläggPostat: 11.26 2019-10-17 
Användarvisningsbild

Blev medlem: 21.24 2011-12-10
Inlägg: 298
Ort: Nynäs
Jag tappade farten och energi=> Brist på ideer
Men...
Jag hittade en misstänkt Bug i OpenCPN. I alla fall i min installtion. När jag skickat strängen
" s.sendall(b"$GPGSV 4,1,14,01,29,162,10,03,81,134,13,06,30,307,,09,19,221,27*71\x0d\x0a") "
Så hänger sig OpenCPN och måste starts om. Hittade även logfil som jag får kolla upp senare. Nu måste jag göra annat.

Jag återkommer. :)


Upp
 Profil  
 
Visa inlägg nyare än:  Sortera efter  
Svara på tråd  [ 14 inlägg ] 

Alla tidsangivelser är UTC + 1 timme


Vilka är online

Användare som besöker denna kategori: Google [Bot] och 1 gäst


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
    Electrokit
Drivs av phpBB® Forum Software © phpBB Group
Swedish translation by Peetra & phpBB Sweden © 2006-2010