สวัสดีครับนักศึกษาทุกคน ในบทที่แล้วเราส่งข้อมูลผ่าน HTTP ได้แล้ว แต่มันก็เป็นแค่ตัวเลขดิบๆ ที่อ่านยาก แถมยังสั่งงานกลับมาที่บอร์ดไม่ได้ จะดีกว่าไหม… ถ้าเราสามารถเปิดมือถือขึ้นมาแล้วเห็น “เกจวัดอุณหภูมิ” สวยๆ หรือกดปุ่มบนหน้าจอมือถือแล้วไฟที่บ้านติดทันที?
สิ่งที่จะมาช่วยให้เราทำแบบนั้นได้โดยไม่ต้องเขียนแอปพลิเคชันเองตั้งแต่ศูนย์ เรียกว่า “IoT Platform” ครับ และในบทนี้เราจะมาใช้งานแพลตฟอร์มขวัญใจนักประดิษฐ์ทั่วโลกที่ชื่อว่า Blynk (New Gen) กันครับ
1. IoT Platform คืออะไร? ทำไมต้องใช้?
ถ้าเปรียบ ESP32 เป็น “คนงาน” และมือถือเป็น “เจ้านาย” … IoT Platform ก็คือ “สำนักงานส่วนกลาง” ครับ ที่ทำหน้าที่:
- Connectivity: เป็นตัวกลางให้คนงานกับเจ้านายคุยกัน (ผ่าน Server ของเขา)
- Data Storage: เก็บข้อมูลย้อนหลังให้เรา
- Visualization: แปลงข้อมูลตัวเลข ให้เป็นกราฟ หรือปุ่มกดสวยๆ (Dashboard)
แพลตฟอร์มมีหลายเจ้า เช่น NETPIE (ของไทย), ThingSpeak, Tuya แต่ที่เรียนรู้ได้เร็วที่สุดและมีแอปฯ มือถือที่ใช้งานง่ายที่สุดคือ Blynk ครับ
2. เตรียมตัวก่อนเริ่ม (Blynk ยุคใหม่)
คำเตือน: ใครที่เคยเล่น Blynk เวอร์ชันเก่า (Legacy) ที่ไอคอนสีเขียวๆ ลืมมันไปก่อนครับ! ปัจจุบันเราเปลี่ยนมาใช้ Blynk IoT (New Gen) ที่ต้องมีการสร้าง “Template” ก่อนเสมอครับ

สิ่งที่ต้องเตรียม:
- สมัครสมาชิกที่เว็บไซต์ blynk.cloud (ใช้ฟรีได้ 2 อุปกรณ์)
- ดาวน์โหลดแอป Blynk IoT (ไอคอนสีเขียวเข้ม) ลงมือถือ
Download For iOS Download For Android
3. ขั้นตอนที่ 1: สร้าง Template และ Datastream (ทำบนเว็บ)
หัวใจสำคัญของ Blynk ใหม่คือ Datastream เปรียบเสมือน “ท่อน้ำ” หรือ “สายไฟจำลอง” ที่เชื่อมระหว่างฮาร์ดแวร์กับแอปฯ ครับ
1. Login เข้า blynk.cloud

2. ไปที่เมนู Templates (รูปสี่เหลี่ยมซ้อนกัน) -> กด + New Template
- Name: ตั้งชื่อ เช่น
ESP32 Smart Home - Hardware: เลือก
ESP32 - Connection Type: เลือก
WiFi - กด Done


3. ไปที่แถบ Datastreams -> กด + New Datastream -> เลือก Virtual Pin
- Name: ตั้งชื่อ เช่น
Switch Control - Pin: เลือก
V0(จำเลขนี้ไว้ให้ดี!) - Data Type: เลือก
Integer - กด Create


4. ขั้นตอนที่ 2: สร้าง Device เพื่อรับ “รหัสผ่าน”
1. ด้านซ้ายมือ -> กด + New Device

2. เลือก From template -> เลือก Template ที่เราเพิ่งสร้าง


4. สำคัญที่สุด: ทางด้านขวา คุณจะเห็นกล่องโค้ดสีดำที่เขียนว่า “Firmware Configuration”
- ให้ Copy โค้ด 3 บรรทัดนี้เก็บไว้ครับ มันคือบัตรผ่านทางเข้า Server

