From 4758f80d837a08a4c21bfa56bbd720e512d5eb5d Mon Sep 17 00:00:00 2001 From: "Kevin Veen-Birkenbach [aka. Frantz]" Date: Wed, 6 May 2020 14:51:58 +0200 Subject: [PATCH] Added first draft of main.io --- README.md | 3 ++ main.ino | 95 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 main.ino diff --git a/README.md b/README.md index d9926e0..8277b96 100644 --- a/README.md +++ b/README.md @@ -4,5 +4,8 @@ Software to build up an REST-API on an Arduino based microcontroller, to interact with hardware and the physical environment. +## Todo +- Implement support for Arduino + ## License The ["GNU AFFERO GENERAL PUBLIC LICENSE"](./LICENSE.txt) applies to this project. diff --git a/main.ino b/main.ino new file mode 100644 index 0000000..ff0c784 --- /dev/null +++ b/main.ino @@ -0,0 +1,95 @@ +#include +#include +#include +#include +#include +#include +#include "config.h" + +// Setup ritter actor +const int pin_ritter = 13; +const unsigned long ritter_group_address = 13043702; +NewRemoteTransmitter transmitter(ritter_group_address, pin_ritter); + +// Switchs the whole group on +void setRitterGroup(int state) +{ + transmitter.sendGroup(state); + Serial.print("The state \""); + Serial.print(state); + Serial.print("\" was send to the group \""); + Serial.print(ritter_group_address); + Serial.println("\"."); +} + +// Switchs one plug on +void setRitterSwitch(int unit, int state) +{ + transmitter.sendUnit(unit, state); + Serial.print("The state \""); + Serial.print(state); + Serial.print("\" was send to the switch \""); + Serial.print(unit); + Serial.println("\"."); +} + +// Setup DHT sensor +const int pin_tmp = 12; +DHT dht(pin_tmp, DHT11); + +String getJsonDht(void){ + return "{\"temperature\":\""+String(dht.readTemperature())+"\",\"humidity\":\""+String(dht.readHumidity())+"\"}"; +} + +// Setup pin für PIR +const int pin_pir = 14; +pinMode(pin_pir, INPUT); + +String getJsonPir(void){ + return "{\"motion\":\""+String(digitalRead(pin_pir))+"\""; +} + +String getJson(void){ + return "{\"DHT\":"+String(digitalRead(pirPin))+",\"PIR\":"+String(digitalRead(pirPin))+"}"; +} + +// Setup webserver +ESP8266WebServer server ( 80 ); + +//Arduino-Setup +void setup(void) +{ + Serial.begin(115200); + Serial.println("Started program."); + //WiFi.softAPdisconnect(true); + WiFi.begin(ssid, password); + while (WiFi.status() != WL_CONNECTED) { + Serial.print("."); + delay(500); + } + Serial.print("Connected to :"); + Serial.println(ssid); + Serial.print("IP address: "); + Serial.println(WiFi.localIP()); + server.onNotFound(handleRequest); + server.begin(); + Serial.println("HTTP server started."); + delay(1000); +} + +void loop() +{ + if(server.arg("switch") && server.arg("value")){ + if(server.arg("switch")=="group"){ + setRitterGroup(server.arg("value").toInt()); + }else{ + setRitterSwitch(server.arg("switch").toInt(),server.arg("value").toInt()); + } + } + if(server.arg("mode")=="json"){ + server.send ( 200, "text/html", getJson()); + }else{ + server.send ( 200, "text/html", "Physical InterfacePlease check out the git-repository to get more information about this software."); + } + delay(100); +}