Proyek ini bertujuan untuk menghubungkan simulator Wokwi dengan API eksternal yang memungkinkan pengambilan data dari perangkat keras virtual (misalnya, sensor) dan pengiriman perintah untuk mengontrol perangkat keras tersebut, seperti LED. Wokwi memungkinkan simulasi perangkat keras seperti mikrokontroler ESP32 dan sensor tanpa memerlukan perangkat fisik. Dengan mengintegrasikan endpoint API, proyek ini dapat mengontrol dan mengambil data dari perangkat yang disimulasikan.
Proyek ini bertujuan untuk menghubungkan simulator Wokwi dengan API eksternal yang memungkinkan pengambilan data dari perangkat keras virtual (misalnya, sensor) dan pengiriman perintah untuk mengontrol perangkat keras tersebut, seperti LED. Wokwi memungkinkan simulasi perangkat keras seperti mikrokontroler ESP32 dan sensor tanpa memerlukan perangkat fisik. Dengan mengintegrasikan endpoint API, proyek ini dapat mengontrol dan mengambil data dari perangkat yang disimulasikan.
Langkah 2: Membangun API dengan Flask
pip install Flask
Penjelasan:
Langkah 3: Program Mikrokontroler ESP32 di Wokwi
#include <WiFi.h>
#include <DHT.h>
// Ganti dengan nama dan password Wi-Fi Anda
const char *ssid = "your-ssid";
const char *password = "your-password";
#define DHTPIN 4 // Pin DHT11
#define DHTTYPE DHT11 // Sensor DHT11
DHT dht(DHTPIN, DHTTYPE);
const char* server = "http://your-server-ip:5000"; // Ganti dengan IP server Flask Anda
WiFiClient client;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
dht.begin();
}
void loop() {
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor");
return;
}
// Kirim data sensor ke API
String data = "temperature=" + String(temperature) + "&humidity=" + String(humidity);
sendDataToAPI(data);
delay(10000); // Delay 10 detik
}
void sendDataToAPI(String data) {
if (client.connect(server, 80)) {
client.print("POST /sensor HTTP/1.1\r\n");
client.print("Host: " + String(server) + "\r\n");
client.print("Content-Type: application/x-www-form-urlencoded\r\n");
client.print("Content-Length: " + String(data.length()) + "\r\n");
client.print("\r\n");
client.print(data);
}
}
Penjelasan:
Langkah 4: Uji Coba dan Verifikasi
python app.py
curl -X POST http://127.0.0.1:5000/control/led -H "Content-Type: application/json" -d '{"status":"on"}'
Proyek ini berhasil mengintegrasikan simulator Wokwi dengan server API menggunakan Flask, yang memungkinkan kontrol perangkat keras virtual dan pengambilan data sensor dari perangkat mikrokontroler ESP32. Solusi ini memungkinkan simulasi perangkat keras secara lebih fleksibel tanpa memerlukan perangkat fisik yang mahal.
0 Orang Menyukai Karya Ini