#include <WiFi.h>
#include <HTTPClient.h>
#include <DHTesp.h>
#include <Arduino_JSON.h>
DHTesp dhtSensor;
const int dhtPin = 15;
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const String url = "https://66642071932baf9032aa1277.mockapi.io/api/";
void setup() {
Serial.begin(115200);
dhtSensor.setup(dhtPin, DHTesp::DHT22);
WiFi.begin(ssid, password, 6);
Serial.println("Menunggu koneksi Wifi");
while(WiFi.status() != WL_CONNECTED){
delay(100);
Serial.print(".");
}
Serial.print("Koneksi Wifi IP ");
Serial.println(WiFi.localIP());
}
void loop() {
control();
monitoring_temp();
}
void control(){
HTTPClient httpControl;
httpControl.begin(url + "control");
int httpRespCode = httpControl.GET();
if(httpRespCode > 0){
Serial.println(httpRespCode);
String payload = httpControl.getString();
Serial.println("Success");
Serial.println(payload);
JSONVar controlObject = JSON.parse(payload);
for(int i = 0; i < controlObject.length(); i++){
JSONVar control_name = controlObject[0]["control_name"];
JSONVar control_pin = controlObject[0]["control_pin"];
JSONVar control_value = controlObject[0]["control_value"];
Serial.println(control_name);
Serial.println(control_pin);
Serial.println(control_value);
pinMode(control_pin, OUTPUT);
digitalWrite(control_pin, control_value);
}
}else{
Serial.println(httpRespCode);
Serial.println("Error");
}
httpControl.end();
}
void monitoring_temp(){
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp " + String(data.temperature));
String temp_value = String("test1");
JSONVar valueTemp;
valueTemp["monitoring_value"] = temp_value;
String monitoringTemp = JSON.stringify(valueTemp);
Serial.println("Temp " + monitoringTemp);
HTTPClient http_temp;
http_temp.begin(url + "monitoring/1");
http_temp.addHeader("Content-Type", "application/json");
int httpRespCode1 = http_temp.PUT(monitoringTemp);
if(httpRespCode1 > 0){
Serial.println(httpRespCode1);
Serial.println("Success");
}else{
Serial.println(httpRespCode1);
Serial.println("Error");
}
http_temp.end();
}