Re: X-Port Kategorie: Programmierung (von Rolf Klinger - 5.10.2013 17:11) | ||
Als Antwort auf Re: X-Port von Rainer - 17.09.2013 18:36 | ||
| ||
Hallo Detlef, auch ich nutze den XPort zum Laden von Programmen, aber auch um Steuerbefehle oder auch Parameter zu übergeben. Für die Differenzierung nutze ich das �bertragunsprotokoll beim Aufruf durch den Browser. Wenn über den Browser 192.168.178.220:10001 aufgerufen wird (IP meines XPort), wird vom XPort nachfolgender Text an die CC2 ausgegeben: GET / HTTP/1.1 usw ............. alle Zeichen werden im Buffer (buf[1056] gespeichert Nur das erste Zeichen: 'G' (ASC ii 71) verwende ich als Startzeichen Wird ein download über das DL-Tool gestartet ist das erste Zeichen nicht 'G' sonder ASCii 254 und somit startet der download. Wird die Eingabe ergänzt z.B. 192.168.178.220:10001/K10 (K10 ist willkürlich gewählt!) wird vom XPort nachfolgender Text an die CC2 ausgegeben: GET /K10 HTTP/1.1 usw ........ Die Zeichen "K10" werden dann im Buffer aufgenommen in buf[6],buf[7], buf[8] gespeichert Ich werte z.B. nur die ersten 3 Zeichen für Funktionsaufrufe aus, also K10 mit dem Befehl: if strx.comp(s,"K10"). Auf gleiche weise übergebe ich in meinen Programmen Parameter oder Steuerbefehle z.B. w1=buf[11]; w2=buf[12]; w3=buf[13]; w4=buf[14]; w5=buf[15]; w6=buf[16]; wert= (w1-48)*100000+(w2-48)*10000+(w3-48)*1000+(w4-48)*100+(w5-48)*10+(w6-48); Das Program,: Aufruf aus Browser: 192.168.178.220:10001/K10 für Relais K1 = aus 192.168.178.220:10001/K11 für Relais K1 = ein ----------------------------------------------------------------------------- Modul browser mit der function ausgabe: (ich kann offensichtlich keine html hier darstellen!?) Modul laden mit dem thread main: int xx;// Dummy-Byte byte buf[1056]; thread main { byte x,i,a,b,c,flag_k1; string s; xx=1; flag_k1 = 0; lcdext.init(); lcdext.clear(); hwcom.init(); hwcom.setbuf(buf,1056); hwcom.setspeed(8); // 5 = 9600 6 = 19200 8 = 57600 loop { s=""; wait hwcom.rxd(); i=hwcom.get(); if i == 254 //if hwcom.get()==254 { wait hwcom.rxd(); x=hwcom.get(); if x==254 quit 1; // Hostmode einleiten RS232 if x==253 quit 256;// Hostmode einleiten LAN } // die ersten 3 Zeichen des Anhangs werden ausgewertet sleep 500; a=buf[5]; b=buf[6]; c=buf[7]; s = a + b + c; if strx.comp(s,"K11") { stports.setRel(1,!0); //Rel K1 ein flag_k1 = 1; } if strx.comp(s,"K10") { stports.setRel(1,0); //Rel K1 aus flag_k1 = 0; } if i =='G' browser.ausgabe(flag_k1); hwcom.flush(); } } Grü�e Rolf > Hallo Detlef, > > ich benutze seit langem den XPORT und habe ihn in die RS232-Wanne meines Reglerboards gesteckt. > Meine Konfiguration aus dem Web Manager füge ich als Bild an. > Die C-Control ist ziemlich unbeindruckt davon ob der XPORT angeschlossen ist oder nicht. > Aus Sicht der C-Control arbeitet der XPORT wie eine RS232-Schnittstelle, also mit den gängigen > Befehlen. > Mit der Website kann ich dir nicht weiterhelfen, da ich nie diese Anforderung hatte. > Vielleicht hilft dir das ja doch ein wenig. > > Grü�e > Rainer > > > Hallo Zusammen, > > > > ich nutze die C-Control Station als Haussteuerung. Seit fast einem Jahrzehnt werden alle Lampen, > > viele Steckdosen und alle Jalousien darüber gesteuert. > > > > Aber wachsende Familie aber auch andere Hobbies lassen das Thema C-Control bei mir in den > > Hintergrund geraten, sodass ich höchstens ab und zu mal eine kleine Funktion ergänze, einen Triac > > ersetze oder ein überlastetes Relais austausche. > > > > Seit 2-3 Jahren liegt bei mir nun ein X-Port rum mit dem Ziel, die ein oder andere Funktion über eine > > Weboberfläche per Smartphone zu bedienen. (bsw. Lichtstimmung und Jalousie vom Sofa aus! :-)) > > Das Ziel habe ich immer noch und mir für den kommenden Winter fest vorgenommen. > > > > Deshalb nun die Frage nach einer kleinen Anschubhilfe (Arbeitsschritte:-)) > > > > - Was muss ich in welcher Reihenfolge beachten und durchführen um das von Andre gekaufte Modul > > per RS232 an die C-Control zu bringen (Handshake?, Protokoll, Laufzeiten) > > - Was muss ich beachten, um das Gerät softwareseitig einzubinden? Softwareupdate geht ja auch > > darüber? > > - Wie stelle ich sicher, dass im Zweifelsfall die Anbindung per XPORT nicht funktioniert, aber niemals > > die C-Control stehenbleibt! (das gäbe Mecker zuhause!!!) > > - Wo lege ich die Website ab? Der Speicher des XPORTs ist klein, au�erdem komme ich da nicht > > ran? Wir haben eine NAS (Synology), dort könnte ich ja so'ne Webapplikation draufbringen. > > Gibts da Erfahrungen? > > > > Ja, ich wei�, in den Foren steht dazu schon viel, aber immer nie vollständig... So'n kleines Strick- > > muster wäre ne coole Anschubmotivation... > > > > Vielen Dank, > > > > Detlef > > > > browser.JPG: | ||
Antwort schreiben Antworten: Re: X-Port (von Detlef - 7.10.2013 11:20) |