LED マトリクスへ DMX(Art-Net / USB)を送る社内アプリ / 受け側 ArtNetMatrixMonitor と組で使う / 版 2026-10-17 / スタッフ限定・社外に出さないこと
資料: このページの PDF 版 / 編集用 Word 版
動画では照明・USB 機器を使っていません。JinxLite と ArtNetMatrixMonitor をどちらも --local-only で起動し、Art-Net は同じパソコンの中(127.0.0.1)だけで送って受けています。操作はすべて HTTP の窓口(127.0.0.1)から行い、マウスは使っていません。音声: VOICEVOX:No.7
JinxLite は、LED マトリクス(LED パネル・テープを縦横に並べたもの)へ DMX を送る、軽い送出ツールです。Jinx! の代わりを目指した最小のつくりで、エフェクトやテストパターンを作って Art-Net か USB の DMX インターフェースへ送ります。配線やチャンネルの確認にも使えます。
e:\tmp\ai_dmx\ に書き出し、録画(1 フレームずつ全チャンネル)もできる。受け側の ArtNetMatrixMonitor と組で使うのがおすすめです。ArtNetMatrixMonitor は届いた Art-Net を、同じ縦横・配線・Pixel Mode・ユニバースでマトリクスの絵に組み直して表示します。LED パネルに出る絵を、パネル無しで確かめられます。

スタートメニューの「JinxLite」を開きます。起動したときは必ず停止中です(USB 機器が無いと固まるのを防ぐため)。
config.json(exe と同じフォルダ)に覚え、閉じるときに書きます。| オプション | 動き |
|---|---|
--local-only | 送り先を 127.0.0.1 などループバックだけにする。Output は Art-Net に固定、USB 機器は探さない・開かない。送り先の候補にも LAN の IP を出さない。タイトルに [local-only] |
--config <パス> | 別の設定ファイルを使う(ふだんの config.json を触らずに試すとき) |
--no-http | HTTP の窓口(11 章)を開かない |
--selftest [フォルダ] | 画面を出さずに ai_dmx の書き出しと録画を 3 フレームだけ試す(従来からある) |
ArtNetMatrixMonitor にも同じ --local-only(127.0.0.1 だけで受ける)・--config・--no-http を足しました。

| 番号 | 部品 | 役目 |
|---|---|---|
| 1 | Effect | エフェクト・テストパターンを選ぶ(5 章) |
| 2 | Brightness / Speed | 明るさ 0〜100%(送る値そのものに掛かる)・速さ 0〜400(100 が標準) |
| 3 | FPS / Solid色 / Text | 送る回数(5〜60/秒)・Solid の色(「選択」で色を選ぶ)・Scroll Text の文字 |
| 4 | Matrix W×H / Wiring | 横と縦(1〜64)を入れて「適用」。配線の順(7 章) |
| 5 | Pixel Mode / Output | 1 ピクセルの ch 構成(7 章)。Art-Net か USB か |
| 6 | ArtNet IP / Enttec | Art-Net の送り先と履歴。USB のときの機器(9 章) |
| 7 | Universe / AI出力 | 先頭のユニバース。ai_dmx への書き出しと「● 録画」(8 章) |
| 8 | ▶ 送信開始 / ■ 停止 | 出力の開始と停止 |
| 9 | プレビュー | 送っている絵(明るさを掛けた後)。色の枠と U0 0-3 などの表示が、どの列がどのユニバースに入るか。下に「縦横・ユニバース数・1 ユニバースの列数・px/ch」 |
| 10 | 状態の行 | 送り先・ユニバース・px・ch・fps・送ったパケット数・録画中なら ●REC とフレーム数・HTTP の番号 |
| 11 | (Matrix Monitor)Matrix / Wiring / Pixel | 受ける側の縦横・配線・ch 構成。送る側と合わせる |
| 12 | (Matrix Monitor)Universe / Input / Bind IP | 先頭のユニバース・受ける口(Art-Net / USB)・受ける IP(動画は 127.0.0.1) |
| 13 | (Matrix Monitor)値表示 | セルが大きいとき、各セルに R・G・B の値を出す |
| 14 | (Matrix Monitor)▶ 受信開始 / ■ 停止 | 受信の開始と停止(起動したときは停止中) |
| 15 | (Matrix Monitor)マトリクス | 受けた DMX を絵に戻したもの。1.5 秒届かないユニバースは黒 |
| 16 | (Matrix Monitor)状態の行 | Bind IP・受けているユニバース(RX active)・1 秒のパケット数・描画 fps |


