hi, since i’am a newbie here, i have problem to connect my esp32 to thinger, and thinger just keep send email like this to me. Here is my code and email from thinger
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <ThingerESP32.h>
LiquidCrystal_I2C lcd(0x27, 16, 4); // set the LCD address to 0x27 for a 16 chars and 2 line display
#define USERNAME “agungw”
#define DEVICE_ID “TUGASAKHIR”
#define DEVICE_CREDENTIAL “e+rMXuboI3ikJ7zZ”
#define SSID “12345”
#define SSID_PASSWORD “123456789”
ThingerESP32 thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL);
#include “DHT.h”
#define DHTPIN 15 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
#define buzzer 27
DHT dht(DHTPIN, DHTTYPE);
int kelembapan,suhutampil;
float suhu;
unsigned char i = 0;
unsigned char Rx_DATA[12];
uint8_t skalaoksigen;
uint8_t resolusioksigen;
float flowoksigen,flowoksigen1,flowoksigen2;
uint16_t lajuoksigen;
float konsentrasi,konsentrasi2;
uint16_t kadaroksigen;
float flowtampil,konsentrasitampil,konsentrasitampil2;
#define waktulcd 100
#define waktukirim 100
uint32_t tsLastReport = 0;
uint32_t tsLastReport1 = 0;
void oksigen()
{
i = 0;
while (Serial.available())
{
Rx_DATA[i++] = (Serial.read());
}
//chek data HEX yang masuk ke arduino
flowoksigen = (Rx_DATA[5]); lajuoksigen = (Rx_DATA[6]);
resolusioksigen = (Rx_DATA[3]); skalaoksigen = (Rx_DATA[4]);
//pengamblan nilai konsentrasi dan flow
lajuoksigen = (Rx_DATA[5]) | (Rx_DATA[6]) << 8;
kadaroksigen = (Rx_DATA[4]) | (Rx_DATA[3]) << 8;
konsentrasi = kadaroksigen, DEC;
konsentrasi2 = (konsentrasi / 10) ;
konsentrasitampil = konsentrasi2;
//penyesuaian hasil sensor dengan kalibrator
if (konsentrasitampil == 21) {
konsentrasitampil2 = konsentrasitampil;
}
if (konsentrasitampil > 21) {
konsentrasitampil2 = konsentrasitampil + 3;
}
flowoksigen1 = lajuoksigen, DEC;
flowoksigen2 = (flowoksigen1 / 256) ;
flowtampil = flowoksigen2;
if (flowtampil <= 2.0){
flowtampil = 0 ;
}
}
void setup()
{
lcd.init(); // initialize the lcd
lcd.backlight();
Serial.begin(9600);
dht.begin();
thing.add_wifi(SSID, SSID_PASSWORD);
pinMode(buzzer, OUTPUT);
}
void loop()
{
oksigen(); // pemanggilan void oksigen();
kelembapan = dht.readHumidity();
suhu = dht.readTemperature();
suhutampil=suhu;
if (millis() - tsLastReport > waktulcd)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(“SUHU=”);
lcd.setCursor(6,0);
lcd.print(suhu);
lcd.setCursor(11,0);
lcd.print("'C");
lcd.setCursor(1,1);
lcd.print(“KELEMBAPAN=”);
lcd.setCursor(12,1);
lcd.print(kelembapan);
lcd.setCursor(14,1);
lcd.print("%");
lcd.setCursor(-3,2);
lcd.print(“FLOW=”);
lcd.setCursor(2,2);
lcd.print(flowtampil);
lcd.setCursor(12,2);
lcd.print(“Lpm”);
lcd.setCursor(-3,3);
lcd.print(“O2=”);
lcd.setCursor(0 ,3);
lcd.print(konsentrasitampil);
lcd.setCursor(5,3);
lcd.print("%");
tsLastReport = millis();
}
if (millis() - tsLastReport1 > waktukirim)
{
thing.handle();
thing[“SUHU”] >> [](pson& out){
out[“SUHU”] = suhutampil;
};
thing[“KELEMBAPAN”] >> [](pson& out){
out[“KELEMBAPAN”] = kelembapan;
};
thing[“FLOW”] >> [](pson& out){
out[“FLOW”] = flowtampil;
};
thing[“KONSENTRASI”] >> [](pson& out){
out[“KONSENTRASI”] = konsentrasitampil;
};
if(suhutampil<=20){ // batas bawah suhu
thing.call_endpoint(“SUHU”);
digitalWrite (buzzer,HIGH);
}
if(suhutampil>=50){// batas atas suhu
thing.call_endpoint(“SUHU”);
digitalWrite (buzzer,HIGH);
}
if(kelembapan<=40){// batas bawah kelembapan
thing.call_endpoint(“KELEMBAPAN”);
digitalWrite (buzzer,HIGH);
}
if(kelembapan>=70){// batas atas kelembapan
thing.call_endpoint(“KELEMBAPAN”);
digitalWrite (buzzer,HIGH);
}
if(flowtampil<=10){// batas bawah flow
thing.call_endpoint(“FLOW”);
digitalWrite (buzzer,HIGH);
}
if(flowtampil>=30){// batas atas flow
thing.call_endpoint(“FLOW”);
digitalWrite (buzzer,HIGH);
}
if(konsentrasitampil<=20){// batas bawah konsentrasi
thing.call_endpoint(“KONSENTRASI”);
digitalWrite (buzzer,HIGH);
}
if(konsentrasitampil>=40){// batas atas konsentrasi
thing.call_endpoint(“KONSENTRASI”);
digitalWrite (buzzer,HIGH);
}
else{
digitalWrite (buzzer,LOW);
}
tsLastReport1 = millis();
}
// Serial.print(“SUHU = “);
// Serial.print(suhu);
// Serial.print(”'C / kelembapan = “);
// Serial.print(kelembapan);
// Serial.print(”% / flowoksigen=”);
// Serial.print(flowtampil);
// Serial.print(“lpm / konsentrasi=”);
// Serial.println(konsentrasitampil);
}