Embedded WebSockets Experiment

Dependencies:   mbed MD5

Committer:
nandgate
Date:
Tue Jul 26 05:30:53 2011 +0000
Revision:
0:6dee052a3fa4

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nandgate 0:6dee052a3fa4 1 #include "mbed.h"
nandgate 0:6dee052a3fa4 2 #include "HTTPServer.h"
nandgate 0:6dee052a3fa4 3 #include "HTTPFS.h"
nandgate 0:6dee052a3fa4 4 #include "HTTPWebSocketHandler.h"
nandgate 0:6dee052a3fa4 5 #include "HTTPRestHandler.h"
nandgate 0:6dee052a3fa4 6
nandgate 0:6dee052a3fa4 7 DigitalIn maskSense(p10);
nandgate 0:6dee052a3fa4 8
nandgate 0:6dee052a3fa4 9 HTTPServer httpd (
nandgate 0:6dee052a3fa4 10 "mBed", // hostname
nandgate 0:6dee052a3fa4 11 IPv4(192,168,maskSense?42:24,42), // IP address
nandgate 0:6dee052a3fa4 12 IPv4(255,255,255,0), // Netmask
nandgate 0:6dee052a3fa4 13 IPv4(192,168,maskSense?42:24,1), // Gateway
nandgate 0:6dee052a3fa4 14 IPv4(192,168,maskSense?42:24,1), // DNS
nandgate 0:6dee052a3fa4 15 80 // Port
nandgate 0:6dee052a3fa4 16 );
nandgate 0:6dee052a3fa4 17
nandgate 0:6dee052a3fa4 18 LocalFileSystem local("local");
nandgate 0:6dee052a3fa4 19 DigitalOut led1(LED1);
nandgate 0:6dee052a3fa4 20 TemperatureSensor sensor;
nandgate 0:6dee052a3fa4 21 RGBLed rgb;
nandgate 0:6dee052a3fa4 22
nandgate 0:6dee052a3fa4 23 int main() {
nandgate 0:6dee052a3fa4 24 httpd.addHandler(new HTTPWebSocketHandler("/ws"));
nandgate 0:6dee052a3fa4 25 httpd.addHandler(new HTTPRestHandler("/io"));
nandgate 0:6dee052a3fa4 26 httpd.addHandler(new HTTPFileSystemHandler("/", "/local/"));
nandgate 0:6dee052a3fa4 27 httpd.bind();
nandgate 0:6dee052a3fa4 28
nandgate 0:6dee052a3fa4 29 Timer tm;
nandgate 0:6dee052a3fa4 30 tm.start();
nandgate 0:6dee052a3fa4 31 printf("Listening...\n");
nandgate 0:6dee052a3fa4 32 while (1) {
nandgate 0:6dee052a3fa4 33 httpd.poll();
nandgate 0:6dee052a3fa4 34 if (tm.read()>.5) {
nandgate 0:6dee052a3fa4 35 led1=!led1; //Show that we are alive
nandgate 0:6dee052a3fa4 36 tm.start();
nandgate 0:6dee052a3fa4 37 }
nandgate 0:6dee052a3fa4 38 }
nandgate 0:6dee052a3fa4 39 }