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-02-01
- Revision:
- 2:392b8e079c7a
- Parent:
- 1:4dfa9d41f414
- Child:
- 4:fcadeb9bdcbd
File content as of revision 2:392b8e079c7a:
#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
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);
}
std::string uri = "https://api.twitter.com/1.1/statuses/update.json";
uri += "?status=";
uri += OAuth4Tw::url_escape("Hello World!");
uri += OAuth4Tw::url_escape(" - ");
uri += OAuth4Tw::url_escape(ctime(&ctTime));
std::string postarg;
std::string postres = oa4t.post(uri.c_str(), postarg);
printf("postres: %s\n", postres.c_str());
while (1) {
myled = 1;
wait(0.2);
myled = 0;
wait(0.2);
}
}
ban4jp -
