IoTという単語が盛んになっています。まだキラーアプリケーションが出ていないようにも見えますが、何か一つの発見が一気に普及を後押しするかも知れません。 そんなハードウェアデバイスを共通したインタフェースで操作できるようにしてくれるライブラリがArtooです。これからハードウェアプログラミングをはじめたいと思っている方はぜひ使ってみてください。

Artooの使い方

例えばスマートウォッチのPebbleを操作する場合、次のようにライブラリをインストールします。

$ gem install artoo-pebble

これとは別でPebble側にもwatchbotというアプリをインストールする必要があります。

インストールが終わったら、コードを書いてみます。

require 'artoo'

connection :pebble, :adaptor => :pebble
device     :watch,  :driver  => :pebble, :name => 'pebble'

api :host => '0.0.0.0', :port => '8080'

name 'pebble'

def button_push(*data)
  unless data[1].nil?
    p " button pushed"
  end
end

work do
  pebble.send_notification("Hello Pebble!")
  on pebble, :button => :button_push
end

hostはPebbleのIPアドレスになります。つまりボタンが押された時のハンドリングを行ったり、通知を送ったりできるようになります。

Artooはこの他、ARDrone、Arduino、Beaglebone Black、Crazyflie、Digispark、Joystick、Keyboard、Leap Motion、Neurosky、OpenCV、Pebble、Raspberry Pi、Roomba、Spark、Spheroが操作できます。ルンバやLeap Motionの操作も面白そうです。

この他、GPIOとしてLEDやサーボ、モータの操作やWiiのコントローラを使った入力もサポートしていたりします。ハードウェアプログラミングを楽しむ際にはぜひ使ってみたいライブラリですね。

ArtooはRuby製、Apache License 2.0のオープンソース・ソフトウェアです。

Artoo - Ruby framework for robotics, physical computing, and the Internet of Things hybridgroup/artoo