Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

GPS und serielle Schnittstelle beobachten

0 views
Skip to first unread message

Gerhard Henssen

unread,
Apr 7, 1999, 3:00:00 AM4/7/99
to
Hi,

ich möchte gerne Daten von einem GPS-Empfänger über die serielle
Schnittstelle protokollieren ( und in weiteren SChritten auswerten ).
Dazu suche ich ein Program, mit dem ich die serielle SChnittstelle
"beobachten" und Einstellungen, wie Baudrate = 4800 etc. machen kann.

Vielleicht ist die Frage dumm, aber ich habe bisher nichts
entsprechendes gefunden....

Kennt jemand nautische SOftware für Linux, d.h. Auswertung von GPs-,
Wind, Kompass-Daten etc. und Darstellung in Vektorkarten o.ä. ??

Gruss

Gerd

--

,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'
Gerhard Henssen
Gerhard-Mercator-Universitaet Tel. ++49 203 379 3237
Fachbereich 7 - Thermodynamik Fax. ++49 203 379 1594
D - 47048 Duisburg email: Hen...@uni-duisburg.de

WWW: http://www.uni-duisburg.de/FB7/FG01/documents/henssen/home.html
'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,


,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'
privat: Duissernstra"se 90 Tel. ++49 203 344 905
47058 Duisburg Fax. ++49 2561 91371 8619
'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~*-,

Andreas Lange

unread,
Apr 7, 1999, 3:00:00 AM4/7/99
to
Gerhard Henssen schrieb:

Hallo Gerd,

es gibt mehrere Programme unter Linux. Leider sitze ich gerade an meinem
Windows-Rechner und komme nicht dran.
Schau mal unter http://vancouver-webpages.com/peter/index.html, dort ist
ein umfangreiches Verzeichnis von Software fuer GPS-Empfaenger.

Es gibt sogar ein Programm mit Kartenanbindung von Mayko (Mayko Xmap),
das Programm kann kostenlos heruntergeladen werden und enthaelt auch
einen GPS-Daemon im Quellcode. http://www.mayko.com ???

Falls Du nichts brauchbares findest, bitte nochmal melden, ich suche
dann nochmal auf dem Linux-Rechner, wie die Programme heissen und wo ich
sie bezogen habe.

Gruesse,

Andreas

--
Andreas Lange D-65187 Wiesbaden
Andrea...@Compuserve.com
+49 (0) 611 807 850 (Voice+FAX)

Oliver Jennrich

unread,
Apr 7, 1999, 3:00:00 AM4/7/99
to
* "Gerhard" == Gerhard Henssen <Hen...@uni-duisburg.de> writes:

> Hi, ich möchte gerne Daten von einem GPS-Empfänger über die serielle
> Schnittstelle protokollieren ( und in weiteren SChritten auswerten
> ). Dazu suche ich ein Program, mit dem ich die serielle
> SChnittstelle "beobachten" und Einstellungen, wie Baudrate = 4800
> etc. machen kann.

> Vielleicht ist die Frage dumm, aber ich habe bisher nichts
> entsprechendes gefunden....

Ging mir ähnlich. Bis ich herausgefunden habe das 'stty' immer die
Standardeingabe liest, hatte ich ein paar graue Haare mehr:

stty </dev/ttyS0

dürfte wenigstens die Probleme mit der Baudrate lösen.

--
Oliver Jennrich JILA, University of Colorado @ Boulder

Gravity. It's not just a good idea, it's the law!

Heinrich Kordewiner

unread,
Apr 9, 1999, 3:00:00 AM4/9/99
to
In de.comp.os.unix.linux.hardware Oliver Jennrich <oliver....@colorado.edu> wrote:
>* "Gerhard" == Gerhard Henssen <Hen...@uni-duisburg.de> writes:
>
>> Hi, ich möchte gerne Daten von einem GPS-Empfänger über die serielle
>> Schnittstelle protokollieren ( und in weiteren SChritten auswerten
>> ). Dazu suche ich ein Program, mit dem ich die serielle
>> SChnittstelle "beobachten" und Einstellungen, wie Baudrate = 4800
>> etc. machen kann.
>
>> Vielleicht ist die Frage dumm, aber ich habe bisher nichts
>> entsprechendes gefunden....
>Ging mir ähnlich. Bis ich herausgefunden habe das 'stty' immer die
>Standardeingabe liest, hatte ich ein paar graue Haare mehr:
>
>stty </dev/ttyS0
>
>dürfte wenigstens die Probleme mit der Baudrate lösen.

[ Hallo Gerhard, hoffentlich nimmst Du es mir nicht übel, daß ich das ]
[ Subject etwas geändert habe. Das F´up2 habe ich auf Hardware gesetzt. ]

