国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

NodeRED學(xué)習(xí)(七)MQTT/Modbus網(wǎng)關(guān)

這篇具有很好參考價(jià)值的文章主要介紹了NodeRED學(xué)習(xí)(七)MQTT/Modbus網(wǎng)關(guān)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

簡述:

用Node-RED 搭建一個(gè)MQTT網(wǎng)關(guān),網(wǎng)關(guān)通過Modbus總線連接一個(gè)水位傳感器和一個(gè)溫度傳感器,采集水位和溫度數(shù)據(jù),再通過MQTT客戶端把水位和溫度信息發(fā)布到MQTT代理。

網(wǎng)關(guān):

協(xié)議轉(zhuǎn)化:網(wǎng)關(guān)可以通過Modbus總線把多個(gè)485串口的傳感器,以輪詢的方式采集,通過MQTT協(xié)議發(fā)布給信息平臺(tái)。
信息匯聚:網(wǎng)關(guān)可以把多個(gè)傳感器數(shù)據(jù),聚合為一個(gè)對(duì)象,為數(shù)據(jù)附加語義描述,使信息具有結(jié)構(gòu)化,易可識(shí)別。
虛擬串口軟件VSPD配置兩對(duì)虛擬串口:
nodered配置mqtt,物聯(lián)網(wǎng),物聯(lián)網(wǎng)
Modbus Slave模擬兩個(gè)傳感器:
nodered配置mqtt,物聯(lián)網(wǎng),物聯(lián)網(wǎng)
nodered配置mqtt,物聯(lián)網(wǎng),物聯(lián)網(wǎng)

配置MQTT代理:
nodered配置mqtt,物聯(lián)網(wǎng),物聯(lián)網(wǎng)

通過Modbus分別采集水箱的水位和溫度,合并為水箱參數(shù),由MQTT客戶端發(fā)布:
nodered配置mqtt,物聯(lián)網(wǎng),物聯(lián)網(wǎng)
nodered配置mqtt,物聯(lián)網(wǎng),物聯(lián)網(wǎng)

添加注入(inject)節(jié)點(diǎn)和延遲(delay)節(jié)點(diǎn)配置輪詢:
nodered配置mqtt,物聯(lián)網(wǎng),物聯(lián)網(wǎng)
nodered配置mqtt,物聯(lián)網(wǎng),物聯(lián)網(wǎng)

添加函數(shù)節(jié)點(diǎn),為消息添加主題:
nodered配置mqtt,物聯(lián)網(wǎng),物聯(lián)網(wǎng)
nodered配置mqtt,物聯(lián)網(wǎng),物聯(lián)網(wǎng)文章來源地址http://www.zghlxwxcb.cn/news/detail-700909.html

