FirmataはホストマシンからUSBシリアル通信を経由してArduinoを操作できるプロトコルです。Cylon.jsのcylon-firmataアダプタを使い、Node.jsからArduino Uno R3を動かす環境を用意しようと思います。Cylon.jsのフレームワークで抽象化してくれるのでBeagleBone BlackにデプロイしたNode.jsのプログラムがPIN番号を変更するだけで動きます。
FirmataはホストマシンからUSBシリアル通信を経由してArduinoを操作できるプロトコルです。Cylon.jsのcylon-firmataアダプタを使い、Node.jsからArduino Uno R3を動かす環境を用意しようと思います。Cylon.jsのフレームワークが抽象化してくれるのでBeagleBone BlackにデプロイしたNode.jsのプログラムがPIN番号を変更するだけで動きます。
Ubuntu 14.04のXfceホストマシン
BeagleBone Blackと違いArduino Uno R3にはNode.jsをインストールしていないのでFirmataの場合Node.jsはホストマシン側にあります。ホストマシンにはChromebookにcroutonでインストールしたUbuntu 14.04のXfceデスクトップ環境を使います。
$ gort arduino install Attempting to install avrdude with apt-get. Reading package lists... Done Building dependency tree Reading state information... Done avrdude is already the newest version. avrdude set to manually installed. 0 upgraded, 0 newly installed, 0 to remove and 56 not upgraded.
FirmataファームウェアをArduinoにアップロードします。
$ gort arduino upload firmata /dev/ttyACM0 avrdude: AVR device initialized and ready to accept instructions
I, [2015-02-23T06:39:20.913Z] INFO -- : Initializing connections. I, [2015-02-23T06:39:21.377Z] INFO -- : Initializing devices. I, [2015-02-23T06:39:21.384Z] INFO -- : Starting connections. I, [2015-02-23T06:39:26.465Z] INFO -- : Starting devices. I, [2015-02-23T06:39:26.466Z] INFO -- : Working.
I, [2015-02-23T06:55:24.462Z] INFO -- : Initializing connections. I, [2015-02-23T06:55:25.031Z] INFO -- : Initializing devices. I, [2015-02-23T06:55:25.039Z] INFO -- : Starting connections. I, [2015-02-23T06:55:28.322Z] INFO -- : Starting devices. I, [2015-02-23T06:55:28.327Z] INFO -- : Working. Toggling LED. Message on 'toggle': toggle Toggling LED. Message on 'toggle': toggle Toggling LED. Message on 'toggle': toggle Toggling LED. Message on 'toggle': toggle Toggling LED. Message on 'toggle': toggle
I, [2015-02-23T06:51:37.312Z] INFO -- : Initializing connections. I, [2015-02-23T06:51:37.981Z] INFO -- : Initializing devices. I, [2015-02-23T06:51:37.998Z] INFO -- : Starting connections. I, [2015-02-23T06:51:41.334Z] INFO -- : Starting devices. I, [2015-02-23T06:51:41.338Z] INFO -- : Working. Message on 'ifttt': {"username":"username","password":"password","title":"","description":"<div><img src='http://maps.google.com/maps/api/staticmap?center=35.xxxxxxx,139.xxxxxxx&zoom=19&size=640x440&scale=1&maptype=roadmap&sensor=false&markers=color:red%7C35.xxxxxxx,139.xxxxxxx' style='max-width:600px;' /><br/><div>Do Button pressed on February 23, 2015 at 03:51PM http://ift.tt/1zBK1rg</div></div>","tags":{"string":"Do Button"},"post_status":"publish"}