GPS Tweeter program that tweets the device's GPS location every 5 minutes.
Dependencies: EthernetNetIf HTTPClient mbed
Fork of TwitterExample by
main.cpp@4:2d5b7c5b995e, 2013-10-16 (annotated)
- Committer:
- 4180skrw
- Date:
- Wed Oct 16 20:32:46 2013 +0000
- Revision:
- 4:2d5b7c5b995e
- Child:
- 5:22fb0d9a5de2
GPS Tweeter
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
4180skrw | 4:2d5b7c5b995e | 1 | #include "mbed.h" |
4180skrw | 4:2d5b7c5b995e | 2 | #include "EthernetNetIf.h" |
4180skrw | 4:2d5b7c5b995e | 3 | #include "HTTPClient.h" |
4180skrw | 4:2d5b7c5b995e | 4 | #include "GPS.h" |
4180skrw | 4:2d5b7c5b995e | 5 | |
4180skrw | 4:2d5b7c5b995e | 6 | EthernetNetIf eth; |
4180skrw | 4:2d5b7c5b995e | 7 | GPS gps(p13, p14); |
4180skrw | 4:2d5b7c5b995e | 8 | |
4180skrw | 4:2d5b7c5b995e | 9 | int main() { |
4180skrw | 4:2d5b7c5b995e | 10 | // Setup the time structure |
4180skrw | 4:2d5b7c5b995e | 11 | |
4180skrw | 4:2d5b7c5b995e | 12 | char buff[141]; |
4180skrw | 4:2d5b7c5b995e | 13 | |
4180skrw | 4:2d5b7c5b995e | 14 | printf("Initialization in Process\n"); |
4180skrw | 4:2d5b7c5b995e | 15 | |
4180skrw | 4:2d5b7c5b995e | 16 | EthernetErr ethErr = eth.setup(180000); |
4180skrw | 4:2d5b7c5b995e | 17 | if(ethErr) |
4180skrw | 4:2d5b7c5b995e | 18 | { |
4180skrw | 4:2d5b7c5b995e | 19 | printf("Error %d in setup.\n", ethErr); |
4180skrw | 4:2d5b7c5b995e | 20 | return -1; |
4180skrw | 4:2d5b7c5b995e | 21 | } |
4180skrw | 4:2d5b7c5b995e | 22 | printf("\r\nSetup OK\r\n"); |
4180skrw | 4:2d5b7c5b995e | 23 | //wait(45); |
4180skrw | 4:2d5b7c5b995e | 24 | |
4180skrw | 4:2d5b7c5b995e | 25 | // Setup objects for sending the tweet. |
4180skrw | 4:2d5b7c5b995e | 26 | HTTPClient twitter; |
4180skrw | 4:2d5b7c5b995e | 27 | HTTPMap msg; |
4180skrw | 4:2d5b7c5b995e | 28 | |
4180skrw | 4:2d5b7c5b995e | 29 | while(1) { |
4180skrw | 4:2d5b7c5b995e | 30 | |
4180skrw | 4:2d5b7c5b995e | 31 | printf("\Attempting to Read in From the GPS Device\n\r"); |
4180skrw | 4:2d5b7c5b995e | 32 | gps.sample(); |
4180skrw | 4:2d5b7c5b995e | 33 | if(gps.sample()) { |
4180skrw | 4:2d5b7c5b995e | 34 | printf("I'm at %f, %f\n\r", gps.longitude, gps.latitude); |
4180skrw | 4:2d5b7c5b995e | 35 | sprintf(buff,"I'm at %f, %f", gps.longitude, gps.latitude); |
4180skrw | 4:2d5b7c5b995e | 36 | //sprintf(buff,"Hey Guys, today I decided to take up a new hobby to cook. I will be making some amazing thing."); |
4180skrw | 4:2d5b7c5b995e | 37 | msg["status"] = buff; |
4180skrw | 4:2d5b7c5b995e | 38 | twitter.basicAuth("4180SKRW", "welcome1"); //We use basic authentication, replace with you account's parameters |
4180skrw | 4:2d5b7c5b995e | 39 | |
4180skrw | 4:2d5b7c5b995e | 40 | //No need to retieve data sent back by the server |
4180skrw | 4:2d5b7c5b995e | 41 | HTTPResult r = twitter.post("http://api.supertweet.net/1.1/statuses/update.json", msg, NULL); |
4180skrw | 4:2d5b7c5b995e | 42 | if( r == HTTP_OK ) |
4180skrw | 4:2d5b7c5b995e | 43 | { |
4180skrw | 4:2d5b7c5b995e | 44 | printf("Tweet sent with success!\n"); |
4180skrw | 4:2d5b7c5b995e | 45 | } |
4180skrw | 4:2d5b7c5b995e | 46 | else |
4180skrw | 4:2d5b7c5b995e | 47 | { |
4180skrw | 4:2d5b7c5b995e | 48 | printf("Problem during tweeting, return code %d\n", r); |
4180skrw | 4:2d5b7c5b995e | 49 | } |
4180skrw | 4:2d5b7c5b995e | 50 | |
4180skrw | 4:2d5b7c5b995e | 51 | } else { |
4180skrw | 4:2d5b7c5b995e | 52 | printf("Oh Dear! No lock :(\n\r"); |
4180skrw | 4:2d5b7c5b995e | 53 | sprintf(buff,"hello my name is richard"); |
4180skrw | 4:2d5b7c5b995e | 54 | msg["status"] = buff; |
4180skrw | 4:2d5b7c5b995e | 55 | twitter.basicAuth("4180SKRW", "welcome1"); //We use basic authentication, replace with you account's parameters |
4180skrw | 4:2d5b7c5b995e | 56 | |
4180skrw | 4:2d5b7c5b995e | 57 | //No need to retieve data sent back by the server |
4180skrw | 4:2d5b7c5b995e | 58 | HTTPResult r = twitter.post("http://api.supertweet.net/1.1/statuses/update.json", msg, NULL); |
4180skrw | 4:2d5b7c5b995e | 59 | if( r == HTTP_OK ) |
4180skrw | 4:2d5b7c5b995e | 60 | { |
4180skrw | 4:2d5b7c5b995e | 61 | printf("Tweet sent with success!\n"); |
4180skrw | 4:2d5b7c5b995e | 62 | } |
4180skrw | 4:2d5b7c5b995e | 63 | else |
4180skrw | 4:2d5b7c5b995e | 64 | { |
4180skrw | 4:2d5b7c5b995e | 65 | printf("Problem during tweeting, return code %d\n", r); |
4180skrw | 4:2d5b7c5b995e | 66 | } |
4180skrw | 4:2d5b7c5b995e | 67 | } |
4180skrw | 4:2d5b7c5b995e | 68 | |
4180skrw | 4:2d5b7c5b995e | 69 | wait(60*5); |
4180skrw | 4:2d5b7c5b995e | 70 | } |
4180skrw | 4:2d5b7c5b995e | 71 | |
4180skrw | 4:2d5b7c5b995e | 72 | return 0; |
4180skrw | 4:2d5b7c5b995e | 73 | |
4180skrw | 4:2d5b7c5b995e | 74 | } |