ET2017資料: mruby/cの利用事例
-
Upload
shimane-itoc -
Category
Technology
-
view
138 -
download
1
Transcript of ET2017資料: mruby/cの利用事例
「mruby/c」の利用事例
Shimane IT Open-innovation Center
2017年11月17日
しまねソフト研究開発センター ITOC
(公益財団法人しまね産業振興財団)
専門研究員 東 裕人
しまねソフト研究開発センター(ITOC)
Shimane IT Open-Innovation Center
Shimane IT Open-innovation Center
ITを活用する企業の
支援と研究開発の
拠点
島根県・しまねソフト研究開発センターはIoT・AIを活用したサービスの創出に向けて取り組んでいます
Shimane IT Open-innovation Center
島根発の製品・サービスの創出へ
教育機関 国・自治
体
研究機関
しまねソフト研究開発センター
島根県
組織体制・顧問
Shimane IT Open-innovation Center
センター長((公財)しまね産業振興財団
副理事長)
顧問
研究プロジェクトチーム
技術AD
事務局 研究員
須藤 修(東京大学大学院情報学環 教授)
森 正弥(楽天株式会社執行役員 楽天技術研究所代表)
正村 勉(日本郵政株式会社 執行役)
塚本 昌彦(神戸大学大学院工学研究科 教授)
佐藤 一郎(国立情報学研究所 副所長 アーキテクチャ科学研究系教授)
鹿島 久嗣(京都大学大学院情報学研究科 教授)
まつもとゆきひろ(一般財団法人Rubyアソシエーション理事長)
経済産業省商務情報政策局情報産業課
自己紹介
しまねソフト研究開発センター ITOC
専門研究員 東 裕人(ひがしひろひと)
1992 年、県内大手製造業に就職。2004年、IT企業に転職2015年ITOC開所時より現職組込 み系のハード、ソフトウェア、およびネットワークについての経験過去 、Rubyを利用した「組み込み向けアプリケーションフレームワーク Alone」の研究開発に取り組むその 改良版が評価され、第7回フクオカRuby大賞(2015年3月)では優秀賞を受賞
Shimane IT Open-innovation Center
内容
1. なぜ組込にmruby, mruby/cを
使うのか
2. 適用性の高い分野
3. 採用事例
4. mruby/cの利用方法
Shimane IT Open-innovation Center
Shimane IT Open-innovation Center
なぜ、組込にmruby, mruby/cを使うのか
昔 現在
アセンブラ(機械語) アセンブラ(機械語)
C言語
MPU MPU
マイコンが 提供するレジスタ・メモリモデルを、人が直接操作していた開発効率 が悪い
構造化 プログラミングが可能になった開発効率 が向上したレジスタモデルが 隠蔽されたメモリモデルはポインタとして 残った
Shimane IT Open-innovation Center
なぜ、組込にmruby, mruby/cを使うのか
現在 未来
アセンブラ(機械語) アセンブラ(機械語)
C言語
MPU MPU
構造化 プログラミングが可能になった開発効率 が向上したレジスタモデルが 隠蔽されたメモリモデルはポインタとして 残った
オブジェクト指向プログラミングが可能に 開発効率がさらに向上 メモリモデルも隠蔽
C言語
高級言語 (mruby?)
Shimane IT Open-innovation Center
なぜ、組込にmruby, mruby/cを使うのか
C、C++は罠(できるけどやってはいけないこと)が多い
char *format_value( int n, double v ){
char buf[100];sprintf( buf, "%d: %5.2f¥n", n, v );return buf;
}
int main(){
int x = 1;printf( "%d, %d¥n", x++, x++ );return EXIT_SUCCESS;
}
Shimane IT Open-innovation Center
なぜ高級言語を使いたいのかオブジェクト指向、デザインパターン等、より高度な概念を利用して開発効率を向上させたい
なぜC++ではイマイチなのか教育コストがやけに高いC言語に比べて、罠が減るどころか増えている
なぜmruby, mruby/cを使うのかRubyが好きだから(上記の問題をイイ感じに解決できそうだから)
mruby, mruby/c
すべての• 組み込みプログラムの置き換えは想定していない。
極度 にプログラムサイズを小さくする場合
厳密 なリアルタイム性能
しかしながら• 、これらは全体の2割以下
それ• 以外は、高級言語(mruby)で!
Shimane IT Open-innovation Center
捨てないで、もったいない
• 今までのC言語の資産は捨てる(書き換える)必要はありません。
モノとモノ• 、モノとネットワークを繋ぐglueとしてmrubyを使う。
• 今までのC言語レイヤーの上位レイヤーとしてmrubyを使う。
Shimane IT Open-innovation Center
適用性の高い分野センサーデバイス IoT
小さいサイズのマイコンを使いたい
繰り返し、試作、検証を必要とする
センサーノードで 、いくらかの処理が必要
しきい 値判定
特定 パターン判定
LPF
Shimane IT Open-innovation Center
製品カスタマイズ
製品• の利用ユーザーごとに動作をカスタマイズ
ベースとなる機能 ⇒ C言語
カスタマイズ部 ⇒ mruby, mruby/c
動作• パラメータではなく、スクリプトによる挙動の変更
柔軟性• が飛躍的に向上
Shimane IT Open-innovation Center
複雑な処理
複数• のセンサ、アクチュエータによる複雑な制御
イマドキのリッチなユーザインタフェース•
PLC• (ラダー言語)の置き換え
Shimane IT Open-innovation Center
利用方法
ソースコードを• 、Githubで公開(BSD License)
https://github.com/mrubyc/mrubyc
Version • 1.1 RC1のリリースを、10月24日実施
正式• リリースを今月末予定
Shimane IT Open-innovation Center
利用方法1 mrubyc_ideを使う
Shimane IT Open-innovation Center
PC上でIDEを動かすターゲットマイコンには、対応するファームウェアを書き込んでおくソース編集からコンパイル、書き込みまで一連の流れをサポート