mirror of
				https://github.com/esp8266/Arduino.git
				synced 2025-11-03 14:33:37 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			82 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/**
 | 
						|
   PostHTTPClient.ino
 | 
						|
 | 
						|
    Created on: 21.11.2016
 | 
						|
 | 
						|
*/
 | 
						|
 | 
						|
#include <ESP8266WiFi.h>
 | 
						|
#include <ESP8266HTTPClient.h>
 | 
						|
 | 
						|
/* this can be run with an emulated server on host:
 | 
						|
        cd esp8266-core-root-dir
 | 
						|
        cd tests/host
 | 
						|
        make ../../libraries/ESP8266WebServer/examples/PostServer/PostServer
 | 
						|
        bin/PostServer/PostServer
 | 
						|
   then put your PC's IP address in SERVER_IP below, port 9080 (instead of default 80):
 | 
						|
*/
 | 
						|
//#define SERVER_IP "10.0.1.7:9080" // PC address with emulation on host
 | 
						|
#define SERVER_IP "192.168.1.42"
 | 
						|
 | 
						|
#ifndef STASSID
 | 
						|
#define STASSID "your-ssid"
 | 
						|
#define STAPSK "your-password"
 | 
						|
#endif
 | 
						|
 | 
						|
void setup() {
 | 
						|
 | 
						|
  Serial.begin(115200);
 | 
						|
 | 
						|
  Serial.println();
 | 
						|
  Serial.println();
 | 
						|
  Serial.println();
 | 
						|
 | 
						|
  WiFi.begin(STASSID, STAPSK);
 | 
						|
 | 
						|
  while (WiFi.status() != WL_CONNECTED) {
 | 
						|
    delay(500);
 | 
						|
    Serial.print(".");
 | 
						|
  }
 | 
						|
  Serial.println("");
 | 
						|
  Serial.print("Connected! IP address: ");
 | 
						|
  Serial.println(WiFi.localIP());
 | 
						|
}
 | 
						|
 | 
						|
void loop() {
 | 
						|
  // wait for WiFi connection
 | 
						|
  if ((WiFi.status() == WL_CONNECTED)) {
 | 
						|
 | 
						|
    WiFiClient client;
 | 
						|
    HTTPClient http;
 | 
						|
 | 
						|
    Serial.print("[HTTP] begin...\n");
 | 
						|
    // configure traged server and url
 | 
						|
    http.begin(client, "http://" SERVER_IP "/postplain/");  // HTTP
 | 
						|
    http.addHeader("Content-Type", "application/json");
 | 
						|
 | 
						|
    Serial.print("[HTTP] POST...\n");
 | 
						|
    // start connection and send HTTP header and body
 | 
						|
    int httpCode = http.POST("{\"hello\":\"world\"}");
 | 
						|
 | 
						|
    // httpCode will be negative on error
 | 
						|
    if (httpCode > 0) {
 | 
						|
      // HTTP header has been send and Server response header has been handled
 | 
						|
      Serial.printf("[HTTP] POST... code: %d\n", httpCode);
 | 
						|
 | 
						|
      // file found at server
 | 
						|
      if (httpCode == HTTP_CODE_OK) {
 | 
						|
        const String& payload = http.getString();
 | 
						|
        Serial.println("received payload:\n<<");
 | 
						|
        Serial.println(payload);
 | 
						|
        Serial.println(">>");
 | 
						|
      }
 | 
						|
    } else {
 | 
						|
      Serial.printf("[HTTP] POST... failed, error: %s\n", http.errorToString(httpCode).c_str());
 | 
						|
    }
 | 
						|
 | 
						|
    http.end();
 | 
						|
  }
 | 
						|
 | 
						|
  delay(10000);
 | 
						|
}
 |