11月 032012
sshdが起動しているサーバーにArduino Firmata on Rubyをインストールして、firmataをインストールしたArduinoを刺すだけでok
Arduinoの準備
Arduino IDEで [File] -> [Examples] -> [Firmata] -> [StandardFirmata] を書き込むサーバー側の準備
ArduinoをUSBポートに刺す。rubyのarduino_firmata gemをインストールする。
sudo gem install arduino_firmataarduino_firmata gemをインストールすると、arduino_firmataという実行コマンドが使えるようになる。
arduino_firmata --help
arduino_firmata analog_read 1これだけでanalog 1の値が読める。
arduino_firmata servo_write 11, 13511ピンに接続したサーボモータが135度に回転させる。
コマンドからarduinoの基本的な機能は全部使える。
手元のMacからサーバーのArduinoを動かす
sshコマンドプロキシでセンサー読めるssh user@example.com arduino_firmata analog_read 0sshは、「ssh 接続先 コマンド」でサーバーにコマンドを実行させて結果を得てすぐ切断する事ができる。
arduino_firmataコマンドと組み合わせれば、全くプログラム書かずにコマンド1行で家のサーバーに刺さってるArduinoのCdSで明るさが取得したり、サーボモーターを動かしたりできる。
その他の例
例えばtweetさせたりecho "明るさ `arduino_firmata analog_read 0`" | tw --pipeTwを使ってる
Ruby以外の言語からでもセンサーを読むぐらいならできるし、cronに組み込んだりもできるし、そこそこ便利なのでは