[
    {
        "id": "47697d9d8a564c16",
        "type": "tab",
        "label": "流程 2",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "67b13033ddc0d223",
        "type": "modbus-getter",
        "z": "47697d9d8a564c16",
        "name": "水位",
        "showStatusActivities": true,
        "showErrors": false,
        "logIOActivities": false,
        "unitid": "1",
        "dataType": "HoldingRegister",
        "adr": "0",
        "quantity": "1",
        "server": "ce08db4b7d9f20f0",
        "useIOFile": false,
        "ioFile": "",
        "useIOForPayload": false,
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "x": 310,
        "y": 180,
        "wires": [
            [
                "d4cba5fe6569d8c3"
            ],
            []
        ]
    },
    {
        "id": "844ad47ff9474f12",
        "type": "modbus-getter",
        "z": "47697d9d8a564c16",
        "name": "水溫",
        "showStatusActivities": true,
        "showErrors": false,
        "logIOActivities": false,
        "unitid": "1",
        "dataType": "HoldingRegister",
        "adr": "0",
        "quantity": "1",
        "server": "c3bdb25d487433e4",
        "useIOFile": false,
        "ioFile": "",
        "useIOForPayload": false,
        "emptyMsgOnFail": false,
        "keepMsgProperties": false,
        "x": 350,
        "y": 280,
        "wires": [
            [
                "06514971ca3ad6ed"
            ],
            []
        ]
    },
    {
        "id": "36e7a1c989d23266",
        "type": "inject",
        "z": "47697d9d8a564c16",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "5",
        "crontab": "",
        "once": true,
        "onceDelay": "10",
        "topic": "",
        "payload": "",
        "payloadType": "str",
        "x": 150,
        "y": 220,
        "wires": [
            [
                "67b13033ddc0d223",
                "cb911d4fa59973ac"
            ]
        ]
    },
    {
        "id": "16aa2453141586b1",
        "type": "debug",
        "z": "47697d9d8a564c16",
        "name": "debug 4",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 420,
        "y": 380,
        "wires": []
    },
    {
        "id": "cb911d4fa59973ac",
        "type": "delay",
        "z": "47697d9d8a564c16",
        "name": "",
        "pauseType": "delay",
        "timeout": "10",
        "timeoutUnits": "milliseconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 210,
        "y": 280,
        "wires": [
            [
                "844ad47ff9474f12"
            ]
        ]
    },
    {
        "id": "d4cba5fe6569d8c3",
        "type": "function",
        "z": "47697d9d8a564c16",
        "name": "水位",
        "func": "msg={topic:\"WaterLevel\",payload:msg.payload[0]}\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 450,
        "y": 180,
        "wires": [
            [
                "47bd8c57dc676aeb"
            ]
        ]
    },
    {
        "id": "06514971ca3ad6ed",
        "type": "function",
        "z": "47697d9d8a564c16",
        "name": "水溫",
        "func": "msg={topic:\"WaterTemp\",payload:msg.payload[0],complete:true}\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 470,
        "y": 280,
        "wires": [
            [
                "47bd8c57dc676aeb"
            ]
        ]
    },
    {
        "id": "2229838c3375166e",
        "type": "mqtt out",
        "z": "47697d9d8a564c16",
        "name": "",
        "topic": "WaterTank",
        "qos": "0",
        "retain": "false",
        "respTopic": "",
        "contentType": "",
        "userProps": "",
        "correl": "",
        "expiry": "",
        "broker": "0222eb30f00ea5a5",
        "x": 750,
        "y": 220,
        "wires": []
    },
    {
        "id": "d731c49d3fbee150",
        "type": "aedes broker",
        "z": "47697d9d8a564c16",
        "name": "",
        "mqtt_port": 1883,
        "mqtt_ws_bind": "port",
        "mqtt_ws_port": "",
        "mqtt_ws_path": "",
        "cert": "",
        "key": "",
        "certname": "",
        "keyname": "",
        "dburl": "",
        "usetls": false,
        "x": 210,
        "y": 80,
        "wires": [
            [],
            []
        ]
    },
    {
        "id": "5323672ec49be0fd",
        "type": "mqtt in",
        "z": "47697d9d8a564c16",
        "name": "",
        "topic": "WaterTank",
        "qos": "0",
        "datatype": "auto-detect",
        "broker": "0222eb30f00ea5a5",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 140,
        "y": 380,
        "wires": [
            [
                "16aa2453141586b1"
            ]
        ]
    },
    {
        "id": "47bd8c57dc676aeb",
        "type": "join",
        "z": "47697d9d8a564c16",
        "name": "",
        "mode": "custom",
        "build": "object",
        "property": "payload",
        "propertyType": "msg",
        "key": "topic",
        "joiner": "\\n",
        "joinerType": "str",
        "accumulate": true,
        "timeout": "",
        "count": "",
        "reduceRight": false,
        "reduceExp": "",
        "reduceInit": "",
        "reduceInitType": "",
        "reduceFixup": "",
        "x": 610,
        "y": 220,
        "wires": [
            [
                "2229838c3375166e"
            ]
        ]
    },
    {
        "id": "7b17b1f6c871629b",
        "type": "comment",
        "z": "47697d9d8a564c16",
        "name": "1. 用于演示的MQTT代理",
        "info": "",
        "x": 190,
        "y": 40,
        "wires": []
    },
    {
        "id": "0a22dc0691ff8231",
        "type": "comment",
        "z": "47697d9d8a564c16",
        "name": "2. 通過Modbus分別采集水箱的水位和溫度,合并為水箱參數(shù),由MQTT客戶端發(fā)布",
        "info": "",
        "x": 370,
        "y": 140,
        "wires": []
    },
    {
        "id": "c3e9a93a84b8059c",
        "type": "comment",
        "z": "47697d9d8a564c16",
        "name": "3. 訂閱水箱參數(shù)",
        "info": "",
        "x": 160,
        "y": 340,
        "wires": []
    },
    {
        "id": "ce08db4b7d9f20f0",
        "type": "modbus-client",
        "name": "",
        "clienttype": "simpleser",
        "bufferCommands": true,
        "stateLogEnabled": false,
        "queueLogEnabled": false,
        "failureLogEnabled": true,
        "tcpHost": "127.0.0.1",
        "tcpPort": "502",
        "tcpType": "DEFAULT",
        "serialPort": "com4",
        "serialType": "RTU",
        "serialBaudrate": "9600",
        "serialDatabits": "8",
        "serialStopbits": "1",
        "serialParity": "none",
        "serialConnectionDelay": "100",
        "serialAsciiResponseStartDelimiter": "0x3A",
        "unit_id": 1,
        "commandDelay": 1,
        "clientTimeout": 1000,
        "reconnectOnTimeout": true,
        "reconnectTimeout": 2000,
        "parallelUnitIdsAllowed": true
    },
    {
        "id": "c3bdb25d487433e4",
        "type": "modbus-client",
        "name": "",
        "clienttype": "simpleser",
        "bufferCommands": true,
        "stateLogEnabled": false,
        "queueLogEnabled": false,
        "failureLogEnabled": true,
        "tcpHost": "127.0.0.1",
        "tcpPort": "502",
        "tcpType": "DEFAULT",
        "serialPort": "com6",
        "serialType": "RTU",
        "serialBaudrate": "9600",
        "serialDatabits": "8",
        "serialStopbits": "1",
        "serialParity": "none",
        "serialConnectionDelay": "100",
        "serialAsciiResponseStartDelimiter": "0x3A",
        "unit_id": "1",
        "commandDelay": "1",
        "clientTimeout": "1000",
        "reconnectOnTimeout": true,
        "reconnectTimeout": "2000",
        "parallelUnitIdsAllowed": true
    },
    {
        "id": "0222eb30f00ea5a5",
        "type": "mqtt-broker",
        "name": "",
        "broker": "localhost",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    }
]

到了這里,關(guān)于NodeRED學(xué)習(xí)(七)MQTT/Modbus網(wǎng)關(guān)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包