http://http://diytec.web.fc2.com/mark2r2/
Dependencies: EthernetNetIf NTPClient_NetServices mbed ConfigFile
twitter.c@0:08a4d61cd84c, 2011-09-20 (annotated)
- Committer:
- mark2r2
- Date:
- Tue Sep 20 12:46:26 2011 +0000
- Revision:
- 0:08a4d61cd84c
V1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mark2r2 | 0:08a4d61cd84c | 1 | /*********************************** |
mark2r2 | 0:08a4d61cd84c | 2 | |
mark2r2 | 0:08a4d61cd84c | 3 | twitter.c |
mark2r2 | 0:08a4d61cd84c | 4 | |
mark2r2 | 0:08a4d61cd84c | 5 | ***********************************/ |
mark2r2 | 0:08a4d61cd84c | 6 | #include "mbed.h" |
mark2r2 | 0:08a4d61cd84c | 7 | #include "HTTPClient.h" |
mark2r2 | 0:08a4d61cd84c | 8 | #include "TextLCD.h" |
mark2r2 | 0:08a4d61cd84c | 9 | |
mark2r2 | 0:08a4d61cd84c | 10 | #define DEBUG |
mark2r2 | 0:08a4d61cd84c | 11 | |
mark2r2 | 0:08a4d61cd84c | 12 | //LCD |
mark2r2 | 0:08a4d61cd84c | 13 | extern TextLCD lcd; |
mark2r2 | 0:08a4d61cd84c | 14 | extern HTTPClient commonClient; |
mark2r2 | 0:08a4d61cd84c | 15 | |
mark2r2 | 0:08a4d61cd84c | 16 | extern void printable_msg(char*); |
mark2r2 | 0:08a4d61cd84c | 17 | extern int GetStatus(char *, char *, char *); |
mark2r2 | 0:08a4d61cd84c | 18 | |
mark2r2 | 0:08a4d61cd84c | 19 | char id[128]; |
mark2r2 | 0:08a4d61cd84c | 20 | char password[128]; |
mark2r2 | 0:08a4d61cd84c | 21 | |
mark2r2 | 0:08a4d61cd84c | 22 | /************************************** |
mark2r2 | 0:08a4d61cd84c | 23 | * Output to Twitter * |
mark2r2 | 0:08a4d61cd84c | 24 | ***************************************/ |
mark2r2 | 0:08a4d61cd84c | 25 | void twitter_output(void){ |
mark2r2 | 0:08a4d61cd84c | 26 | char msg[256]; |
mark2r2 | 0:08a4d61cd84c | 27 | msg[0]='\0'; |
mark2r2 | 0:08a4d61cd84c | 28 | printable_msg(msg); |
mark2r2 | 0:08a4d61cd84c | 29 | |
mark2r2 | 0:08a4d61cd84c | 30 | HTTPMap h_msg; |
mark2r2 | 0:08a4d61cd84c | 31 | h_msg["status"] = msg; //A good example of Key/Value pair use with Web APIs |
mark2r2 | 0:08a4d61cd84c | 32 | |
mark2r2 | 0:08a4d61cd84c | 33 | commonClient.basicAuth(id, password); //We use basic authentication, replace with you account's parameters |
mark2r2 | 0:08a4d61cd84c | 34 | #ifdef DEBUG |
mark2r2 | 0:08a4d61cd84c | 35 | // printf("twitter\r\n"); |
mark2r2 | 0:08a4d61cd84c | 36 | printf("%s,%s\r\n",id,password); |
mark2r2 | 0:08a4d61cd84c | 37 | #endif |
mark2r2 | 0:08a4d61cd84c | 38 | //No need to retieve data sent back by the server |
mark2r2 | 0:08a4d61cd84c | 39 | HTTPResult r = commonClient.post("http://api.supertweet.net/1/statuses/update.xml", h_msg, NULL); |
mark2r2 | 0:08a4d61cd84c | 40 | |
mark2r2 | 0:08a4d61cd84c | 41 | #ifdef DEBUG |
mark2r2 | 0:08a4d61cd84c | 42 | if( r == HTTP_OK ){ |
mark2r2 | 0:08a4d61cd84c | 43 | printf("%s",msg); |
mark2r2 | 0:08a4d61cd84c | 44 | printf("Tweet sent with success!\n"); |
mark2r2 | 0:08a4d61cd84c | 45 | }else{ |
mark2r2 | 0:08a4d61cd84c | 46 | printf("Problem during tweeting, return code %d\n", r); |
mark2r2 | 0:08a4d61cd84c | 47 | } |
mark2r2 | 0:08a4d61cd84c | 48 | #endif |
mark2r2 | 0:08a4d61cd84c | 49 | } |
mark2r2 | 0:08a4d61cd84c | 50 | |
mark2r2 | 0:08a4d61cd84c | 51 | void twitter_setup(){ |
mark2r2 | 0:08a4d61cd84c | 52 | GetStatus("/local/TWITTER.CFG","ID",id); |
mark2r2 | 0:08a4d61cd84c | 53 | GetStatus("/local/TWITTER.CFG","PASS",password); |
mark2r2 | 0:08a4d61cd84c | 54 | printf("twitter ID=%s, password=%s\r\n",id,password); |
mark2r2 | 0:08a4d61cd84c | 55 | lcd.cls(); |
mark2r2 | 0:08a4d61cd84c | 56 | lcd.locate(0,0); |
mark2r2 | 0:08a4d61cd84c | 57 | lcd.printf("Twitter ID=%s",id); |
mark2r2 | 0:08a4d61cd84c | 58 | wait(2); |
mark2r2 | 0:08a4d61cd84c | 59 | } |
mark2r2 | 0:08a4d61cd84c | 60 | |
mark2r2 | 0:08a4d61cd84c | 61 |