The car is controlled by the PS2 controller and the temperature is sent on xively via the wifly.

Dependencies:   C12832_lcd WiflyInterface libxively mbed-rtos mbed LM75B MMA7660

Fork of IOT-Project-Wifly-Xively by Bhakti Kulkarni

Committer:
bhakti08
Date:
Mon Jun 09 22:53:04 2014 +0000
Revision:
7:c7023f76310e
Parent:
6:9abfe16d39e0
Final

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bhakti08 4:d1e0e52f7f6b 1 //This Program is used to turn the LED ON/OFF via telent (Wifly connected)
samux 1:31e50fea8be8 2 #include "mbed.h"
samux 1:31e50fea8be8 3 #include "WiflyInterface.h"
bhakti08 4:d1e0e52f7f6b 4 #include <string.h>
bhakti08 5:efa4a9eafe7d 5 #include "LM75B.h"
bhakti08 5:efa4a9eafe7d 6 #include "MMA7660.h"
bhakti08 6:9abfe16d39e0 7 #include "rtos.h"
bhakti08 5:efa4a9eafe7d 8
bhakti08 7:c7023f76310e 9 #define XI_FEED_ID 1344466483 // set Xively Feed ID (numerical, no quoutes)
bhakti08 7:c7023f76310e 10 #define XI_API_KEY "mgjx3VwlsvsMBhekqcASRLnzMPHi9Aw2gZCZCzyH0vQkefn3" // set Xively API key (double-quoted string)
bhakti08 5:efa4a9eafe7d 11
bhakti08 5:efa4a9eafe7d 12 #include "xively.h"
bhakti08 5:efa4a9eafe7d 13 #include "xi_err.h"
bhakti08 5:efa4a9eafe7d 14
bhakti08 5:efa4a9eafe7d 15 #include "C12832_lcd.h"
bhakti08 5:efa4a9eafe7d 16
bhakti08 5:efa4a9eafe7d 17
bhakti08 6:9abfe16d39e0 18 LM75B temp(p28,p27);
bhakti08 5:efa4a9eafe7d 19 MMA7660 axl(p28,p27);
bhakti08 5:efa4a9eafe7d 20 Serial pc(USBTX,USBRX);
bhakti08 5:efa4a9eafe7d 21 C12832_LCD lcd;
bhakti08 4:d1e0e52f7f6b 22
samux 1:31e50fea8be8 23 /* wifly interface:
samux 1:31e50fea8be8 24 * - p9 and p10 are for the serial communication
samux 1:31e50fea8be8 25 * - p19 is for the reset pin
samux 1:31e50fea8be8 26 * - p26 is for the connection status
samux 1:31e50fea8be8 27 * - "mbed" is the ssid of the network
samux 1:31e50fea8be8 28 * - "password" is the password
samux 1:31e50fea8be8 29 * - WPA is the security
samux 1:31e50fea8be8 30 */
avnisha 3:034dbd0b2002 31 //apps board
bhakti08 4:d1e0e52f7f6b 32 WiflyInterface wifly(p9, p10, p30, p29, "MY_WIFI", "", NONE);
avnisha 3:034dbd0b2002 33
bhakti08 6:9abfe16d39e0 34
samux 1:31e50fea8be8 35
samux 1:31e50fea8be8 36 int main() {
avnisha 3:034dbd0b2002 37
samux 1:31e50fea8be8 38 wifly.init(); //Use DHCP
bhakti08 5:efa4a9eafe7d 39 pc.printf("1\r\n");
samux 1:31e50fea8be8 40 while (!wifly.connect());
bhakti08 5:efa4a9eafe7d 41 pc.printf("IP Address is %s\n\r", wifly.getIPAddress());
avnisha 3:034dbd0b2002 42
bhakti08 6:9abfe16d39e0 43
bhakti08 5:efa4a9eafe7d 44 xi_feed_t feed;
bhakti08 5:efa4a9eafe7d 45 memset( &feed, NULL, sizeof( xi_feed_t ) );
bhakti08 5:efa4a9eafe7d 46
bhakti08 5:efa4a9eafe7d 47 feed.feed_id = XI_FEED_ID;
bhakti08 7:c7023f76310e 48 feed.datastream_count = 4;
bhakti08 5:efa4a9eafe7d 49
bhakti08 5:efa4a9eafe7d 50 feed.datastreams[0].datapoint_count = 1;
bhakti08 5:efa4a9eafe7d 51 xi_datastream_t* temperature_datastream = &feed.datastreams[0];
bhakti08 5:efa4a9eafe7d 52 strcpy( temperature_datastream->datastream_id, "Temperature" );
bhakti08 5:efa4a9eafe7d 53 xi_datapoint_t* current_temperature = &temperature_datastream->datapoints[0];
bhakti08 5:efa4a9eafe7d 54
bhakti08 7:c7023f76310e 55 feed.datastreams[1].datapoint_count = 1;
bhakti08 7:c7023f76310e 56 xi_datastream_t* x_axis_datastream = &feed.datastreams[1];
bhakti08 7:c7023f76310e 57 strcpy( x_axis_datastream->datastream_id, "X_axis" );
bhakti08 7:c7023f76310e 58 xi_datapoint_t* accel_x = &x_axis_datastream->datapoints[0];
bhakti08 7:c7023f76310e 59
bhakti08 7:c7023f76310e 60 feed.datastreams[2].datapoint_count = 1;
bhakti08 7:c7023f76310e 61 xi_datastream_t* y_axis_datastream = &feed.datastreams[2];
bhakti08 7:c7023f76310e 62 strcpy( y_axis_datastream->datastream_id, "Y_axis" );
bhakti08 7:c7023f76310e 63 xi_datapoint_t* accel_y = &y_axis_datastream->datapoints[0];
bhakti08 7:c7023f76310e 64
bhakti08 7:c7023f76310e 65 feed.datastreams[3].datapoint_count = 1;
bhakti08 7:c7023f76310e 66 xi_datastream_t* z_axis_datastream = &feed.datastreams[3];
bhakti08 7:c7023f76310e 67 strcpy( z_axis_datastream->datastream_id, "Z_axis" );
bhakti08 7:c7023f76310e 68 xi_datapoint_t* accel_z = &z_axis_datastream->datapoints[0];
bhakti08 7:c7023f76310e 69
bhakti08 5:efa4a9eafe7d 70 xi_context_t* xi_context
bhakti08 5:efa4a9eafe7d 71 = xi_create_context( XI_HTTP, XI_API_KEY, feed.feed_id );
bhakti08 5:efa4a9eafe7d 72 if( xi_context == NULL )
bhakti08 5:efa4a9eafe7d 73 {
bhakti08 5:efa4a9eafe7d 74 pc.printf("Error in Xi_Context\r\n");
bhakti08 5:efa4a9eafe7d 75 exit (0);
bhakti08 5:efa4a9eafe7d 76 }
bhakti08 5:efa4a9eafe7d 77
bhakti08 6:9abfe16d39e0 78 while (true) {
bhakti08 6:9abfe16d39e0 79 pc.printf("In xively thread\r\n");
bhakti08 5:efa4a9eafe7d 80 xi_set_value_f32( current_temperature, temp.read() );
bhakti08 7:c7023f76310e 81 xi_set_value_f32( accel_x ,axl.x() );
bhakti08 7:c7023f76310e 82 xi_set_value_f32( accel_y ,axl.y() );
bhakti08 7:c7023f76310e 83 xi_set_value_f32( accel_z ,axl.z() );
bhakti08 6:9abfe16d39e0 84 pc.printf("Value set\r\n");
bhakti08 5:efa4a9eafe7d 85 xi_feed_update( xi_context, &feed );
bhakti08 6:9abfe16d39e0 86 pc.printf("Update\r\n");
bhakti08 6:9abfe16d39e0 87 wait(10);
avnisha 3:034dbd0b2002 88 }
bhakti08 4:d1e0e52f7f6b 89 }