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

You are viewing an older revision! See the latest version

Homepage

日本語

mbedをネットワークからコントロールするためのアプリケーションです。 Websocketを使ったJSON-RPCインタフェイスから、mbedSDKのクラス群を使用することができます。

※ここ図

ベータ版です。 バグやごしつもんはtwitterアカウント@nyatlaまでお願いします。

特徴

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

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

はじめかた

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

関連記事

ロードマップ

mbedJSは誠意開発中です。

/media/uploads/nyatla/mbedjs------_1.png

サンプルコード

JavascriptでLチカをした場合のサンプルコードです。コールバックとGenerator(ES6以降に対応)の2通りの書き方ができます。

callback mode

function start()
{
  var mcu=new mbedJS.Mcu(location.host,{
    onNew:function(){
      var v=1;
      var pin=new mbedJS.DigitalOut(mcu,mbedJS.PinName.LED1,{
      onNew:function(){
        pin.write(1);
      },
      onWrite:function(){
           setTimeout(function(){pin.write((v++)%2);},100);
      }});
    },
    onError:function(){alert("Error!");}
    });
}

generator mode

function start()
{
	var g=function*(){
	try{
		var mcu=new mbedJS.Mcu(location.host,g);
		yield mcu.waitForNew();
		var pin=new mbedJS.DigitalOut(mcu,mbedJS.PinName.LED1,g);
		yield pin.waitForNew();
        for(var v=1;;v++){
          yield setTimeout(function(){g.next();},100);
          yield pin.write(v%2);
        }
	}catch(e){
		mcu.shutdown();
        alert(e);
		throw e;
	}
	}();
	g.next();
	return;  
}

All wikipages