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
main.cpp@6:9abfe16d39e0, 2014-06-09 (annotated)
- 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?
User | Revision | Line number | New 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 | } |