Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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
Ich nutze:
C-Control II Station, OSOPT V3.1
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)