127.0.0.1 にだけ送って撮ったものです。FPS は「1 秒に何回送るか」の目標です。Windows のタイマーの細かさのため、40 にしても実際は 32 前後になります(状態の行の fps が実測)。
| 名前 | 中身 |
|---|---|
| Solid | Solid 色で全面を塗る |
| Color Cycle | 全面同じ色で、色相が回る |
| Rainbow | 横方向の虹が流れる |
| Plasma | うねる模様 |
| Scroll Text | Text 欄の文字を横に流す(文字の高さ = マトリクスの縦)。マトリクスが大きいときは Speed を上げると見やすい |
| Gradient (HSV) | 横の色相グラデーションが動く |
| All ON (White) | 全ピクセル白(全 ch 255) |
| Color Check (RGBW) | 赤→緑→青→白→黄→マゼンタ→シアン→黒を 1 秒ずつ |
| RGB Blink | 赤・緑・青を交互に点滅 |
| Levels (R=64 G=128 B=255) | 決まった値を出し続ける(値が正しく届くかの確認) |
| Channel Test (Walk) | 白を 1 ピクセルずつ歩かせる |
| Column Sweep / Row Sweep | 縦の列 / 横の行を 1 本ずつ流す(列や行の抜けを見る) |
| Checkerboard | 市松模様を反転させる |
| Stripes (RGB Scroll) | 赤・緑・青・白の縦縞が流れる(配線の向きを見る) |
| DMX Record Test (XY+Walk) | 録画・突き合わせ用(8 章) |


プレビューも受け側に届く値も、Brightness を掛けた後の、実際に送っている値です。値を確かめるときは、両方のマトリクスを小さく(例 8×6)して、ArtNetMatrixMonitor の「セルに RGB 値を表示」を入れ、Levels を出します。


1 ユニバースは 510 チャンネルまで使います。RGB なら 170 ピクセル、RGBW 127、RGBCW 102。入りきらない分は列の単位で U+1、U+2 … へ分けます(1 ユニバースの列数 = 170 ÷ 縦 の切り捨て)。例: 31×42・RGB は 1 ユニバース 4 列 → U0〜U7 の 8 つ(最後の U7 は 3 列)。
配線は列の方向(縦に数えて次の列へ)です。送る側と受ける側(実際の LED パネル)で必ず合わせます。違うと、プレビューは正しくても受け側では 1 列おきに上下が逆になります。


| Pixel Mode | ch/px | 並び |
|---|---|---|
| RGB | 3 | R, G, B |
| RGBW | 4 | R−W, G−W, B−W, W(W は R・G・B の小さい値。白の分を W へ移す) |
| RGBCW | 5 | R−W, G−W, B−W, CW, WW(W を青寄り・赤寄りで分ける) |
| W ウォームのみ | 1 | 輝度 |
| WW+CW 2回路 | 2 | WW, CW(赤寄り・青寄りで配分) |

Universe は先頭の番号です。送る側を 4 にすると U4〜U11 を送ります。受け側が U0 から受けていると、左半分が黒くなり絵がずれます。受け側も 4 にすれば元どおりです。

「ai_dmx へ出力」に印があると、送っている DMX を e:\tmp\ai_dmx\ に書き出します(1 秒に約 6 回)。値は Brightness を掛けた後の実際の値です。
| ファイル | 中身 |
|---|---|
latest.txt | いまのフレーム。見出し(縦横・配線・Pixel Mode・エフェクト・送り先・fps)、ユニバースごとの 16 進ダンプ(16 ch/行)、マトリクスの濃淡(' '=0 … '@'=255)。最後の # SUMMARY 行で概況 |
status.json | 同じ内容を JSON で。recording・recordedFrames・recordFile・httpPort・localOnly |
record_YYYYMMDD_HHmmss.jsonl | 「● 録画」中だけ。1 行目が見出し(再現に必要な設定)、2 行目から 1 行 1 フレーム {"f":フレーム,"t":秒,"u":[{"u":ユニバース,"n":ch数,"d":"16進"}]} |
README_AI.txt | 読み方 |
● 録画を押すと記録を始め、状態の行に ●REC とフレーム数が出ます。もう一度押すか、送信を止めると録画も止まります。
録画には DMX Record Test (XY+Walk) が向いています。暗い背景の色が座標を表し(R≒列、G≒行)、白い点が 1 つ列の順に歩きます。全チャンネルが毎フレームちょうど 1 ずつ動く(乱数なし)ので、送り側の記録と受け側の記録をフレーム単位で突き合わせられます。

