ch8_mbed_websocket_client to sockets.mbed.org
Dependencies: EthernetInterface HTTPD WebSocketClient mbed-rpc mbed-rtos-for-old mbed
Revision 0:a24e2b2f8c8f, committed 2015-02-04
- Comitter:
- mbedschool
- Date:
- Wed Feb 04 03:42:54 2015 +0000
- Commit message:
- ch8_mbed)websocket_client_to_sockets_mbed_org
Changed in this revision
diff -r 000000000000 -r a24e2b2f8c8f EthernetInterface.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/EthernetInterface.lib Wed Feb 04 03:42:54 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/mbed_official/code/EthernetInterface/#d1ccbed7687a
diff -r 000000000000 -r a24e2b2f8c8f HTTPD.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/HTTPD.lib Wed Feb 04 03:42:54 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/okini3939/code/HTTPD/#d18dff347122
diff -r 000000000000 -r a24e2b2f8c8f WebSocketClient.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WebSocketClient.lib Wed Feb 04 03:42:54 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/samux/code/WebSocketClient/#4567996414a5
diff -r 000000000000 -r a24e2b2f8c8f main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Feb 04 03:42:54 2015 +0000 @@ -0,0 +1,120 @@ +#include "mbed.h" +#include "EthernetInterface.h" +#include "HTTPD.h" +#include "Websocket.h" + + + +EthernetInterface *eth; +HTTPD *httpd; + + +Serial pc(USBTX, USBRX); +InterruptIn probe(p8); +LocalFileSystem local("local"); +DigitalOut led1(LED1), led2(LED2),led3(LED3); +Timer timer; +Ticker ticker; + +uint32_t low_time = 0; +//uint32_t low_time = 0; + +void down(); +void up(); + +void tick() +{ + pc.printf("%d us, %f %%\r\n", low_time, low_time / (30.0 * 1000000)); + low_time = 0; + +} + +void down() +{ + probe.rise(&up); + led1 = 0; + timer.start(); +} + +void up() +{ + led1 = 1; + timer.stop(); + probe.fall(&down); + + low_time += timer.read_us(); + timer.reset(); +} + +void callback_api(int id) { + int i, n; + char low_time_buf[256]; + char buf[256]; + + sprintf( low_time_buf, "%f", low_time / (30.0 * 1000000)); + strcpy(buf, "{"); + strcat(buf, "success: true ,"); + strcat(buf, "data: {"); + strcat(buf, "lowpulseoccupancytime: "); + strcat(buf, low_time_buf); + strcat(buf, "}"); + strcat(buf, "}"); + + n = strlen(buf); + i = httpd->receive(id, &buf[n], sizeof(buf) - n); + if (i < 0) return; + i += n; + buf[i] = 0; + printf("API %d %s\r\n", id, buf); + httpd->send(id, buf, i, "Content-Type: text/plain\r\n"); +} + +int main() { + pc.baud(115200); + pc.printf("Dust Sensor test\r\n"); + probe.fall(&down); + ticker.attach(tick, 30); + + printf("HTTP Server...\r\n"); + + eth = new EthernetInterface; + eth->init("192.168.21.23", "255.255.255.0", "192.168.21.2" ); + // eth->init(); + + if (eth->connect()) return -1; + led3 = 1; + + + printf("Connected to websocket server. \r\n"); + + + printf("IP Address is %s\r\n", eth->getIPAddress()); + httpd = new HTTPD; + httpd->attach("/1/mbed/lpc1768/sensor/dust/sen12291p", &callback_api); + httpd->attach("/", "/local/"); + httpd->start(80); + printf("httpd ready\r\n"); + led2 = 1; + + Websocket ws("ws://sockets.mbed.org/ws/mbedschool/viewer"); + // Websocket ws("ws://192.168.21.123:8888"); + + while (!ws.connect()); + // ws.send("echo-protocol"); + while (1) { + + char low_time_buf[256]; + char buf[256]; + sprintf( low_time_buf, "%f", low_time / (30.0 * 1000000)); + + strcpy(buf, "{"); + strcat(buf, "\"lowpulseoccupancytime\":"); + strcat(buf, low_time_buf); + strcat(buf, "}"); + ws.send(buf); + + + wait(1.0); + } + +}
diff -r 000000000000 -r a24e2b2f8c8f mbed-rpc.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-rpc.lib Wed Feb 04 03:42:54 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed-rpc/#4490a0d9cb2a
diff -r 000000000000 -r a24e2b2f8c8f mbed-rtos.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-rtos.lib Wed Feb 04 03:42:54 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/mbedschool/code/mbed-rtos-for-old/#38db02a8de8f
diff -r 000000000000 -r a24e2b2f8c8f mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Feb 04 03:42:54 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/4fc01daae5a5 \ No newline at end of file