This is a Json-RPC/2.0 server with websocket and httpd. You can control mbed(s) by Javascript, processing, Java. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088

Dependencies:   NyFileSystems libMiMic mbed-rtos mbed

Fork of MiMicRemoteMCU-for-Mbed by Ryo Iizuka

English

MiMicProject http://nyatla.jp/mimic/wp/

This application allow to control the remote mbed through the network. It allows to control the mbed without a firmware update. It has some Interface. There are Javascript(WebBrowser), Procesing, Java. API waits for a function very similar to mbedSDK.

/media/uploads/nyatla/--_2.png

Feature

  • Low delay RPC by Websocket+JSON-RPC.
  • OnChip programing environment (Javascript).
  • Zero configuration support (UPnP/mDNS/AutoIP/DHCP)
  • mbedAPI like APIs.
  • Supports mbed LPC1768/LPCXpresso1769/LPC4088/FRDM-K64F

GettingStarted

mbed(LPC1768)

  • Compile and write mbedJS to your mbed.
  • Create mimic.cfg file to the mbed drive. This is network configuration.
  • Connect to Ethernet cable to the mbed.
  • Reset mbed.
  • Open http://[mbed IP address]/ by web browser.
  • Click JavascriptEditor.
  • Click StartButton. LED will be blinking.

LPCXpresso1769 and LPC4088 QuickStartBoard and FRDM-K64F

Those do not have LocalFileSystem. mbedJS initial IP address is "192.168.0.39". Open this address and click Setup page. You can change ipaddress at here.

Other APIs

Reference

日本語

MiMicProject http://nyatla.jp/mimic/wp/

mbedJSはmbedをWebネットワークにつなぐためのアプリケーションです。 Javascript(ウェブブラウザ)、Processing、Javaから、mbedを操作することができます。 これらはmbedSDKのクラスライブラリとよく似たAPIなので、mbedを知っている方なら簡単に使うことができます。

/media/uploads/nyatla/--_2.png

特徴

  • Websocket+JSONRPCによる低遅延なRPC
  • ワンチップでブラウザ向けの開発環境を提供
  • UPnP/Bonjurによるディスカバりに対応
  • mbedSDKのAPIと同じ構成のAPI
  • mbed LPC1768/LPCXpresso1769/LPC4088/FRDM-K64Fに対応

このアプリケーションはMiMicRemoteMCUとよく似ていますが、JavascriptAPIがより使いやすくなりました。

はじめかた

  • ファームウェアをmbedに書き込みます。
  • 設定ファイルにネットワークに合わせたIPアドレスを指定します。
  • mbedをリセットして、設定したIPアドレスをブラウザで開きます。
  • JavascriptEditorを開きます。
  • Startボタンを押してLEDがチカチカすれば成功です。

mbedJS APIs

ドキュメント

関連記事

Committer:
nyatla
Date:
Thu Apr 04 08:32:56 2013 +0000
Revision:
0:6f25100e125b
backup;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nyatla 0:6f25100e125b 1 #include "mimic.h"
nyatla 0:6f25100e125b 2 #include "fsdata.h"
nyatla 0:6f25100e125b 3
nyatla 0:6f25100e125b 4
nyatla 0:6f25100e125b 5 /**
nyatla 0:6f25100e125b 6 * MiMic RemoteMCU httpd.<br/>
nyatla 0:6f25100e125b 7 * <p>Service list</p>
nyatla 0:6f25100e125b 8 * <pre>
nyatla 0:6f25100e125b 9 * /rom/ - romfs
nyatla 0:6f25100e125b 10 * /setup/ - MiMic configulation REST API.
nyatla 0:6f25100e125b 11 * /local/ - mbed LocalFileSystem
nyatla 0:6f25100e125b 12 * /mvm/ - MiMicVM REST API
nyatla 0:6f25100e125b 13 * </pre>
nyatla 0:6f25100e125b 14 */
nyatla 0:6f25100e125b 15
nyatla 0:6f25100e125b 16 class MyHttpd:public MiMic::Httpd
nyatla 0:6f25100e125b 17 {
nyatla 0:6f25100e125b 18 private:
nyatla 0:6f25100e125b 19 ModRomFiles modromfs;
nyatla 0:6f25100e125b 20 ModMiMicSetting mimicsetting;
nyatla 0:6f25100e125b 21 ModRemoteMcu remotemcu;
nyatla 0:6f25100e125b 22 public:
nyatla 0:6f25100e125b 23 MyHttpd():Httpd(80)
nyatla 0:6f25100e125b 24 {
nyatla 0:6f25100e125b 25 this->modromfs.setParam("/rom/",fsdata,4);
nyatla 0:6f25100e125b 26 this->mimicsetting.setParam("/setup/");
nyatla 0:6f25100e125b 27 this->remotemcu.setParam("/mvm/");
nyatla 0:6f25100e125b 28 }
nyatla 0:6f25100e125b 29 virtual void onRequest(HttpdConnection& i_connection)
nyatla 0:6f25100e125b 30 {
nyatla 0:6f25100e125b 31 //try to ModRomFS module.
nyatla 0:6f25100e125b 32 if(this->modromfs.execute(i_connection)){
nyatla 0:6f25100e125b 33 return;
nyatla 0:6f25100e125b 34 }
nyatla 0:6f25100e125b 35 //try to ModMiMicSetting module.
nyatla 0:6f25100e125b 36 if(this->mimicsetting.execute(i_connection)){
nyatla 0:6f25100e125b 37 return;
nyatla 0:6f25100e125b 38 }
nyatla 0:6f25100e125b 39 //try to ModRemoteMcu module.
nyatla 0:6f25100e125b 40 if(this->remotemcu.execute(i_connection)){
nyatla 0:6f25100e125b 41 return;
nyatla 0:6f25100e125b 42 }
nyatla 0:6f25100e125b 43 }
nyatla 0:6f25100e125b 44 };
nyatla 0:6f25100e125b 45
nyatla 0:6f25100e125b 46