#include "ThingsBoard.h"
#include "WiFi.h"
#include <ArduinoHttpClient.h>
// Initialize ThingsBoard client
WiFiClient espClient;
// Initialize ThingsBoard instance
ThingsBoard tb(espClient);
const String WIFI_SSID = "Wokwi-GUEST";
const String WIFI_PASS = "";
const String TOKEN = "Ukvata6Rw4cyaeCLrlDA";
const String THINGSBOARD_SERVER = "demo.thingsboard.io";
int wifiStatus = WL_IDLE_STATUS;
void connectWifi() {
Serial.println("Connecting to " + WIFI_SSID + " ...");
WiFi.begin(WIFI_SSID, WIFI_PASS);
while(WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("Connected to " + WIFI_SSID);
}
void reconnectWifi() {
wifiStatus = WiFi.status();
if (wifiStatus != WL_CONNECTED) {
Serial.println("Reconnecting to " + WIFI_SSID + " ...");
WiFi.begin(WIFI_SSID, WIFI_PASS);
while(WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("Connected to " + WIFI_SSID);
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
// koneksi ke Wifi
connectWifi();
// ambil data dari sensor
// kirim data ke thingspeak
}
void loop() {
// put your main code here, to run repeatedly:
delay(10); // this speeds up the simulation
if (WiFi.status() != WL_CONNECTED) {
reconnectWifi();
}
if (!tb.connected()) {
Serial.print("Connecting to: ");
Serial.print(THINGSBOARD_SERVER);
Serial.print(" with token ");
Serial.println(TOKEN);
if (!tb.connect(THINGSBOARD_SERVER, TOKEN)) {
Serial.println("Failed to connect");
return;
}
}
}