|
|
|
|
@ -10,6 +10,9 @@
|
|
|
|
|
#define sensorPower D2
|
|
|
|
|
#define sensorPin A0
|
|
|
|
|
|
|
|
|
|
//pump
|
|
|
|
|
#define pump D8
|
|
|
|
|
|
|
|
|
|
// Value for storing water level
|
|
|
|
|
int val = 0;
|
|
|
|
|
int test = 0;
|
|
|
|
|
@ -31,8 +34,14 @@ void setup() {
|
|
|
|
|
Serial.begin(9600);
|
|
|
|
|
dht.begin();
|
|
|
|
|
delay(1000);
|
|
|
|
|
|
|
|
|
|
//Waterlevel sensor
|
|
|
|
|
pinMode(sensorPower, OUTPUT);
|
|
|
|
|
digitalWrite(sensorPower, LOW);
|
|
|
|
|
//pump
|
|
|
|
|
pinMode(pump, OUTPUT);
|
|
|
|
|
digitalWrite(pump, LOW);
|
|
|
|
|
|
|
|
|
|
delay(2000);
|
|
|
|
|
WiFi.setHostname(hostname.c_str()); //define hostname
|
|
|
|
|
WiFi.begin(ssid, password);
|
|
|
|
|
@ -57,22 +66,30 @@ void setup() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void loop() {
|
|
|
|
|
|
|
|
|
|
float humidity = dht.readHumidity();
|
|
|
|
|
//temperature sensor
|
|
|
|
|
float temperature = dht.readTemperature();
|
|
|
|
|
Serial.print("Temperatur: ");
|
|
|
|
|
Serial.print(temperature);
|
|
|
|
|
Serial.println("°C");
|
|
|
|
|
delay(1000);
|
|
|
|
|
|
|
|
|
|
//humidity sensor
|
|
|
|
|
float humidity = dht.readHumidity();
|
|
|
|
|
Serial.print("Luftfeuchtigkeit: ");
|
|
|
|
|
Serial.print(humidity);
|
|
|
|
|
Serial.println("%");
|
|
|
|
|
|
|
|
|
|
//waterlevel sensor
|
|
|
|
|
int waterlevel = readSensor();
|
|
|
|
|
Serial.print("Water level: ");
|
|
|
|
|
Serial.println(waterlevel);
|
|
|
|
|
|
|
|
|
|
//moisture sensor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//pump if moisture level is lower than a certain threshold
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(WiFi.status()== WL_CONNECTED){
|
|
|
|
|
//----------------------------------------------------------------
|
|
|
|
|
DynamicJsonDocument doc(2048);
|
|
|
|
|
@ -110,7 +127,7 @@ void loop() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//This is a function used to get the reading
|
|
|
|
|
//reading water level
|
|
|
|
|
int readSensor() {
|
|
|
|
|
digitalWrite(sensorPower, HIGH); // Turn the sensor ON
|
|
|
|
|
delay(10); // wait 10 milliseconds
|
|
|
|
|
@ -119,6 +136,7 @@ int readSensor() {
|
|
|
|
|
return val; // send current reading
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//initial post request
|
|
|
|
|
int initiate(String hostname){
|
|
|
|
|
|
|
|
|
|
DynamicJsonDocument doc(2048);
|
|
|
|
|
@ -132,6 +150,7 @@ int initiate(String hostname){
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//post request handler
|
|
|
|
|
int postRequest(String requestBody, String api) {
|
|
|
|
|
String urlName;
|
|
|
|
|
urlName = serverName + api;
|
|
|
|
|
@ -156,6 +175,7 @@ int postRequest(String requestBody, String api) {
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//deepsleep function for battery saving
|
|
|
|
|
void startDeepSleep(int timer){
|
|
|
|
|
Serial.println("Going to deep sleep...");
|
|
|
|
|
ESP.deepSleep(timer * 1000000);
|