Go Down

Topic: send data with standalone 8266, need help (Read 183 times) previous topic - next topic

juanmol

hi, i'm using this code on my ESP-03, using Arduino IDE:
Code: [Select]
#include <ESP8266WiFi.h>

const char* ssid = "myessid";
const char* password = "mypass";

WiFiServer server(80);
int val=0;
int buttonState = 0;
int lastButtonState = 0;


void setup() {
  Serial.begin(115200);
  delay(10);

  pinMode(13, OUTPUT);
  digitalWrite(13, 0);
 
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }

  server.begin();

  pinMode(12, INPUT);
}

void loop() {
 
  buttonState = digitalRead(12);

  if (buttonState == HIGH && lastButtonState == LOW) {
    delay(100);
    if (val == 0) {   
      digitalWrite(13, HIGH);
      val = 1;
    }
    else {
      digitalWrite(13, LOW);
      val = 0;
    }
  }
  lastButtonState = buttonState;
 

  WiFiClient client = server.available();
  if (!client) {
    return;
  }

  while(!client.available()){
    delay(1);
  }
 

  String req = client.readStringUntil('\r');
  client.flush();
 
  if (req.indexOf("/gpio/0") != -1)
    val = 0;
  else if (req.indexOf("/gpio/1") != -1)
    val = 1;
  else {
    client.stop();
    return;
  }

  digitalWrite(13, val);
 
  client.flush();

  String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO is now ";
  s += (val)?"high":"low";
  s += "</html>\n";

  // Send the response to the client
  client.print(s);
  delay(1);
}


there is a button on GPIO12 and a led in GPIO13. I can use the button or a GET to the ESP-03 IP to change the led's state. Now i want to send the LED status to a url, http://192.168.1.2:9000/status/on or http://192.168.1.2:9000/status/off , every time the led changes. I'm try to combine my code with WiFiClient example, but i don't know how to do this, please can you help me?

I need this for the last part of my home automation system. Thanks

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy