GPS Tweeter program that tweets the device's GPS location every 5 minutes.
Dependencies: EthernetNetIf HTTPClient mbed
Fork of TwitterExample by
Diff: main.cpp
- Revision:
- 4:2d5b7c5b995e
- Child:
- 5:22fb0d9a5de2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Oct 16 20:32:46 2013 +0000 @@ -0,0 +1,74 @@ +#include "mbed.h" +#include "EthernetNetIf.h" +#include "HTTPClient.h" +#include "GPS.h" + +EthernetNetIf eth; +GPS gps(p13, p14); + +int main() { + // Setup the time structure + + char buff[141]; + + printf("Initialization in Process\n"); + + EthernetErr ethErr = eth.setup(180000); + if(ethErr) + { + printf("Error %d in setup.\n", ethErr); + return -1; + } + printf("\r\nSetup OK\r\n"); + //wait(45); + + // Setup objects for sending the tweet. + HTTPClient twitter; + HTTPMap msg; + + while(1) { + + printf("\Attempting to Read in From the GPS Device\n\r"); + gps.sample(); + if(gps.sample()) { + printf("I'm at %f, %f\n\r", gps.longitude, gps.latitude); + sprintf(buff,"I'm at %f, %f", gps.longitude, gps.latitude); + //sprintf(buff,"Hey Guys, today I decided to take up a new hobby to cook. I will be making some amazing thing."); + msg["status"] = buff; + twitter.basicAuth("4180SKRW", "welcome1"); //We use basic authentication, replace with you account's parameters + + //No need to retieve data sent back by the server + HTTPResult r = twitter.post("http://api.supertweet.net/1.1/statuses/update.json", msg, NULL); + if( r == HTTP_OK ) + { + printf("Tweet sent with success!\n"); + } + else + { + printf("Problem during tweeting, return code %d\n", r); + } + + } else { + printf("Oh Dear! No lock :(\n\r"); + sprintf(buff,"hello my name is richard"); + msg["status"] = buff; + twitter.basicAuth("4180SKRW", "welcome1"); //We use basic authentication, replace with you account's parameters + + //No need to retieve data sent back by the server + HTTPResult r = twitter.post("http://api.supertweet.net/1.1/statuses/update.json", msg, NULL); + if( r == HTTP_OK ) + { + printf("Tweet sent with success!\n"); + } + else + { + printf("Problem during tweeting, return code %d\n", r); + } + } + + wait(60*5); + } + + return 0; + +}