diff --git a/executor_esp32.ino b/executor_esp32.ino index 6dc95a1..ac057eb 100644 --- a/executor_esp32.ino +++ b/executor_esp32.ino @@ -1,5 +1,6 @@ #include #include +#include Servo myservo; // create servo object to control a servo int servoPin = 18; @@ -7,6 +8,8 @@ int servoPin = 18; const char* ssid = "dlink"; const char* password = ""; +WebServer server(80); + void closeCircuitAndOpen(int closeTime=400) { int pos = 0; @@ -22,6 +25,23 @@ void closeCircuitAndOpen(int closeTime=400) } } +void handleRoot() +{ // when accessing server's root + String page = "Yeah! I'm not dead! I'm still working ;)"; + server.send(200, "text/plain", page); +} + +void handleNotFound() +{ // Page Not found + server.send(404, "text/plain","404: Not found"); +} + +void closeCircuitViaWifi() +{ + closeCircuitAndOpen(); + server.send(200, "text/plain","Done"); +} + void setup() { Serial.begin(115200); @@ -34,7 +54,7 @@ void setup() myservo.setPeriodHertz(50); // standard 50 hz servo myservo.attach(servoPin, 1000, 2000); // attaches the servo on pin 18 to the servo object myservo.write(0);delay(2500); // position to initial suitable position - //======WIFI PART======/ + //======WIFI PART======// WiFi.mode(WIFI_STA); //Optional WiFi.begin(ssid, password); Serial.println("\nConnecting"); @@ -45,11 +65,17 @@ void setup() Serial.println("\nConnected to the WiFi network"); Serial.print("Local ESP32 IP: "); Serial.println(WiFi.localIP()); + //======WEB SERVER PART======// + server.on("/", handleRoot); + server.onNotFound(handleNotFound); + server.on("/open", closeCircuitViaWifi); + server.begin(); } void loop() { - closeCircuitAndOpen(); - delay(5000); + //closeCircuitAndOpen(); + //delay(5000); + server.handleClient(); } diff --git a/myapp.py b/myapp.py new file mode 100644 index 0000000..b58c244 --- /dev/null +++ b/myapp.py @@ -0,0 +1,27 @@ +import flask +import requests +import threading + +app = flask.Flask(import_name=__name__) + +@app.route(rule="/") +def index(): + print("Can print inside the called function") + return "Okay, got it !" + +def opener(): + for _ in range(5): + requests.get("http://192.168.0.103/open") + +@app.route(rule="/receiving", methods=["POST"]) +def receiver(): + #data = flask.request.get_json() + #for field in data: print(field, ":", data[field]) + print(flask.request.get_data(as_text=True)) + print(flask.request.args) + op = threading.Thread(target=opener) + op.start() + return flask.jsonify({"events":[{"event":"log","message":"server received sms successfully"}]}) + +if __name__=="__main__": + app.run(host="0.0.0.0", debug=True)