This code is used to transmit the temperature sensed by the mbed to the xively via wifly. The car is self controlled.

Dependencies:   C12832_lcd WiflyInterface libxively mbed-rtos mbed

Fork of Mode-1_PS2_Wifly_Xively by Bhakti Kulkarni

Committer:
bhakti08
Date:
Mon Jun 09 12:18:36 2014 +0000
Revision:
6:9abfe16d39e0
Parent:
5:efa4a9eafe7d
Mode1 PS2-Wifly-Xively

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 5:efa4a9eafe7d 9 #define XI_FEED_ID 209829319 // set Xively Feed ID (numerical, no quoutes)
bhakti08 5:efa4a9eafe7d 10 #define XI_API_KEY "T0izYrB6TZVkmhhEWpzs5L7F5wqpJixxc6MtenkLDg3BLMIu" // 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 5:efa4a9eafe7d 48 feed.datastream_count = 1;
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 5:efa4a9eafe7d 55 xi_context_t* xi_context
bhakti08 5:efa4a9eafe7d 56 = xi_create_context( XI_HTTP, XI_API_KEY, feed.feed_id );
bhakti08 5:efa4a9eafe7d 57 if( xi_context == NULL )
bhakti08 5:efa4a9eafe7d 58 {
bhakti08 5:efa4a9eafe7d 59 pc.printf("Error in Xi_Context\r\n");
bhakti08 5:efa4a9eafe7d 60 exit (0);
bhakti08 5:efa4a9eafe7d 61 }
bhakti08 5:efa4a9eafe7d 62
bhakti08 6:9abfe16d39e0 63 while (true) {
bhakti08 6:9abfe16d39e0 64 pc.printf("In xively thread\r\n");
bhakti08 5:efa4a9eafe7d 65 xi_set_value_f32( current_temperature, temp.read() );
bhakti08 6:9abfe16d39e0 66 pc.printf("Value set\r\n");
bhakti08 5:efa4a9eafe7d 67 xi_feed_update( xi_context, &feed );
bhakti08 6:9abfe16d39e0 68 pc.printf("Update\r\n");
bhakti08 6:9abfe16d39e0 69 wait(10);
avnisha 3:034dbd0b2002 70 }
bhakti08 4:d1e0e52f7f6b 71 }