Ich stehe vor einem ähnlichen Problem. Ich habe eine ISDN-Telefonanlage,
für deren Ansteuerung es lediglich ein (saublödes) Win-Programm gibt. Das
hat mich selbstverständlich ;-) nicht davon abgehalten, mir das Teil
zuzulegen und mit Wine war es auch kein Problem, die (wenigen) Register
und Befehle der Anlage zu entschlüsseln (ist eine Conrad I-TA 1004 II
mit Firmware "T037 V2.04 S980326A"). Inzwischen habe ich sogar schon die
ersten Fehler im Windows- (!) Programm gefunden. :-)

Ebenso wie Gerhard habe ich "irgendwas" zur Ansteuerung der seriellen
Schnittstelle gesucht und bin dabei auf dcon-0.97 gestoßen. Gibts auf
allen sunsite/metalab-Mirrors. Nun erfüllt das zwar seinen Zweck, ich
kann die Anlage auslesen und beliebige Register setzen. Aber: Mir wäre
eine Veröffentlichung meines Scripts schlicht peinlich und so wird diese
TK-Anlage wohl vorerst nicht "richtig" von Linux "unterstützt". Obwohl
unter Linux problemlos Sachen möglich sind, bei denen das PABX2.EXE unter
Win versagt: Via cron das jeweils günstigste Providerpräfrix einstellen,
die Gebührenspeicher ständig auslesen und so zusätzlich Infos über den
Zeitpunkt der entstandenen Gebühren erhalten, zeitgesteuerte interne
Anrufumleitungen schalten etc.

Das Problem an dcon ist aber folgendes: Es ist eine Art Minimal-Basic
zur Ansteuerung der seriellen Schnittstelle. Während es ja noch vertretbar
ist, so etwas als "chat"-Ersatz einzusetzen, wird es bei "größeren"
Anwendungen grauenhaft. Es gibt keine lokalen Variablen, keine
Typumwandlung zwischen Integer und String (was anderes kennt die eh´
nicht), kaum Kontrollstrukturen (nur goto, if und label) und einen Bug
in der Berechnung von Ausdrücken. Über all das macht der Autor sich in
seinem Readme lustig, mir sind aber fast die Tränen gekommen. :-(

Glücklicherweise bietet das Ding eine Möglichkeit, sich über
Umgebungsvariablen von der Shell irgendwas berechnen zu lassen und man kann
zumindest mit gosub und return hantieren. Aber: Es wäre *wesentlich*
schöner, alles mit den Kontrollstrukturen der Bash zu erledigen. Nun
bringt mich Oliver mit seinem "man stty" (ganz genau so hat er es zwar
nicht gesagt) ins Grübeln. Kann ich einfach stdin und stdout umlenken und
das wars schon - vom Programmieren der nötigen Stringfunktionen und anderem
fehlenden Zeugs (Timeout etc.) mal abgesehen?

Oder gibts irgendwo eine "seriöse" Scriptsprache für die serielle
Schnittstelle?

Ich habe auch schon in Erwägung gezogen, mal irgendwo nach (einfachem)
C-Source für so etwas zu suchen. Was ich aber bisher gefunden habe ist
"etwas" Overkill. In meinem Fall muß es lediglich eine (wackelige)
9600-8N1-Verbindung sein, nicht erfolgende (oder "falsche") Antworten muß
ich berücksichtigen. Ich muß lediglich Strings an die Schnittstelle senden
und erhalte andere von dort zurück. Diese bestehen im Prinzip aus einer
Wiederholung der Anfrage (also der Bestätigung, was verstanden wurde) und
der entsprechenden Antwort. Alles spielt sich im "sichbaren" ASCII-Bereich
ab und die Antworten sind Strings oder Hexadezimal und Binärwerte.

Das Gehäuse der Telefonanlage hatte ich noch nicht offen und deshalb kenne
ich den Baustein auch nicht, mit dem dort die 4-Draht-Schnittstelle (RJ11)
angesteuert wird. Damit habe ich aber mit dcon keine Probleme, mich
irritiert bloß, daß Win-Luser in einer anderen NG einen Zusammenhang
zwischen verwendeter "COM"-Schnittstelle (verschiedene Mainboards) und
Problemen mit der TK-Anlage zu beobachten meinen. *Das* schiebe ich aber
erstmal aufs verwendete Betriebssystem. :) Ein "man stty" habe ich aber
noch vor mir.


Tschau

Heiner

Oliver Jennrich

unread,
Apr 9, 1999, 3:00:00 AM4/9/99
to
* "Heinrich" == Heinrich Kordewiner <h...@gmx.de> writes:

