Twitter client that can be directly tweet. (Intermediate server is not required.)
Dependencies: EthernetInterface HTTPClient-wolfSSL NTPClient OAuth4Tw mbed-rtos mbed wolfSSL
Fork of OAuth4Tw by
main.cpp
- Committer:
- ban4jp
- Date:
- 2015-07-08
- Revision:
- 4:fcadeb9bdcbd
- Parent:
- 2:392b8e079c7a
- Child:
- 5:f0c0128cde62
File content as of revision 4:fcadeb9bdcbd:
#include <string.h> #include "mbed.h" #include "EthernetInterface.h" #include "NTPClient.h" #include "OAuth4Tw.h" DigitalOut myled(LED1); EthernetInterface eth; NTPClient ntp; OAuth4Tw oa4t("XXXXXXXXXXXXXXXXXXXXXXXXX", // Consumer key "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", // Consumer secret "000000000-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", // Access token "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); // Access token secret static char res_buffer[1024] = ""; int main() { int ret = eth.init(); //Use DHCP if (!ret) { printf("Initialized, MAC: %s\n", eth.getMACAddress()); } else { printf("Error eth.init() - ret = %d\n", ret); return -1; } ret = eth.connect(); if (!ret) { printf("Connected, IP: %s, MASK: %s, GW: %s\n", eth.getIPAddress(), eth.getNetworkMask(), eth.getGateway()); } else { printf("Error eth.connect() - ret = %d\n", ret); return -1; } printf("Trying to update time...\n"); time_t ctTime; NTPResult result; while (1) { result = ntp.setTime("pool.ntp.org"); //result = ntp.setTime("pool.ntp.org", NTP_DEFAULT_PORT, 2000); if (result == NTP_OK) { time(&ctTime); printf("Time is set to (UTC): %s\n", ctime(&ctTime)); break; } switch (result) { case NTP_CONN: ///<Connection error printf("Connection error\n"); break; case NTP_TIMEOUT: ///<Connection timeout printf("Connection timeout\n"); break; case NTP_PRTCL: ///<Protocol error printf("Protocol error\n"); break; case NTP_DNS: ///<Could not resolve name printf("Could not resolve name\n"); break; default: printf("Error result=%d\n", result); return -1; } wait(5); } HTTPText res(res_buffer, sizeof(res_buffer)); while (1) { { char url[128]; char post[128]; //TODO: fix required. need saving memory. time(&ctTime); snprintf(url, sizeof(url), "https://api.twitter.com/1.1/statuses/update.json" "?status=Hello World! - %s", ctime(&ctTime)); HTTPResult result = oa4t.post(url, post, &res); printf("POST result = %d\n%s\n", result, res_buffer); } { const char url[] = "https://api.twitter.com/1.1/users/show.json" "?screen_name=twitter"; HTTPResult result = oa4t.get(url, &res); printf("GET result = %d\n%s\n", result, res_buffer); } // Wait 300 seconds for next time. for (int t=0; t<300; t++) { myled = 1; wait(0.2); myled = 0; wait(0.8); } printf("\n"); } }