Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2017_RubyWorld-Conf_Tamashii

david_5xruby
November 01, 2017

 2017_RubyWorld-Conf_Tamashii

http://2017.rubyworld-conf.org/ja/program/

近年、ハードウェアの進化により、本来通信機能持っていない、例えばセンサー、 マイクやスピーカーなどが声を出して、話し始めたりするのです。これらによっ て、いろいろな IoT デバイスが生まれ始めました!
弊社、株式会社ファイブルビーは Ruby 大好きエンジニア集団で構成しておりま すが、今までの Ruby コミュニティの中で、Gem ライブラリの中に IoT デバイ スを統合できるものを見つけることができず、悔しい気持ちを抱いておりまし た!
そこから、だったら自らから作れば!という思いに至りまして、Ruby で IoT 統 合のフレームワーク -Tamashiiを作成し、現在オープンソースとして公開して おります。(https://github.com/5xRuby)
Tamashii は CRuby で開発された IoT のフレームワークです。現在は Raspberry Pi の IoT デバイスを中心に、使い手は任意の通信インターフェスを定義すれば、 Tamashii フレームワークを使用することができます。
この Tamashii フレームワークを使うことによって、Rails で ActiveRecord を使 用して、データベースのインターフェースを使うような感覚で、IoT デバイスを 簡単に動かすことが可能になるのです。
そして、Tamashii 自体は Rack-based のフレームワークで作られているので、 Rack-based のアプリとの互換性があります。つまり、今すぐ Rails アプリの中に Tamashii を使うことができます。
開発者にとって、もう一つ嬉しいことは新しい IoT デバイスが出た時、Tamashii フレームワークで定義されるスペックのとおりに Ruby のクラスを実装すれば、 IoT デバイスがすぐ Tamashii フレームワークと接続して使用することができま
す。
2016 年の台湾 RubyConf で、実際に 17 台の Raspberry Pi デバイスを設置し、 300 名参加者に非接触 IC カードを配り、参加者が今どのセッションに参加して いるのかを Tamashii の Rails アプリでリアルタイムで把握することができまし た!
そして、会場のスポンサー様もミス無く参加者の情報を入手できて、かつ手間も 減らせることができたので、参加者も会場スポンサー様も喜ぶサービスを提供 することができました!
デモビデオ:https://youtu.be/wzbAUzC_vi8

david_5xruby

November 01, 2017
Tweet

Other Decks in Programming

Transcript

  1. ϒβʔɿԻΛग़͢ -$%ɿςΩετΛදࣔ͢Δ 3'*%ϦʔμʔɿΧʔυσʔλΛಡΈࠐΉ )JHIMFWFM"1* buzzer = Buzzer.new buzzer.beep(3) #=> Beep,

    Beep, Beep! display = Lcd.new display.print(“Ruby World Conference 2017!") reader = RfidReader.new if data = reader.read puts "Card data: #{data}" end
  2. %FWJDF8SBQQFS [0x49, 0x4d, 0x49, 0x19, 0x1d, 0x19].each do |byte| i2c_write_byte(byte)

    end # => "A" LCDͰ”A”ͱ͍͏จࣈΛදࣔ͢Δ HFNJD
  3. %FWJDF8SBQQFS module Lcd class Lcm1602I2C < Base def print(message) #

    Lots of tedious stuff end end end Lcd::Lcm1602I2C.new.print("A")