C++ Arduino

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!");
    }
  }
}