บทความ บอร์ดทดลอง ESP8266

ตอนที่ 4 ทดสอบการควบคุมเปิดปิดรีเลย์ ด้วยระบบ MQTT ผ่าน ESP8266

 

- โดย Tumrobot

บทความนี้ ทำการทดสอบ Hardware โดยการ ให้สามารถรับการ Subscribe ตัว Topic ที่เราต้องการรับจาก MQTT Server แล้วนำตัว Message ที่ได้รับมาทำการเปลี่ยน State ของตัวรีเลย์ โดย Code Arduino นั้นนำมาจาก github

https://github.com/ItKindaWorks/ESP8266/tree/master/Home%20Automation/Part%201

โดย จาก Code ตัวอย่างนี้มีสิ่งที่จะต้องเพิ่มเติมเข้าไปอีกนิดนึงนั่นก็คือ

ต้องทำการ Add Library PubSubClient เข้าให้กับ Arduino IDE และ ต้องทำการ เพิ่มฟังก์ชั่น callback เข้าไปตามนี้

WiFiClient wifiClient;
void callback(char* topic, byte* payload, unsigned int length); //เพิ่มฟังก์ชั่นนี้เข้าไปใน Code
PubSubClient client(mqtt_server, atoi(mqtt_port), callback, wifiClient);

จากนั้นใน Code ให้ทำการ Config SSID และ Password ให้กับระบบด้วย

ส่วน Topic นั้นเราก็ใส่ชื่อ Topic ที่เราต้องการ ให้ ESP8266 ทำการ Subscribe ในตัวอย่างนี้เราใช้ Topic ชื่อ Relay1

 

//EDIT THESE LINES TO MATCH YOUR SETUP
#define MQTT_SERVER "YOUR.MQTT.SERVER.IP" // ให้ใส่ชื่อ URL ของ MQTT Server
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";

 
 

char* lightTopic = "relay1"; // แก้ไขชื่อ Topic ตามที่เราอยากจะ Subscribe

 

จากนั้นก็ให้ทำการโปรแกรมลงบน Hardware ของ ESP8266 ได้เลย

   

 

 

 

ส่วนการทดสอบนั้นสามารถดูได้จาก วิดีโอสาธิตได้เลย