บทที่ 24: การฝึกเขียนโปรแกรม BLYNK IoT เชื่อมต่อกับ ESP-32

UTEN BOONLIAM Avatar
บทที่ 24 / 26

บทที่ 24: การฝึกเขียนโปรแกรม BLYNK IoT เชื่อมต่อกับ ESP-32

Blynk คือ แอปพลิเคชันสำเร็จรูปสำหรับงาน IOT มีความน่าสนใจคือการเขียนโปรแกรมที่ง่าย ไม่ต้องเขียน App เองสามารถใช้งานได้อย่าง Real time สามารถเชื่อมต่อ Device ต่างๆเข้ากับ Internet ได้อย่างง่ายดาย ไม่ว่าจะเป็น Arduino, Esp8266, Esp32, Nodemcu, Rasberry Pi นำมาแสดงบนแอปพลิเคชันได้อย่างง่ายดาย แล้วที่สำคัญแอปพลิเคชัน Blynk ยังฟรี และ รองรับในระบบ IOS และ Android

ในการทดลองนี้ เราจะเขียนโปรแกรมเชื่อมต่อ ESP32 บนบอร์ด Arduino Learning Kit เชื่อมต่อไปยังแอปพลิเคชัน BLYNK โดยจะแสดงค่าอุณหภูมิและความชื้นบน Gauge และทำการควบคุมการเปิดปิดรีเลย์โมดูลผ่านปุ่มกดผ่านแอปพลิเคชัน BLYNK

  1. ทำการติดตั้งแอปพลิเคชัน  Blynk ลงบนมือถือ โดยดาวน์โหลดแอปลงบนมือถือ ใช้ได้ทั้งระบบ Android และ iOS จากนั้นทำเปิดโปรแกรมขึ้นมา

  1. เมื่อทำการเปิดแอป Blynk ขึ้นมาแล้วระบบจะให้ทำการ Login ถ้ามี Account อยู่แล้วก็ให้ทำการ Login ไปได้เลย แต่ถ้ายังไม่มี Account ก็ให้ทำการสมัครใหม่

  1. เมื่อทำการ Login เข้าระบบเรียบร้อยแล้ว ให้ทำการสร้างโปรเจ็ค โดยกดที่เครื่องหมายบวก New Project

  1. จากนั้นใส่ชื่อโปรเจ็ค เลือกบอร์ดที่จะใช้เชื่อมต่อ และเลือกวิธีการเชื่อมต่อ โดยใส่ค่าตามรูปด้านล่าง แล้วกดปุ่ม Create Project (ชื่อโปรเจ็คตั้งเป็นอะไรก็ได้)

  1. เมื่อสร้างโปรเจ็คเสร็จแล้ว ให้ทำการกดปุ่มตั้งค่า

  1. จากนั้นให้ทำการก๊อปปี้รหัส Auth Token ของ Blynk โดยกดที่ AUTHTOKEN ตามรูปด้านล่าง เราจะนำค่า Auth Token นี้ไปใส่ในโค้ดตัวอย่างด้านล่าง

  1. การดาวน์โหลดไลบรารี่ Blynk ให้กับ Arduino IDE

  1. จากนั้นทำการเปิดโปรแกรมตัวอย่างของโปรแกรม BLYNK โดยไปที่ Examples -> Blynk -> Board_WiFi -> ESP32_WiFi จะได้ตัวอย่างโปรแกรมมาตามโค้ดด่านล่าง

  1. ทำการแก้ไขโค้ดตัวอย่าง โดยใส่ค่า ssid, pass และ auth

  • ssid => ชื่อของ Wireless Router ที่ต้องการเชื่อมต่อ

  • pass => รหัสผ่านของตัว Wireless Router

  • auth => Auth Token ที่ได้จากข้อ 24.6

  1. ทำการอัปโหลดโปรแกรมไปยังตัว ESP-32 จากนั้นเปิดหน้าต่าง Serial monitor ดูการทำงาน ถ้าเชื่อมต่อกับ WiFi Router และ Blynk server สำเร็จ หน้าต่าง Serial Monitor จะแสดงตามรูปด้านล่าง

  1. กลับไปที่แอปพลิเคชัน Blynk อีกครั้ง ทำการสร้างปุ่มกด โดยไปที่หน้าโปรเจ็คที่เราสร้างขึ้น ทำการเพิ่มปุ่ม Button ตามรูป

  1. จากนั้นทำการตั้งค่าให้กับปุ่มกด โดยทำการแตะที่ปุ่มกด แล้วทำการตั้งค่าต่างๆ ตามรูปด่านล่าง

  1. ทำการเพิ่มปุ่มกดอีกหนึ่งปุ่ม เพื่อนำไปควบคุมการเปิด-ปิด Relay2 โดยกำหนดขาที่ต่อใช้งานเป็น GP13

  1. ทดลองกดปุ่มเริ่มทำงาน หน้าจอแผงควบคุมจะฟ้องว่าอุปกรณ์ได้ทำการเชื่อมต่อแล้วหรือไม่ หรือสามารถกดปุ่มสถานะดูการเชื่อมต่อของ Blynk กับ ESP-32

  1. เมื่อ Blynk อยู่ในสถานะออนไลน์แล้ว ให้ทำการเลื่อน DIP Switch ของรีเลย์โมดูลให้อยู่ในตำแหน่งของ ESP32 จากนั้นทดลองเปิด-ปิด รีเลย์ผ่านทาง Blynk

  2. ทำการแก้ไขเพิ่มเติมโค้ดเดิม โดยเพิ่มการวัดค่าอุณหภูมิและความชื้นจากเซนเซอร์ DHT22 จากนั้นทำการอัปโหลดไปยังตัว ESP-32 (ก่อนทำการอัปโหลด ให้เลื่อน DIP Switch ของรีเลย์โมดูลให้อยู่ตำแหน่ง OFF เสียก่อน ไม่เช่นนั้นจะไม่สามารถอัปโหลดให้กับ ESP-32 ได้ จากนั้นให้กลับไปอยู่ตำแหน่ง ON เหมือนเดิม)

  1. กลับไปที่หน้าจอของ Blynk อีกครั้ง ทำการเพิ่ม Gauge แสดงอุณหภูมิและความชื้น โดยกดที่ปุ่มหยุดการทำงาน แล้วทำการเพิ่ม Gauge เข้าไปในแผงควบคุม

  1. ทำการเพิ่ม Gauge ไปยังแผงควบคุม Blynk

