forked from esp8266/Arduino
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add new Basic example based of getString
note: keep in mind the ram usage!
- Loading branch information
Showing
2 changed files
with
102 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
98 changes: 98 additions & 0 deletions
98
libraries/ESP8266httpClient/examples/StreamHttpClient/StreamHttpClient.ino
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
/** | ||
* StreamHttpClient.ino | ||
* | ||
* Created on: 24.05.2015 | ||
* | ||
*/ | ||
|
||
#include <Arduino.h> | ||
|
||
#include <ESP8266WiFi.h> | ||
#include <ESP8266WiFiMulti.h> | ||
|
||
#include <ESP8266httpClient.h> | ||
|
||
#define USE_SERIAL Serial | ||
|
||
ESP8266WiFiMulti WiFiMulti; | ||
|
||
void setup() { | ||
|
||
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("SSID", "PASSWORD"); | ||
|
||
} | ||
|
||
void loop() { | ||
// wait for WiFi connection | ||
if((WiFiMulti.run() == WL_CONNECTED)) { | ||
|
||
httpClient http; | ||
|
||
USE_SERIAL.print("[HTTP] begin...\n"); | ||
// configure traged server and url | ||
http.begin("192.168.1.12", 80, "/test.html"); | ||
|
||
USE_SERIAL.print("[HTTP] GET...\n"); | ||
// start connection and send HTTP header | ||
int httpCode = http.GET(); | ||
if(httpCode) { | ||
// 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 == 200) { | ||
|
||
// 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.getStream(); | ||
|
||
// 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.println(); | ||
USE_SERIAL.print("[HTTP] connection closed or file end.\n"); | ||
|
||
} | ||
} else { | ||
USE_SERIAL.print("[HTTP] GET... faild, no connection or no HTTP server\n"); | ||
} | ||
} | ||
|
||
delay(10000); | ||
} | ||
|