From 9edf65d56e05d8f3768e7639e15a78257fe91f60 Mon Sep 17 00:00:00 2001 From: copercini Date: Sat, 9 Sep 2017 00:15:54 -0300 Subject: [PATCH] Static IP example --- .../WiFiClientStaticIP/WiFiClientStaticIP.ino | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 libraries/WiFi/examples/WiFiClientStaticIP/WiFiClientStaticIP.ino diff --git a/libraries/WiFi/examples/WiFiClientStaticIP/WiFiClientStaticIP.ino b/libraries/WiFi/examples/WiFiClientStaticIP/WiFiClientStaticIP.ino new file mode 100644 index 00000000..17559560 --- /dev/null +++ b/libraries/WiFi/examples/WiFiClientStaticIP/WiFiClientStaticIP.ino @@ -0,0 +1,92 @@ +/* + Example of connection using Static IP + by Evandro Luis Copercini + Public domain - 2017 +*/ + +#include + +const char* ssid = "your_network_name"; +const char* password = "your_network_password"; +const char* host = "example.com"; +const char* url = "/index.html"; + +IPAddress local_IP(192, 168, 31, 115); +IPAddress gateway(192, 168, 31, 1); +IPAddress subnet(255, 255, 0, 0); +IPAddress primaryDNS(8, 8, 8, 8); //optional +IPAddress secondaryDNS(8, 8, 4, 4); //optional + +void setup() +{ + Serial.begin(115200); + + if (!WiFi.config(local_IP, gateway, subnet, primaryDNS, secondaryDNS)) { + Serial.println("STA Failed to configure"); + } + + Serial.print("Connecting to "); + Serial.println(ssid); + + WiFi.begin(ssid, password); + + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + + Serial.println(""); + Serial.println("WiFi connected!"); + Serial.print("IP address: "); + Serial.println(WiFi.localIP()); + Serial.print("ESP Mac Address: "); + Serial.println(WiFi.macAddress()); + Serial.print("Subnet Mask: "); + Serial.println(WiFi.subnetMask()); + Serial.print("Gateway IP: "); + Serial.println(WiFi.gatewayIP()); + Serial.print("DNS: "); + Serial.println(WiFi.dnsIP()); +} + +void loop() +{ + delay(5000); + + Serial.print("connecting to "); + Serial.println(host); + + // Use WiFiClient class to create TCP connections + WiFiClient client; + const int httpPort = 80; + if (!client.connect(host, httpPort)) { + Serial.println("connection failed"); + return; + } + + Serial.print("Requesting URL: "); + Serial.println(url); + + // This will send the request to the server + client.print(String("GET ") + url + " HTTP/1.1\r\n" + + "Host: " + host + "\r\n" + + "Connection: close\r\n\r\n"); + unsigned long timeout = millis(); + while (client.available() == 0) { + if (millis() - timeout > 5000) { + Serial.println(">>> Client Timeout !"); + client.stop(); + return; + } + } + + // Read all the lines of the reply from server and print them to Serial + while (client.available()) { + String line = client.readStringUntil('\r'); + Serial.print(line); + } + + Serial.println(); + Serial.println("closing connection"); +} +