MiMicSDK Websocket module sample program.

Dependencies:   NyFileSystems libMiMic mbed-rtos mbed

Fork of UPnPBasicDevice by Ryo Iizuka

This is Websocket server.

WebSocketのサンプルです。 MiMicSDKのWebsocketはhttpdの1モジュールとして動作するので、ファイルサーバ等と一緒に動かすことが出来ます。

ファームウェアを書き込んだ後にブラウザから "http://192.168.128.39/" にアクセスすると、AIN1のデータをリアルタイムに表示するページが開きます。

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;
 }