Use StewGate sample

Dependencies:   EthernetInterface HTTPClient NTPClient mbed-rtos mbed

Fork of HTTPClient_HelloWorld by Donatien Garnier

StewGateを使ってメンションを取得・ツイートするサンプルです。 main.cppの40行目を各自StewGateで取得したトークンを入力してください。 main.cppの45行目が0のとき、ツイートします。1でメンション取得です。

Committer:
nameless129
Date:
Tue Mar 18 16:05:43 2014 +0000
Revision:
3:9c0e1bc428ea
Parent:
2:270e2d0bb85a
Use StewGate sample

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:0e0debc29569 1 #include "mbed.h"
donatien 0:0e0debc29569 2 #include "EthernetInterface.h"
donatien 0:0e0debc29569 3 #include "HTTPClient.h"
nameless129 3:9c0e1bc428ea 4 #include "NTPClient.h"
nameless129 3:9c0e1bc428ea 5 #include <time.h>
nameless129 3:9c0e1bc428ea 6 #include <locale.h>
donatien 0:0e0debc29569 7
nameless129 3:9c0e1bc428ea 8 Serial pc(USBTX, USBRX); // tx, rx
donatien 1:d263603373ac 9 EthernetInterface eth;
donatien 1:d263603373ac 10 HTTPClient http;
nameless129 3:9c0e1bc428ea 11 NTPClient ntp;
donatien 1:d263603373ac 12 char str[512];
nameless129 3:9c0e1bc428ea 13 char JSTTime[128];
donatien 1:d263603373ac 14
donatien 0:0e0debc29569 15 int main()
donatien 0:0e0debc29569 16 {
donatien 0:0e0debc29569 17 eth.init(); //Use DHCP
nameless129 3:9c0e1bc428ea 18 eth.connect();
nameless129 3:9c0e1bc428ea 19 printf("IP Address is %s\n", eth.getIPAddress());
donatien 0:0e0debc29569 20
nameless129 3:9c0e1bc428ea 21 printf("Trying to update time...\r\n");
nameless129 3:9c0e1bc428ea 22 if (ntp.setTime("0.pool.ntp.org") == 0)
donatien 0:0e0debc29569 23 {
nameless129 3:9c0e1bc428ea 24 printf("Set time successfully\r\n");
nameless129 3:9c0e1bc428ea 25 time_t ctTime;
nameless129 3:9c0e1bc428ea 26 ctTime = time(NULL);
nameless129 3:9c0e1bc428ea 27 ctTime += 32400; //Conv UTC to JST
nameless129 3:9c0e1bc428ea 28 sprintf(JSTTime,"%s", ctime(&ctTime));
nameless129 3:9c0e1bc428ea 29 printf("%s",JSTTime);
donatien 0:0e0debc29569 30 }
donatien 0:0e0debc29569 31 else
donatien 0:0e0debc29569 32 {
nameless129 3:9c0e1bc428ea 33 printf("Error\r\n");
nameless129 3:9c0e1bc428ea 34 }
donatien 0:0e0debc29569 35 HTTPMap map;
donatien 2:270e2d0bb85a 36 HTTPText inText(str, 512);
nameless129 3:9c0e1bc428ea 37 /******************************************************/
nameless129 3:9c0e1bc428ea 38 //Input your StewGate Token
nameless129 3:9c0e1bc428ea 39 /******************************************************/
nameless129 3:9c0e1bc428ea 40 const char StewGate_Token[] = "";
nameless129 3:9c0e1bc428ea 41 map.put("_t", StewGate_Token);
nameless129 3:9c0e1bc428ea 42 /****************************************/
nameless129 3:9c0e1bc428ea 43 // Switch Get Tweet or Post Tweet
nameless129 3:9c0e1bc428ea 44 /****************************************/
nameless129 3:9c0e1bc428ea 45 #if 0
nameless129 3:9c0e1bc428ea 46 printf("\nTrying to Get Tweet\n");
nameless129 3:9c0e1bc428ea 47 int ret = http.post("http://stewgate-u.appspot.com/api/last_mention/", map, &inText);
nameless129 3:9c0e1bc428ea 48 #else
nameless129 3:9c0e1bc428ea 49 char PostTweet[512];
nameless129 3:9c0e1bc428ea 50 sprintf(PostTweet,"test in mbed %s",JSTTime);
nameless129 3:9c0e1bc428ea 51 map.put("msg", PostTweet);
nameless129 3:9c0e1bc428ea 52 printf("\nTrying to Post Tweet\n");
nameless129 3:9c0e1bc428ea 53 int ret = http.post("http://stewgate-u.appspot.com/api/post/", map, &inText);
nameless129 3:9c0e1bc428ea 54 #endif
donatien 0:0e0debc29569 55 if (!ret)
donatien 0:0e0debc29569 56 {
donatien 0:0e0debc29569 57 printf("Executed POST successfully - read %d characters\n", strlen(str));
donatien 0:0e0debc29569 58 printf("Result: %s\n", str);
donatien 0:0e0debc29569 59 }
donatien 0:0e0debc29569 60 else
donatien 0:0e0debc29569 61 {
donatien 0:0e0debc29569 62 printf("Error - ret = %d - HTTP return code = %d\n", ret, http.getHTTPResponseCode());
nameless129 3:9c0e1bc428ea 63 }
donatien 0:0e0debc29569 64 eth.disconnect();
donatien 0:0e0debc29569 65
donatien 0:0e0debc29569 66 while(1) {
donatien 0:0e0debc29569 67 }
donatien 0:0e0debc29569 68 }