1 | /**
|
2 | * StreamHTTPClient.ino
|
3 | *
|
4 | * Created on: 24.05.2015
|
5 | *
|
6 | */
|
7 |
|
8 | #include <Arduino.h>
|
9 |
|
10 | #include <ESP8266WiFi.h>
|
11 | #include <ESP8266WiFiMulti.h>
|
12 |
|
13 | #include <ESP8266HTTPClient.h>
|
14 |
|
15 | #define USE_SERIAL Serial
|
16 |
|
17 | ESP8266WiFiMulti WiFiMulti;
|
18 | uint8_t test;
|
19 | void setup() {
|
20 | pinMode(LED_BUILTIN, OUTPUT);
|
21 | USE_SERIAL.begin(115200);
|
22 | // USE_SERIAL.setDebugOutput(true);
|
23 |
|
24 | USE_SERIAL.println();
|
25 | USE_SERIAL.println();
|
26 | USE_SERIAL.println();
|
27 |
|
28 | for(uint8_t t = 4; t > 0; t--) {
|
29 | USE_SERIAL.printf("[SETUP] WAIT %d...\n", t);
|
30 | USE_SERIAL.flush();
|
31 | delay(1000);
|
32 | }
|
33 |
|
34 | WiFiMulti.addAP("***", "*****");
|
35 |
|
36 | }
|
37 |
|
38 | void loop() {
|
39 | // wait for WiFi connection
|
40 | if((WiFiMulti.run() == WL_CONNECTED)) {
|
41 |
|
42 | HTTPClient http;
|
43 |
|
44 | USE_SERIAL.print("[HTTP] begin...\n");
|
45 |
|
46 | // configure server and url
|
47 | http.begin("http://192.168.0.17/warp/anfrage.php/?id=151413");
|
48 | //http.begin("192.168.1.12", 80, "/test.html");
|
49 |
|
50 | USE_SERIAL.print("[HTTP] GET...\n");
|
51 | // start connection and send HTTP header
|
52 | int httpCode = http.GET();
|
53 | if(httpCode > 0) {
|
54 | // HTTP header has been send and Server response header has been handled
|
55 | USE_SERIAL.printf("[HTTP] GET... code: %d\n", httpCode);
|
56 |
|
57 | // file found at server
|
58 | if(httpCode == HTTP_CODE_OK) {
|
59 |
|
60 | // get lenght of document (is -1 when Server sends no Content-Length header)
|
61 | int len = http.getSize();
|
62 |
|
63 | // create buffer for read
|
64 | uint8_t buff[128] = { 0 };
|
65 |
|
66 | // get tcp stream
|
67 | WiFiClient * stream = http.getStreamPtr();
|
68 |
|
69 | // read all data from server
|
70 | while(http.connected() && (len > 0 || len == -1)) {
|
71 | // get available data size
|
72 | size_t size = stream->available();
|
73 |
|
74 | if(size) {
|
75 | // read up to 128 byte
|
76 | int c = stream->readBytes(buff, ((size > sizeof(buff)) ? sizeof(buff) : size));
|
77 |
|
78 | // write it to Serial
|
79 | USE_SERIAL.write(buff, c);
|
80 | test = buff;
|
81 |
|
82 |
|
83 | if(len > 0) {
|
84 | len -= c;
|
85 | }
|
86 | }
|
87 | delay(1);
|
88 | }
|
89 | if(test) == "1") {
|
90 | USE_SERIAL.write("ja");
|
91 | delay(1000); // Wait for a second
|
92 | digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH
|
93 | delay(2000);
|
94 | digitalWrite(LED_BUILTIN, LOW);
|
95 | delay(1000); // Wait for a second
|
96 | digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH
|
97 | delay(2000);
|
98 | digitalWrite(LED_BUILTIN, LOW);
|
99 | delay(1000); // Wait for a second
|
100 | digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH
|
101 | delay(2000);
|
102 | digitalWrite(LED_BUILTIN, LOW);
|
103 | delay(1000); // Wait for a second
|
104 | digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH
|
105 | delay(2000);
|
106 | digitalWrite(LED_BUILTIN, LOW);
|
107 | delay(1000); // Wait for a second
|
108 | digitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGH
|
109 | delay(2000);
|
110 | digitalWrite(LED_BUILTIN, LOW);
|
111 | } else {
|
112 | digitalWrite(LED_BUILTIN, HIGH);
|
113 | USE_SERIAL.write("nein");
|
114 | }
|
115 | USE_SERIAL.println();
|
116 | USE_SERIAL.print("[HTTP] connection closed or file end.\n");
|
117 |
|
118 | }
|
119 | } else {
|
120 | USE_SERIAL.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());
|
121 | }
|
122 |
|
123 | http.end();
|
124 | }
|
125 |
|
126 | delay(10000);
|
127 | }
|