1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
#include <ESP8266WiFi.h>
int pinGPIO16 = 16; //To control LED wifi connecte
int pinGPIO05 = 5; //la porte 1 est fermée
int pinGPIO04 = 4; //la porte 2 est fermée
IPAddress ip(192 , 168 , 1 ,30);
IPAddress server(192 , 168 , 1 ,31);
const uint16_t port = 80;
IPAddress gateway(192 , 168 , 1 , 1);
IPAddress subnet(255 , 255 , 255 , 0);
WiFiClient client;
void setup()
{
Serial.begin(115200);
Serial.println();
WiFi.config(ip,gateway,subnet);
WiFi.begin("TP-Link_FA8E", "xxxxxxx");
Serial.print("Connecting");
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Connected, IP address: ");
Serial.println(WiFi.localIP());
pinMode(pinGPIO16, OUTPUT);
pinMode(pinGPIO05, OUTPUT);
pinMode(pinGPIO04, OUTPUT);
digitalWrite(pinGPIO16, HIGH);
digitalWrite(pinGPIO05, LOW);
digitalWrite(pinGPIO04, LOW);
}
void loop()
{
Serial.println("debut loop");
WiFiClient client;
while (!client.connect(server, port))
{
Serial.println("connection failed");
delay(500);
}
if (client.connect(server, port))
{
Serial.print("client connecté");
client.println("Hello server \r");
String request = client.readStringUntil('\r');
Serial.print("read : ");
Serial.println(request);
int porte1 = request[7];
int porte2 = request[15];
Serial.println(porte1);
Serial.println(porte2);
if (porte1 ==48)
{
digitalWrite(pinGPIO05, LOW);
Serial.println("05 high");
}
else
{
digitalWrite(pinGPIO05, HIGH);
Serial.println("05 low");
}
if (porte2 ==48)
{
digitalWrite(pinGPIO04, LOW);
}
else
{
digitalWrite(pinGPIO04, HIGH);
}
client.flush();
}
else
{
digitalWrite(pinGPIO04, LOW);
digitalWrite(pinGPIO05, LOW);
Serial.println("client non connecté");
}
delay(2000);
} |
Partager