โพสต์นี้จะสอนทำการควบคุมหลอด LED ผ่านอินเตอร์เน็ตโดยใช้ ESP8266 (Nodemcu) มาให้รับชมกันนะครับ ต้องบอกก่อนเลยว่าถ้าหากทำได้แล้วไม่ใช่เพียงแต่เฉพาะควบคุมหลอด LED เท่านั้น เพราะสามารถนำไปประยุกต์ใช้กับการควบคุมสั่งงานอุปกรณ์ต่างๆเช่น การควบคุมเปิดปิดพัดลมก็เปลี่ยนจาก LED เป็น Relay เป็นต้นครับ
วิธีการทำ
สำหรับขั้นตอนที่ 1 และ 2 เป็นขั้นตอนในการติดตั้ง Driver ของ Virtual COM Port และติดตั้ง/ตั้งค่า Arduino IDE ซึ่งถ้าท่านใดทำแล้วก็ให้ข้ามไปขั้นตอนที่ 3 ได้เลยครับ
1.การติดตั้ง Virtual COM Port
1.1.ถ้าหากใช้ NodeMCU version 0.9 ให้ดาวน์โหลด Driver และติดตั้งจาก http://www.electrodragon.com/w/CH341
1.2.ถ้าหากใช้ NodeMCU version 1.0 ให้ดาวน์โหลด Driver และติดตั้งจาก https://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx
2.ติดตั้ง Arduino IDE/ตั้งค่าให้สามารถใช้งาน ESP8266 ได้
2.1.โดยดาวน์โหลดจาก https://www.arduino.cc/en/Main/Software
2.2.เพิ่มชนิดของบอร์ด esp8266 โดยเข้าไปที่เมนู File > Preferences จากนั้นใส่ข้อความว่า http://arduino.esp8266.com/
stable/package_esp8266com_index.json ลงไปในช่อง Additional Board Manager URLs
2.3.เปิด Boards Manager ที่อยู่ในเมนู Tools แล้วค้นหาคำว่า esp8266 แล้วกด install (ใช้เวลาดาวน์โหลดและติดตั้งสักครู่)
3.เพิ่ม Library ของ Anto เข้าไป
3.1.ดาวน์โหลด Library ของ Anto จาก https://github.com/AntoIOT/AntoIO/archive/v1.0.1.zip
3.2.แตกไฟล์ที่ดาวน์โหลดมาไว้ในโฟลเดอร์ Documents > Arduino > Libraries
3.3.ปิดแล้วเปิดโปรแกรม Arduino IDE ขึ้นมาใหม่อีกครั้ง
4.สมัครสมาชิกและเข้าสู่ระบบ Anto
4.1.สมัครสมาชิกโดยเข้าไปที่ https://www.anto.io จากนั้นกดปุ่ม Register ที่อยู่เมนูด้านบน
4.2.กรอกข้อมูลให้ครบถ้วนและกดยืนยันการสมัคร
4.3.ล็อคอินเข้าสู่ระบบโดยไปที่ https://www.anto.io จากนั้นกดปุ่ม Login ที่อยู่เมนูด้านบน
5.สร้าง Thing, Channel และ Key
5.1.เมื่อเข้าสู่ระบบของเว็บ Anto แล้วให้ทำการสร้าง Thing (ในตัวอย่างนี้จะใช้ชื่อ nodemcu) โดยการกดที่เมนู Thing ด้านซ้ายมือ จากนั้นกดปุ่ม Add new thing
5.2.เมื่อสร้าง Thing เสร็จแล้วให้สร้าง Channel (ในตัวอย่างนี้จะใช้ชื่อ statusLED) เลือกประเภท On/off โดยการกดปุ่มแว่นขยายหลังชื่อ Thing ที่พึ่งสร้างเมื่อสักครู่ จากนั้นกดปุ่ม Add new channel
5.3.ต่อมาจะเป็นการสร้าง Key เพื่อเป็นการกำหนดสิทธิการใช้งาน โดยไปที่เมนู Key ด้านซ้ายมือ จากนั้นกดปุ่ม Add new key จากนั้นติ๊กเลือก Read กับ Update ที่ Channel ที่เราพึ่งสร้างมา (ที่ชื่อ statusLED) จากนั้นกดปุ่ม Add new ที่อยู่ด้านล่าง
6.เขียนโปรแกรม
6.1.เปิดโปรแกรม Arduino IDE ขึ้นมา
6.2.พิมพ์โค้ดตัวอย่าง
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include<AntoIO.h> void setup() { pinMode(D2,OUTPUT); Anto.begin("wifi_xxx", "pass_xxx", "key_xxx", "nodemcu"); } void loop() { if ((Anto.digitalGet("statusLED")) == HIGH) { digitalWrite(D2,HIGH); }else{ digitalWrite(D2,LOW); } delay(100); } |
โดยที่
wifi_xxx ให้เปลี่ยนเป็นชื่อ WiFi ของเรา
pass_xxx ให้เปลี่ยนเป็นรหัสผ่านของ WiFi ของเรา
key_xxx ให้เปลี่ยนเป็นข้อความ key ที่ได้จากการสร้างในขั้นตอนที่ 5.3
nodemcu ให้เปลี่ยนเป็นชื่อ Thing อื่นตามที่สร้างไว้ (ถ้าทำตามตัวอย่างเลยก็จะใช้คำว่า nodemcu อยู่แล้ว)
D2 ให้เปลี่ยนเป็น pin ที่ต่อหลอด LED อยู่
6.3.ดาวน์โหลดลงบอร์ด (เบริ์นโปรแกรมลงบอร์ด NodeMCU)
7.ทำการทดลองเปลี่ยนแปลงค่า โดยเข้าไปที่ระบบ Anto แล้วเข้าไปที่ Channel ชื่อ statusLED แล้วลองเปลี่ยนค่าที่หน้าเว็บดูและสังเกตผล (ระบบเว็บเรารองรับการควบคุมทั้งเว็บบนคอมฯ โน๊ตบุ๊ค สมาร์ทโฟน แท็บเล็ต