Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo, > > ich möchte mit der Station kommunizieren und dieses vom PC aus steuern. > Ich möchte z.B. Daten aus meiner Wetterstation an die CC2 senden und Statusdaten von der CC2 empfangen > Auf dem PC läuft ein VB Programm z.B. mit dem MsComm Steuerelement das folgende Befehle absetz: > > ' Sensordaten aus Station lesen -------------------------------------------------------------------------------------------- > MSComm1.Output = "a" > DoEvents > MSComm1.Output = "b" > ' Es sollen alle verfügbaren Daten abgerufen werden. > ' Prüfen, ob Daten vorhanden sind. > If MSComm1.InBufferCount Then > ' Daten lesen. > InString$ = MSComm1.Input > ' Umwandeln und ausgeben > x = InStr(1, InString, "AD0=") > If x > 0 Then > Schema.txtBox(9).Text = Val(Mid(InString, x + 4, 3)) / 10 > End If > x = InStr(1, InString, "AD1=") > If x > 0 Then > Schema.txtBox(13).Text = Val(Mid(InString, x + 4, 3)) / 10 > End If > End If > > ' Wetterdaten an Station übergeben --------------------------------------------------------------------------------------- > cString = "A" + CStr(Int(Rs!weatherdata * 10)) + vbCrLf > MSComm1.Output = cString > > > Dazu habe ich auf der Station folgenden Tread geschrieben, der auch funktioniert: > //--------------------------------------------------------------------------------------------------- > thread SerKom{ > //--------------------------------------------------------------------------------------------------- > int schalter; > string s; > byte command; > command=hwcom.get(); > if command=='A'{ > // Außentemperatur setzen -------------------------------------------- > ta=hwcom.input(3); > } > else if command=='S' { > // Schalter und Led ein aus -------------------------------------------- > schalter=hwcom.input(2); > if schalter>=10 { > stports.setLED(schalter+1-10,True); > if schalter == 17 stports.LCDlight(True); > if schalter == 18 stports.setRel(1,True); > if schalter == 19 stports.setRel(2,True); > > }else{ > stports.setLED(schalter+1,False); > if schalter == 7 stports.LCDlight(False); > if schalter == 8 stports.setRel(1,False); > if schalter == 9 stports.setRel(2,False); > } > } > else if command=='a' { > // Status AD0 zurückgeben ----------------------------------------- > s="AD0="; > str.putint(s,tww); > hwcom.print(s); > hwcom.ret(); > } > else if command=='b' { > // Status AD1 zurückgeben ----------------------------------------- > s="AD1="; > str.putint(s,twb); > hwcom.print(s); > hwcom.ret(); > } > } // End Thread > > > Habt Ihr dazu Anmerkungen oder Verbesserungen? > > Gruss Dieter >