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のデータをリアルタイムに表示するページが開きます。
main.cpp@3:77431c2bd9cb, 2013-04-09 (annotated)
- Committer:
- nyatla
- Date:
- Tue Apr 09 09:39:09 2013 +0000
- Revision:
- 3:77431c2bd9cb
- Parent:
- 2:28fd59d6be76
- Child:
- 4:0a280ed0a848
initial version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nyatla | 0:ec1e45489427 | 1 | #include "mimic.h" |
nyatla | 0:ec1e45489427 | 2 | |
nyatla | 0:ec1e45489427 | 3 | |
nyatla | 3:77431c2bd9cb | 4 | /** |
nyatla | 3:77431c2bd9cb | 5 | * local filesystem support. |
nyatla | 3:77431c2bd9cb | 6 | */ |
nyatla | 3:77431c2bd9cb | 7 | LocalFileSystem lf("local"); |
nyatla | 0:ec1e45489427 | 8 | |
nyatla | 0:ec1e45489427 | 9 | /** |
nyatla | 0:ec1e45489427 | 10 | * MiMic RemoteMCU httpd.<br/> |
nyatla | 0:ec1e45489427 | 11 | * <p>Service list</p> |
nyatla | 0:ec1e45489427 | 12 | * <pre> |
nyatla | 0:ec1e45489427 | 13 | * /local/ - mbed LocalFileSystem |
nyatla | 0:ec1e45489427 | 14 | * </pre> |
nyatla | 0:ec1e45489427 | 15 | */ |
nyatla | 3:77431c2bd9cb | 16 | class LfsHttpd:public MiMic::Httpd |
nyatla | 0:ec1e45489427 | 17 | { |
nyatla | 0:ec1e45489427 | 18 | private: |
nyatla | 3:77431c2bd9cb | 19 | ModLocalFileSystem modurl; //basic URL parser |
nyatla | 0:ec1e45489427 | 20 | public: |
nyatla | 3:77431c2bd9cb | 21 | LfsHttpd():Httpd(80) |
nyatla | 0:ec1e45489427 | 22 | { |
nyatla | 3:77431c2bd9cb | 23 | //bind local file system path to /local/* |
nyatla | 3:77431c2bd9cb | 24 | modurl.setParam("local"); |
nyatla | 0:ec1e45489427 | 25 | } |
nyatla | 0:ec1e45489427 | 26 | virtual void onRequest(HttpdConnection& i_connection) |
nyatla | 0:ec1e45489427 | 27 | { |
nyatla | 2:28fd59d6be76 | 28 | //call ModUrl module. |
nyatla | 3:77431c2bd9cb | 29 | if(!this->modurl.execute(i_connection)){ |
nyatla | 3:77431c2bd9cb | 30 | //send 430 |
nyatla | 3:77431c2bd9cb | 31 | i_connection.sendHeader(403,"text/html",NULL); |
nyatla | 3:77431c2bd9cb | 32 | i_connection.sendBodyF("<html><body>403 Forbidden</body></html>"); |
nyatla | 0:ec1e45489427 | 33 | return; |
nyatla | 0:ec1e45489427 | 34 | } |
nyatla | 0:ec1e45489427 | 35 | return; |
nyatla | 0:ec1e45489427 | 36 | } |
nyatla | 0:ec1e45489427 | 37 | }; |
nyatla | 0:ec1e45489427 | 38 | |
nyatla | 0:ec1e45489427 | 39 | int main() |
nyatla | 0:ec1e45489427 | 40 | { |
nyatla | 0:ec1e45489427 | 41 | NetConfig cfg; //create network configulation |
nyatla | 0:ec1e45489427 | 42 | Net net(cfg); //create a net instance. |
nyatla | 3:77431c2bd9cb | 43 | LfsHttpd httpd; //create a httpd instance. |
nyatla | 0:ec1e45489427 | 44 | httpd.loop(); //start httpd loop. |
nyatla | 0:ec1e45489427 | 45 | return 0; |
nyatla | 0:ec1e45489427 | 46 | } |