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
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.
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
- mbedJS Javascript API https://github.com/nyatla/mbedJS-Javascript-API
- mbedJS Java API https://github.com/nyatla/mbedJS-Java-API
- mbedJS processing API https://github.com/nyatla/mbedJS-Processing-API
Reference
- QuickStart manual http://mimic.sourceforge.jp/doc/pdf/mbedJS.quickstart.en.pdf
- javascriptAPI referencehttp://mimic.sourceforge.jp/doc/mbedjs/current/
- javascriptAPI driver referencehttp://mimic.sourceforge.jp/doc/mbedjs.driver/current/
- http://mbed.org/users/nyatla/notebook/how-to-control-mbed-from-processing/
日本語
MiMicProject http://nyatla.jp/mimic/wp/
mbedJSはmbedをWebネットワークにつなぐためのアプリケーションです。 Javascript(ウェブブラウザ)、Processing、Javaから、mbedを操作することができます。 これらはmbedSDKのクラスライブラリとよく似たAPIなので、mbedを知っている方なら簡単に使うことができます。
特徴
- 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
- mbedJS Javascript API https://github.com/nyatla/mbedJS-Javascript-API
- mbedJS Java API https://github.com/nyatla/mbedJS-Java-API
- mbedJS processing API https://github.com/nyatla/mbedJS-Processing-API
ドキュメント
- クイックスタートマニュアル http://mimic.sourceforge.jp/doc/pdf/mbedJS.quickstart.ja.pdf
- javascriptAPIリファレンス http://mimic.sourceforge.jp/doc/mbedjs/current/
- javascriptAPIリファレンス(ドライバ) http://mimic.sourceforge.jp/doc/mbedjs.driver/current/
関連記事
- MiMicProject http://nyatla.jp/mimic/wp/
- mbedJS + p5.jsでWebブラウザからmbedを制御するhttp://nyatla.hatenadiary.jp/entry/20141103/1415021260
- エェェェェンベッドJS (mbedJS) beta版をリリースしました http://nyatla.hatenadiary.jp/entry/20140625/1403701589
- ProcessingとJavaからmbedを操作して遊べるようにした http://nyatla.hatenadiary.jp/entry/20140720/1405861733
- mbedJSをインターネットで共有するシステムを作ったhttp://nyatla.hatenadiary.jp/entry/20140912/1410528645
rpctbl.cpp@42:cb988aabc8b6, 2014-09-06 (annotated)
- Committer:
- nyatla
- Date:
- Sat Sep 06 02:41:49 2014 +0000
- Revision:
- 42:cb988aabc8b6
- Parent:
- 37:ba7de395f009
update libMiMic
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nyatla | 33:8e869201db67 | 1 | #include "rpctbl.h" |
nyatla | 33:8e869201db67 | 2 | #include "mimic.h" |
nyatla | 37:ba7de395f009 | 3 | #include "NyLPC_jsonrpc.h" |
nyatla | 33:8e869201db67 | 4 | const struct NyLPC_TJsonRpcClassDef* RPCTBL[]= |
nyatla | 33:8e869201db67 | 5 | { |
nyatla | 33:8e869201db67 | 6 | //mbed API |
nyatla | 33:8e869201db67 | 7 | &MiMic::MbedJsApi::RPC_MBED_DIGITAL_OUT, |
nyatla | 33:8e869201db67 | 8 | &MiMic::MbedJsApi::RPC_MBED_DIGITAL_IN, |
nyatla | 33:8e869201db67 | 9 | &MiMic::MbedJsApi::RPC_MBED_ANALOG_IN, |
nyatla | 33:8e869201db67 | 10 | &MiMic::MbedJsApi::RPC_MBED_ANALOG_OUT, |
nyatla | 33:8e869201db67 | 11 | &MiMic::MbedJsApi::RPC_MBED_BUS_IN, |
nyatla | 33:8e869201db67 | 12 | &MiMic::MbedJsApi::RPC_MBED_BUS_OUT, |
nyatla | 33:8e869201db67 | 13 | &MiMic::MbedJsApi::RPC_MBED_BUS_IN_OUT, |
nyatla | 33:8e869201db67 | 14 | &MiMic::MbedJsApi::RPC_MBED_PWM_OUT, |
nyatla | 33:8e869201db67 | 15 | &MiMic::MbedJsApi::RPC_MBED_PORT_OUT, |
nyatla | 33:8e869201db67 | 16 | &MiMic::MbedJsApi::RPC_MBED_PORT_IN, |
nyatla | 33:8e869201db67 | 17 | &MiMic::MbedJsApi::RPC_MBED_SPI, |
nyatla | 33:8e869201db67 | 18 | &MiMic::MbedJsApi::RPC_MBED_SPI_SLAVE, |
nyatla | 37:ba7de395f009 | 19 | &MiMic::MbedJsApi::RPC_MBED_SERIAL, |
nyatla | 37:ba7de395f009 | 20 | &MiMic::MbedJsApi::RPC_MBED_I2C, |
nyatla | 37:ba7de395f009 | 21 | &MiMic::MbedJsApi::RPC_MBED_I2C_SLAVE, |
nyatla | 37:ba7de395f009 | 22 | &MiMic::MbedJsApi::RPC_MBED_MCU, |
nyatla | 37:ba7de395f009 | 23 | &NyLPC_cJsonRpcFunction_Memory, |
nyatla | 33:8e869201db67 | 24 | //end of table |
nyatla | 33:8e869201db67 | 25 | NULL |
nyatla | 33:8e869201db67 | 26 | }; |