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 Atsuya Okazaki

main.cpp

Committer:
ban4jp
Date:
2014-12-14
Revision:
1:4dfa9d41f414
Parent:
0:00a2d3570824
Child:
2:392b8e079c7a

File content as of revision 1:4dfa9d41f414:

#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");

    //ret = ntp.setTime("pool.ntp.org");
    ret = ntp.setTime("ntp.nict.jp");
    if (!ret) {
        time_t ctTime = time(NULL);
        printf("Time is set to (UTC): %s\n", ctime(&ctTime));
    } else {
        printf("Error\n");
    }

    std::string uri = "https://api.twitter.com/1.1/statuses/update.json";
    uri += "?status=";
    uri += OAuth4Tw::url_escape("Hello World!");
    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);
    }
}