Use the STM32F411 Nucleo Board, Nucleo Sensor Shield, WIZnet5500 Ethernet to upload temperature data to M2X
Dependencies: M2XStreamClient Nucleo_Sensor_Shield WIZnet_Library jsonlite mbed
Fork of M2X_Nucleo411_ESP8266-wifi by
Diff: main.cpp
- Revision:
- 5:b3bcb048a5a5
- Parent:
- 4:3c1d712dcc48
- Child:
- 6:694279899cf2
--- a/main.cpp Fri Dec 11 00:25:01 2015 +0000 +++ b/main.cpp Fri Dec 11 00:37:37 2015 +0000 @@ -1,26 +1,19 @@ #include "mbed.h" -#include "FXOS8700Q.h" #include "M2XStreamClient.h" #include "ESP8266Interface.h" #include "TCPSocketConnection.h" - -#ifndef MAX -#define max(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a > _b ? _a : _b; }) -#endif - -#ifndef MIN -#define min(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; }) -#endif - +// +// Fill these field in from you ATT M2X Account +// char deviceId[] = "<device id>"; // Device you want to push to char streamName[] = "<stream name>"; // Stream you want to push to char m2xKey[] = "<m2x api key>"; // Your M2X API Key or Master API Key /* -* ESP8266 Wifi Config, connect it to D0 on Seeed Grove shield +* ESP8266 Wifi Config for nucleo 411 */ -ESP8266Interface wifi(D1,D0,D3,"wifi-name","wifi-password",115200); // TX,RX,Reset,SSID,Password,Baud +ESP8266Interface wifi(D8,D2,D3,"wifi-name","wifi-password",115200); // TX,RX,Reset,SSID,Password,Baud int main() { @@ -33,37 +26,16 @@ // Initialize the M2X client Client client; - M2XStreamClient m2xClient(&client, m2xKey,1,"52.22.150.98"); + M2XStreamClient m2xClient(&client, m2xKey,1,"52.22.150.98"); // api-m2x.att.com + int ret; - - // Create an accelerometer instance - FXOS8700Q_acc acc( PTE25, PTE24, FXOS8700CQ_SLAVE_ADDR1); // Proper Ports and I2C Address for K64F Freedom board - acc.enable(); - printf("\r\n\nFXOS8700Q Who Am I= %X\r\n", acc.whoAmI()); + volatile int randomNumber = 0; while (true) { - - float x, y, z; - acc.getX(&x); - acc.getY(&y); - acc.getZ(&z); - - printf("Accel X: %1.2f, Y: %1.2f, Z: %1.2f\n\r", x, y, z); - - // Calculate pitch and roll. Find the maximum tilt angle. - float pitch = atan(x / sqrt(y * y + z * z)); - float roll = atan(y / sqrt(x * x + z * z)); - float maxTilt = - max(abs(roll), abs(pitch)) * 180.0 / 3.14159; - printf("pitch: %5.1f roll: %5.1f maxTilt: %5.1f\n\r", - pitch, roll, maxTilt); - - // If the maximum title is over 20 degrees, then send - // data to stream - - ret = m2xClient.updateStreamValue(deviceId, streamName, maxTilt); - printf("send() returned %d\r\n", ret); - wait(1.0); - + // send a random number to M2X every 5 seconds + randomNumber = rand(); + ret = m2xClient.updateStreamValue(deviceId, streamName, randomNumber); + printf("send() returned %d\r\n", ret); + wait(5.0); } } \ No newline at end of file