17-04-2016, 13:41
Witam,
Na stronie internetowej mam taki kod:
W module ESP8622 mam wgrany taki program:
Po wykonaniu programu otrzymuję taki wynik.
Bardzo proszę o pomoc.
Na stronie internetowej mam taki kod:
Kod PHP:
<?php
include("dbconnect.php");
$selected = mysql_select_db($Database, $dbh);
$results = mysql_query("SELECT * FROM energie ORDER BY id DESC LIMIT 1");
$row = mysql_fetch_array($results) or die("Cannot execute SELECT query.");
$zmienna6 = ($row["dallasnr0"]/100);
$zmienna7 = ($row["dallasnr2"]/100);
$zmienna8 = ($row["dallasnr3"]/100);
if ($zmienna6 > $zmienna8)
{$wyslij="wylacz";}
if ($zmienna6 < $zmienna8)
{$wyslij="włacz";}
echo $wyslij;
?>
W module ESP8622 mam wgrany taki program:
Kod:
/**
* StreamHTTPClient.ino
*
* Created on: 24.05.2015
*
*/
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>
#define USE_SERIAL Serial
#define LED 12
int a=0;
String wynik ="";
ESP8266WiFiMulti WiFiMulti;
void setup() {
pinMode(LED, OUTPUT);
USE_SERIAL.begin(115200);
// USE_SERIAL.setDebugOutput(true);
USE_SERIAL.println();
USE_SERIAL.println();
USE_SERIAL.println();
for(uint8_t t = 4; t > 0; t--) {
USE_SERIAL.printf("[SETUP] WAIT %d...\n", t);
USE_SERIAL.flush();
delay(1000);
}
WiFiMulti.addAP("......", ".....");
}
void loop() {
// wait for WiFi connection
if((WiFiMulti.run() == WL_CONNECTED)) {
HTTPClient http;
USE_SERIAL.print("[HTTP] begin...\n");
// configure server and url
http.begin("http://............../wyslij.php");
USE_SERIAL.print("[HTTP] GET...\n");
// start connection and send HTTP header
int httpCode = http.GET();
if(httpCode > 0) {
// HTTP header has been send and Server response header has been handled
USE_SERIAL.printf("[HTTP] GET... code: %d\n", httpCode);
// file found at server
if(httpCode == HTTP_CODE_OK) {
// get lenght of document (is -1 when Server sends no Content-Length header)
int len = http.getSize();
// create buffer for read
uint8_t buff[128] = { 0 };
// get tcp stream
WiFiClient * stream = http.getStreamPtr();
// read all data from server
while(http.connected() && (len > 0 || len == -1)) {
// get available data size
size_t size = stream->available();
if(size) {
// read up to 128 byte
int c = stream->readBytes(buff, ((size > sizeof(buff)) ? sizeof(buff) : size));
// write it to Serial
USE_SERIAL.write(buff, c);
if(len > 0) {
len -= c;
}
}
delay(1);
}
USE_SERIAL.print("[HTTP] connection closed or file end.\n");
}
} else {
printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
}
a=1;
if (a==1){digitalWrite(LED, HIGH);
a=0;}
delay(10000);
if (a==0){digitalWrite(LED, LOW);
a=0;}
delay(10000);
}
Po wykonaniu programu otrzymuję taki wynik.
Cytat:[HTTP] connection closed or file end.Nie wiem jak wyciągnąć tekst przesyłany w zmiennej $wyslij.
[HTTP] begin...
[HTTP] GET...
[HTTP] GET... code: 200
8
wylacz
0
[HTTP] connection closed or file end.
Bardzo proszę o pomoc.