/**
* node 程序, mqtt发送消息
*/
var mqtt = require("mqtt");
var CryptoJS = require("crypto-js");
let config = require("./config");
var clientId = config.GROUP_ID + "@@@" + new Date().valueOf().toString();
var username = "Signature|" + config.accessKey + "|" + config.instanceId;
var password = CryptoJS.HmacSHA1(clientId, config.secretKey).toString(
CryptoJS.enc.Base64
);
var options = {
username: username,
password: password,
clientId: clientId,
keepalive: 90,
connectTimeout: 3000,
};
var client = mqtt.connect(config.host, options);
var topic = "user-records";
client.on("connect", function () {
setInterval(() => {
client.publish(topic, "Hello mqtt ");
client.end();
}, 1000);
});
// 关闭连接的回调函数
client.on("close", () => {
console.log("已关闭 MQTT 连接");
});
/**
* node 程序 mqtt接收端
*/
var mqtt = require("mqtt");
var CryptoJS = require("crypto-js");
let config = require("./config");
var clientId = config.GROUP_ID + "@@@" + new Date().valueOf().toString();
var username = "Signature|" + config.accessKey + "|" + config.instanceId;
var password = CryptoJS.HmacSHA1(clientId, config.secretKey).toString(
CryptoJS.enc.Base64
);
var options = {
username: username,
password: password,
clientId: clientId,
keepalive: 90,
connectTimeout: 3000,
};
var client = mqtt.connect(config.host, options);
var topic = "user-records";
client.on("connect", function () {
client.subscribe(topic, { qos: 1 });
});
client.on("message", function (topic, message) {
console.log("接受到的消息:", message.toString());
});
let config = {
accessKey: "",
secretKey: "",
GROUP_ID:'GID_FACE',
instanceId:'post-cn-xxxxxx',
host:'tcp://post-cn-xxxxxx.mqtt.aliyuncs.com'
};
module.exports = config
{
"dependencies": {
"crypto-js": "^4.2.0",
"mqtt": "^5.5.0"
}
}