Output を「Enttec Pro / Serial (USB)」にすると、USB の DMX インターフェースへ送ります。本物の ENTTEC(FTDI)と、COM ポートでつながる互換機(StampS3 など)が同じ一覧に出ます。「再検索」で探し直します。
ok と fail の数で、本当に書き込めているかを確かめます(「送信中」の表示だけでは分かりません)。| 症状 | 見るところ・直しかた |
|---|---|
| 受け側が黒いまま | 受け側が「受信開始」しているか。送り先 IP と受け側の Bind IP。Universe。同じ PC の別アプリが 127.0.0.1:6454 を先に掴んでいないか(同じ PC では先に束ねた方にしか届かない) |
| 絵が崩れる・1 列おきに逆さ | 配線(Linear / Snake)が送る側と受ける側で同じか(7 章) |
| 色がおかしい・位置がずれる | Pixel Mode が同じか |
| 一部だけ黒い | Universe の先頭番号、縦横が同じか |
| 「送信開始失敗」 | ArtNet IP の書き方。--local-only で起動していてループバック以外を入れていないか |
| Scroll Text が出ない | 文字の後ろに空白の間がある。Speed を上げるか少し待つ |
JinxLite と ArtNetMatrixMonitor は、AI(Claude Code など)が HTTP の窓口から読み取り・操作できます(2026-10-17 追加)。動画の操作もすべてこの方法で行っています。どちらも 127.0.0.1 だけで受け、認証はありません。
| アプリ | 番号 | 実際の番号の確かめ方 |
|---|---|---|
| JinxLite | 55740(使用中なら 55741〜55745) | 状態の行・e:\tmp\ai_dmx\status.json の httpPort |
| ArtNetMatrixMonitor | 55750(使用中なら 55751〜55755) | 停止中の状態の行・e:\tmp\ai_matrixmon\status.json の httpPort |
| パス | 内容 |
|---|---|
GET / GET /status GET /effects | 窓口の一覧・今の状態(送信中か・送り先・Universe・エフェクト・つまみ・縦横・配線・Pixel Mode・fps・パケット数・録画・先頭 16 ch)・エフェクトの一覧 |
/effect?name=|n=1-16 | エフェクトを選ぶ(名前は前方一致) |
/brightness?val=0-100 /speed?val=0-400 /fps?val=5-60 | 明るさ・速さ・FPS |
/solid?r=&g=&b= /text?s= | Solid 色・Scroll Text の文字 |
/matrix?w=&h= /wiring?mode=linear|snake /pixelmode?mode=rgb|rgbw|rgbcw|w|wwcw | 縦横(「適用」と同じ)・配線・ch 構成 |
/target?ip=&universe= | 送り先(送信中ならその場で切り替え)。255 で終わる宛先は allow_broadcast=1 が無いと断る。--local-only はループバックだけ |
/start /stop | 送信開始(Art-Net)・停止(全ユニバースへ 0 を送ってから) |
/record?on=0|1 /ai_output?on=0|1 | 録画・ai_dmx への書き出し |
| パス | 内容 |
|---|---|
GET / GET /status | 窓口の一覧・今の状態(受信中か・Bind IP・Universe・縦横・配線・Pixel Mode・受けているユニバース・1 秒のパケット数) |
/start /stop | 受信開始(Art-Net)・停止 |
/bind?ip= /universe?n= | 受ける IP(受信中なら受け直す)・先頭のユニバース |
/matrix?w=&h= /wiring?mode= /pixelmode?mode= /values?on=0|1 | 縦横・配線・ch 構成・セルに値を表示 |
USB(Enttec Pro / Serial)への切り替え・受信は、どちらの窓口からもできません(画面で人が行う)。/・/status・/effects 以外は POST です。curl では本文が空でも -d "" を付けます。失敗は {"ok":false,"error":"…"}、成功は {"ok":true,"did":"…","status":{…}}。
curl -s http://127.0.0.1:55740/status curl -s -d "" "http://127.0.0.1:55750/start" curl -s -d "" "http://127.0.0.1:55740/target?ip=127.0.0.1&universe=0" curl -s -d "" "http://127.0.0.1:55740/effect?name=Rainbow" curl -s -d "" "http://127.0.0.1:55740/start" curl -s -d "" "http://127.0.0.1:55740/record?on=1"
e:\tmp\ai_dmx\ — JinxLite が送っている DMX(8 章)。e:\tmp\ai_matrixmon\ — ArtNetMatrixMonitor が受けて戻した絵(latest.txt の濃淡、status.json の pixelsHex)。両方を読めば、AI は「送った絵」と「受けた絵」を突き合わせられます。
止まっているときや再ビルドは、AI が tools/restart_app.ps1 -AppName JinxLite で強制停止 → ビルド → 起動できます(開発担当の作業です)。
JinxLite 2026-10-17 / スタッフ限定。図と動画の画面は、照明・USB 機器を使わず、Art-Net を 127.0.0.1 の中だけで送受信して撮った画面です(図は動画から切り出したもの)。概要は同じフォルダの OVERVIEW.md、詳しい設定は MANUAL.md・取扱説明書_JinxLite.html。