#include <WiFi.h>
#include <HTTPClient.h>
#include <DHT.h>
#include <ArduinoJson.h>
// WiFi Credentials
const char* ssid = "1111112";
const char* password = "12344321";
// Server URL
const char* serverURL = "http://localhost:3000/api/data";
// Sensor Pins
#define DHTPIN 4
#define MQ9PIN 34
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(115200);
dht.begin();
// Connect to WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi!");
}
void loop() {
// Read sensors
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
int mq9Value = analogRead(MQ9PIN);
// Convert MQ-9 reading to approximate CO2 (very basic conversion)
float co2 = map(mq9Value, 0, 4095, 300, 5000);
// Create JSON object
StaticJsonDocument<200> doc;
doc["temperature"] = temperature;
doc["humidity"] = humidity;
doc["co2"] = co2;
doc["timestamp"] = millis();
String jsonString;
serializeJson(doc, jsonString);
// Send to server
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(serverURL);
http.addHeader("Content-Type", "application/json");
int httpCode = http.POST(jsonString);
if (httpCode > 0) {
Serial.println("Data sent successfully!");
} else {
Serial.println("Error sending data");
}
http.end();
}
delay(10000); // Send data every 10 seconds
}