[update] add mqtt method publish & unique client_id

This commit is contained in:
peterlu14
2022-12-01 10:33:19 +08:00
parent a64f0d93da
commit 8925bbe343
3 changed files with 21 additions and 6 deletions
+6
View File
@@ -14,6 +14,11 @@ export default function useMqtt() {
PublicMqtt.value.link()
getMessage(callback)
}
const publish = (topic: string, message: string) => {
PublicMqtt.value?.publish(topic, message)
}
const getMessage = (callback: OnMessageCallback) => {
// PublicMqtt.value?.client.on('message', callback);
PublicMqtt.value?.get(callback)
@@ -27,5 +32,6 @@ export default function useMqtt() {
return {
startMqtt,
publish,
}
}
@@ -16,12 +16,15 @@
ChartContainer,
},
setup() {
const { startMqtt } = useMqtt()
const { startMqtt, publish } = useMqtt()
const controllerID = 'b8:27:eb:18:f8:cc'
// startMqtt('b8:27:eb:18:f8:cc/+/#', (topic: string, message: ArrayBuffer) => {
// const msg = JSON.parse(message.toString())
// console.log('1', topic, msg)
// })
startMqtt(`${controllerID}/+/#`, (topic: string, message: ArrayBuffer) => {
const msg = JSON.parse(message.toString())
console.log('1', topic, msg)
})
publish(`${controllerID}_user`, JSON.stringify({ header: 'get_device_info_all/0' }))
return {}
},
+7 -1
View File
@@ -14,7 +14,7 @@ class MQTT {
init() {
const options = {
clean: true,
clientId: '111',
clientId: 'mqttjs_' + Math.random().toString(16).substring(2, 8),
// password: '111',
// username: '1111',
connectTimeout: 4000,
@@ -49,6 +49,12 @@ class MQTT {
})
})
}
// publish
publish(topic: string, message: string) {
this.client.publish(topic, message)
}
// message callback
get(callback: OnMessageCallback) {
this.client.on('message', callback)