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

Dependencies:   GSwifi mbed

Files at this revision

API Documentation at this revision

Comitter:
gsfan
Date:
Tue Feb 26 03:12:05 2013 +0000
Parent:
3:b382ac9e8754
Child:
5:6f40b73257da
Commit message:
fix

Changed in this revision

GSwifi.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/GSwifi.lib	Thu Nov 08 03:20:57 2012 +0000
+++ b/GSwifi.lib	Tue Feb 26 03:12:05 2013 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/gsfan/code/GSwifi/#1270827d431a
+http://mbed.org/users/gsfan/code/GSwifi/#1c4419512941
--- a/main.cpp	Thu Nov 08 03:20:57 2012 +0000
+++ b/main.cpp	Tue Feb 26 03:12:05 2013 +0000
@@ -1,89 +1,82 @@
-/*
- * HTTP server for GSwifi
- *
- *   create the index.htm for LocalFileSystem.
- *   html access http://IP address/ , http://IP address/test/
- *
- *   CGI access http://IP address/cgi-bin/hoge?hage
- */
-
-#include "mbed.h"
-#include "GSwifi.h"
-
-#define PORT    80
-
-#define SECURE GSSEC_WPA2_PSK
-#define SSID "SSID"
-#define PASS "passkey"
-
-// GSwifi gs(p13, p14); // TX, RX (no flow control)
-GSwifi gs(p13, p14, p12, P0_22); // TX, RX, CTS, RTS
-DigitalOut gs_reset(p9);
-
-LocalFileSystem local("local");
-
-Serial pc(USBTX, USBRX);
-DigitalOut led1(LED1), led2(LED2);
-
-void cgi (int cid, GS_httpd *gshttpd) {
-    int i;
-
-    pc.printf("CGI %d: %s ? %s '%s' %d\r\n", cid, gshttpd->file, gshttpd->query, gshttpd->buf, gshttpd->len);
-
-    gs.send(cid, "HTTP/1.1 200 OK\r\n", 17);
-    gs.send(cid, "Content-type: text/plain\r\n", 26);
-    gs.send(cid, "\r\n", 2);
-
-    gs.send(cid, "REQUEST_METHOD: ", 16);
-    if (gshttpd[cid].type == GSPROT_HTTPGET) {
-        gs.send(cid, "GET\r\n", 5);
-    } else {
-        gs.send(cid, "POST\r\n", 6);
-    }
-    gs.send(cid, "SCRIPT_NAME: ", 13);
-    gs.send(cid, gshttpd->file, strlen(gshttpd->file));
-    gs.send(cid, "\r\n", 2);
-    gs.send(cid, "QUERY_STRING: ", 14);
-    gs.send(cid, gshttpd->query, strlen(gshttpd->query));
-    gs.send(cid, "\r\n", 2);
-    gs.send(cid, "POST_BODY: ", 11);
-    gs.send(cid, gshttpd->buf, strlen(gshttpd->buf));
-    gs.send(cid, "\r\n", 2);
-
-}
-
-int main () {
-    IpAddr ipaddr, netmask, gateway, nameserver;
-    Host host;
-
-    gs_reset = 0;
-    wait_ms(100);
-    gs_reset = 1;
-    wait_ms(500);
-
-    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]);
-
-    led2 = 1;
-    pc.printf("httpd\r\n");
-    gs.httpd(PORT);
-    gs.attach_httpd("/test/", "/local/");
-    gs.attach_httpd("/example/", "/local/sample/");
-    gs.attach_httpd("/cgi-bin/", &cgi);
-    gs.attach_httpd("/", "/local/");
-
-    for (;;) {
-        gs.poll();
-
-        wait_ms(50);
-        led1 = !led1;
-        led2 = 0;
-    }
-}
+/*
+ * HTTP server for GSwifi
+ *
+ *   create the index.htm for LocalFileSystem.
+ *   html access http://IP address/ , http://IP address/test/
+ *
+ *   CGI access http://IP address/cgi-bin/hoge?hage
+ */
+
+#include "mbed.h"
+#include "GSwifi.h"
+
+#define PORT    80
+
+#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
+
+LocalFileSystem local("local");
+Serial pc(USBTX, USBRX);
+DigitalOut led1(LED1), led2(LED2);
+
+
+void cgi (int cid, GSwifi::GS_httpd *gshttpd) {
+    int i;
+
+    led2 = 1;
+    pc.printf("CGI %d: %s ? %s '%s' %d\r\n", cid, gshttpd->file, gshttpd->query, gshttpd->buf, gshttpd->len);
+
+    gs.send(cid, "HTTP/1.1 200 OK\r\n", 17);
+    gs.send(cid, "Content-type: text/plain\r\n", 26);
+    gs.send(cid, "\r\n", 2);
+
+    gs.send(cid, "REQUEST_METHOD: ", 16);
+    if (gshttpd[cid].type == GSwifi::GSPROT_HTTPGET) {
+        gs.send(cid, "GET\r\n", 5);
+    } else {
+        gs.send(cid, "POST\r\n", 6);
+    }
+    gs.send(cid, "SCRIPT_NAME: ", 13);
+    gs.send(cid, gshttpd->file, strlen(gshttpd->file));
+    gs.send(cid, "\r\n", 2);
+    gs.send(cid, "QUERY_STRING: ", 14);
+    gs.send(cid, gshttpd->query, strlen(gshttpd->query));
+    gs.send(cid, "\r\n", 2);
+    gs.send(cid, "POST_BODY: ", 11);
+    gs.send(cid, gshttpd->buf, strlen(gshttpd->buf));
+    gs.send(cid, "\r\n", 2);
+
+}
+
+int main () {
+    IpAddr ipaddr, netmask, gateway, nameserver;
+
+    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]);
+
+    led2 = 1;
+    pc.printf("httpd\r\n");
+    gs.httpd(PORT);
+    gs.attach_httpd("/test/", "/local/");
+    gs.attach_httpd("/cgi-bin/", &cgi);
+    gs.attach_httpd("/", "/local/");
+
+    for (;;) {
+        gs.poll();
+
+        wait_ms(50);
+        led1 = !led1;
+        led2 = 0;
+    }
+}