Websocket Hello World over a wifi network
Dependencies: EthernetNetIf mbed DNSResolver
Diff: main.cpp
- Revision:
- 0:e10d21debdaa
- Child:
- 2:e7fba3d516b5
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Fri Aug 26 13:23:52 2011 +0000 @@ -0,0 +1,64 @@ +#include "mbed.h" +#include "Wifly.h" +#include "Websocket.h" +#include "ADXL345.h" + +Serial pc(USBTX, USBRX); + +ADXL345 accelerometer(p5, p6, p7, p8); + +//Here, we create an instance, with pins 9 and 10 connecting to the +//WiFly's TX and RX pins, and pin 21 to RESET. We are connecting to the +//NETGEAR network, password bananna2, and we are using WPA. +Wifly wifly(p9, p10, p21, "mbed", "mbedapm2011", true); + +//Here, we create a Websocket instance in 'w' (write) mode +//on the 'samux' channel +Websocket ws("ws://sockets.mbed.org:444/mbed_demo/w/samux", &wifly); + +int main() { + char json_str[100]; + + int readings[3] = {0, 0, 0}; + + pc.printf("Starting ADXL345 test...\r\n"); + pc.printf("Device ID is: 0x%02x\r\n", accelerometer.getDevId()); + + //Go into standby mode to configure the device. + accelerometer.setPowerControl(0x00); + + //Full resolution, +/-16g, 4mg/LSB. + accelerometer.setDataFormatControl(0x0B); + + //3.2kHz data rate. + accelerometer.setDataRate(ADXL345_3200HZ); + + //Measurement mode. + accelerometer.setPowerControl(0x08); + + + while (1) { + while (1) { + + while (!wifly.Join()) //we connect to the network + wifly.reset(); + + if (!ws.connect()) //we connect to the server + wifly.reset(); + else + break; + } + + while (1) { + wait(0.1); + + //we read accelerometers values + accelerometer.getOutput(readings); + + //Here, we format the string we will be sending to the server + //the format we are sending in is JSON + sprintf(json_str, "{\"id\":\"wifly_acc\",\"ax\":\"%d\",\"ay\":\"%d\",\"az\":\"%d\"}", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]); + ws.Send(json_str); //And we send the string + } + } +} \ No newline at end of file