Rubyがマイコンで違和感なく動く、「mruby/c」は新バージョンで実用段階へ:ET2019
しまねソフト研究開発センターは、「ET&IoT Technology 2019(ET2019)」の「フクオカしまねmruby×IoTパビリオン」において、軽量Rubyとして知られるmrubyをさらに小型化した組み込み機器向けプログラミング言語「mruby/c」の最新バージョンとなる「mruby/c2.0」を紹介した。
しまねソフト研究開発センターは、「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種類が用意されている。
同説明員は「これまでは、Rubyがマイコンでも違和感なく動くというmruby/cの機能面の実証がメインだったが、これからは実用のバリエーションが広がる段階に入るだろう」と述べている。
関連記事
- 軽量Rubyのmrubyをさらに小型化、「mruby/c」は16ビットマイコンにも実装可能
しまねソフト研究開発センターは、「Embedded Technology 2018/IoT Technology 2018(ET2018)」において、軽量Rubyとして知られるmrubyをさらに小型化した組み込み機器向けプログラミング言語「mruby/c」の展示を行った。IoT(モノのインターネット)に用いられるセンサーなどエンドポイントデバイスへの適用を想定している。 - “Rubyの良さを組み込みに”を合言葉に開発された「mruby」とは何か
Rubyを軽量化、組み込み向けとして開発された「mruby(軽量Ruby)」が今、IoTでの開発言語として注目されています。Cに比べてコード量を1/4まで低減するmrubyについて、この連載では“mrubyはIoTでこう使え”までを分かりやすく解説します。 - “組み込みRuby”こと「mruby」をセットアップしてみよう
Rubyの特長を組み込み開発に反映させたプログラミング言語が「mruby」です。今回は実際のセットアップと基本的な構文について解説します。 - mrubyとマイコンボードで“IoTを手作り”してみよう
生産性が高く習得も容易なRubyの組み込み版「mruby」用い、実際にマイコンボード「enzi」との組み合わせで、取得したセンサーデータをTCP/IPでサーバへ送るIoTデバイスの開発を行います。 - Web界から組み込みに向けられた刺客「mruby」はこう使われている
「Rubyの良さを組み込みに」を合言葉とする開発言語「mruby」は公開以来、着実な進歩を遂げ、さまざまな場面での利用も進んでいます。ここでは「Web界から組み込みに向けられた刺客」(まつもとゆきひろ氏)たる、mrubyの採用事例を紹介します。 - 組み込みRuby「mruby」をロボットで習得できるキット
プログラミング言語Rubyを組み込みシステム向けとした「mruby」をロボット(レゴ マインドストーム)を通じて習得できるキットが販売される。
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.