Rubyがマイコンで違和感なく動く、「mruby/c」は新バージョンで実用段階へET2019

しまねソフト研究開発センターは、「ET&IoT Technology 2019(ET2019)」の「フクオカしまねmruby×IoTパビリオン」において、軽量Rubyとして知られるmrubyをさらに小型化した組み込み機器向けプログラミング言語「mruby/c」の最新バージョンとなる「mruby/c2.0」を紹介した。

» 2019年12月06日 08時00分 公開
[朴尚洙MONOist]

 しまねソフト研究開発センターは、「ET&IoT Technology 2019(ET2019)」(2019年11月20〜22日、パシフィコ横浜)の「フクオカしまねmruby×IoTパビリオン」において、軽量Rubyとして知られるmrubyをさらに小型化した組み込み機器向けプログラミング言語「mruby/c」の最新バージョンとなる「mruby/c2.0」を紹介した。

 mruby/cの消費メモリ容量は数十KB(50KB未満)で、16ビットマイコンでも実装可能なことを特徴としている。その一方で、Rubyの持つ生産性、表現力の高さを引き継いでおり、組み込み機器の開発で広く用いられているC言語よりも短いステップで実装が可能だ。

 mruby/c2.0は、2018年12月にリリースされた「mruby2.0.1」に機能を対応させたバージョンとなる。従来バージョンのmruby/c1.2では固定長バイトコードを採用していたが、mruby/c2.0ではmruby2.0.0で採用された可変長バイトコードに対応。バイトコードのサイズを小さくできるため、ROM容量の小さなマイコンでより多くの処理を行わせることが可能になる。「2020年明けごろをめどにリリースする次バージョンでは例外処理に対応する予定だ」(同センターの説明員)という。

 また、島根情報処理センターと九州工業大学が共同開発したmruby/cを標準搭載するマイコンボード「RBoard」も展示した。プログラミング教育向けとなっており、すぐにmruby/cを使ったプログラミングが可能だ。GROVEポートの標準搭載によるさまざまなセンサーへの対応、省電力マイコンによる長時間での電池駆動といった特徴もある。搭載マイコンとしては、サイプレス セミコンダクタの「PSoC」、マイクロチップ・テクノロジーの「PIC32」の2種類が用意されている。

「RBoard」の概要 「RBoard」の概要(クリックで拡大) 出典:島根情報処理センター
「RBoard」はさまざまなセンサーを接続できる「PIC32」搭載版の「RBoard」も用意 「RBoard」はGROVEポートを使ってさまざまなセンサーを接続できる(左)。「PIC32」搭載版の「RBoard」も用意している(右)(クリックで拡大)

 同説明員は「これまでは、Rubyがマイコンでも違和感なく動くというmruby/cの機能面の実証がメインだったが、これからは実用のバリエーションが広がる段階に入るだろう」と述べている。

Copyright © ITmedia, Inc. All Rights Reserved.