これ
Node.jsとMIDIコントローラでHueを調光する

Macminiにつないで常用してたので、けっこうアップデートしてる。
https://github.com/shokai/hue-korg-control

やっぱりスマホアプリよりも物理的なツマミやスライダーが複数あったほうが複数のHueを操作するのには向いてると思う

Edisonは起動が速くて、電源入れて10秒ぐらいでWiFiつながってsystemdに登録しておいたhue-korg-controlが起動して調光できるようになる。たまにnano KONTROLが認識されてないのでEdisonにUSBホストケーブル挿し直す必要あるけど


EdisonにUSB MIDIコントローラを接続する

EdisonにArduinoをUSB接続すると同じ要領で、USBホストケーブルを使ってkorg NANO KONTROLをつないだ。

使ってるUSBホストケーブルはこれ

もう売ってない初代nano KONTROL使ってるんだけど、2でも動くだろたぶん


alsaインストール

midiデバイスはNode.jsからだとmidi npmを使って制御する。中で使われてるRtMidiがalsaに依存しているので、opkgでインストールする

% opkg install alsa-lib-dev alsa-dev


hue-korg-control起動

shokai/hue-korg-controlをgit cloneしてnpm installしてnpm start


serviceとして登録する

Edison起動時にhue-korg-controlを起動するようにsystemdを設定した

/lib/systemd/system/edison_config.service とかを参考にした


/lib/systemd/system/hue-korg-control.service
[Unit]
Description=hue-korg control service
After=mdns.service

[Service]
ExecStart=/bin/su root -c 'cd /home/root/src/hue-korg-control && npm start'
Restart=always
RestartSec=10s
Environment=NODE_ENV=development

[Install]
WantedBy=default.target
環境変数を複数設定したい時は単純にEnvironment=を複数書けばいいらしい

% systemctl enable hue-korg-control  # 登録
% systemctl start hue-korg-control # 起動

rebootして起動してたらok


ログはjournalctlでtail -fみたいに見れる
% journalctl -u hue-korg-control -f