Getting Started MiMicRemoteMCU for mbed(1.4beta)

MiMicRemoteMCU for mbedの導入記事です。

MiMicRemoteMCU for mbed

MiMicRemoteMCU for mbedは、WebBrowesrからWebAPI経由でmbedを制御するソフトウェアです。WebServiceを操作するのと同じ感覚で、mbedの各種機能を操作することが出来ます。

MiMicRemoteMCUは、高速なHTTP 1.1 serverとRPCサービスとHTML5を使ったオンチップコンテンツで構成されています。

HTTP 1.1 serverはローカルファイルシステム(mbedフラッシュメモリ・SDカード)に対応しています。自作のHtmlコンテンツをローカルファイルシステムに配置すれば、簡単に機能を拡張することが出来ます。

より高速な処理が必要なら、MiMicのファームウェアそのものを改良することも出来ます。MiMicRemoteMCUのメインコードは極めて短く、機能がモジュール化されています。Httpd機能単体を取り出したり、オンチップコンテンツを改良することも簡単です。

MiMicRemoteMCUのセットアップ

ハードウェアの準備

MiMicRemoteMCUはWebServerですので、イーサネット用のパルストランス内蔵のモジュラージャックをmbedへ接続する必要があります。

配線図のに従って接続してください。

mbedベースボードStarBoard Orangembeduino platform,mbed application board等があるなら、そのまま利用できます。(高いけどね!)
実際にはスイッチサイエンスさんのmbed用イーサネット接続キットがあれば十分です。その際にはこちらの記事が参考になります。

ソフトウェアの準備

ファームウェアはmbed.orgのリポジトリからインポートできます。

mbed compilerでコンパイルして、binファイルを生成してください。

生成したbinファイルをmbedへコピーしてリセットすれば、インストールは完了です。

MiMicRemoteMCUの起動

MiMicRemoteMCUの初期アドレスは192.168.0.39 です。ブラウザからhttp://192.168.0.39/へアクセスしてください。以下の画面が表示されれば、MiMicが使用可能になっています。

IPアドレスはmbedドライブに設定ファイルを置くことで変更できます。詳しくはこちら

LEDチカチカ

MiMicを使ったLチカプログラムを起動してみましょう。トップページからJavaScript Editorをクリックすると、Javascriptエディタが起動します。

JavascriptEditorにはLチカのサンプルプログラムがセットされていますので、そのままPlayボタンを押してください。mbedのLEDが0.5秒間隔で点滅を始めます。

なお、MiMicRemoteMCUはブラウザと接続している間だけMCUを操作することが出来ますので、ブラウザを閉じてしまうとプログラムは終了してしまいます。

Htmlの編集

MiMicRemoteMCUのコンテンツは、通常のHTMLと全く同じものです。他のエディタで編集することも出来ますし、ローカルフォルダに置いたファイルでもブラウザから開けば動作します。JavascriptAPIのドキュメントは以下のURLにあります。現在はGPIO,DAC,ADC,PWM,Memory等の操作APIがあります。
http://mimic.sourceforge.jp/doc/current/

MiMicRemoteMCUのAPIは、MiMicCore.jsとMbedM3.All.jsに定義されています。ローカルファイルや外部サーバから起動するときは、これらをリンクする必要があります。

なお、MiMicRemoteMCUは不正なメモリ操作等を実行すると簡単にフリーズします。フリーズした場合は、mbedをリセットして復帰してください。

コンテンツの保存

作成したコンテンツは、Saveボタンで保存できます。mbedドライブへファイルを保存して、ブラウザからhttp://[:ipaddr:]/local/[:filename:]でアクセスしてください。コンテンツが実行されます。

※このHtmlはMiMicRemoteMCUサーバから公開される場合だけうまく機能します。他の方法をとる場合は、scriptの参照を変更し、McuコンストラクタのIPアドレスを設定する必要があります。

MiMicの機能一覧

OnChipWebService
- MCU操作機能(MiMicVM)
- ネットワーク設定機能(setup.api)
- ローカルファイルの公開機能(localfs)

OnChipContents
- Javascriptエディタ
- MiMicILエディタ
- メモリダンプツール

Modules
- mbedSDK
- マルチスレッド(mbedRTOS)
- MiMicSDK(MiMicIP/MiMicHttpd,MiMicHttp,他)

ROM
- Program  約70KB
- Contents 約250KB

RAM
- Ethernet 16KB
- システム 16KBくらい(HTTPハンドラ×3)
- HTTPスレッドスタックサイズ 約800byte×3

Networking
- TCP/IP version 4
- HTTP/1.1(persistent connection/chunked)
- スループット 1.6Mbps(HTTP接続時)
- RTT 10ms以下(HTTP接続/1024バイト時)
- 接続速度 500Request/s(1パケットMiMicBC実行時)
- マルチセッション

ScriptAPI
- JavascriptAPI GPIO,ADC,PWM(シングルエッジ),DAC,MemoryAccess
- Unity3DAPI GPIO,ADC,PWM(シングルエッジ),MemoryAccess
- PHPAPI GPIO,ADC,PWM(シングルエッジ),DAC,MemoryAccess
- ComputerCraftAPI ????

Comments are closed, but trackbacks and pingbacks are open.