18
mrubyボードを使って こんなことしてみました 2014/12/27 Yoshito Tanaka(@tanaka4410) Kansai.mrb 2014 Dec

mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

Embed Size (px)

Citation preview

Page 1: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

mrubyボードを使ってこんなことしてみました

2014/12/27 Yoshito Tanaka(@tanaka4410)

Kansai.mrb 2014 Dec

Page 2: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

Agenda• mrubyについて

• Wakayama.rbボードをこんな風に使ってみました。

• 事例1 Harisen

• 事例2 温度をつぶやくchatボット(仮) 

• 実装する上で困ったこと

• 今後について

• まとめ

Page 3: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

mrubyについて• 特徴

• 省メモリ版のRuby実装

• 「組み込みやすい」

• クラスとメソッドが少ない

• RubyGemsの代わりにmrbgems

• コンセプト

• CRuby 全体をRubyで記述、C言語で機能拡張

• mruby 全体はC言語、特定の部分だけRubyで記述

• コンポーネント&コンフィギュラブル

Page 4: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

私と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

Wakayama.rbボード(WRBB)をこんな風に使って

みました

Page 6: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

http://plus-sensing.omron.co.jp/egg-project/app/yoshito-tanaka/

Page 7: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

Harisen

Page 8: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

Harisen

• HVC-Cのモニターに応募

• いいね!がたくさんもらえた

• 無事に認定された

Page 9: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

全体構成

HVC-C

iPhone

BLE Serial

WRBB

BLE

BLE

UART

Page 10: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

接続図

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

ソースコード

• mruby https://github.com/tanaka-yoshi10/wrbb

• iOS

• Macの場合のバイトコード転送手順実演CoolTermを使用

Page 12: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

温度をつぶやくchatボット(仮)

• Shinosaka.rb #10にて作成

• http://yoshi10.hatenablog.com/entry/2014/11/24/163106

Page 13: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

全体構成

Idobata

iPhone

RaspBerryPi

WRBB

USB

Internet

Wifi

LTE

Page 14: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

ソースコード

• ソースコード • 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

困ったこと• 小数点第一までで四捨五入してString化 → roundしてto_sではうまくいかない(丸め誤差?)→ 文字列処理で無理矢理解決

• メソッド名間違えやパラメータの型間違え→強制的にリセットが必要

• バイトコードの転送ミス

Page 16: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec
Page 17: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

まとめ

• mrubyについて

• 活用例のご紹介

• プログラムの解説

Page 18: mrubyボードを使って こんなことしてみました Kansai.mrb 2014 dec

今後について• バイトコードを転送するツールを作りたい

• 実機に転送する前に動作検証できるようにしたい

• エミュレータ環境 or テスト環境

• 照明を制御したい

• 赤外線リモコンの信号を送信する