gs fan
/
GSwifi_https_get
HTTPS(SSL) client and NTP client for GSwifi see: http://mbed.org/users/gsfan/notebook/gainspan_wifi/
main.cpp
- Committer:
- gsfan
- Date:
- 2013-02-26
- Revision:
- 2:608c25ba84ca
- Parent:
- 1:b06de786490e
File content as of revision 2:608c25ba84ca:
/* * HTTPS(SSL) client and NTP client * * Please update the firmware. */ #include "mbed.h" #include "GSwifi.h" #define HTTP_HOST "secure.sakura.ad.jp" #define HTTP_PORT 443 #define HTTP_URI "/" #define NTP_HOST "ntp.jst.mfeed.ad.jp" #define SECURE GSwifi::GSSEC_WPA_PSK #define SSID "SSID" #define PASS "PASSPHRASE" GSwifi gs(p13, p14, p20); // TX, RX, Reset (no flow control) //GSwifi gs(p13, p14, p12, P0_22, p20, NC, 115200); // TX, RX, CTS, RTS, Reset, Alarm Serial pc(USBTX, USBRX); DigitalOut led1(LED1), led2(LED2); extern "C" void HardFault_Handler() { printf("Hard Fault!\r\n"); gs.disconnect(); exit(-1); } void onGsReceive (int cid, int len) { int i; char buf[GS_DATA_SIZE + 1]; led2 = 1; i = gs.recv(cid, buf, len); buf[i] = 0; pc.printf(buf); } int main () { int r; IpAddr ipaddr, netmask, gateway, nameserver; Host host; time_t time; struct tm *t; led1 = 1; pc.baud(115200); pc.printf("connecting...\r\n"); if (gs.connect(SECURE, SSID, PASS)) { return -1; } gs.getAddress(ipaddr, netmask, gateway, nameserver); pc.printf("ip %d.%d.%d.%d\r\n", ipaddr[0], ipaddr[1], ipaddr[2], ipaddr[3]); pc.printf("ntpdate\r\n"); host.setName(NTP_HOST); gs.ntpdate(host); time = gs.getTime() + (9 * 60 * 60); t = localtime(&time); pc.printf("%04d-%02d-%02d, %02d:%02d:%02d\r\n", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); pc.printf("httpsGet\r\n"); host.setName(HTTP_HOST); host.setPort(HTTP_PORT); r = gs.httpGet(host, HTTP_URI, 1, &onGsReceive); if (r >= 0) { for (;;) { gs.poll(); if (! gs.isConnected(r)) break; wait_ms(50); led1 = !led1; led2 = 0; } } pc.printf("exit\r\n"); }