Upload files to "/"
This commit is contained in:
commit
138508957a
76
esp32-weather.ino
Normal file
76
esp32-weather.ino
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
#include "DHT.h"
|
||||||
|
#include "thingProperties.h"
|
||||||
|
|
||||||
|
#define DHTPIN 2
|
||||||
|
#define DHTTYPE DHT22
|
||||||
|
DHT dht(DHTPIN, DHTTYPE);
|
||||||
|
|
||||||
|
#define RAINPIN 26
|
||||||
|
#define SOILPIN 25
|
||||||
|
#define WATERPIN 25
|
||||||
|
|
||||||
|
unsigned long previousMillis = 0;
|
||||||
|
const long interval = 10000;
|
||||||
|
|
||||||
|
long watering_time = 0;
|
||||||
|
int watering_duration = 0;
|
||||||
|
bool should_water_if_raining = 0;
|
||||||
|
int soil_humidity_watering_threshold = 0;
|
||||||
|
|
||||||
|
/*void onWateringSettingsChange() {
|
||||||
|
JsonDocument doc;
|
||||||
|
deserializeJson(doc, watering_settings);
|
||||||
|
|
||||||
|
watering_time = doc["watering_time"];
|
||||||
|
watering_duration = doc["watering_duration"];
|
||||||
|
should_water_if_raining = doc["should_water_if_raining"];
|
||||||
|
soil_humidity_watering_threshold = doc["soil_humidity_watering_threshold"];
|
||||||
|
water_now = doc["water_now"];
|
||||||
|
}*/
|
||||||
|
|
||||||
|
void onWaterNowChange() {
|
||||||
|
digitalWrite(WATERPIN, water_now);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
Serial.begin(9600);
|
||||||
|
delay(1500);
|
||||||
|
|
||||||
|
dht.begin();
|
||||||
|
pinMode(RAINPIN, INPUT_PULLUP);
|
||||||
|
pinMode(WATERPIN, OUTPUT);
|
||||||
|
|
||||||
|
initProperties();
|
||||||
|
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
|
||||||
|
setDebugMessageLevel(4);
|
||||||
|
ArduinoCloud.printDebugInfo();
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
ArduinoCloud.update();
|
||||||
|
|
||||||
|
unsigned long currentMillis = millis();
|
||||||
|
if (currentMillis - previousMillis >= interval) {
|
||||||
|
previousMillis = currentMillis;
|
||||||
|
|
||||||
|
soil_humidity = (100 - (analogRead(A0) / 4095.00) * 100);
|
||||||
|
is_raining = !digitalRead(RAINPIN);
|
||||||
|
humidity = dht.readHumidity();
|
||||||
|
temperature = dht.readTemperature();
|
||||||
|
|
||||||
|
if (isnan(humidity) || isnan(temperature)) {
|
||||||
|
Serial.println(F("Failed to read from DHT sensor!"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Serial.print(F("Humidity: "));
|
||||||
|
Serial.print(humidity);
|
||||||
|
Serial.print(F("% Temperature: "));
|
||||||
|
Serial.print(temperature);
|
||||||
|
Serial.print(F("°C Soil humidity: "));
|
||||||
|
Serial.print(soil_humidity);
|
||||||
|
Serial.print(is_raining ? F(" - It's raining!") : F(""));
|
||||||
|
Serial.print(water_now ? F(" - Watering...") : F(""));
|
||||||
|
Serial.println();
|
||||||
|
}
|
||||||
|
}
|
30
thingProperties.h
Normal file
30
thingProperties.h
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
// Code generated by Arduino IoT Cloud, DO NOT EDIT.
|
||||||
|
|
||||||
|
#include <ArduinoIoTCloud.h>
|
||||||
|
#include <Arduino_ConnectionHandler.h>
|
||||||
|
|
||||||
|
const char DEVICE_LOGIN_NAME[] = "";
|
||||||
|
const char SSID[] = ""; // Network SSID (name)
|
||||||
|
const char PASS[] = ""; // Network password (use for WPA, or use as key for WEP)
|
||||||
|
const char DEVICE_KEY[] = ""; // Secret device password
|
||||||
|
|
||||||
|
void onWaterNowChange();
|
||||||
|
|
||||||
|
CloudTemperatureSensor temperature;
|
||||||
|
CloudRelativeHumidity humidity;
|
||||||
|
CloudRelativeHumidity soil_humidity;
|
||||||
|
bool is_raining;
|
||||||
|
bool water_now;
|
||||||
|
|
||||||
|
void initProperties(){
|
||||||
|
|
||||||
|
ArduinoCloud.setBoardId(DEVICE_LOGIN_NAME);
|
||||||
|
ArduinoCloud.setSecretDeviceKey(DEVICE_KEY);
|
||||||
|
ArduinoCloud.addProperty(water_now, READWRITE, ON_CHANGE, onWaterNowChange);
|
||||||
|
ArduinoCloud.addProperty(temperature, READ, 10 * SECONDS, NULL);
|
||||||
|
ArduinoCloud.addProperty(humidity, READ, 10 * SECONDS, NULL);
|
||||||
|
ArduinoCloud.addProperty(soil_humidity, READ, 10 * SECONDS, NULL);
|
||||||
|
ArduinoCloud.addProperty(is_raining, READ, 10 * SECONDS, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
WiFiConnectionHandler ArduinoIoTPreferredConnection(SSID, PASS);
|
Loading…
x
Reference in New Issue
Block a user