#define BLYNK_TEMPLATE_ID "TMPL6nv1-MaEH"
#define BLYNK_TEMPLATE_NAME "ESP32 Smart Home"
#define BLYNK_AUTH_TOKEN "ztbFzvfg_2yqnIE-HySnMJj5Ad00-371"5. ขั้นตอนที่ 3: ติดตั้ง Library และเขียนโค้ด
1. ใน Arduino IDE ให้ลง Library ชื่อ “Blynk” (โดย Volodymyr Shymanskyy)

2. เขียนโค้ดเชื่อมต่อเบื้องต้นดังนี้:
// 1. นำ 3 บรรทัดที่ Copy จากเว็บมาวาง "ไว้บนสุด" เสมอ!
#define BLYNK_TEMPLATE_ID "TMPLxxxxxx"
#define BLYNK_TEMPLATE_NAME "ESP32 Smart Home"
#define BLYNK_AUTH_TOKEN "นำTokenของคุณมาใส่ตรงนี้"
// 2. เรียกใช้ Library
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
// 3. ตั้งค่า WiFi
char ssid[] = "YOUR_WIFI_NAME";
char pass[] = "YOUR_WIFI_PASS";
void setup() {
Serial.begin(115200);
// คำสั่งเชื่อมต่อ Blynk (มันจะต่อ WiFi ให้เอง)
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
}
void loop() {
// หัวใจสำคัญ: ต้องมีบรรทัดนี้เพื่อให้ Blynk ทำงานตลอดเวลา
Blynk.run();
}
3. เชื่อมต่อสำเร็จ จะขึ้นสถานะ Online

6. ขั้นตอนที่ 4: สร้างปุ่มบนมือถือ (Mobile Dashboard)
1. เปิดแอป Blynk IoT ในมือถือ
2. Log in และเลือก Device ที่เราสร้างไว้ (จะเห็นชื่อขึ้นมาแล้ว)

3. กดรูป ประแจ (Setup Dashboard)

4. กดปุ่ม + แล้วลาก Button มาวาง


5. จิ้มที่ปุ่มเพื่อตั้งค่า -> ตรงช่อง DataStream ให้เลือก Switch Control (V0) ที่เราสร้างไว้


6. เปลี่ยน Mode จาก Push เป็น Switch

7. กด Back ออกมา แล้วกด Switch

7. ทดสอบผลลัพธ์
- Upload โค้ดลงบอร์ด ESP32
- เปิด Serial Monitor ดูว่าขึ้น “Ready” หรือยัง
- เปิดแอปในมือถือ จะเห็นจุดสีเขียวบอกสถานะว่า “Online”
- ลองกดปุ่มบนมือถือ -> ตอนนี้จะยังไม่มีอะไรเกิดขึ้นที่บอร์ด แต่ในแอปปุ่มจะเปลี่ยนสถานะได้
ทำไมไฟยังไม่ติด? เพราะเรายังไม่ได้เขียนโค้ดบอก ESP32 ว่า “ถ้า V0 ถูกกด ให้ทำอะไร” ครับ ซึ่งเราจะมาลุยกันต่อในบทหน้าครับ
สรุปท้ายบท
วันนี้เราได้วางโครงสร้างพื้นฐานที่สำคัญที่สุด คือการสร้าง “สะพาน” เชื่อมระหว่าง ESP32 กับมือถือผ่าน Blynk Cloud เรียบร้อยแล้วครับ แม้จะดูขั้นตอนเยอะในช่วงแรก (Template -> Datastream -> Device) แต่ถ้าเข้าใจคอนเซปต์นี้แล้ว แพลตฟอร์มไหนๆ ก็หลักการเดียวกันครับ
ภารกิจต่อไป: มีสะพานแล้ว แต่รถยังไม่วิ่ง! ในบทความหน้า เราจะมาเขียนโค้ดสั่งงานจริง “กดปุ่มบนมือถือ สั่งไฟ LED ที่บอร์ดติด” และ “โชว์ค่าอุณหภูมิจากบอร์ด ขึ้นไปบนมือถือ” เพื่อให้เป็นระบบ Smart Home ที่สมบูรณ์แบบครับ
หมายเหตุ:
- Blynk New Gen ค่อนข้างเข้มงวดเรื่อง Template ID ครับ ถ้านักศึกษาเอาโค้ดเก่าๆ ในเน็ตมาใช้โดยไม่มี Template ID จะต่อไม่ได้เลย ต้องย้ำจุดนี้ครับ
- ในบทนี้ผมเน้นแค่การ “เชื่อมต่อ (Connect)” ให้ผ่านก่อน เพื่อไม่ให้เนื้อหายาวเกินไป
