search
LoginSignup
5

More than 3 years have passed since last update.

posted at

Node.jsでDMX出力する

node-dmxというのを使った。
driversにあるようにArtNetやUSBタイプに対応している。

今回は ENTTEC DMX USB Pro を使った。

準備

node-dmx内でnode-serialportというライブラリを依存関係にもっているので、

npm i -S dmx

するとnode-serialportも入っていて、

$ npx serialport-list
/dev/tty.Bluetooth-Incoming-Port
/dev/tty.usbserial-EN224271     ENTTEC

上記のように実行してデバイスIDを得ることができる。

通信

node-dmxリポジトリ内にあるdemo_simpleを参考に、


const DMX = require('dmx')

const dmx = new DMX()
const universe = dmx.addUniverse('demo', 'enttec-usb-dmx-pro', '/dev/tty.usbserial-EN224271')

var on = false;
setInterval(function(){
  if(on){
    on = false;
    universe.updateAll(0);
    console.log("off");
  }else{
    on = true;
    universe.updateAll(250);
    console.log("on");
  }
}, 1000);

というようにドライバ名とデバイスIDを指定してupdateAllするとすべてのチャンネルに値を出力できる。

特定のチャンネルのみに出力するときは

universe.update({1: 10, 2: 20});

のようにする。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5