MiMicSDK Websocket module sample program.
Dependencies: NyFileSystems libMiMic mbed-rtos mbed
Fork of UPnPBasicDevice by
This is Websocket server.
WebSocketのサンプルです。 MiMicSDKのWebsocketはhttpdの1モジュールとして動作するので、ファイルサーバ等と一緒に動かすことが出来ます。
ファームウェアを書き込んだ後にブラウザから "http://192.168.128.39/" にアクセスすると、AIN1のデータをリアルタイムに表示するページが開きます。
Diff: main.cpp
- Revision:
- 3:77431c2bd9cb
- Parent:
- 2:28fd59d6be76
- Child:
- 4:0a280ed0a848
--- a/main.cpp Sat Apr 06 15:37:21 2013 +0000 +++ b/main.cpp Tue Apr 09 09:39:09 2013 +0000 @@ -1,35 +1,35 @@ #include "mimic.h" +/** + * local filesystem support. + */ +LocalFileSystem lf("local"); /** * MiMic RemoteMCU httpd.<br/> * <p>Service list</p> * <pre> - * /rom/ - romfs - * /setup/ - MiMic configulation REST API. * /local/ - mbed LocalFileSystem - * /mvm/ - MiMicVM REST API * </pre> */ - -class MiMicRemoteMcu:public MiMic::Httpd +class LfsHttpd:public MiMic::Httpd { private: - ModUrl modurl; //basic URL parser + ModLocalFileSystem modurl; //basic URL parser public: - MiMicRemoteMcu():Httpd(80) + LfsHttpd():Httpd(80) { + //bind local file system path to /local/* + modurl.setParam("local"); } virtual void onRequest(HttpdConnection& i_connection) { - char url[32]; - int method; //call ModUrl module. - if(this->modurl.execute(i_connection,url,32,&method)){ - //send 200 OK and requested URL - i_connection.sendHeader(200,"text/html",NULL); - i_connection.sendBodyF("<html><body>Your Request path is %s.</body></html>",url); + if(!this->modurl.execute(i_connection)){ + //send 430 + i_connection.sendHeader(403,"text/html",NULL); + i_connection.sendBodyF("<html><body>403 Forbidden</body></html>"); return; } return; @@ -40,7 +40,7 @@ { NetConfig cfg; //create network configulation Net net(cfg); //create a net instance. - MiMicRemoteMcu httpd; //create a httpd instance. + LfsHttpd httpd; //create a httpd instance. httpd.loop(); //start httpd loop. return 0; }