97人妻精品一区二区三区软件,人妻偷拍在线,插丝袜美女小穴视频,美女午夜福利在线

      • <i id="89dc3"></i>
        當前位置: 首頁 >應用方案 >技術應用 >

        Node-RED工具MQTT IN節(jié)點的動態(tài)用法

        靜態(tài)連接

        非動態(tài)連接的MQTT IN”不支持輸入,需要完整配置連接參數以及訂閱地址;

        1  MQTT IN節(jié)點動態(tài)用法


        配置連接MQTT服務器認證參數;

        2  MQTT IN節(jié)點動態(tài)用法


        動態(tài)連接

        復制下段JSON文本到Node-RED導入窗口,防止參數輸入錯誤導致連接失?。?/span>

        [{"id":"9a5655d35c064b4a","type":"inject","z":"f2918211b951343b","name":"手動連接","props":[{"p":"action","v":"connect","vt":"str"},{"p":"broker","v":"{\"type\":\"mqtt-broker\",\"broker\":\"192.168.88.5\",\"port\":1883,\"force\":true,\"clientid\":\"nodered_debug\",\"autoConnect\":false,\"protocolVersion\":\"3.1.1\",\"keepalive\":\"120\",\"username\":\"admin_nodered_debug\",\"password\":\"2E04DD7795E3B09D0C18350C14B204AC\"}","vt":"json"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":880,"y":120,"wires":[["2fbfe744fc88bd59"]]},{"id":"2fbfe744fc88bd59","type":"mqtt in","z":"f2918211b951343b","name":"","topic":"","qos":"2","datatype":"auto","broker":"b68d71bd98332c07","nl":false,"rap":true,"rh":0,"inputs":1,"x":1090,"y":180,"wires":[["23764904f218a6d5"]]},{"id":"b68d71bd98332c07","type":"mqtt-broker","name":"動態(tài)連接MQTT","broker":"192.168.88.5","port":"1883","clientid":"","autoConnect":false,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]

        3  MQTT IN節(jié)點動態(tài)用法

        導入完成后會輸出成功日志如下圖。

        4  MQTT IN節(jié)點動態(tài)用法


        打開剛才導入的MQTT IN”節(jié)點,與常規(guī)連接一樣,使用動態(tài)連接也需要配置一個用于存儲動態(tài)連接參數的空間,需要配置一個空的“服務端”,可以像我一樣將IP地址配置為127.0.0.1,端口為8888(也可以為其他任意值,不能為空,其余參數可以為空),實際節(jié)點在連接時不會優(yōu)先使用輸入的參數而是使用傳入的參數連接(導入的“手動連接”JSON中對應的字段參數),缺少的參數會采用此處默認參數(根據說明得出,并未實際測試),需要注意使用動態(tài)連接節(jié)點應當通過上一節(jié)點驅動而不是底層自動驅動因此需要取消勾選“Connect automatically”屬性;

        5  MQTT IN節(jié)點動態(tài)用法

        如何配置

        打開導入的“手動連接”,一共配置了兩個字段,一個用于存在請求信息(msg.action,相當于告知MQTT IN節(jié)點應當如何解析數據),一個用于存儲連接參數(msg.broker);

        msg.action支持一下功能:

        connect”,連接請求,用于告知MQTT IN節(jié)點使用msg.broker參數連接服務器;

        subscribe”,訂閱請求,用于告知MQTT IN節(jié)點使用msg.topic訂閱服務器的主題;

        unsubscribe”,取消訂閱,與“subscribe”對應使用,取消主題的訂閱;

        disconnect”,斷開服務器連接;

        這里先說明connect”方式需要的參數,需要見參數存在broker字段,因此需要選擇使用JOSN,如下圖所示:

        6  MQTT IN節(jié)點動態(tài)用法

        type”,用于標記參數,可以任意配置,也可缺?。?/span>

        broker”,用于存儲MQTT服務器地址;

        port”,用于存儲MQTT服務器端口;

        force”,強制斷開連接,一般使能,缺省為失能,可能返回錯誤(沒有斷開服務器連接時再次請求連接);

        clientid”,MQTT連接三要素的客戶端ID;

        autoConnect”,自動連接使能,建議關閉,避免發(fā)生錯誤;

        protocolVersion”,MQTT連接的版本;

        keepalive”,MQTT的保活心跳,建議配置為120

        username”,MQTT連接三要素的用戶名;

        password”,MQTT連接三要素的密鑰;

        配置以上參數MQTT動態(tài)連接即可實現(xiàn),下面是連接的服務器日志,由于添加了數據庫認證會比無認證的多幾個認證日志;

        7  MQTT IN節(jié)點動態(tài)用法


        點擊觸發(fā)后MQTT IN”節(jié)點會提示已連接;

        8  MQTT IN節(jié)點動態(tài)用法


        斷開連接就要比連接要簡單的多,只要傳入請求方式msg.action”等于“disconnect”,Node-RED上面會連接很多的MQTT服務器,斷開對應的連接就需要再次使用到上面配置的“空服務器”;

        9  MQTT IN節(jié)點動態(tài)用法

        動態(tài)訂閱與取消訂閱

        上面已經提到訂閱請求需要配置msg.action”為“subscribe”,這是不在使用“broker”存儲參數,而是使用“topic”存儲,這里的topic需要存儲連個信息一個是訂閱的地址(msg.topic.topic),一個是訂閱的等級(msg.topic.qos),如下圖:

        10  MQTT IN節(jié)點動態(tài)用法

        取消訂閱只需要令msg.action”為“unsubscribe”,其余與訂閱一致;

        動態(tài)連接測試

        使用動態(tài)連接方式連接自建MQTT服務器,并通過“123”主題回傳當前時間戳測試;

        11  MQTT IN節(jié)點動態(tài)用法

        Debug調試窗口輸入時間戳,動態(tài)連接訂閱有效;

        MQTT服務器調試日志:

        12  MQTT IN節(jié)點動態(tài)用法

        筆者工程文件如下,導入Node-RED使用:

        [{"id":"a906262bda80a272","type":"inject","z":"5d4fa2aa0a8f4fcf","name":"手動連接","props":[{"p":"action","v":"connect","vt":"str"},{"p":"broker","v":"{\"type\":\"mqtt-broker\",\"broker\":\"192.168.88.5\",\"port\":1883,\"force\":true,\"clientid\":\"nodered_debug\",\"autoConnect\":false,\"protocolVersion\":\"3.1.1\",\"keepalive\":\"120\",\"username\":\"admin_nodered_debug\",\"password\":\"2E04DD7795E3B09D0C18350C14B204AC\"}","vt":"json"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":180,"y":440,"wires":[["ce21e6f7efcbbea1"]]},{"id":"ce21e6f7efcbbea1","type":"mqtt in","z":"5d4fa2aa0a8f4fcf","name":"","topic":"","qos":"2","datatype":"auto","broker":"b68d71bd98332c07","nl":false,"rap":true,"rh":0,"inputs":1,"x":370,"y":520,"wires":[["666a19ab1c8cb2bd"]]},{"id":"666a19ab1c8cb2bd","type":"debug","z":"5d4fa2aa0a8f4fcf", "name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":530,"y":520,"wires":[]},{"id":"553cee9604c2a8ff","type":"inject","z":"5d4fa2aa0a8f4fcf","name":"斷開連接","props":[{"p":"action","v":"disconnect","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay": 0.1,"topic":"","x":180,"y":620,"wires":[["ce21e6f7efcbbea1"]]},{"id":"07a0589c3a502788","type":"inject","z":"5d4fa2aa0a8f4fcf","name":"手動訂閱","props":[{"p":"action","v":"subscribe","vt":"str"},{"p":"topic","v":"{\"topic\":\"123\",\"qos\":0}","vt":"json"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":180,"y":500,"wires":[["ce21e6f7efcbbea1"]]},{"id":"d81035879f55d047","type":"inject","z":"5d4fa2aa0a8f4fcf","name":"手動斷開訂閱","props":[{"p":"action","v":"unsubscribe","vt":"str"},{"p":"topic","v":"{\"topic\":\"123654\",\"qos\":0}","vt":"json"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":170,"y":560,"wires":[["ce21e6f7efcbbea1"]]},{"id":"b8542c59cc5a49bd","type":"mqtt out","z":"5d4fa2aa0a8f4fcf","name":"","topic":"","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"b68d71bd98332c07","x":370,"y":740,"wires":[]},{"id":"77600c8d5cc27a7e","type":"inject","z":"5d4fa2aa0a8f4fcf","name":"動態(tài)訂閱測試","props":[{"p":"topic","vt":"str"},{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"123","payloadType":"date","x":180,"y":740,"wires":[["b8542c59cc5a49bd"]]},{"id":"b68d71bd98332c07","type":"mqtt-broker","name":"動態(tài)連接MQTT","broker":"127.0.0.1","port":"8888","clientid":"","autoConnect":false,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]

        今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多串口服務器、數傳電臺、lora模塊等無線數傳模塊產品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網和企業(yè)公眾號(微信號:cdebyte)進行了解,也可以直接撥打400電話咨詢技術專員!


        相關閱讀:

        1、使用Node-RED實現(xiàn)Modbus TCP到RTU的轉換案例

        2、MQTT協(xié)議報文中TPC驅動和字符轉換教程

        3、西門子PLC利用函數塊連接MQTT服務器發(fā)布消息教程

        4、MQTT消息等級詳解




        點擊撥打: 億佰特官網 4000-330-990