Add monitor/greenhouse1.ino

This commit is contained in:
2025-12-29 12:55:05 +00:00
commit b40e8a8766

123
monitor/greenhouse1.ino Normal file
View File

@@ -0,0 +1,123 @@
/**
* Coded for ESP32-C6 https://www.dfrobot.com/product-2778.html
* Remember to put your wifi credentials into wifiMulti.addAP("", "");
*/
#include <Arduino.h>
#include <WiFi.h>
#include <WiFiMulti.h>
#include <HTTPClient.h>
#define USE_SERIAL Serial
WiFiMulti wifiMulti;
#define uS_TO_S_FACTOR 1000000ULL /* Conversion factor for micro seconds to seconds */
#define TIME_TO_SLEEP 60 /* Time ESP32 will go to sleep (in seconds) */
RTC_DATA_ATTR int bootCount = 0;
void setup() {
USE_SERIAL.begin(115200);
//sensors.begin();
delay(1000);
USE_SERIAL.println();
USE_SERIAL.println();
USE_SERIAL.println();
for (uint8_t t = 4; t > 0; t--) {
USE_SERIAL.printf("[SETUP] WAIT %d...\n", t);
USE_SERIAL.flush();
delay(1000);
}
wifiMulti.addAP("", "");
delay(3000);
// wait for WiFi connection
if ((wifiMulti.run() == WL_CONNECTED)) {
HTTPClient http;
float temp_celsius = temperatureRead();
String url="http://192.168.1.221:8086/write?db=garagedb";
String value_data="green_temp,host=greenhouse value=";
value_data.concat(temp_celsius);
USE_SERIAL.print("[SENSOR] Temp: ");
USE_SERIAL.println(temp_celsius);
USE_SERIAL.print("[HTTP] begin...\n");
// configure traged server and url
http.begin(url); //HTTP
int httpResponseCode = http.POST(value_data);
if(httpResponseCode>0){
USE_SERIAL.print("Success: ");
USE_SERIAL.println(httpResponseCode); //Print return code
} else {
USE_SERIAL.print("Error on sending POST: ");
USE_SERIAL.println(httpResponseCode);
}
http.end();
USE_SERIAL.print("[HTTP] complete\n");
/******************************/
uint32_t Vbatt = 0;
for(int i = 0; i < 4; i++) {
Vbatt += analogReadMilliVolts(0); // Read and accumulate ADC voltage
}
float Vbattf = 2 * Vbatt / 4 / 1000.0; // Adjust for 1:2 divider and convert to volts
USE_SERIAL.print("[SENSOR] Voltage: ");
USE_SERIAL.println(Vbattf, 3); // Output voltage to 3 decimal places
value_data="battery_v,host=greenhouse value=";
value_data.concat(Vbattf);
USE_SERIAL.print("[HTTP] begin...\n");
// configure traged server and url
http.begin(url); //HTTP
httpResponseCode = http.POST(value_data);
if(httpResponseCode>0){
USE_SERIAL.print("Success: ");
USE_SERIAL.println(httpResponseCode); //Print return code
} else {
USE_SERIAL.print("Error on sending POST: ");
USE_SERIAL.println(httpResponseCode);
httpResponseCode = http.POST(value_data);
USE_SERIAL.print("Error on sending POST: ");
USE_SERIAL.println(httpResponseCode);
}
http.end();
USE_SERIAL.print("[HTTP] complete\n");
/******************************/
}
USE_SERIAL.println("Sleep");
esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);
USE_SERIAL.println("Setup ESP32 to sleep for every " + String(TIME_TO_SLEEP) + " Seconds");
USE_SERIAL.println("Going to sleep now");
USE_SERIAL.flush();
esp_deep_sleep_start();
USE_SERIAL.println("This will never be printed");
}
void loop() {
}