[IoT] โปรเจคเปิด-ปิด LED ผ่าน WiFi ด้วย Blynk
NodeMCU ESP8266 + Blynk + LED
เริ่มต้นสร้างโปรเจค IoT (Internet of Thing) ง่ายๆ ด้วยการควบคุมอุปกรณ์ผ่านทางมือถือ ด้วยโปรแกรม Blynk เชื่อมต่อไปยัง NodeMCU ESP8266 และทำงานผ่านวงจร เปิด-ปิด หลอด LED
เครื่องมือ
- NodeMCU ESP8266
- Smart Phone ที่ลงโปรแกรม Blynk และ ล็อกอินให้เรียบร้อย
- สาย Jumper
- LED สีไหนก็ได้
- Breadboard
- Resister ตัวต้าน 220Ω
- USB to Micro เชื่อมต่อกับคอมพิวเตอร์
เริ่มสร้างโปรเจคใน Blynk
กด New Project
เพื่อทำการสร้างโปรเจคใหม่
จากนั้นตั้งชื่อโปรเจค ทำการเลือกชนิดของบอร์ดไมโครคอนโทรเลอร์ และ การเชื่อมต่อแบบ WiFi
เมื่อกด Create Project
ระบบจะทำการส่ง Token ไปยัง e-mail ที่เราได้ทำการลงทะเบียนเอาไว้ เก็บ Token นี้ไว้ใช้ Authenticate ตอนเขียนโค๊ด
ต่อไปทำการสร้างปุ่มง่ายๆขึ้นมาอันนึง
กำหนด ชื่อ Label อะไรก็ได้ ในที่นี้ผมตั้ง LED
และ อย่าลืมกำหนดขา Digital Output ในที่นี้เลือก D0
หรือ digital ขาไหนก็ได้ ผมเริ่มจาก D0
เพราะเดียวโปรเจคหน้าจะใช้ขาอื่นต่อ
ต่อวงจร
การต่อวงจร สามารถประยุกต์การต่อจากวงจรนี้ได้
เขียนโค๊ด
ให้ทำการติดตั้ง Library Blynk สำหรับ Arduino IDE ก่อน ซึ่งผมจะใช้วิธีการ git clone ซึ่งไวดี แต่ถ้าสะดวกจะดาวน์โหลด ให้ใช้วิธีนี้
- https://github.com/blynkkk/blynk-library/archive/master.zip
- เปิด
Arduino IDE > Sketch > Include Libraries > Add .ZIP library…
วิธี clone library project ด้วย git
cd /Users/{your_user}/Documents/Arduino/libraries
git clone https://github.com/blynkkk/blynk-library.git
แก้ไขตัวแปร ดังนี้
char auth[]
ด้วย Blynk Token ที่ได้มาchar ssid[]
ชื่อ WiFi SSIDchar pass[]
รหัสผ่าน WiFi
จากนั้น Burn ลง NodeMCU ด้วยโค๊ดชุดข้างบน แล้วดูผลลัพธ์ที่ Serial monitor
ทดลอง เปิด-ปิด ผ่านแอพพลิเคชัน Blynk
ถ้าเราไม่ได้ใช้ Platform Blynk เราต้องทำการสร้าง VPS ผ่านทางบริการต่างๆ เช่น Digital Ocean แล้วทำการ Forward-Port ไปยัง WiFi Router ในบ้าน และทำการเชื่อมต่อกับ NodeMCU เพื่อส่งคำสั่ง
สำหรับตอนหน้าจะเป็นการทดลองสร้างโปรเจค Infrared Sensor เมื่อมีวัตถุวิ่งผ่าน แล้วทำการส่ง LINE Notification ครับ