노드 Red로 유니버설 테이블 데이터 읽기

이 기사는 Windows를 사용했습니다.
개시하다
TEXIO GDM-8322https://www.texio.co.jp/product/detail/46는 USB 장치 포트를 갖춘 만능 시계다.Node-red에서 유니버설 테이블의 데이터를 읽고 표시합니다.
차리다
USB 드라이버 설치
TEXIO 홈 페이지https://www.texio.co.jp/product/detail/46에서 GDM-834x용 USB 드라이버(Win10)를 다운로드하여 설치합니다.
노드 레드 준비
여기에 필요한 다음 두 개의 팔레트를 설치합니다.
차트 표시에 사용됩니다.
node-red-node-serialport Arduino와 직렬 포트 통신을 합니다.
node-red-node-serialport에는 Tools for Native Modules가 설치되어 있어야 합니다.(Node.js를 설치할 때 함께 설치하지 않은 경우 시작->[Node.js]->[Install Additional Tools for Node.js]에 설치합니다.)
Flow
절차는 다음과 같다.불러오십시오.
flows.json
[
    {
        "id": "714806269dd4e39d",
        "type": "tab",
        "label": "フロー 1",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "59079920a821b896",
        "type": "inject",
        "z": "714806269dd4e39d",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "1",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payloadType": "date",
        "x": 190,
        "y": 100,
        "wires": [
            [
                "7b59323b3343dc3f"
            ]
        ]
    },
    {
        "id": "e0853489ddbfdb03",
        "type": "template",
        "z": "714806269dd4e39d",
        "name": "VAL1?",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "SAMP:COUN 1;VAL1?;SYST:LOC",
        "output": "str",
        "x": 650,
        "y": 100,
        "wires": [
            [
                "45c294f617fc927c"
            ]
        ]
    },
    {
        "id": "45c294f617fc927c",
        "type": "serial out",
        "z": "714806269dd4e39d",
        "name": "",
        "serial": "7acb69a22b74a550",
        "x": 790,
        "y": 100,
        "wires": []
    },
    {
        "id": "4f19bc660b42537a",
        "type": "serial in",
        "z": "714806269dd4e39d",
        "name": "",
        "serial": "7acb69a22b74a550",
        "x": 130,
        "y": 320,
        "wires": [
            [
                "6e6edef950734505",
                "987dcdf304d8790c",
                "24f03351219d050a",
                "b5833895ab539049"
            ]
        ]
    },
    {
        "id": "6e6edef950734505",
        "type": "debug",
        "z": "714806269dd4e39d",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 470,
        "y": 320,
        "wires": []
    },
    {
        "id": "b8caee8d4a1010c6",
        "type": "switch",
        "z": "714806269dd4e39d",
        "name": "",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "true"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 510,
        "y": 100,
        "wires": [
            [
                "e0853489ddbfdb03"
            ]
        ]
    },
    {
        "id": "7b59323b3343dc3f",
        "type": "ui_switch",
        "z": "714806269dd4e39d",
        "name": "",
        "label": "測定",
        "tooltip": "",
        "group": "48468ccc1018a9c3",
        "order": 1,
        "width": 0,
        "height": 0,
        "passthru": true,
        "decouple": "false",
        "topic": "topic",
        "topicType": "msg",
        "style": "",
        "onvalue": "true",
        "onvalueType": "bool",
        "onicon": "",
        "oncolor": "",
        "offvalue": "false",
        "offvalueType": "bool",
        "officon": "",
        "offcolor": "",
        "animate": false,
        "className": "",
        "x": 370,
        "y": 100,
        "wires": [
            [
                "b8caee8d4a1010c6"
            ]
        ]
    },
    {
        "id": "987dcdf304d8790c",
        "type": "ui_text",
        "z": "714806269dd4e39d",
        "group": "dd04f7f7db8ff68c",
        "order": 1,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "出力",
        "format": "{{msg.payload}}",
        "layout": "row-center",
        "className": "",
        "x": 450,
        "y": 380,
        "wires": []
    },
    {
        "id": "24f03351219d050a",
        "type": "ui_chart",
        "z": "714806269dd4e39d",
        "name": "",
        "group": "dd04f7f7db8ff68c",
        "order": 3,
        "width": 0,
        "height": 0,
        "label": "chart",
        "chartType": "line",
        "legend": "false",
        "xformat": "HH:mm:ss",
        "interpolate": "linear",
        "nodata": "",
        "dot": false,
        "ymin": "",
        "ymax": "",
        "removeOlder": 1,
        "removeOlderPoints": "",
        "removeOlderUnit": "60",
        "cutout": 0,
        "useOneColor": false,
        "useUTC": false,
        "colors": [
            "#1f77b4",
            "#aec7e8",
            "#ff7f0e",
            "#2ca02c",
            "#98df8a",
            "#d62728",
            "#ff9896",
            "#9467bd",
            "#c5b0d5"
        ],
        "outputs": 1,
        "useDifferentColor": false,
        "className": "",
        "x": 450,
        "y": 440,
        "wires": [
            []
        ]
    },
    {
        "id": "b5833895ab539049",
        "type": "change",
        "z": "714806269dd4e39d",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "{\t   \"DateTime\":$now(\t       '[Y0001]/[M01]/[D01] [H01]:[m01]:[s01]',\t       '+0900'\t   ),\t   \"Data\":msg.payload\t}",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 400,
        "y": 500,
        "wires": [
            [
                "c65a69e8ec3d860c"
            ]
        ]
    },
    {
        "id": "c65a69e8ec3d860c",
        "type": "csv",
        "z": "714806269dd4e39d",
        "name": "",
        "sep": ",",
        "hdrin": "",
        "hdrout": "none",
        "multi": "one",
        "ret": "\\r\\n",
        "temp": "",
        "skip": "0",
        "strings": true,
        "include_empty_strings": "",
        "include_null_values": "",
        "x": 570,
        "y": 500,
        "wires": [
            [
                "dc809bc0452d50ad"
            ]
        ]
    },
    {
        "id": "dc809bc0452d50ad",
        "type": "file",
        "z": "714806269dd4e39d",
        "name": "",
        "filename": "d:\\data.csv",
        "appendNewline": false,
        "createDir": false,
        "overwriteFile": "false",
        "encoding": "none",
        "x": 730,
        "y": 500,
        "wires": [
            []
        ]
    },
    {
        "id": "d7a1ccd5680e08a9",
        "type": "ui_spacer",
        "z": "714806269dd4e39d",
        "name": "spacer",
        "group": "dd04f7f7db8ff68c",
        "order": 2,
        "width": 1,
        "height": 1
    },
    {
        "id": "7acb69a22b74a550",
        "type": "serial-port",
        "serialport": "COM4",
        "serialbaud": "115200",
        "databits": "8",
        "parity": "none",
        "stopbits": "1",
        "waitfor": "",
        "dtr": "none",
        "rts": "none",
        "cts": "none",
        "dsr": "none",
        "newline": "\\n",
        "bin": "false",
        "out": "char",
        "addchar": "\\r",
        "responsetimeout": "10000"
    },
    {
        "id": "48468ccc1018a9c3",
        "type": "ui_group",
        "name": "測定",
        "tab": "845add20c30e6d4f",
        "order": 1,
        "disp": true,
        "width": "6",
        "collapse": false,
        "className": ""
    },
    {
        "id": "dd04f7f7db8ff68c",
        "type": "ui_group",
        "name": "出力",
        "tab": "845add20c30e6d4f",
        "order": 2,
        "disp": true,
        "width": "10",
        "collapse": false,
        "className": ""
    },
    {
        "id": "845add20c30e6d4f",
        "type": "ui_tab",
        "name": "GDM-8342",
        "icon": "dashboard",
        "disabled": false,
        "hidden": false
    }
]
다음 느낌의 흐름입니다.
(위쪽)
타임 스탬프에 1초 간격의 이벤트가 발생했습니다.데이터 간격을 바꾸려면 여기를 바꾸십시오.
대시보드의 스위치 노드(측정)와 스위치 노드는 계기판을 통해 측정할 수 있다.Switch 노드에서 Payload를 통과할지 여부를 결정합니다.
Template 노드에서 다중 계기로 보내는 전보를 설정합니다.
Serial Out 노드는 Many-to-World 테이블로 전송되는 부분입니다.COM 포트는 사용자 환경에 맞게 구성됩니다.출력 메시지에 구분 문자를 추가하려면\r을(를) 추가합니다.
(아래)
Serial In 노드는 데이터를 수신합니다.
Debug 노드는 특별히 필요한 것이 없습니다. 여기는 수신을 확인하기 위해 설정된 것입니다.
Dashboard의 텍스트 노드 표시 값입니다.
Dashboard의 Chart 노드가 차트를 생성합니다.폭을 원하는 대로 변경하십시오.
Change 노드는 받은 문자열과 시간을 JSON 형식으로 변환합니다.
CSV 노드는 JSON을 CSV 형식으로 변환합니다.
WriteFile 노드 출력 파일서류 이름을 적당한 느낌으로 바꿔 주세요.

또한 다음과 같이 Dashboard 가 표시됩니다.

최후
실험에 사용하기에는 조금 상황이 다르네요.
노드 Red IoT용데이터베이스에서 장기적으로 데이터를 저장하는 것은 매우 편리하지만, 나는 파일 Open 대화상자로 응용 프로그램을 대체하는 것은 적합하지 않다고 생각한다.(이번에는 출력 파일을 USB 메모리에 분배해서 처리합니다. 표준 WriteFile 노드에서는 파일 이름을 변경할 때마다 디버깅을 해야 합니다.)
또 대시보드의 차트를 통해 세로축의 포맷을 바꿀 수 있을지 의문이다.10e-5 정도의 값은 0으로 표시됩니다.

좋은 웹페이지 즐겨찾기