// channel id : 2555976
// Write api key : RSDPNUE5PN1GH1M5
// Read api key : IQ9Q5LS7CGIRHYJW
#include <WiFi.h>
#include "ThingSpeak.h"
#include "DHT.h"
#define DHTPIN 15
#define DHTTYPE DHT22
const char* WIFI_NAME = "Wokwi-GUEST";
const char* WIFI_PASSWORD = "";
const int myChannelNumber =2555976 ;
const char* WRITE_API = "RSDPNUE5PN1GH1M5";
const char* server = "api.thingspeak.com";
const char* READ_API = "IQ9Q5LS7CGIRHYJW";
unsigned int FieldNumber = 4;
DHT dht(DHTPIN, DHTTYPE);
WiFiClient client;
void setup() {
Serial.begin(115200);
pinMode(12,OUTPUT);
WiFi.begin(WIFI_NAME, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED){
delay(1000);
Serial.println("Wifi not connected");
}
Serial.println("Wifi connected !");
Serial.println("Local IP: " + String(WiFi.localIP()));
WiFi.mode(WIFI_STA);
ThingSpeak.begin(client);
}
void loop() {
float temperature;
float humidity;
temperature = dht.readTemperature();
Serial.print(F("Temperature: "));
Serial.print(temperature);
Serial.println(F("°C "));
humidity = dht.readHumidity();
Serial.print(F("Humidity: "));
Serial.print(humidity);
Serial.println(F("°C "));
ThingSpeak.setField(1,temperature);
ThingSpeak.setField(2,humidity);
int x = ThingSpeak.writeFields(myChannelNumber,WRITE_API);
Serial.println("Temp: " + String(temperature, 2) + "°C");
Serial.println("Humidity: " + String(humidity, 1) + "%");
if(x == 200){
Serial.println("Data pushed successfull");
}else{
Serial.println("Push error" + String(x));
}
Serial.println("---");
delay(10000);
bool tombol = ThingSpeak.readLongField(myChannelNumber,FieldNumber,READ_API);
int statusCode = ThingSpeak.getLastReadStatus();
if(statusCode == 200){
Serial.print("kondisi = " + String(tombol));
if(tombol == 1){
digitalWrite(12,HIGH);
Serial.println("MOTOR HIDUP");
Serial.println("-----------");
}
else{
digitalWrite(12,LOW);
Serial.println("MOTOR MATI");
Serial.println("----------");
}
}
}