上一篇文章已實現Esp8266開發板與MQTT服務器連接實現控制LED燈
這篇文章記錄繼上篇的功能接入微信小程序實現LED燈的控制
先理解一個概念:微信小程序訂閱MQTT服務器一個主題,Esp8266訂閱相同的主題時,
微信小程序發送給MQTT服務器的消息,Esp8266同樣會接受到,意思就是微信小程序發送給MQTT服務器燈打開的命令
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端口(可能不需要,有備無患。。。)
到這里微信小程序服務器這里就准備好了
2.下載微信小程序代碼,地址:https://github.com/daichaodeyu/WeChat_Esp8266
下載下來后用微信開發者工具打開,先修改app.js中的域名及主題
上一篇文章中Esp8266開發板中訂閱的主題是 /test/onoff/ ,app.js中也設置為 /test/onoff/ ,如圖所示:
保存編譯小程序后,先點擊連接MQTT服務器,然后點擊訂閱都會有相應的提示
Esp8266開發板通上電,參照上篇文章連接LED燈后即可實現LED燈的打開與關閉
參考博文:半顆心臟 https://blog.csdn.net/xh870189248/article/details/84070944
參考B站視頻:https://www.bilibili.com/video/av39598869?from=search&seid=1068408118905110158
