RadioLib/examples/ESP8266_HTTP_Post/ESP8266_HTTP_Post.ino

79 wiersze
2.2 KiB
Arduino
Czysty Zwykły widok Historia

2018-07-11 11:44:43 +00:00
/*
* KiteLib ESP8266 HTTP POST Example
*
* This example sends HTTP POST request using ESP8266 WiFi module.
*
* Please note that the response will be saved including header. HTTP header size
* can easily exceed Arduino resources and cause the program to behave erratically.
*
* IMPORTANT: Before uploading this example, make sure that the ESP8266 module is running
* AT firmware (can be found in the /extras folder of the library)!
*/
// include the library
#include <KiteLib.h>
// ESP8266 module is in slot A on the shield
ESP8266 wifi = Kite.ModuleA;
// create HTTP client instance using the wifi module
2018-07-11 15:39:23 +00:00
// the default port used for HTTP is 80
HTTPClient http(&wifi, 80);
2018-07-11 11:44:43 +00:00
void setup() {
Serial.begin(9600);
2018-07-11 15:39:23 +00:00
// initialize ESP8266
2018-07-11 11:44:43 +00:00
Serial.print(F("[ESP8266] Initializing ... "));
2018-07-11 15:39:23 +00:00
// baudrate: 9600 baud
2018-07-11 11:44:43 +00:00
byte state = wifi.begin(9600);
if(state == ERR_NONE) {
Serial.println(F("success!"));
} else {
Serial.print(F("failed, code 0x"));
Serial.println(state, HEX);
while(true);
}
2018-07-11 15:39:23 +00:00
// join access point
2018-07-11 11:44:43 +00:00
Serial.print(F("[ESP8266] Joining AP ... "));
2018-07-11 15:39:23 +00:00
// name: SSID
// password: password
state = wifi.join("SSID", "password");
2018-07-11 11:44:43 +00:00
if(state == ERR_NONE) {
Serial.println(F("success!"));
} else {
Serial.print(F("failed, code 0x"));
Serial.println(state, HEX);
while(true);
}
}
void loop() {
2018-07-11 15:39:23 +00:00
// send HTTP POST request to www.httpbin.org/status/404
// the server doesn't process the posted data, it just returns
// response with the status code 404
2018-07-11 11:44:43 +00:00
String response;
Serial.print(F("[ESP8266] Sending HTTP POST request ... "));
2018-07-11 15:39:23 +00:00
// URL: www.httpbin.org/status/404
// content: str
// content type: text/plain
2018-07-11 11:44:43 +00:00
int http_code = http.post("www.httpbin.org/status/404", "str", response);
if(http_code >= 100) {
Serial.print(F("HTTP code "));
Serial.println(http_code);
Serial.print(F("[ESP8266] Response is "));
Serial.print(response.length());
Serial.println(F(" bytes long."));
Serial.println(response);
} else {
Serial.print(F("failed, code 0x"));
Serial.println(http_code, HEX);
}
// wait for a second before sending new request
delay(1000);
}