Upload
yoshito-tanaka
View
2.068
Download
10
Embed Size (px)
Citation preview
mrubyボードを使ってこんなことしてみました
2014/12/27 Yoshito Tanaka(@tanaka4410)
Kansai.mrb 2014 Dec
Agenda• mrubyについて
• Wakayama.rbボードをこんな風に使ってみました。
• 事例1 Harisen
• 事例2 温度をつぶやくchatボット(仮)
• 実装する上で困ったこと
• 今後について
• まとめ
mrubyについて• 特徴
• 省メモリ版のRuby実装
• 「組み込みやすい」
• クラスとメソッドが少ない
• RubyGemsの代わりにmrbgems
• コンセプト
• CRuby 全体をRubyで記述、C言語で機能拡張
• mruby 全体はC言語、特定の部分だけRubyで記述
• コンポーネント&コンフィギュラブル
私とmruby• 実際に動く物をプロトタイピングする際にロジック部分をrubyでさっと書ける
• Wakayama.rbボードでmrubyデビュー(2014/10)
• HVC-Cモニターの応募に役立った
• Rubyコミュニティで興味を持ってもらえた
http://www.slideshare.net/MinaoYamamoto/wakayamarb-board
http://plus-sensing.omron.co.jp/egg-project/
Wakayama.rbボード(WRBB)をこんな風に使って
みました
http://plus-sensing.omron.co.jp/egg-project/app/yoshito-tanaka/
Harisen
Harisen
• HVC-Cのモニターに応募
• いいね!がたくさんもらえた
• 無事に認定された
全体構成
HVC-C
iPhone
BLE Serial
WRBB
BLE
BLE
UART
接続図
WRBB
BLE Serial
http://www.robotsfx.com/robot/BLESerial.html
温度センサTMP102
サーボモータSG90
I2C SDA:17pin SDL:16pin
9pin
Serial1 20pin,21pin
ソースコード
• mruby https://github.com/tanaka-yoshi10/wrbb
• iOS
• Macの場合のバイトコード転送手順実演CoolTermを使用
温度をつぶやくchatボット(仮)
• Shinosaka.rb #10にて作成
• http://yoshi10.hatenablog.com/entry/2014/11/24/163106
全体構成
Idobata
iPhone
RaspBerryPi
WRBB
USB
Internet
Wifi
LTE
ソースコード
• ソースコード • RaspberryPiで動作させるLitaのコード https://github.com/tanaka-yoshi10/lita-sample • Wakayama.rbボードで動作させるmrubyのコード(同じもの) https://github.com/tanaka-yoshi10/wrbb/
blob/master/lita/wrbb.rb
• Demo
困ったこと• 小数点第一までで四捨五入してString化 → roundしてto_sではうまくいかない(丸め誤差?)→ 文字列処理で無理矢理解決
• メソッド名間違えやパラメータの型間違え→強制的にリセットが必要
• バイトコードの転送ミス
まとめ
• mrubyについて
• 活用例のご紹介
• プログラムの解説
今後について• バイトコードを転送するツールを作りたい
• 実機に転送する前に動作検証できるようにしたい
• エミュレータ環境 or テスト環境
• 照明を制御したい
• 赤外線リモコンの信号を送信する