#include <DHT.h>
#define NODE 2
#if NODE == 1
#define MQ2_PIN 34
void setup() {
Serial.begin(115200);
delay(1000);
Serial2.begin(9600, SERIAL_8N1, 16, 17);
Serial.println("Gas Node ready");
}
void loop() {
int gasRaw = analogRead(MQ2_PIN);
Serial.print("Gas (raw): ");
Serial.println(gasRaw);
Serial2.println(gasRaw);
delay(2000);
}
#elif NODE == 2
#define DHT_PIN 15
#define DHT_TYPE DHT22
DHT dht(DHT_PIN, DHT_TYPE);
void setup() {
Serial.begin(115200);
delay(1000);
Serial2.begin(9600, SERIAL_8N1, 16, 17);
dht.begin();
Serial.println("Climate Node ready");
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (isnan(temperature) || isnan(humidity)) {
Serial.println("DHT read error!");
} else {
Serial.print("Temp: "); Serial.print(temperature); Serial.println(" C");
Serial.print("Humidity: "); Serial.print(humidity); Serial.println(" %");
}
if (Serial2.available()) {
String gasData = Serial2.readStringUntil('\n');
Serial.print("Gas from ESP32 #1: ");
Serial.println(gasData);
}
delay(2000);
}
#endif