Websocket Hello World over an ethernet network

Dependencies:   EthernetNetIf mbed DNSResolver

Committer:
samux
Date:
Fri Aug 26 13:22:52 2011 +0000
Revision:
0:dac316268a0c
Child:
1:8bdf124446e1

        

Who changed what in which revision?

UserRevisionLine numberNew 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 0:dac316268a0c 11 Websocket ws("ws://sockets.mbed.org:444/mbed_demo/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 }