คอนโทรล GPIO ผ่านหน้าเว็บ
บทความนี้จะสอนการควบคุมขา GPIO ของบอร์ด ESP32/ESP8266 ผ่านหน้าเว็บโดยตรง โดยไม่ต้องแก้ไขโค้ด
1. การตั้งค่าบน Dashboard 🖥️
หลังจากอัปโหลดโค้ดพื้นฐาน (เช่น Simple Example) แล้ว ให้ทำดังนี้:
กดปุ่ม Edit (มุมขวาบน) > เลือก Yes

edit dashboard กด Add Widget > เลือก Control


เลือก Add or Edit ที่ Widget ใหม่

add or edit ที่ส่วน GPIO Selection เลือกขา GPIO ที่ต้องการ (เช่น
GPIO 15สำหรับ LED บน ESP32 S2 Mini) > กด OK
select gpio จะมีรายการ GPIO ใหม่ปรากฏขึ้น กดปุ่ม Edit ✏️ เพื่อตั้งค่า

click edit button ตั้งค่าโหมดการทำงาน (ต้องสอดคล้องกับความสามารถของขานั้นๆ):
- Digital: เปิด/ปิด (High/Low)
- PWM: หรี่ไฟ/ปรับความเร็ว (0-255)
- DAC: แปลงดิจิทัลเป็นอนาล็อก (เฉพาะขาที่รองรับ เช่น GPIO 17, 18 บน ESP32 S2 Mini)

set gpio สามารถเพิ่มได้หลาย GPIO ใน Widget เดียวกัน

control pin กด Save เพื่อบันทึก Dashboard
save dashboard จะได้แผงควบคุม GPIO พร้อมใช้งานทันที

gpio control widget
2. การอัปเดตสถานะกลับไปยัง Server ☁️
หากสถานะของขา GPIO เปลี่ยนแปลงโดยโค้ดในบอร์ด และต้องการให้หน้าเว็บอัปเดตตาม ให้ใช้คำสั่ง gpioUpdate(Pin, Value)
#define LED D4
Cynoiot iot;
// ตัวอย่าง: สลับสถานะ LED และส่งค่ากลับ
int ledState = !digitalRead(LED);
digitalWrite(LED, ledState);
// อัปเดตสถานะกลับไปยัง Server
iot.gpioUpdate(LED, ledState);Note: ledState จะเป็น 0 หรือ 1 สำหรับ Digital หรือ 0-255 สำหรับ PWM/DAC