今回は、YAMAHAのDME64NとNode-REDを接続して、設定してあるindex Noすべてを操作できるようにしたいと思います。
DME64NのIP設定
まずは、繋げるにあたりIPアドレスの設定をしていきます。
こちらは設定しなくてもいいと思いますが、接続の際にわかりやすいのと念のために設定します。
デバイスのUTILITYを長押しすると画面が切り替わります。


ここで、もう一度UTILITYを押すとページが切り替わりますので、Netに行きIPアドレスを変更します。

また、Node-REDとの接続のためポートを見ておきます。

PCとDME64Nを接続
まずはDME64Nのツールを開き、設定するファイルを開きます。

ここで、USB接続とWi-Fiありどちらも簡単のため、お好みで選んでください。
接続としては、on-lineをクリックすると下記の画面が出ます。ここがNo Assignになっているため、Wi-Fiの場合は自分で設定した名前(今回はUNIT1)、USBの場合はYamaha DME64Nを選択してください。
画像ではTxとRxで選択が違いますが、実際は同じものを選択してください。

こちらの設定が終わると、そのまま下記の画面が出ます。

初めは、左のIPアドレスが空欄のこともあるので、その場合は初めに設定したIPアドレスと同じものを選択してもう一度Go on-lineを押してください。
こちらでOKを押すとデバイスにデータを書き込みをしつつ接続されます。
Node-REDとの接続
Node-REDとはTCPで接続していきます。ここで初めに確認したポートを使います。
まず、TCP requestノードを追加し設定したIPアドレスとポートを入れます。

MuteのON/OFFの設定を入れて、接続されているか確認します。
下記のコードをTCPに繋げて実行してください。
[
{
"id": "fn_add_lf2",
"type": "function",
"z": "tab_dme_tcp2",
"name": "Ensure LF (\\n)",
"func": "let p = msg.payload;\nif (typeof p !== 'string') p = String(p);\n// DME command requires LF (0x0A) at end.:contentReference[oaicite:1]{index=1}\nif (!p.endsWith('\\n')) p += '\\n';\nmsg.payload = p;\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 460,
"y": 200,
"wires": [
[
"tcp_req2",
"e87b15236110dcbc"
]
]
},
{
"id": "inj_mute_off2",
"type": "inject",
"z": "tab_dme_tcp2",
"name": "Mute OFF (SMUT 0 OFF)",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "SMUT 0 OFF",
"payloadType": "str",
"x": 240,
"y": 270,
"wires": [
[
"fn_add_lf2"
]
]
},
{
"id": "inj_mute_on2",
"type": "inject",
"z": "tab_dme_tcp2",
"name": "Mute ON (SMUT 0 ON)",
"props": [
{
"p": "payload"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": "",
"topic": "",
"payload": "SMUT 0 ON",
"payloadType": "str",
"x": 230,
"y": 220,
"wires": [
[
"fn_add_lf2"
]
]
}
]
これでエラーが出ず実行されていれば成功です。
あとは操作したいものをコマンドごとに入れていきます。コマンドはかきのURLを確認ください。
https://jp.yamaha.com/files/download/other_assets/3/322573/dme_remote_ctrl_prtcl3102_ja.pdf
