Twitter API 1.1 test program. (use SuperTweet.net)
Dependencies: EthernetInterface HTTPClient mbed-rtos mbed mpl115a2
MPL115A2を使って気温と気圧をツイートするプログラムです。
main.cpp@0:b59b1315ae90, 2013-06-22 (annotated)
- Committer:
- kanpapa
- Date:
- Sat Jun 22 11:01:14 2013 +0000
- Revision:
- 0:b59b1315ae90
Release version.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kanpapa | 0:b59b1315ae90 | 1 | #include "mbed.h" |
kanpapa | 0:b59b1315ae90 | 2 | #include "EthernetInterface.h" |
kanpapa | 0:b59b1315ae90 | 3 | #include "HTTPClient.h" // basicauth enabled. http://mbed.org/users/kazushi2008/code/HTTPClient/ |
kanpapa | 0:b59b1315ae90 | 4 | #include "MPL115A2.h" |
kanpapa | 0:b59b1315ae90 | 5 | |
kanpapa | 0:b59b1315ae90 | 6 | I2C i2c(p9, p10); // sda, scl |
kanpapa | 0:b59b1315ae90 | 7 | Serial pc(USBTX, USBRX); // tx, rx |
kanpapa | 0:b59b1315ae90 | 8 | |
kanpapa | 0:b59b1315ae90 | 9 | MPL115A2 p_sensor(&i2c); |
kanpapa | 0:b59b1315ae90 | 10 | |
kanpapa | 0:b59b1315ae90 | 11 | EthernetInterface eth; |
kanpapa | 0:b59b1315ae90 | 12 | HTTPClient twitter; |
kanpapa | 0:b59b1315ae90 | 13 | char str[512]; |
kanpapa | 0:b59b1315ae90 | 14 | |
kanpapa | 0:b59b1315ae90 | 15 | int main() |
kanpapa | 0:b59b1315ae90 | 16 | { |
kanpapa | 0:b59b1315ae90 | 17 | char info[128]; |
kanpapa | 0:b59b1315ae90 | 18 | |
kanpapa | 0:b59b1315ae90 | 19 | p_sensor.begin(); |
kanpapa | 0:b59b1315ae90 | 20 | p_sensor.ReadSensor(); |
kanpapa | 0:b59b1315ae90 | 21 | |
kanpapa | 0:b59b1315ae90 | 22 | sprintf(info, "I am tweeting from my mbed! Pressure = %f, Temperature = %f", p_sensor.GetPressure(),p_sensor.GetTemperature()); |
kanpapa | 0:b59b1315ae90 | 23 | printf("%s",info); |
kanpapa | 0:b59b1315ae90 | 24 | |
kanpapa | 0:b59b1315ae90 | 25 | eth.init(); //Use DHCP |
kanpapa | 0:b59b1315ae90 | 26 | |
kanpapa | 0:b59b1315ae90 | 27 | eth.connect(); |
kanpapa | 0:b59b1315ae90 | 28 | |
kanpapa | 0:b59b1315ae90 | 29 | //POST data |
kanpapa | 0:b59b1315ae90 | 30 | HTTPMap map; |
kanpapa | 0:b59b1315ae90 | 31 | HTTPText inText(str, 512); |
kanpapa | 0:b59b1315ae90 | 32 | map.put("status", info); |
kanpapa | 0:b59b1315ae90 | 33 | |
kanpapa | 0:b59b1315ae90 | 34 | printf("\nTrying to post data...\n"); |
kanpapa | 0:b59b1315ae90 | 35 | twitter.basicAuth("myuser", "mypass"); //We use basic authentication, replace with you account's parameters |
kanpapa | 0:b59b1315ae90 | 36 | int ret = twitter.post("http://api.supertweet.net/1.1/statuses/update.json", map, &inText); |
kanpapa | 0:b59b1315ae90 | 37 | if (!ret) |
kanpapa | 0:b59b1315ae90 | 38 | { |
kanpapa | 0:b59b1315ae90 | 39 | printf("Executed POST successfully - read %d characters\n", strlen(str)); |
kanpapa | 0:b59b1315ae90 | 40 | printf("Result: %s\n", str); |
kanpapa | 0:b59b1315ae90 | 41 | } |
kanpapa | 0:b59b1315ae90 | 42 | else |
kanpapa | 0:b59b1315ae90 | 43 | { |
kanpapa | 0:b59b1315ae90 | 44 | printf("Error - ret = %d - HTTP return code = %d\n", ret, twitter.getHTTPResponseCode()); |
kanpapa | 0:b59b1315ae90 | 45 | } |
kanpapa | 0:b59b1315ae90 | 46 | |
kanpapa | 0:b59b1315ae90 | 47 | eth.disconnect(); |
kanpapa | 0:b59b1315ae90 | 48 | |
kanpapa | 0:b59b1315ae90 | 49 | while(1) { |
kanpapa | 0:b59b1315ae90 | 50 | } |
kanpapa | 0:b59b1315ae90 | 51 | } |