> Nun bringt mich Oliver mit seinem "man stty" (ganz genau
> so hat er es zwar nicht gesagt) ins Grübeln. Kann ich einfach stdin
> und stdout umlenken und das wars schon - vom Programmieren der
> nötigen Stringfunktionen und anderem fehlenden Zeugs (Timeout etc.)
> mal abgesehen?


So ganz verstehe ich eure Probleme nicht (das liegt an mir, nicht an
euch oder euren Problemen).

Ich steuere hier (provisorisch, bis ich ein C-Programm dafür habe)
einen Signalgenerator, der eine serielle Schnittstelle hat ganz stumpf
mit

echo "FREG 8 10008937\n">/dev/cua1

an [1].

> Oder gibts irgendwo eine "seriöse" Scriptsprache für die serielle
> Schnittstelle?

So richtig mit Kontrollstrukturen? Keine Ahnung. Ich habe weder
gesucht noch gefunden. Ich muß sowieso mehrere Geräte ansteuern, da
nehme ich lieber gleich C.
Der Versuch steht noch aus, aber eigentlich (?) sollte es
fopen/fprintf tun.

> Ein "man stty" habe ich aber noch vor
> mir.

Nur zur Klarstellung: stty stellt die Terminalparameter ein. Baudrate,
Stopbit usw.


Oliver

[1] jaja, ich weiß: Es heißt /dev/ttyS1 und luser hat nichts an den
seriellen Schnittstellen zu suchen. Zum Ausprobieren aber genau richtig.

Carsten Zerbst

unread,
Apr 12, 1999, 3:00:00 AM4/12/99
to
Die Lösung liegt so nahe, z.B. bei

http://www.scriptics.com

Tcl/Tk 8.0 ist in der Lage, serielle Schnittstellen auszulesen, Baudrate
zu setzen und ähnliches. Das ist wesentlich eleganter normale
Shellskripts, das isch damit einfach Prozeduren, lokale und globale
Variablen etc. realisieren lassen. Eine Oberfläche dran oder dergleichen
sind dann 10 Zeilen mehr, der Phantasie sind keine Grenzen gesetzt.

Carsten

Heinrich Kordewiner

unread,
Apr 14, 1999, 3:00:00 AM4/14/99
to

Danke. Darauf hätte ich eigentlich auch kommen können/sollen. :)


Tschau

Heiner

Sven Geggus

unread,
Apr 18, 1999, 3:00:00 AM4/18/99
to
Carsten Zerbst <zer...@tu-harburg.de> wrote:

> Tcl/Tk 8.0 ist in der Lage, serielle Schnittstellen auszulesen, Baudrate
> zu setzen und ähnliches.

Ja? Wusst ich gar nicht. Wie soll denn das gehen?

Wenn ich nun mit cl an ne serielle schnittstelle ran musste wuerde ich in
etwa sowas machen:

set filep [open /dev/ttyS1 r]

und wie loese ich jetzt auf $filep ein ioctl zum setzen der baudrate aus?

Welche speziellen tcl Befehle habe ich denn nun uebersehen?

Gruss

Sven

--
"Software is like sex; it's better when it's free"
(Linus Torvalds)

/me is giggls@IRC, http://geggus.net/sven/ on the Web

Jochem Huhmann

unread,
Apr 19, 1999, 3:00:00 AM4/19/99
to
Sven Geggus <sv...@geggus.net> ("SG") schrieb:

> Carsten Zerbst <zer...@tu-harburg.de> wrote:
>
>> Tcl/Tk 8.0 ist in der Lage, serielle Schnittstellen auszulesen, Baudrate
>> zu setzen und ähnliches.
>
> Ja? Wusst ich gar nicht. Wie soll denn das gehen?
>
> Wenn ich nun mit cl an ne serielle schnittstelle ran musste wuerde ich in
> etwa sowas machen:
>
> set filep [open /dev/ttyS1 r]
>
> und wie loese ich jetzt auf $filep ein ioctl zum setzen der baudrate aus?

Steht in der man-page für "open", ab tcl 8.0.

CONFIGURATION OPTIONS

The fconfigure command can be used to query and set the following
configuration option for open serial ports:

-mode baud,parity,data,stop
This option is a set of 4 comma-separated values: the baud rate,
parity, number of data
bits, and number of stop bits for this serial port. The baud
rate is a simple integer that specifies the connection
speed. Parity is one of the following letters: n, o, e, m, s;
respectively signifying the parity options of ``none'',
``odd'', ``even'', ``mark'', or ``space''. Data
is the number of data bits and should be an integer from 5 to
8, while stop is the number
of stop bits and should be the integer 1 or 2.


Jochem

--
# Jochem Huhmann <j...@gmx.net> Duisburg (Germany)
# Aktualisiert: http://www.revier.com/~joh/redhat/

When the revolution comes, I will be shot by both sides.

0 new messages