Seite 1 von 1

Schreiben an serielle Schnittstelle

Verfasst: 14. August 2011, 18:21
von Herbert
Mit dem Betrieb der Solaranlage muss ein Datenlogger her. Oder doch nicht? Klar, man kann doch ein Programm schreiben, welches diese Aufgabe übernimmt. Ein Billig-Netbook dient als Hardware. Die Kosten eines reinen Datenloggers sind wesentlich höher.
Beginnt das Ganze mit der Suche nach der Kommunikation der Hardware nach aussen. Braucht etwas Suche im Internet, da die Hersteller dies nicht gerne herausgeben. Schnittstelle Bluetooth oder seriell, übermittelt werden Hex-Werte.

Der Datentyp "buffer" ist dabei die Lösung. Vereinfacht dargestellt:

Code: Alles auswählen

bufInit is buffer
bufinit = gpkt_start+gsnd_init+Charact(0x00)+Charact(0x04)+Charact(0x00)+Charact(0x01)+Charact(0x03)
	IF sOpen(gport,2000,2000) THEN
		sParameter(gport,nspeed,npar,nbits,nsbit)
		sWrite(gport,bufInit)
	END
	buf = sRead(gport,255)		// einfach mal einlesen
	...
sClose(gport)
Mittlerweile sind Funktionen entstanden, die einen String in Hex dargestellt (z.B. "55aa0000") in Hex umwandeln oder wieder retour. Dies hat den Vorteil, für verschiedene Datenlogger-Modelle ein .INI-File zu verwenden. Die Zuweisung der buffer-Variablen erfolgt daher anders. Aber die Idee bleibt.
Noch nie war für mich die Programmierung einer Schnittstelle derart einfach.