#include <CoreX.h>
#include "Connection.h"
// Ubah nilai auth_token dan device Anda.
const char* AUTH_TOKEN = "aSzsRgLgm9P9sma";
const char* DEVICE_ID = "gjwY4gaJH";
CoreXTimer timer; // Gunakan timer agar dapat mengeksekusi perintah setiap sekian milidetik tanpa blocking.
// Ubah nilai berikut sesuai jaringan Anda.
const char ssid[] = "Wokwi-GUEST";
const char pass[] = "";
int slot1;
int slot2;
int slot3;
int slot4;
String data1;
String data2;
String data3;
String data4;
String previousValue1;
String previousValue2;
String previousValue3;
String previousValue4;
void send(){
corex.send("parkir1", data1);
corex.send("parkir2", data2);
corex.send("parkir3", data3);
corex.send("parkir4", data4);
}
// void receive(String &bucket, String &data){
// // Tampilkan data dari Bucket ke serial monitor
// // Serial.println("Bucket: " + bucket);
// // Serial.println("Data: "+ data);
// if(bucket == "led"){
// if(data == "1"){
// // Atur sinyal ke HIGH jika data yang diterima bernilai "1"
// digitalWrite(25, HIGH);
// }
// else{
// // Atur sinyal ke HIGH jika data yang diterima bernilai "0"
// digitalWrite(25, LOW);
// }
// }
// }
void setup(){
Serial.begin(115200);
WiFi.begin(ssid, pass);
corex.begin(net);
setupCoreX();
pinMode(32, INPUT);
pinMode(33, INPUT);
pinMode(25, INPUT);
pinMode(26, INPUT);
// pinMode(25, OUTPUT);
timer.setInterval(2000, send);
// fungsi receive() akan dieksekusi setiap kali ada data yang diterima dari Bucket
// corex.onMessage(receive);
}
void loop(){
slot1=digitalRead(32);
if(slot1 == 1){
data1="Terisi";
}
else{
data1="Tidak Terisi";
}
slot2=digitalRead(33);
if(slot2 == 1){
data2="Terisi";
}
else{
data2="Tidak Terisi";
}
slot3=digitalRead(25);
if(slot3 == 1){
data3="Terisi";
}
else{
data3="Tidak Terisi";
}
slot4=digitalRead(26);
if(slot4 == 1){
data4="Terisi";
}
else{
data4="Tidak Terisi";
}
// Periksa apakah nilai saat ini berbeda dengan nilai sebelumnya
if (data1 != previousValue1) {
// Jika nilai berbeda, kirimkan nilai ke serial monitor
Serial.println("parkir 1" + data1);
// Perbarui nilai sebelumnya dengan nilai saat ini
previousValue1 = data1;
}
// Periksa apakah nilai saat ini berbeda dengan nilai sebelumnya
if (data2 != previousValue2) {
// Jika nilai berbeda, kirimkan nilai ke serial monitor
Serial.println("parkir 2" + data2);
// Perbarui nilai sebelumnya dengan nilai saat ini
previousValue2 = data2;
}
if (data3 != previousValue3) {
// Jika nilai berbeda, kirimkan nilai ke serial monitor
Serial.println("parkir 3" + data3);
// Perbarui nilai sebelumnya dengan nilai saat ini
previousValue3 = data3;
}
// Periksa apakah nilai saat ini berbeda dengan nilai sebelumnya
if (data4 != previousValue4) {
// Jika nilai berbeda, kirimkan nilai ke serial monitor
Serial.println("parkir 4" + data4);
// Perbarui nilai sebelumnya dengan nilai saat ini
previousValue4 = data4;
}
delay(50);
// Jalankan timer
timer.run();
}