Ovaj kod čita temperaturu i vlažnost vazduha sa senzora i šalje podatke na server svakih 60 sekundi.
#include <WiFi.h> // ESP32 wifi kartica
// #include <ESP8266WiFi.h> // ESP8266 wifi kartica
#include <HTTPClient.h>
#include <DHT.h>
#define DHTPIN 4 // GPIO pin
#define DHTTYPE DHT22 // ili DHT11
DHT dht(DHTPIN, DHTTYPE);
const char* WIFI_SSID = "WIFI ime";
const char* WIFI_PASS = "WIFI PASSWORD";
const String SERVER_URL = "https://airsense.gimnazija.net/measurements/store";
const unsigned long SEND_INTERVAL = 60000; // 60 sec
unsigned long lastSend = 0;
void setup() {
Serial.begin(115200);
dht.begin();
Serial.println("Povezivanje na WiFi...");
WiFi.begin(WIFI_SSID, WIFI_PASS);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi povezan!");
}
void loop() {
if (millis() - lastSend >= SEND_INTERVAL) {
lastSend = millis();
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Neuspjesno citanje DHT sensora!");
return;
}
Serial.printf("Temp: %.1f °C Hum: %.1f %%\n", temperature, humidity);
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(SERVER_URL);
http.addHeader("Content-Type", "application/json");
String json = "{\"temperature\":";
json += temperature;
json += ",\"humidity\":";
json += humidity;
json += "}";
int httpResponseCode = http.POST(json);
Serial.print("Odgovor servera: ");
Serial.println(httpResponseCode);
http.end();
} else {
Serial.println("WiFi nije povezan!");
}
}
}