2019-04-29
IchigoJamでRubyを動かす2つ目のアプローチ、mrubyの中間コードをIchigoJamで動かすトライ、ひとまずプログラムサイズが50KB程度だったので、ROM56KB/RAM8KBのIchigoCakeで動作確認!

点滅しました!

Rubyのコードはこちら

while true led 1; wait 10; led 0; wait 10 led 1; wait 30; led 0; wait 30 end

国産プログラミング言語 Ruby の組込版 mruby、そのサブセット mruby/c を更に削った mmruby for Arduiono One を Arm Cortex-M0 のLPC1114に移植したものです。この連携連鎖こそ、オープンライセンスなオープンソースの真骨頂!

ちょっと複雑なコードにすると落ちてしまうので、まだまだ試験段階ですが、PC/Macでコンパイルして転送する基本的なところ、動きました! どこまで切り詰めてIchigoJamで動くようにするか、どういう機能を盛り込むか、削るかのバランス調整へと進みます。

VM側のコードはそのままに、中間コード(mrbファイル)やそれを変換したものだけを転送すればすばやく試せて便利そう。 使う機能に合わせてVM側のコードが自動的に生成され、小さければIchigoJamでOK、大きければIchigoCakeと変われば便利かも。 さくらインターネットのIchigoSodaと合わせて、RubyでかんたんIoTというプログラミング中級者向け大人向けワークショップも楽しいかも?

名付けて、Ruby on Jam!
Rubyで広げよう楽しいマイコン開発!

src on GitHub
taisukef/micro_mruby_for_lpc1114: micro mruby VM implementation for LPC1114

ちなみに、IchigoJam BASIC でつくるIoTは超簡単。シンプルな実装なら、その場で数行書いてデプロイ可!
大人も手軽にIoT! IchigoJam ver 1.3 は何が違うのか?>」
こどもプログラミング+IoT=大人プログラミング! 総務省 デジタル活用共生社会実現会議 ICT地域コミュニティ創造部会にて情報提供&体験会

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS