上一篇文章已實現Esp8266開發板與MQTT服務器鏈接實現控制LED燈nginx
這篇文章記錄繼上篇的功能接入微信小程序實現LED燈的控制git
先理解一個概念:微信小程序訂閱MQTT服務器一個主題,Esp8266訂閱相同的主題時,github
微信小程序發送給MQTT服務器的消息,Esp8266一樣會接受到,意思就是微信小程序發送給MQTT服務器燈打開的命令web
MQTT服務器會轉發給Esp8266燈打開的命令(有點囉嗦了哈)小程序
1.先配置服務器nginx,代碼以下:微信小程序
location = /mqtt { # 8083就是咱們的emq的websocket的端口號 proxy_pass http://www.域名.cn:8083; proxy_redirect off; proxy_set_header Host www.域名.cn:8083; proxy_set_header Sec-WebSocket-Protocol mqtt; # 這個是與你的 js客戶端的庫有關係,本博文的不須要,爲了兼顧之後小夥伴,我這裏註釋了下! #more_clear_headers Sec-WebSocket-Protocol; # 這些都是 websocket必需要配置的 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }
放到80端口內便可,修改域名,其餘不用改,而後重啓nginx服務器
nginx -s reload 或cd到nginx文件夾下 ./nginx -s reload
服務器放行443端口(可能不須要,有備無患。。。)微信
到這裏微信小程序服務器這裏就準備好了websocket
2.下載微信小程序代碼,地址:https://github.com/daichaodeyu/WeChat_Esp8266微信開發
下載下來後用微信開發者工具打開,先修改app.js中的域名及主題
上一篇文章中Esp8266開發板中訂閱的主題是 /test/onoff/ ,app.js中也設置爲 /test/onoff/ ,如圖所示:
保存編譯小程序後,先點擊鏈接MQTT服務器,而後點擊訂閱都會有相應的提示
Esp8266開發板通上電,參照上篇文章鏈接LED燈後便可實現LED燈的打開與關閉
參考博文:半顆心臟 http://www.javashuo.com/article/p-pvjcxeep-mm.html
參考B站視頻:https://www.bilibili.com/video/av39598869?from=search&seid=1068408118905110158