Suga koubou
/
GSwifi_sample
main.cpp@0:c58afea88a8f, 2012-03-27 (annotated)
- Committer:
- okini3939
- Date:
- Tue Mar 27 08:09:22 2012 +0000
- Revision:
- 0:c58afea88a8f
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:c58afea88a8f | 1 | #include "mbed.h" |
okini3939 | 0:c58afea88a8f | 2 | #include "GSwifi.h" |
okini3939 | 0:c58afea88a8f | 3 | |
okini3939 | 0:c58afea88a8f | 4 | #define SECURITY GSSEC_WPA_PSK |
okini3939 | 0:c58afea88a8f | 5 | #define SSID "WIFISSID" |
okini3939 | 0:c58afea88a8f | 6 | #define PASSPHRASE "TESTPASS" |
okini3939 | 0:c58afea88a8f | 7 | |
okini3939 | 0:c58afea88a8f | 8 | |
okini3939 | 0:c58afea88a8f | 9 | Serial pc(USBTX, USBRX); |
okini3939 | 0:c58afea88a8f | 10 | DigitalOut myled(LED1); |
okini3939 | 0:c58afea88a8f | 11 | |
okini3939 | 0:c58afea88a8f | 12 | GSwifi gs(p13, p14, p12, P0_22); // TX, RX, CTS, RTS |
okini3939 | 0:c58afea88a8f | 13 | |
okini3939 | 0:c58afea88a8f | 14 | |
okini3939 | 0:c58afea88a8f | 15 | int main() { |
okini3939 | 0:c58afea88a8f | 16 | Host host; |
okini3939 | 0:c58afea88a8f | 17 | int sk; |
okini3939 | 0:c58afea88a8f | 18 | |
okini3939 | 0:c58afea88a8f | 19 | pc.baud(115200); |
okini3939 | 0:c58afea88a8f | 20 | pc.printf("Gainspan\r\n"); |
okini3939 | 0:c58afea88a8f | 21 | |
okini3939 | 0:c58afea88a8f | 22 | if (gs.connect(SECURITY, SSID, PASSPHRASE)) { |
okini3939 | 0:c58afea88a8f | 23 | pc.printf("Can't connected.\r\n"); |
okini3939 | 0:c58afea88a8f | 24 | return -1; |
okini3939 | 0:c58afea88a8f | 25 | } |
okini3939 | 0:c58afea88a8f | 26 | // if (gs.setAddress(IpAddr(192,168,1,123), IpAddr(255,255,255,0), IpAddr(192,168,1,1), IpAddr(192,168,1,1))) { |
okini3939 | 0:c58afea88a8f | 27 | if (gs.setAddress()) { |
okini3939 | 0:c58afea88a8f | 28 | pc.printf("error: dhcp\r\n"); |
okini3939 | 0:c58afea88a8f | 29 | return -1; |
okini3939 | 0:c58afea88a8f | 30 | } |
okini3939 | 0:c58afea88a8f | 31 | |
okini3939 | 0:c58afea88a8f | 32 | host.setName("mbed.org"); |
okini3939 | 0:c58afea88a8f | 33 | host.setPort(80); |
okini3939 | 0:c58afea88a8f | 34 | if (! gs.getHostByName(host)) { |
okini3939 | 0:c58afea88a8f | 35 | pc.printf("resolv %d.%d.%d.%d\r\n", host.getIp()[0], host.getIp()[1], host.getIp()[2], host.getIp()[3]); |
okini3939 | 0:c58afea88a8f | 36 | |
okini3939 | 0:c58afea88a8f | 37 | sk = gs.open(host, GSPROT_TCP); |
okini3939 | 0:c58afea88a8f | 38 | if (sk >= 0) { |
okini3939 | 0:c58afea88a8f | 39 | int i; |
okini3939 | 0:c58afea88a8f | 40 | char buf[1500]; |
okini3939 | 0:c58afea88a8f | 41 | |
okini3939 | 0:c58afea88a8f | 42 | gs.send(sk, "GET / HTTP/1.0", 18); |
okini3939 | 0:c58afea88a8f | 43 | gs.send(sk, "\r\n", 2); |
okini3939 | 0:c58afea88a8f | 44 | gs.send(sk, "\r\n", 2); |
okini3939 | 0:c58afea88a8f | 45 | wait_ms(1000); |
okini3939 | 0:c58afea88a8f | 46 | |
okini3939 | 0:c58afea88a8f | 47 | i = gs.recv(sk, buf, sizeof(buf)); |
okini3939 | 0:c58afea88a8f | 48 | if (i) { |
okini3939 | 0:c58afea88a8f | 49 | buf[i] = 0; |
okini3939 | 0:c58afea88a8f | 50 | pc.printf("\r\n"); |
okini3939 | 0:c58afea88a8f | 51 | pc.printf(buf); |
okini3939 | 0:c58afea88a8f | 52 | } |
okini3939 | 0:c58afea88a8f | 53 | |
okini3939 | 0:c58afea88a8f | 54 | gs.close(sk); |
okini3939 | 0:c58afea88a8f | 55 | } |
okini3939 | 0:c58afea88a8f | 56 | } |
okini3939 | 0:c58afea88a8f | 57 | |
okini3939 | 0:c58afea88a8f | 58 | myled = 1; |
okini3939 | 0:c58afea88a8f | 59 | for (;;) { |
okini3939 | 0:c58afea88a8f | 60 | if (pc.readable()) gs.putc(pc.getc()); |
okini3939 | 0:c58afea88a8f | 61 | if (gs.readable()) pc.putc(gs.getc()); |
okini3939 | 0:c58afea88a8f | 62 | } |
okini3939 | 0:c58afea88a8f | 63 | } |