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のデータをリアルタイムに表示するページが開きます。

Committer:
nyatla
Date:
Tue Apr 09 10:48:14 2013 +0000
Revision:
4:0a280ed0a848
Parent:
3:77431c2bd9cb
Child:
5:6a2a1644ea2c
update comment

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nyatla 4:0a280ed0a848 1 /**
nyatla 4:0a280ed0a848 2 * @file * This is ModLocalFileSystem sample program.
nyatla 4:0a280ed0a848 3 *
nyatla 4:0a280ed0a848 4 * <pre>
nyatla 4:0a280ed0a848 5 * 1. Compile this program and write to your mbed.
nyatla 4:0a280ed0a848 6 * 2. Write files for testing to mbed disk.
nyatla 4:0a280ed0a848 7 * 2. Access via web browser to http://192.168.0.39/local/<filename>
nyatla 4:0a280ed0a848 8 * 3. You can see <filename> file on browser.
nyatla 4:0a280ed0a848 9 * </pre>
nyatla 4:0a280ed0a848 10 */
nyatla 0:ec1e45489427 11 #include "mimic.h"
nyatla 0:ec1e45489427 12
nyatla 0:ec1e45489427 13
nyatla 3:77431c2bd9cb 14 /**
nyatla 3:77431c2bd9cb 15 * local filesystem support.
nyatla 3:77431c2bd9cb 16 */
nyatla 3:77431c2bd9cb 17 LocalFileSystem lf("local");
nyatla 0:ec1e45489427 18
nyatla 0:ec1e45489427 19 /**
nyatla 0:ec1e45489427 20 * MiMic RemoteMCU httpd.<br/>
nyatla 0:ec1e45489427 21 * <p>Service list</p>
nyatla 0:ec1e45489427 22 * <pre>
nyatla 0:ec1e45489427 23 * /local/ - mbed LocalFileSystem
nyatla 0:ec1e45489427 24 * </pre>
nyatla 0:ec1e45489427 25 */
nyatla 3:77431c2bd9cb 26 class LfsHttpd:public MiMic::Httpd
nyatla 0:ec1e45489427 27 {
nyatla 0:ec1e45489427 28 private:
nyatla 3:77431c2bd9cb 29 ModLocalFileSystem modurl; //basic URL parser
nyatla 0:ec1e45489427 30 public:
nyatla 3:77431c2bd9cb 31 LfsHttpd():Httpd(80)
nyatla 0:ec1e45489427 32 {
nyatla 3:77431c2bd9cb 33 //bind local file system path to /local/*
nyatla 3:77431c2bd9cb 34 modurl.setParam("local");
nyatla 0:ec1e45489427 35 }
nyatla 0:ec1e45489427 36 virtual void onRequest(HttpdConnection& i_connection)
nyatla 0:ec1e45489427 37 {
nyatla 2:28fd59d6be76 38 //call ModUrl module.
nyatla 3:77431c2bd9cb 39 if(!this->modurl.execute(i_connection)){
nyatla 3:77431c2bd9cb 40 //send 430
nyatla 3:77431c2bd9cb 41 i_connection.sendHeader(403,"text/html",NULL);
nyatla 3:77431c2bd9cb 42 i_connection.sendBodyF("<html><body>403 Forbidden</body></html>");
nyatla 0:ec1e45489427 43 return;
nyatla 0:ec1e45489427 44 }
nyatla 0:ec1e45489427 45 return;
nyatla 0:ec1e45489427 46 }
nyatla 0:ec1e45489427 47 };
nyatla 0:ec1e45489427 48
nyatla 0:ec1e45489427 49 int main()
nyatla 0:ec1e45489427 50 {
nyatla 0:ec1e45489427 51 NetConfig cfg; //create network configulation
nyatla 0:ec1e45489427 52 Net net(cfg); //create a net instance.
nyatla 3:77431c2bd9cb 53 LfsHttpd httpd; //create a httpd instance.
nyatla 0:ec1e45489427 54 httpd.loop(); //start httpd loop.
nyatla 0:ec1e45489427 55 return 0;
nyatla 0:ec1e45489427 56 }