1. 安装依赖:
npm i mqtt@4.3.7
2.创建 MQTT_Config.js:
const mqtt = require('mqtt')
export const options = {
clean :true,
connectTimeout :4000,
clientId: `mqtt_${Math.random().toString(16).slice(3)}`,
username: 'admin',
password: 'admin',
};
export const url = 'mqtt://ip:8083/mqtt';
export const themeList = ['test','state'];
export const themeObject = {
test: "test",
state: "state",
};
3.使用:
import { options, url, themeList, themeObject } from "@/config/mqttCOnfog.js";
let client = "";
mounted() {
this.initMqtt();
this.mqttReceive();
},
methods: {
initMqtt() {
let _this = this;
var mqtt = require("mqtt");
client = mqtt.connect(url, options);
client.on("connect", () => {
console.log("连接成功....");
_this.mqttPublish();
});
client.on("error", (err) => {
console.log("err => ", err);
client.end();
})
},
mqttPublish() {
let obj = {
message: "测试消息"
}
client.publish(themeObject.test, JSON.stringify(obj));
console.log("主题 = ", themeObject.test, "发送成功 => ", obj);
},
mqttReceive() {
client.subscribe(themeObject.test, (err) => {
if(!err) {
console.log("subscribe success!");
} else {
console.log("err => ", err);
}
});
client.on("message", (themeObject.test, message) => {
console.log(new TextDecoder().decode(message));
});
},
}