Upload
rubycorporation-inc
View
373
Download
0
Embed Size (px)
Citation preview
軽量Ruby+Wi-SUN活動報告
2016.05
概要 なぜ軽量Ruby(mruby)? なぜWi-SUN? 軽量Ruby
Rubyと軽量Ruby 軽量Rubyの特徴 C/C++と軽量Rubyの比較
Wi-SUN IEEE802.15.4g(SUN)とWi-
SUN Wi-SUN プロトコルスタック Wi-SUNのPHY/MAC層
INDEX
ハードウェア 構成 イメージ
ソフトウェア Wi-SUNモジュール構成
何ができるの? LED点灯 シリアルドライバ LCDテキスト表示 LCD画像表示 Wi-SUN通信
今後・・・
有志数名の、『みんなでオリジナルの何か作りたいね』、
そんな声から立ち上がったRuby開発の自社製品化プロジェクト。
その第1弾、『軽量Ruby+Wi-SUN』の実績をご紹介します。
概要
ハード、組み込み、ネットワーク、そしてアプリ、いろいろな技術者が在籍するRuby開発。
その強みを活かしたい、
『組み込み向けの軽量Rubyというのがあるよ』、
『おもしろう』、『これだったら俺らにピッタリじゃん』、
そんな軽い感じの掛け合いと熱い気持ちから、軽量Ruby(mruby)を採用しました。
なぜ、軽量Ruby?
軽量Rubyだけのシンプル構成ではなく、Ruby開発ならではの付加価値を求めました。
活動当初、開発実績がまだ少なく、今後、大きく流行る可能性のあったWi-SUNが、私たちの求める付加価値に合致、採用しました。
また、技術者特有の、どんなものか見てみたい、試してみたい、そんな好奇心、探究心も刺激してくれたものでもありました。
なぜ、Wi-SUN?
Ruby
まつもとゆきひろ氏によって開発されたオブジェクト指向スクリプト言語
高い生産性(C言語の5~10倍)と可読性
2012年、国産言語としては初となる国際標準規格 ISO/IEC 30170:2012取得
軽量Ruby
経済産業省の平成22・23年度地域イノベージョン創出研究開発事業に採択され、福岡県の全面的な
支援のもと、福岡CSK・九州工業大学・ネットワーク応用通信研究所(まつもとゆきひろ氏)が主体となって研究・開発を実施
Rubyを組込み開発に適用できるように軽量化し、既存のC/C++アプリと共存可能に高い生産性、可読性などRubyの良さはそのままに2012年4月にMITライセンスとしてGithubに公開
Rubyと軽量Ruby
Rubyと軽量Ruby イメージ
既存C/C++アプリとの共存を実現
コンパクトな処理系
仮想マシン「RiteVM」上で動作
最小構成400KB程度
バイトコード実行
プログラムサイズを小さく
実行速度を早く
秘匿性を高める
インクリメンタルGC
GC処理の中断時間を短縮
現在動作確認できているOS
Windows、Linux、ITRON、Vx-Works、
iOS、Android
軽量Rubyの特徴
C/C++と軽量Rubyの比較
C C++ mruby
性能 実行速度 ◎ ◎ ◯
メモリ使用量 ◎ ◯ △
GC機能 ☓ ☓ ◎
プログラミング オブジェクト指向プログラミング ☓ ◯ ◯
プログラミング効率 △ ◯ ◎
メンテナンス効率 △ ◯ ◎
ライブラリ 標準ライブラリ △ ◯ ◯
IEEE802.15.4g (Smart Utility Network) …
スマートメータ用無線の国際標準規格。
小電力、低速、920MHz帯周波数を使用。
Wi-SUN … Wi-SUN Alliance。
802.15.4g規格の推進と互換性(接続性)の認証を
行う団体。Wi-SUNロゴがある機器同士の相互接続は
ほぼ保障される。
IEEE802.15.4g(SUN)とWi-SUN
Wi-SUN プロトコルスタック
802.15.4g
802.15.4e ETSI(TG28) TIA(TR-51)
6LoWPAN
IPv6(IPv4)/RPL
TCP UDP
ECHONET (Lite) New Spec
JUTA
物理層
データリンク層
ネットワーク層
トランスポート層
アプリケーション層
OSI参照モデル
モジュール(CHIP)制御
通信プロトコルスタック
ドライバ
Wi-SUN Allianceが提示
基本形は802.15.4g(PHY) + 802.15.4e(MAC)
MAC層は別の規格でも置き換え可
ETSI(TG28) ヨーロッパ規格。
TIA(TR-51)アメリカ。
CHIP(モジュール)が制御する
Wi-SUNのPHY/MAC層
マイコンボード
STM3240G-EVAL evalution bord(Stmicro社製)
Wi-SUNモジュール
LPR9201(佐鳥電機社製)
付属品
アンテナ NWX-141XSAXX-999(JOYMAX社製)
同軸ケーブル 986-PQ05B-M150(ユウエツ精機)
ハードウェア構成
CPU STM32F407IGH6
SRAM 16Mbit
I/F UART
ハードウェア構成図
Wi-SUNソフトモジュール構成
実績-LED点灯
stm3240上のLEDを点滅させる
点滅を繰り返す
実績-シリアルドライバ
シリアルドライバを作成しstm3240へ書き込み、TeratermにEchoバック
Teratermから書き込み
Stm3240を通して書き込みをTeraTermにEchoバック
stm3240のUART(RS232)部分
実績-LCDテキスト表示
stm3240のLCDに文字を出力する(LCDドライバの動作確認)
LCD
Ruby Developmentを出力
拡大
実績-LCD画像表示
stm3240のLCDに画像を出力する(LCDドライバの動作確認)
LCD
画像(BMP)を出力
拡大
実績-Wi-SUN(接続)Wi-SUNモジュールとstm3240(治具)の接続
Wi-SUNモジュール
治具
接続
Wi-SUNモジュール装着後
実績-Wi-SUN(コマンド発行)
SKINFOコマンドをWi-SUNモジュールに送付
CPU
SKINFOコマンド発行
コマンド応答
コマンド応答結果(デバッグ用)
応答コマンドもWi-SUNモジュールへ書き込みするためエラーコードER04が発生しているが、Wi-SUNモジュールとシリアル通信していることは確認できる
実績-Wi-SUN(通信)
Wi-SUN同士のリンク
Wi-SUN機器A
Wi-SUN機器B(対向機)リンク
テキストデータを通信し、それぞれLCDに表示
Mruby+Wi-SUNプロジェクトを振り返り
プラットフォーム開発止まりとなり、mruby上で動くRubyベースアプリ開発まで到達することができなかった。(Wi-SUN同士を使ったGame企画等は上がったものの・・・)
ただ、モノ造りの楽しさ、オリジナル製品を造る喜びを感じることができ、この経験を次に繋げていきたい。
今後・・・
Mrubyプロジェクトの反省点から、
短いスパンで、目に見えるアウトプットを出す、そして振り返る、それが、変化を柔軟に受け入れ、前に進むための条件と信じ、新たなチャレンジに取り組みます。
失敗を恐れず、最大の目標である、Ruby開発オリジナル製品を、世の中に発信します。
今後・・・