Twitter for GSwifi see: http://mbed.org/users/gsfan/notebook/gainspan_wifi/

Dependencies:   GSwifi (old) mbed

Committer:
gsfan
Date:
Sun Oct 28 14:27:43 2012 +0000
Revision:
1:933f14b313b6
Parent:
0:8045b4b60fef
update library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gsfan 0:8045b4b60fef 1 #include "mbed.h"
gsfan 0:8045b4b60fef 2 #include "GSwifi.h"
gsfan 0:8045b4b60fef 3
gsfan 0:8045b4b60fef 4 #define SECURE GSSEC_WPA_PSK
gsfan 0:8045b4b60fef 5 #define SSID "SSID"
gsfan 0:8045b4b60fef 6 #define PASS "passkey"
gsfan 0:8045b4b60fef 7
gsfan 0:8045b4b60fef 8 #define TWITTER "Tweet%20from%20GainSpan%20Wi-Fi"
gsfan 0:8045b4b60fef 9 #define HTTP_HOST "api.supertweet.net" // SuperTweet.net
gsfan 0:8045b4b60fef 10 // #define HTTP_HOST "twitter-basicauth.appspot.com" // TOBASIC!
gsfan 0:8045b4b60fef 11 #define HTTP_URI "/1/statuses/update.xml"
gsfan 0:8045b4b60fef 12 #define HTTP_USER "username"
gsfan 0:8045b4b60fef 13 #define HTTP_PASS "password"
gsfan 0:8045b4b60fef 14
gsfan 0:8045b4b60fef 15 GSwifi gs(p13, p14); // TX, RX (no flow control)
gsfan 0:8045b4b60fef 16 // GSwifi gs(p13, p14, p12, P0_22); // TX, RX, CTS, RTS
gsfan 0:8045b4b60fef 17 Serial pc(USBTX, USBRX);
gsfan 0:8045b4b60fef 18 DigitalOut led1(LED1), led2(LED2);
gsfan 0:8045b4b60fef 19
gsfan 0:8045b4b60fef 20 void onGsReceive (int cid, int len) {
gsfan 0:8045b4b60fef 21 int i;
gsfan 0:8045b4b60fef 22 char buf[GS_DATA_SIZE + 1];
gsfan 0:8045b4b60fef 23
gsfan 0:8045b4b60fef 24 led2 = 1;
gsfan 0:8045b4b60fef 25 i = gs.recv(cid, buf, len);
gsfan 0:8045b4b60fef 26 buf[i] = 0;
gsfan 0:8045b4b60fef 27 pc.printf(buf);
gsfan 0:8045b4b60fef 28 }
gsfan 0:8045b4b60fef 29
gsfan 0:8045b4b60fef 30 int main () {
gsfan 0:8045b4b60fef 31 int r;
gsfan 0:8045b4b60fef 32 IpAddr ipaddr, netmask, gateway, nameserver;
gsfan 0:8045b4b60fef 33 Host host;
gsfan 0:8045b4b60fef 34 char msg[] = "status=" TWITTER;
gsfan 0:8045b4b60fef 35
gsfan 0:8045b4b60fef 36 led1 = 1;
gsfan 0:8045b4b60fef 37 pc.baud(115200);
gsfan 0:8045b4b60fef 38
gsfan 0:8045b4b60fef 39 pc.printf("connect\r\n");
gsfan 0:8045b4b60fef 40 if (gs.connect(SECURE, SSID, PASS, 0)) {
gsfan 0:8045b4b60fef 41 return -1;
gsfan 0:8045b4b60fef 42 }
gsfan 0:8045b4b60fef 43 gs.getAddress(ipaddr, netmask, gateway, nameserver);
gsfan 0:8045b4b60fef 44 pc.printf("ip %d.%d.%d.%d\r\n", ipaddr[0], ipaddr[1], ipaddr[2], ipaddr[3]);
gsfan 0:8045b4b60fef 45
gsfan 0:8045b4b60fef 46 pc.printf("httpPost\r\n");
gsfan 0:8045b4b60fef 47 host.setName(HTTP_HOST);
gsfan 1:933f14b313b6 48 r = gs.httpPost(host, HTTP_URI, msg, HTTP_USER, HTTP_PASS, 0, &onGsReceive);
gsfan 0:8045b4b60fef 49 if (r >= 0) {
gsfan 0:8045b4b60fef 50 for (;;) {
gsfan 0:8045b4b60fef 51 gs.poll();
gsfan 0:8045b4b60fef 52 if (! gs.isConnected(r)) break;
gsfan 0:8045b4b60fef 53
gsfan 0:8045b4b60fef 54 wait_ms(50);
gsfan 0:8045b4b60fef 55 led1 = !led1;
gsfan 0:8045b4b60fef 56 led2 = 0;
gsfan 0:8045b4b60fef 57 }
gsfan 0:8045b4b60fef 58 }
gsfan 0:8045b4b60fef 59
gsfan 0:8045b4b60fef 60 pc.printf("exit\r\n");
gsfan 0:8045b4b60fef 61 }