NNN40 change mode from AP to STA by HTTP server

Dependencies:   WIFI_API_32kRAM mbed

How to use Demo code

  • Step1: Prepare a router, and set the SSID and Password as follow
  1. SSID: "SSID"
  2. Password: "0123456789"
  • Step2: Burn demo code to NNN40 module.

You can drag and drop the sample code to NNN40 module.

  • Step3: Login module from Http server (192.168.2.1) by PC.

You can set SSID and password by browser. After clicking "confirm" button, the module will change mode from AP to STA, get IP from router

  • DEMO video:
Committer:
wgd8700
Date:
Wed Sep 16 02:43:42 2015 +0000
Revision:
11:f57e9de44f6f
Parent:
9:a9bf63017854
Child:
12:eca9b56155c7
First commit;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
feb11 0:9e4bcb10b3e3 1 #include "mbed.h"
feb11 0:9e4bcb10b3e3 2 #include "EthernetInterface.h"
feb11 0:9e4bcb10b3e3 3 #include "mbed_rpc.h"
feb11 0:9e4bcb10b3e3 4 #include "RPCCommand.h"
feb11 0:9e4bcb10b3e3 5 #include "HTTPServer.h"
feb11 0:9e4bcb10b3e3 6 #include "Formatter.h"
feb11 0:9e4bcb10b3e3 7 #include "RequestHandler.h"
feb11 0:9e4bcb10b3e3 8 #include "RPCType.h"
feb11 0:9e4bcb10b3e3 9
wgd8700 11:f57e9de44f6f 10 #include "WIFIDevice.h"
wgd8700 11:f57e9de44f6f 11
feb11 0:9e4bcb10b3e3 12 #define SERVER_PORT 80
feb11 0:9e4bcb10b3e3 13
wgd8700 11:f57e9de44f6f 14 WIFIDevice wifi;
wgd8700 11:f57e9de44f6f 15
feb11 0:9e4bcb10b3e3 16 HTTPServer create_simple_server()
feb11 0:9e4bcb10b3e3 17 {
feb11 0:9e4bcb10b3e3 18 HTTPServer srv;
feb11 0:9e4bcb10b3e3 19 srv.add_request_handler("DELETE", new DeleteRequestHandler());
feb11 0:9e4bcb10b3e3 20 srv.add_request_handler("GET", new GetRequestHandler());
feb11 0:9e4bcb10b3e3 21 srv.add_request_handler("PUT", new PutRequestHandler());
feb11 0:9e4bcb10b3e3 22 return srv;
feb11 0:9e4bcb10b3e3 23 }
feb11 0:9e4bcb10b3e3 24
feb11 0:9e4bcb10b3e3 25 HTTPServer create_interactive_server()
feb11 0:9e4bcb10b3e3 26 {
feb11 0:9e4bcb10b3e3 27 HTTPServer srv(new InteractiveHTMLFormatter());
feb11 0:9e4bcb10b3e3 28 srv.add_request_handler("GET", new ComplexRequestHandler());
feb11 0:9e4bcb10b3e3 29 return srv;
feb11 0:9e4bcb10b3e3 30 }
feb11 0:9e4bcb10b3e3 31
feb11 0:9e4bcb10b3e3 32 int main(void)
feb11 0:9e4bcb10b3e3 33 {
feb11 0:9e4bcb10b3e3 34 RPCType::instance().register_types();
feb11 0:9e4bcb10b3e3 35
feb11 0:9e4bcb10b3e3 36 EthernetInterface eth;
wgd8700 11:f57e9de44f6f 37 //wifi.setNetwork("GainSpan_JS", "Delta9999", 0);
wgd8700 11:f57e9de44f6f 38 //wifi.setNetwork("TP-LINK_2.4G_TTWU", "0972753720", 0);
wgd8700 11:f57e9de44f6f 39 wifi.setAccessPoint("NNN40_TTWU", "0123456789", SECURITY_WPA2_TKIP_PSK, 2);
feb11 9:a9bf63017854 40 if(eth.init())
feb11 9:a9bf63017854 41 {
feb11 9:a9bf63017854 42 printf("Error while initializing the ethernet interface.\n");
feb11 9:a9bf63017854 43 return -1;
feb11 9:a9bf63017854 44 }
wgd8700 11:f57e9de44f6f 45 if(eth.connect(60000))
feb11 9:a9bf63017854 46 {
feb11 9:a9bf63017854 47 printf("Error while starting the ethernet interface.\n");
feb11 9:a9bf63017854 48 return -1;
feb11 9:a9bf63017854 49 }
feb11 9:a9bf63017854 50
feb11 0:9e4bcb10b3e3 51 printf("IP Address is %s\n", eth.getIPAddress());
feb11 0:9e4bcb10b3e3 52
feb11 3:fb0a778f2480 53 HTTPServer srv = create_interactive_server();
feb11 0:9e4bcb10b3e3 54
feb11 0:9e4bcb10b3e3 55 if(!srv.init(SERVER_PORT))
feb11 0:9e4bcb10b3e3 56 {
feb11 0:9e4bcb10b3e3 57 eth.disconnect();
feb11 0:9e4bcb10b3e3 58 return -1;
feb11 0:9e4bcb10b3e3 59 }
feb11 0:9e4bcb10b3e3 60
feb11 0:9e4bcb10b3e3 61 srv.run();
feb11 0:9e4bcb10b3e3 62
feb11 0:9e4bcb10b3e3 63 return 0;
feb11 0:9e4bcb10b3e3 64 }
feb11 0:9e4bcb10b3e3 65