var message="test message";
var topic="testtopic";
//publish every 5 secs
var timer_id=setInterval(function(){publish(topic,message,options);},5000);
//publish function
function publish(topic,msg,options){
console.log("publishing",msg);
if (client.connected == true){
client.publish(topic,msg,options);
}
//first published message asigns the topic alias of 1 to the topic //testtopic
var topic="testtopic";
options.properties={topicAlias:1};
and subsequent messages set the topic to “” and use the topic alias.
//first published message asigns the topic alias of 1 to the topic //testtopic
var topic="";
options.properties={topicAlias:1};
if (client.connected == true){
var options={
retain:true,
qos:1};
msg="test message string";
console.log("publishing",msg);
client.publish(topic,msg,options);
}
QOS=1でJSONメッセージを公開します
if (client.connected == true){
var options={
qos:1};
let data={volts:240,current:1.2};
msg =JSON.stringify(data);
console.log("publishing",msg);
client.publish(topic,msg,options);
}
メッセージをmessageExpiryInterval 設定で公開する
if (client.connected == true){
var options={
qos:1,
properties:
{
messageExpiryInterval:120
}
};
let data={volts:240,current:1.2};
msg =JSON.stringify(data);
console.log("publishing",msg);
client.publish(topic,msg,options);
}
注意:これを機能させるためには、クライアント接続をバージョン5に設定する必要があります
let r = Math.floor(Math.random() * 10000);
var options={
clientId:"mqttjs-"+r,
protocolVersion:5,
port:1883
}
let broker="mqtt://192.168.1.23";
var client = mqtt.connect(broker,options);