軽量Rubyのmrubyをさらに小型化、「mruby/c」は16ビットマイコンにも実装可能ET2018

しまねソフト研究開発センターは、「Embedded Technology 2018/IoT Technology 2018(ET2018)」において、軽量Rubyとして知られるmrubyをさらに小型化した組み込み機器向けプログラミング言語「mruby/c」の展示を行った。IoT(モノのインターネット)に用いられるセンサーなどエンドポイントデバイスへの適用を想定している。

» 2018年11月22日 07時00分 公開
[朴尚洙MONOist]
C言語とRubyのプログラム比較 C言語とRubyにおける「集合から最大と最小を異常値として排除する」プログラムの比較。mruby/cでもこのプログラムを利用できる(クリックで拡大) 出典:しまねソフト研究開発センター

 しまねソフト研究開発センターは、「Embedded Technology 2018/IoT Technology 2018(ET2018)」(2018年11月14〜16日、パシフィコ横浜)において、軽量Rubyとして知られるmruby※)をさらに小型化した組み込み機器向けプログラミング言語「mruby/c」の展示を行った。IoT(モノのインターネット)に用いられるセンサーなどエンドポイントデバイスへの適用を想定している。

※)関連記事:“Rubyの良さを組み込みに”を合言葉に開発された「mruby」とは何か

 mruby/cの特徴は3つある。1つ目は「高い生産性」で、組み込み機器の開発に広く用いられているC言語と比べて短いステップで実装することができる。2つ目は、高速起動による「省電力」性能で、IoTのエンドポイントデバイスに求められる電池駆動が可能になる。そして3つ目の「コンカレントな動作」により、複数のプログラムを同時に実行できる。これは、複数のプログラマーが独立してコーディングすることが可能なことも意味している。

 消費メモリ容量は、Rubyが数MB、mruby(OSS版)が数百KBであるのに対して、mruby/cは数十KB(50KB未満)で済む。ターゲットマイコンの例としては、サイプレス セミコンダクターの「PSoC5」、ルネサス エレクトロニクスの「RX210」、マイクロチップ・テクノロジーの「PIC24」を挙げている。また、mruby(OSS版)のプログラムをそのまま実行可能なVM(Virtual Machine)も用意している。

 2016年からβ版を公開してきたmruby/cは、最新版のバージョンが1.2で、既に水位観測システムや醸造業向けIoTシステムなどでの活用が始まるなど「既にREADYな状態」(しまねソフト研究開発センターの説明員)という。展示では、環境発電(エナジーハーベスティング)によりmruby/cを実装したマイコンを動作させ、タブレット端末に信号を送信するデモを披露した。

環境発電でmruby/cを実装したマイコンを動作させるデモ 環境発電でmruby/cを実装したマイコンを動作させるデモ(クリックで拡大)

Copyright © ITmedia, Inc. All Rights Reserved.