moved wifi details to 'wifi.h' (not commited) and also added internal esp32 temperature sensor for more data

This commit is contained in:
2025-05-26 23:11:00 +01:00
parent 3f1aade956
commit abcb467a0f

View File

@ -7,6 +7,8 @@
#include <WiFiMulti.h> #include <WiFiMulti.h>
#include <HTTPClient.h> #include <HTTPClient.h>
#include "wifi.h"
WiFiMulti WiFiMulti; WiFiMulti WiFiMulti;
WiFiClient client; WiFiClient client;
@ -68,7 +70,57 @@ void update_server(int count) {
WiFi.reconnect(); WiFi.reconnect();
} }
} }
void send_sensor_data() {
Serial.print("Connecting to ");
Serial.println(SERVER_IP);
float temp_celsius = temperatureRead();
Serial.print(temp_celsius);
Serial.println(" °C");
// wait for WiFi connection
if ((WiFi.status() == WL_CONNECTED)) {
Serial.print("[HTTP] begin...\n");
// configure traged server and url
http.begin(client, "http://" SERVER_IP "/write?db=garagedb"); //HTTP
http.setTimeout(5000);
http.addHeader("Content-Type", "application/json");
//Serial.print("[HTTP] POST...\n");
// start connection and send HTTP header and body
String count_string = String(temp_celsius);
String start_string = "temperature,host=vgarden_test value=";
String post_string = String(start_string + count_string);
Serial.println(post_string);
int httpCode = http.POST(post_string.c_str());
count++;
// httpCode will be negative on error
if (httpCode > 0) {
// HTTP header has been send and Server response header has been handled
Serial.printf("[HTTP] POST... code: %d\n", httpCode);
// file found at server
if (httpCode == HTTP_CODE_OK) {
const String& payload = http.getString();
Serial.println("received payload:\n<<");
Serial.println(payload);
Serial.println(">>");
}
} else {
Serial.printf("[HTTP] POST... failed, error: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
}
else {
Serial.println("Reconnecting to WiFi...");
WiFi.disconnect();
WiFi.reconnect();
}
}
void setup() { void setup() {
pinMode(led, OUTPUT); pinMode(led, OUTPUT);
@ -78,10 +130,11 @@ void setup() {
digitalWrite(pump_con,LOW); digitalWrite(pump_con,LOW);
Serial.begin(115200); Serial.begin(115200);
delay(10); delay(10);
// We start by connecting to a WiFi network // We start by connecting to a WiFi network
WiFiMulti.addAP("CHANGEME", "CHANGEME"); WiFiMulti.addAP(SSID_NAME, PASSWD);
Serial.println(); Serial.println();
Serial.println(); Serial.println();
@ -108,6 +161,7 @@ void loop() {
digitalWrite(led,HIGH); digitalWrite(led,HIGH);
digitalWrite(pump_con,HIGH); digitalWrite(pump_con,HIGH);
update_server(pump_on); update_server(pump_on);
send_sensor_data();
Serial.println("Pump On, Sleeping 60s"); Serial.println("Pump On, Sleeping 60s");
count++; count++;
delay(60000); delay(60000);