|
|
|
@ -9,12 +9,10 @@ |
|
|
|
|
#define CHARGE_PIN 5 |
|
|
|
|
#define MEASURING_PIN 36 |
|
|
|
|
#define RESISTOR_VALUE 1e6 |
|
|
|
|
#define DEVICE "ESP32" |
|
|
|
|
#define WIFI_SSID "SSID_HERE" // Network Name
|
|
|
|
|
#define WIFI_PASSWORD "PASSWORD_HERE" // Network Password
|
|
|
|
|
#define MQTT_SERVER "test.mosquitto.org" |
|
|
|
|
#define MQTT_PORT 1883 |
|
|
|
|
#define MQTT_SUBSCRIBE_PUMP "plant/1/pump" |
|
|
|
|
#define MQTT_TOPIC_CAPCITANCE "pipe_system/capacitance" |
|
|
|
|
#define DEVICE_ID "PIPE_01" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -39,11 +37,19 @@ void setup() |
|
|
|
|
void loop() |
|
|
|
|
{ |
|
|
|
|
float cap; |
|
|
|
|
setup_wifi(); |
|
|
|
|
setup_mqtt(); |
|
|
|
|
|
|
|
|
|
// Check WiFi connection and reconnect if needed
|
|
|
|
|
if (wifiMulti.run() != WL_CONNECTED) { |
|
|
|
|
Serial.println("Wifi connection lost"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!client.connected()) { |
|
|
|
|
reconnect_mqtt(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cap = capacitance(DISCHARGE_PIN, CHARGE_PIN, MEASURING_PIN); |
|
|
|
|
publish_mqtt("capacitance", cap); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
// =============== LOOP END ============
|
|
|
|
@ -92,7 +98,7 @@ void setup_wifi() { |
|
|
|
|
Serial.print(WIFI_SSID); |
|
|
|
|
Serial.println(" Successfully"); |
|
|
|
|
Serial.print(WiFi.localIP()); |
|
|
|
|
Serial.println(" isn the local IP"); |
|
|
|
|
Serial.println(" is the local IP"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void setup_mqtt() { |
|
|
|
@ -112,8 +118,8 @@ void callback(char *topic, byte *message, unsigned int length) { |
|
|
|
|
} |
|
|
|
|
Serial.println(); |
|
|
|
|
|
|
|
|
|
if (String(topic) == MQTT_SUBSCRIBE_PUMP) { |
|
|
|
|
Serial.print("Starting Pump for: "); |
|
|
|
|
if (String(topic) == "SUBSCRIBE_STRING") { |
|
|
|
|
Serial.print("a message!"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -122,10 +128,10 @@ void reconnect_mqtt() { |
|
|
|
|
while (!client.connected()) { |
|
|
|
|
Serial.print("Attempting MQTT connection..."); |
|
|
|
|
// Attempt to connect
|
|
|
|
|
if (client.connect("ESP32-1")) { |
|
|
|
|
if (client.connect(DEVICE_ID)) { |
|
|
|
|
Serial.println("connected"); |
|
|
|
|
// Subscribe
|
|
|
|
|
client.subscribe(MQTT_SUBSCRIBE_PUMP); |
|
|
|
|
client.subscribe("SUB_STRING"); |
|
|
|
|
} else { |
|
|
|
|
Serial.print("failed, rc="); |
|
|
|
|
Serial.print(client.state()); |
|
|
|
@ -136,12 +142,13 @@ void reconnect_mqtt() { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void publish_mqtt(const char *topic, const char *sensor, float value) { |
|
|
|
|
//void publish_mqtt(const char *topic, const char *sensor, float value) {
|
|
|
|
|
void publish_mqtt(const char *sensor, float value) { |
|
|
|
|
char buffer[40]; |
|
|
|
|
sprintf(buffer, "plant1 %s=%.0f", sensor, value); |
|
|
|
|
sprintf(buffer, "%s %s=%.0f", DEVICE_ID, sensor, value); |
|
|
|
|
Serial.print("Publishing "); |
|
|
|
|
Serial.println(buffer); |
|
|
|
|
client.publish(topic, buffer); |
|
|
|
|
client.publish(MQTT_TOPIC_CAPCITANCE, buffer); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|