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