前言
本文是上一篇文章的进阶篇,本文使用的MQTT服务器为EMQX,适合在云服务器中使用,在云端搭建好网页好,发送控制消息至MQTT中指定的topic,esp8266订阅topic,接收到控制命令时,控制相应的LED。
提示:以下是本篇文章正文内容,下面案例可供参考
一、云端控制网页
关于网页上云的方法,本文不再赘述,方法许多,笔者这里使用的是宝塔。
网页使用了Bootstrap,Bootstrap是最受欢迎的HTML、CSS和JS框架,用来开发响应式布局、移动设备优先的WEB项目。使用Bootstrap编写的网页是响应式网页,可以在不同的客户端自适应,显得较为美观。网页通过client.publish(topic, ’ ')函数向服务器发送指令,从而向esp8266发出命令,MQTT部分要通过引用mqtt.min.js来实现。
Bootstrap文档地址:https://v3.bootcss.com
网页控制部分代码:
<script>
var topic_LED = ''; //topic
const options = {
connectTimeout: 4000, // 超时时间
username: '',
password: '',
clientId: 'mqttjs_' + (Math.random() * 1000000).toString()
}
const client = mqtt.connect('ws://localhost/mqtt', options)
client.on('reconnect', (error) => {
console.log('正在重连:', error)
}