Websockets demo sending mag and acc data to socket.io

Dependencies:   EthernetInterface FXOS8700Q WebSocketClient mbed-rtos mbed

Committer:
Spookmx
Date:
Fri Oct 09 23:37:05 2015 +0000
Revision:
0:7d2e022bc1ad
WebSockets demos sending acc and mag data

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Spookmx 0:7d2e022bc1ad 1 /* FXOS8700Q Example Program
Spookmx 0:7d2e022bc1ad 2 * Copyright (c) 2014-2015 ARM Limited
Spookmx 0:7d2e022bc1ad 3 *
Spookmx 0:7d2e022bc1ad 4 * Licensed under the Apache License, Version 2.0 (the "License");
Spookmx 0:7d2e022bc1ad 5 * you may not use this file except in compliance with the License.
Spookmx 0:7d2e022bc1ad 6 * You may obtain a copy of the License at
Spookmx 0:7d2e022bc1ad 7 *
Spookmx 0:7d2e022bc1ad 8 * http://www.apache.org/licenses/LICENSE-2.0
Spookmx 0:7d2e022bc1ad 9 *
Spookmx 0:7d2e022bc1ad 10 * Unless required by applicable law or agreed to in writing, software
Spookmx 0:7d2e022bc1ad 11 * distributed under the License is distributed on an "AS IS" BASIS,
Spookmx 0:7d2e022bc1ad 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Spookmx 0:7d2e022bc1ad 13 * See the License for the specific language governing permissions and
Spookmx 0:7d2e022bc1ad 14 * limitations under the License.
Spookmx 0:7d2e022bc1ad 15 */
Spookmx 0:7d2e022bc1ad 16
Spookmx 0:7d2e022bc1ad 17 #include "mbed.h"
Spookmx 0:7d2e022bc1ad 18 #include "FXOS8700Q.h"
Spookmx 0:7d2e022bc1ad 19 #include "EthernetInterface.h"
Spookmx 0:7d2e022bc1ad 20 #include "Websocket.h"
Spookmx 0:7d2e022bc1ad 21
Spookmx 0:7d2e022bc1ad 22 Serial pc(USBTX, USBRX);
Spookmx 0:7d2e022bc1ad 23 I2C i2c(PTE25, PTE24);
Spookmx 0:7d2e022bc1ad 24
Spookmx 0:7d2e022bc1ad 25 FXOS8700QAccelerometer acc(i2c, FXOS8700CQ_SLAVE_ADDR1); // Configured for the FRDM-K64F with onboard sensors
Spookmx 0:7d2e022bc1ad 26 FXOS8700QMagnetometer mag(i2c, FXOS8700CQ_SLAVE_ADDR1);
Spookmx 0:7d2e022bc1ad 27
Spookmx 0:7d2e022bc1ad 28
Spookmx 0:7d2e022bc1ad 29 int main(void)
Spookmx 0:7d2e022bc1ad 30 {
Spookmx 0:7d2e022bc1ad 31
Spookmx 0:7d2e022bc1ad 32 float faX, faY, faZ, fmX, fmY, fmZ;
Spookmx 0:7d2e022bc1ad 33
Spookmx 0:7d2e022bc1ad 34 //Ethernet Interface
Spookmx 0:7d2e022bc1ad 35 EthernetInterface eth;
Spookmx 0:7d2e022bc1ad 36 eth.init();
Spookmx 0:7d2e022bc1ad 37 eth.connect();
Spookmx 0:7d2e022bc1ad 38 printf("IP Address is %s\n\r", eth.getIPAddress());
Spookmx 0:7d2e022bc1ad 39
Spookmx 0:7d2e022bc1ad 40 //Sockets
Spookmx 0:7d2e022bc1ad 41 Websocket ws("ws://node-red-spookmx.c9.io/ws/inputs");
Spookmx 0:7d2e022bc1ad 42 ws.connect();
Spookmx 0:7d2e022bc1ad 43
Spookmx 0:7d2e022bc1ad 44 acc.enable();
Spookmx 0:7d2e022bc1ad 45 mag.enable();
Spookmx 0:7d2e022bc1ad 46 ws.send("{'success':true, 'payload':'Starting Socket TX'}");
Spookmx 0:7d2e022bc1ad 47 printf("{'success':true, 'payload':'Starting Socket TX'}\n\r");
Spookmx 0:7d2e022bc1ad 48 while (true) {
Spookmx 0:7d2e022bc1ad 49 acc.getX(faX);
Spookmx 0:7d2e022bc1ad 50 acc.getY(faY);
Spookmx 0:7d2e022bc1ad 51 acc.getZ(faZ);
Spookmx 0:7d2e022bc1ad 52 mag.getX(fmX);
Spookmx 0:7d2e022bc1ad 53 mag.getY(fmY);
Spookmx 0:7d2e022bc1ad 54 mag.getZ(fmZ);
Spookmx 0:7d2e022bc1ad 55 char output[500];
Spookmx 0:7d2e022bc1ad 56 snprintf(output,500,"ACC: X=%1.4ff Y=%1.4ff Z=%1.4ff \t MAG: X=%4.1ff Y=%4.1ff Z=%4.1ff\r\n", faX, faY, faZ, fmX, fmY, fmZ);
Spookmx 0:7d2e022bc1ad 57 printf("ACC: X=%1.4ff Y=%1.4ff Z=%1.4ff \t MAG: X=%4.1ff Y=%4.1ff Z=%4.1ff\r\n", faX, faY, faZ, fmX, fmY, fmZ);
Spookmx 0:7d2e022bc1ad 58 ws.send(output);
Spookmx 0:7d2e022bc1ad 59 puts("");
Spookmx 0:7d2e022bc1ad 60 //wait(5.0f);
Spookmx 0:7d2e022bc1ad 61 }
Spookmx 0:7d2e022bc1ad 62 }