Xively park working
Dependencies: C12832_lcd LM75B MMA7660 WiflyInterface libxively mbed-rtos mbed
Fork of IOT-Project-LED-ControlTelnet by
main.cpp@5:efa4a9eafe7d, 2014-06-07 (annotated)
- Committer:
- bhakti08
- Date:
- Sat Jun 07 01:04:41 2014 +0000
- Revision:
- 5:efa4a9eafe7d
- Parent:
- 4:d1e0e52f7f6b
IOT_Project_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 | 5:efa4a9eafe7d | 7 | |
bhakti08 | 5:efa4a9eafe7d | 8 | #define XI_FEED_ID 209829319 // set Xively Feed ID (numerical, no quoutes) |
bhakti08 | 5:efa4a9eafe7d | 9 | #define XI_API_KEY "T0izYrB6TZVkmhhEWpzs5L7F5wqpJixxc6MtenkLDg3BLMIu" // set Xively API key (double-quoted string) |
bhakti08 | 5:efa4a9eafe7d | 10 | |
bhakti08 | 5:efa4a9eafe7d | 11 | #include "xively.h" |
bhakti08 | 5:efa4a9eafe7d | 12 | #include "xi_err.h" |
bhakti08 | 5:efa4a9eafe7d | 13 | |
bhakti08 | 5:efa4a9eafe7d | 14 | #include "C12832_lcd.h" |
bhakti08 | 5:efa4a9eafe7d | 15 | |
bhakti08 | 5:efa4a9eafe7d | 16 | #define SEC 1000 |
bhakti08 | 5:efa4a9eafe7d | 17 | |
bhakti08 | 4:d1e0e52f7f6b | 18 | |
bhakti08 | 4:d1e0e52f7f6b | 19 | #define ECHO_SERVER_PORT 7 |
bhakti08 | 4:d1e0e52f7f6b | 20 | |
bhakti08 | 4:d1e0e52f7f6b | 21 | |
bhakti08 | 4:d1e0e52f7f6b | 22 | PwmOut servo(p22); |
bhakti08 | 4:d1e0e52f7f6b | 23 | DigitalOut dir(LED1); |
bhakti08 | 5:efa4a9eafe7d | 24 | //LM75B temp(p28,p27); |
bhakti08 | 5:efa4a9eafe7d | 25 | AnalogIn temp(p19); |
bhakti08 | 5:efa4a9eafe7d | 26 | MMA7660 axl(p28,p27); |
bhakti08 | 5:efa4a9eafe7d | 27 | Serial pc(USBTX,USBRX); |
bhakti08 | 5:efa4a9eafe7d | 28 | C12832_LCD lcd; |
bhakti08 | 4:d1e0e52f7f6b | 29 | |
bhakti08 | 4:d1e0e52f7f6b | 30 | #define FWD 1 |
bhakti08 | 4:d1e0e52f7f6b | 31 | #define REV 0 |
samux | 1:31e50fea8be8 | 32 | |
samux | 1:31e50fea8be8 | 33 | |
samux | 1:31e50fea8be8 | 34 | /* wifly interface: |
samux | 1:31e50fea8be8 | 35 | * - p9 and p10 are for the serial communication |
samux | 1:31e50fea8be8 | 36 | * - p19 is for the reset pin |
samux | 1:31e50fea8be8 | 37 | * - p26 is for the connection status |
samux | 1:31e50fea8be8 | 38 | * - "mbed" is the ssid of the network |
samux | 1:31e50fea8be8 | 39 | * - "password" is the password |
samux | 1:31e50fea8be8 | 40 | * - WPA is the security |
samux | 1:31e50fea8be8 | 41 | */ |
avnisha | 3:034dbd0b2002 | 42 | //apps board |
bhakti08 | 4:d1e0e52f7f6b | 43 | WiflyInterface wifly(p9, p10, p30, p29, "MY_WIFI", "", NONE); |
avnisha | 3:034dbd0b2002 | 44 | |
avnisha | 3:034dbd0b2002 | 45 | //pololu |
bhakti08 | 4:d1e0e52f7f6b | 46 | //WiflyInterface wifly(p28, p27, p26, NC, "iotlab", "42F67YxLX4AawRdcj", WPA); |
samux | 1:31e50fea8be8 | 47 | |
samux | 1:31e50fea8be8 | 48 | int main() { |
avnisha | 3:034dbd0b2002 | 49 | |
bhakti08 | 5:efa4a9eafe7d | 50 | // char recv[128]; |
avnisha | 3:034dbd0b2002 | 51 | |
samux | 1:31e50fea8be8 | 52 | wifly.init(); //Use DHCP |
bhakti08 | 5:efa4a9eafe7d | 53 | pc.printf("1\r\n"); |
samux | 1:31e50fea8be8 | 54 | while (!wifly.connect()); |
bhakti08 | 5:efa4a9eafe7d | 55 | pc.printf("IP Address is %s\n\r", wifly.getIPAddress()); |
avnisha | 3:034dbd0b2002 | 56 | |
bhakti08 | 5:efa4a9eafe7d | 57 | xi_feed_t feed; |
bhakti08 | 5:efa4a9eafe7d | 58 | memset( &feed, NULL, sizeof( xi_feed_t ) ); |
bhakti08 | 5:efa4a9eafe7d | 59 | |
bhakti08 | 5:efa4a9eafe7d | 60 | feed.feed_id = XI_FEED_ID; |
bhakti08 | 5:efa4a9eafe7d | 61 | feed.datastream_count = 1; |
bhakti08 | 5:efa4a9eafe7d | 62 | |
bhakti08 | 5:efa4a9eafe7d | 63 | feed.datastreams[0].datapoint_count = 1; |
bhakti08 | 5:efa4a9eafe7d | 64 | xi_datastream_t* temperature_datastream = &feed.datastreams[0]; |
bhakti08 | 5:efa4a9eafe7d | 65 | strcpy( temperature_datastream->datastream_id, "Temperature" ); |
bhakti08 | 5:efa4a9eafe7d | 66 | xi_datapoint_t* current_temperature = &temperature_datastream->datapoints[0]; |
bhakti08 | 5:efa4a9eafe7d | 67 | |
bhakti08 | 5:efa4a9eafe7d | 68 | xi_context_t* xi_context |
bhakti08 | 5:efa4a9eafe7d | 69 | = xi_create_context( XI_HTTP, XI_API_KEY, feed.feed_id ); |
bhakti08 | 5:efa4a9eafe7d | 70 | if( xi_context == NULL ) |
bhakti08 | 5:efa4a9eafe7d | 71 | { |
bhakti08 | 5:efa4a9eafe7d | 72 | pc.printf("Error in Xi_Context\r\n"); |
bhakti08 | 5:efa4a9eafe7d | 73 | exit (0); |
bhakti08 | 5:efa4a9eafe7d | 74 | } |
bhakti08 | 5:efa4a9eafe7d | 75 | |
bhakti08 | 5:efa4a9eafe7d | 76 | |
bhakti08 | 5:efa4a9eafe7d | 77 | while (true) { |
bhakti08 | 5:efa4a9eafe7d | 78 | xi_set_value_f32( current_temperature, temp.read() ); |
bhakti08 | 5:efa4a9eafe7d | 79 | xi_feed_update( xi_context, &feed ); |
bhakti08 | 5:efa4a9eafe7d | 80 | wait(10.0); |
avnisha | 3:034dbd0b2002 | 81 | } |
bhakti08 | 4:d1e0e52f7f6b | 82 | } |