24.19. ทำการแก้ไขค่าใน Gauge โดยทำการตั้งชื่อ ตั้งค่า INPUT เป็น V1 และค่าสูงสุด ต่ำสุด 0-60

  1. ทำการเพิ่ม Gauge สำหรับความชื้นอีกตัวหนึ่ง โดยทำการตั้งค่าตามรูปด่านล่าง

  1. จากนั้นกดปุ่มเริ่มทำงานบน Blynk จะได้ผลเหมือนรูปด้านล่าง

แอปพลิเคชัน Blynk จะให้ Energy หรือพลังงานเพียง 2,000 แต้ม ซึ่งในการสร้างโปรเจ็คเพิ่มเติม Energy จะถูกใช้ไป ทำให้หมดได้ ดังนั้นอาจจะต้องทำการลบโปรเจ็คเก่า หรือไม่ก็ต้องซื้อ Energy เพิ่ม

แบบฝึกหัดสำหรับทบทวนความเข้าใจและประยุกต์ใช้งานจริง

  1. ทำการเขียนโปรแกรมตรวจจับระยะของวัตถุด้วยอัลตร้าโซนิคเซนเซอร์ แล้วนำมาแสดงที่โปรแกรม Blynk บนโทรศัพท์มือถือ

 

  1. ทำการเขียนโปรแกรมวัดค่า VR1, VR2 และ VR3 จากนั้นนำมาแสดงค่า Gauge ที่โปรแกรม Blynk บนโทรศัพท์มือถือ

 

Leave a Reply

Your email address will not be published. Required fields are marked *