Websocket Hello World over an ethernet network
Dependencies: EthernetNetIf mbed DNSResolver
main.cpp@1:8bdf124446e1, 2011-08-30 (annotated)
- Committer:
- samux
- Date:
- Tue Aug 30 08:43:52 2011 +0000
- Revision:
- 1:8bdf124446e1
- Parent:
- 0:dac316268a0c
- Child:
- 2:588f1b42b809
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
samux | 0:dac316268a0c | 1 | #include "mbed.h" |
samux | 0:dac316268a0c | 2 | #include "Websocket.h" |
samux | 0:dac316268a0c | 3 | #include "ADXL345.h" |
samux | 0:dac316268a0c | 4 | |
samux | 0:dac316268a0c | 5 | Serial pc(USBTX, USBRX); |
samux | 0:dac316268a0c | 6 | |
samux | 0:dac316268a0c | 7 | ADXL345 accelerometer(p5, p6, p7, p8); |
samux | 0:dac316268a0c | 8 | |
samux | 0:dac316268a0c | 9 | //Here, we create a Websocket instance in 'w' (write) mode |
samux | 0:dac316268a0c | 10 | //on the 'samux' channel |
samux | 1:8bdf124446e1 | 11 | Websocket ws("ws://sockets.mbed.org/ws/w/samux"); |
samux | 0:dac316268a0c | 12 | |
samux | 0:dac316268a0c | 13 | int main() { |
samux | 0:dac316268a0c | 14 | char json_str[100]; |
samux | 0:dac316268a0c | 15 | |
samux | 0:dac316268a0c | 16 | int readings[3] = {0, 0, 0}; |
samux | 0:dac316268a0c | 17 | |
samux | 0:dac316268a0c | 18 | pc.printf("Starting ADXL345 test...\r\n"); |
samux | 0:dac316268a0c | 19 | pc.printf("Device ID is: 0x%02x\r\n", accelerometer.getDevId()); |
samux | 0:dac316268a0c | 20 | |
samux | 0:dac316268a0c | 21 | //Go into standby mode to configure the device. |
samux | 0:dac316268a0c | 22 | accelerometer.setPowerControl(0x00); |
samux | 0:dac316268a0c | 23 | |
samux | 0:dac316268a0c | 24 | //Full resolution, +/-16g, 4mg/LSB. |
samux | 0:dac316268a0c | 25 | accelerometer.setDataFormatControl(0x0B); |
samux | 0:dac316268a0c | 26 | |
samux | 0:dac316268a0c | 27 | //3.2kHz data rate. |
samux | 0:dac316268a0c | 28 | accelerometer.setDataRate(ADXL345_3200HZ); |
samux | 0:dac316268a0c | 29 | |
samux | 0:dac316268a0c | 30 | //Measurement mode. |
samux | 0:dac316268a0c | 31 | accelerometer.setPowerControl(0x08); |
samux | 0:dac316268a0c | 32 | |
samux | 0:dac316268a0c | 33 | |
samux | 0:dac316268a0c | 34 | while (1) { |
samux | 0:dac316268a0c | 35 | |
samux | 0:dac316268a0c | 36 | while(!ws.connect()) |
samux | 0:dac316268a0c | 37 | pc.printf("cannot connect websocket, retrying\r\n"); |
samux | 0:dac316268a0c | 38 | |
samux | 0:dac316268a0c | 39 | while (1) { |
samux | 0:dac316268a0c | 40 | wait(0.1); |
samux | 0:dac316268a0c | 41 | |
samux | 0:dac316268a0c | 42 | //we read accelerometers values |
samux | 0:dac316268a0c | 43 | accelerometer.getOutput(readings); |
samux | 0:dac316268a0c | 44 | |
samux | 0:dac316268a0c | 45 | //Here, we format the string we will be sending to the server |
samux | 0:dac316268a0c | 46 | //the format we are sending in is JSON |
samux | 0:dac316268a0c | 47 | sprintf(json_str, "{\"id\":\"wifly_acc\",\"ax\":\"%d\",\"ay\":\"%d\",\"az\":\"%d\"}", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]); |
samux | 0:dac316268a0c | 48 | ws.Send(json_str); |
samux | 0:dac316268a0c | 49 | } |
samux | 0:dac316268a0c | 50 | } |
samux | 0:dac316268a0c | 51 | } |