JS中调用MQTT如何发布16进制消息?

59 阅读1分钟

解决办法:将16进制字符串转成Uint8Array下发即可

//转16进制字符串转Uint8Array
var hex = '010300000002C40B'
var typedArray = new Uint8Array(hex.match(/[\da-f]{2}/gi).map(function (h) {
  return parseInt(h, 16)
}))

//下发
this.client.publish(topic, typedArray, {
    qos: 1
}, (err) => {
    if (!err) {
        console.log('成功发布主题:' + topic)
        console.log('主题内容:' + message);
    }
})