mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-12 01:53:07 +03:00
Deprecate axTLS, update examples (#5366)
* update examples * fix serial<->tcp example, use STASSID instead of SSID (name collision) * fix HTTPSRequest.ino * update AxTLS HTTPS examples, update AxTLS API to deprecated * fixes * fixes + fix astyle (no preproc directives) + restyling script * fix HTTPClient library * fixes * common.sh: do not reload arduino when already present (for locally CI testing) * common.sh: do not reload ArduinoJson when already present (for locally CI testing) * fix * fix * fix deprecated example * fix WiFiHTTPSServer.ino * reduce footprint * wipfix * fix led builtin * fix example * finished updating APSSID on all examples * style * restyle examples * helper to run CI test locally * local CI runner more verbose * +const * deprecation deprecation * deprecation * Update NTPClient.ino const char[] => const char * * Update interactive.ino const char[] => const char *
This commit is contained in:
committed by
Earle F. Philhower, III
parent
8f28c88f9c
commit
92373a9837
@ -0,0 +1,106 @@
|
||||
/*
|
||||
This sketch demonstrates how to set up a simple HTTP-like server.
|
||||
The server will set a GPIO pin depending on the request
|
||||
http://server_ip/gpio/0 will set the GPIO2 low,
|
||||
http://server_ip/gpio/1 will set the GPIO2 high
|
||||
server_ip is the IP address of the ESP8266 module, will be
|
||||
printed to Serial when the module is connected.
|
||||
*/
|
||||
|
||||
#include <ESP8266WiFi.h>
|
||||
|
||||
#ifndef STASSID
|
||||
#define STASSID "your-ssid"
|
||||
#define STAPSK "your-password"
|
||||
#endif
|
||||
|
||||
const char* ssid = STASSID;
|
||||
const char* password = STAPSK;
|
||||
|
||||
// Create an instance of the server
|
||||
// specify the port to listen on as an argument
|
||||
WiFiServer server(80);
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
|
||||
// prepare LED
|
||||
pinMode(LED_BUILTIN, OUTPUT);
|
||||
digitalWrite(LED_BUILTIN, 0);
|
||||
|
||||
// Connect to WiFi network
|
||||
Serial.println();
|
||||
Serial.println();
|
||||
Serial.print(F("Connecting to "));
|
||||
Serial.println(ssid);
|
||||
|
||||
WiFi.mode(WIFI_STA);
|
||||
WiFi.begin(ssid, password);
|
||||
|
||||
while (WiFi.status() != WL_CONNECTED) {
|
||||
delay(500);
|
||||
Serial.print(F("."));
|
||||
}
|
||||
Serial.println();
|
||||
Serial.println(F("WiFi connected"));
|
||||
|
||||
// Start the server
|
||||
server.begin();
|
||||
Serial.println(F("Server started"));
|
||||
|
||||
// Print the IP address
|
||||
Serial.println(WiFi.localIP());
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// Check if a client has connected
|
||||
WiFiClient client = server.available();
|
||||
if (!client) {
|
||||
return;
|
||||
}
|
||||
Serial.println(F("new client"));
|
||||
|
||||
client.setTimeout(5000); // default is 1000
|
||||
|
||||
// Read the first line of the request
|
||||
String req = client.readStringUntil('\r');
|
||||
Serial.println(F("request: "));
|
||||
Serial.println(req);
|
||||
|
||||
// Match the request
|
||||
int val;
|
||||
if (req.indexOf(F("/gpio/0")) != -1) {
|
||||
val = 0;
|
||||
} else if (req.indexOf(F("/gpio/1")) != -1) {
|
||||
val = 1;
|
||||
} else {
|
||||
Serial.println(F("invalid request"));
|
||||
val = digitalRead(LED_BUILTIN);
|
||||
}
|
||||
|
||||
// Set LED according to the request
|
||||
digitalWrite(LED_BUILTIN, val);
|
||||
|
||||
// read/ignore the rest of the request
|
||||
// do not client.flush(): it is for output only, see below
|
||||
while (client.available()) {
|
||||
// byte by byte is not very efficient
|
||||
client.read();
|
||||
}
|
||||
|
||||
// Send the response to the client
|
||||
// it is OK for multiple small client.print/write,
|
||||
// because nagle algorithm will group them into one single packet
|
||||
client.print(F("HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO is now "));
|
||||
client.print((val) ? F("high") : F("low"));
|
||||
client.print(F("<br><br>Click <a href='http://"));
|
||||
client.print(WiFi.localIP());
|
||||
client.print(F("/gpio/1'>here</a> to switch LED GPIO on, or <a href='http://"));
|
||||
client.print(WiFi.localIP());
|
||||
client.print(F("/gpio/0'>here</a> to switch LED GPIO off.</html>"));
|
||||
|
||||
// The client will actually be *flushed* then disconnected
|
||||
// when the function returns and 'client' object is destroyed (out-of-scope)
|
||||
// flush = ensure written data are received by the other side
|
||||
Serial.println(F("Disconnecting from client"));
|
||||
}
|
Reference in New Issue
Block a user