#include "DHTesp.h"
#include <ThingsBoard.h>
#include <Arduino_MQTT_Client.h>
#include <ArduinoHttpClient.h>
#include <PubSubClient.h>
#include <WiFi.h>
//ThingsBord connect
#define TB_SERVER "thingsboard.cloud"
#define TB_TOKEN "OK0SCc5bfLs8TiHiO4v4"
#define DHTPIN 25
DHTesp dhtSensor;
#define WIFI_AP "Wokwi-GUEST"
#define WIFI_PASS ""
constexpr uint16_t MAX_MESSAGE_SIZE = 128U;
//sensor
WiFiClient espClient;
Arduino_MQTT_Client mqttClient(espClient);
ThingsBoard tb(mqttClient, MAX_MESSAGE_SIZE);
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
dhtSensor.setup(DHTPIN, DHTesp::DHT22);
WiFi.begin(WIFI_AP, WIFI_PASS);
Serial.println("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("/nWiFi connected");
Serial.println("IP Address");
Serial.println(WiFi.localIP());
//connected to thhingsbord
Serial.println("Connected thingsbord..server");
//2 parameter 1TB_server 2.ZTB_token
while(!tb.connect(TB_SERVER, TB_TOKEN)){
Serial.println("Failed");
}
}
void loop() {
// put your main code here, to run repeatedly:
delay(2000); // this speeds up the simulation
TempAndHumidity data = dhtSensor.getTempAndHumidity();
float temp = data.temperature;
int hum = data.humidity;
Serial.println(temp);
Serial.println(hum);
}
//curl -v -X POST http://thingsboard.cloud/api/v1/OK0SCc5bfLs8TiHiO4v4/telemetry --header Content-Type:application/json --data "{temperature:25}"