#include "DHTesp.h"
#include <ThingsBoard.h>
#include <PubSubClient.h>
//#include <ESP8266WiFi.h>
#include <WiFi.h>
WiFiClient espclient;
DHTesp dhtSensor;
//Konfigurasi WiFi
#define ssid "Wokwi-GUEST"
#define password ""
#define TOKEN "H2nZZlzlgwZbl5D46GfS"
#define THINGSBOARD_SERVER "thingsboard.cloud"
ThingsBoard tb(espclient);
const int dhtPin = 22;
int status = WL_IDLE_STATUS;
void initWifi(){
Serial.println("Connecting to AP...");
WiFi.begin(ssid, password);
while(WiFi.status() !=WL_CONNECTED){
delay(500);
Serial.println(".");
}
Serial.println("Connecting to AP");
}
void reconnect(){
status = WiFi.status();
if(status != WL_CONNECTED){
WiFi.begin(ssid, password);
while(WiFi.status() !=WL_CONNECTED){
delay(500);
Serial.println(".");
}
Serial.println("connecting again");
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println();
initWifi();
dhtSensor.setup(dhtPin, DHTesp::DHT11);
}
void loop() {
delay(2000);
if (!tb.connected()){
Serial.print("Menghububgkan ke");
Serial.print(THINGSBOARD_SERVER);
Serial.print("Dengan Token : ");
Serial.print(TOKEN);
if (!tb.connect(THINGSBOARD_SERVER, TOKEN)){
Serial.println("Gagal menghubungkan");
return;
}
}
Serial.println("Sending data....");
TempAndHumidity data = dhtSensor.getTempAndHumidity();
tb.sendTelemetryFloat("Suhu", data.temperature);
tb.sendTelemetryFloat("Kelembapan", data.humidity);
Serial.print("Humidity = ");
Serial.print(data.humidity);
Serial.print("Temperature = ");
Serial.print(data.temperature);
}