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

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

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 !  

> > Hi@all. > > Ich möchte Daten ohne DYNDNS versenden. > > Soweit ich weiß, geht das mit 'POST'. > > Die Webseite ist bei Host Europe gehostet, also kein direkter Zugang über eine URL. > > > > <code> > > hwcom.print("C80.237.132.72/80"); //IP-Adresse HostEurope > > wait hwcom.ready(); > > hwcom.print("HTTP/1.1\n"); > > wait hwcom.ready(); > > hwcom.print("Host: heizung.efgn.de\n"); > > wait hwcom.ready(); > > hwcom.print("POST /xpr.php"); // php auch noch sehr nebulös > > > > loop > > { > > hwcom.ready(); > > > > hwcom.print(tta); > > hwcom.print(ttb); > > hwcom.print(ttc); > > hwcom.print(ttd); > > hwcom.print("\r\n"); > > hwcom.flush(); > > timer=system.timer();do{time=system.timer();}while time-timer<15000; > > } > > > > </code> > > > > Nur leider klappert es überhaupt nicht. > > Mit Hyperterminal an Lan kommen ganz genau die Daten, aber die Seite reagiert so gar nicht. > > > > die php Seite ist mir überhaupt nicht geheuer, geschweige denn klar.. > > > > $Data="";$in=""; > > > > $in = file_get_contents("php://input"); > > $Data.=$in; > > echo " <br>" ; > > echo $in; > > $Temp = explode(",", $Data); > > echo $Temp; > > echo " <br>" ; > > > > > > Angeblich überwacht file_get.... automatisch dem port 80. > > > > Mir ist der ganze HTML und php Kram eh nicht klar. > > > > Bitte um Hilfe. > > MfG. Günther > > > > Hallo Günther > Ich habe vor einiger Zeit mal so was gemacht. Ob das auch mit deinem Provider funktioniert, musst du^ > noch testen. Ich Poste hier einfach mal den Code meines Threads, der das Senden an eine > PHP-Funktion auf meiner Webseite ausführt. > > In meiner Steuerung habe ich einfach Arrays definiert, in welche ich im laufe der Programmierung > die Bit-, Byte-, Integer- oder Float-Werte abgelegt habe. So ist die Routine für das Senden der > Daten an die PHP-Fuktion immer gleich, unabhängig, ob die Werte belegt sind oder nicht. > > Falls du am entsprechenden Teil der PHP-Funktion interessiert bist, melde dich. > > Gruss: Markus > > <code> > thread SendWGData > { > int Laenge, txtLaenge; > long Timer, Timeout; > byte i, Versuche, maxVersuche, SendOK, Min; > string strSend, strBuffer, strComp, strPrefix; //, strTemp; > string strBool, strInt[10], strLong[10], strFloat[10]; > byte buf[512], recBuf[512]; > > cap.init(); > > swcom.init(); > sleep 500; > swcom.setbuf(buf,512); > swcom.setspeed(5); > > lcdext.init(); > Versuche = 0; > maxVersuche = 0; > strComp = "HT"; > strPrefix = "werte="; > Timeout = 2000; > Min = system.minute(); > > loop > { > if system.minute() %2 == 0 and system.minute() != Min > { > Min = system.minute(); > global.strSQLDate = "" ; > str.putintf (global.strSQLDate,system.year()-2000,2); > global.strSQLDate = global.strSQLDate + "-"; > str.putintf (global.strSQLDate,system.month(),2); > global.strSQLDate = global.strSQLDate + "-"; > str.putintf (global.strSQLDate,system.day(),2); > global.strSQLDate = global.strSQLDate + " "; > str.putintf (global.strSQLDate,system.hour(),2); > global.strSQLDate = global.strSQLDate + ":"; > str.putintf (global.strSQLDate,system.minute(),2); > global.strSQLDate = global.strSQLDate + ":"; > str.putintf (global.strSQLDate,system.second(),2); > // WHILE-Schlaufe für Sendeversuche > do > { > Versuche = Versuche + 1; > SendOK = 0; > txtLaenge = str.length(strPrefix); > txtLaenge = txtLaenge + str.length(global.strSQLDate)+1; // + 1 für Trennzeichen > > // alle Werte an einem Stück konvertieren, da sich die Längen sonst andern könnten > wait cap.Capture(1); > strBool=""; > for i=0...9 > { > if global.ByteWert[i] strBool = strBool + '1'; > else strBool = strBool + '0'; > strBool = strBool +","; > } > txtLaenge = txtLaenge + 20; // für 10 Boolean-Werte, 1 oder 0 und ein Trennzeichen > for i=0...9 > { > strInt[i] = ""; > str.putint(strInt[i],global.IntWert[i]); > strInt[i] = strInt[i] + ","; > txtLaenge = txtLaenge + str.length(strInt[i]); > } > for i=0...9 > { > strLong[i] = ""; > str.putlong(strLong[i],global.LongWert[i]); > strLong[i] = strLong[i] + ","; > txtLaenge = txtLaenge + str.length(strLong[i]); > } > for i=0...9 > { > strFloat[i] = ""; > str.putfloatf(strFloat[i], global.FloatWert[i],1); > strFloat[i] = strFloat[i] + ","; > txtLaenge = txtLaenge + str.length(strFloat[i]); > } > // und das Capture wieder frei geben, damit anderes erledigt wird > cap.Release(1); > > // hier beginnt das eigentliche Senden > strSend="Cxxx.xxx.xxx.xxx/80\xD"; > swcom.print2(strSend); > sleep 1000; > > // alles an einem Stück senden > wait cap.Capture(1); > strSend = "POST /ccreceive.php"; swcom.print2(strSend);wait swcom.ready(); > strSend=" HTTP/1.1\r\n"; swcom.print2(strSend);wait swcom.ready(); > strSend="Host: 192.168.9.5\r\n"; swcom.print2(strSend);wait swcom.ready(); > strSend="Connection: close\r\n"; swcom.print2(strSend);wait swcom.ready(); > strSend="Cache-Control: no\r\n"; swcom.print2(strSend);wait swcom.ready(); > strSend="Content-type: "; swcom.print2(strSend);wait swcom.ready(); > strSend="application/"; swcom.print2(strSend);wait swcom.ready(); > strSend="x-www-form-urlencoded\r\n"; swcom.print2(strSend);wait swcom.ready(); > strSend= "Content-length: "; > str.putint(strSend, txtLaenge); > strSend = strSend +"\r\n\r\n"; swcom.print2(strSend);wait swcom.ready(); > > // hier folgen die $_POST-Daten > swcom.print2(strPrefix); //"werte=" > swcom.print2(global.strSQLDate);swcom.put(44); > swcom.print2(strBool); > for i=0...9 { swcom.print2(strInt[i]); } > for i=0...9 { swcom.print2(strLong[i]); } > for i=0...9 { swcom.print2(strFloat[i]); } > swcom.print("\r\n"); > swcom.flush(); > // und das Capture wieder frei geben > cap.Release(1); > > // ab hier wird kontrolliert ob der Webserver ein ACK sendet > Timer=system.timer(); > do > { > Laenge = 0; > // plm.beep(25);sleep 20;plm.beep(-1); // für Testzwecke > sleep(Versuche * 200); > if swcom.rxd() > { > Laenge = swcom.inbuffercnt(); > swcom.receive(recBuf,Laenge,1000); > } > strBuffer = ""; > if Laenge >= 2 > { > for i = 0 ... 1 > { > str.putchar(strBuffer,recBuf[i]); > } > } > else { strBuffer = "??"; } > } > while math.labs(system.timer()-Timer) <= Timeout and Laenge == 0; > if strx.comp(strBuffer, strComp) SendOK = 1; > /* > lcdext.delline(2); > lcdext.goto(2,0); > lcdext.zahl2(Laenge); > lcdext.goto(2,3); > lcdext.print2(strBuffer); > lcdext.goto(2,7); > lcdext.print2(strComp); > lcdext.goto(2,10); > lcdext.zahl4(txtLaenge); > */ > } > while Versuche < maxVersuche and SendOK == 0; > Versuche = 0; > } > } > } > </code> >
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB