NNN40 run a HTTP server with RPC using Soft AP mode

Dependencies:   WIFI_API_32kRAM mbed

Fork of HTTP-Server by Francois Berder

The sample code will run as a WiFi Soft AP mode with given AP configuration setting including SSID name and password. IP address (fixed to 192.168.2.1 for the current version of WIFI_API)of AP router will be print out once Soft AP mode is operating.

User can open their web browser and go to http://192.168.2.1/. and have a try on switch on a led. Firstly, we need to create an object to control a led

/media/uploads/wgd8700/http_server2.png

Then, led can be switch on using RPC command /media/uploads/wgd8700/http_server3.png

More information cab be found from the links below

https://developer.mbed.org/users/feb11/code/HTTP-Server/

https://developer.mbed.org/cookbook/Interfacing-Using-RPC

Committer:
wgd8700
Date:
Wed Sep 16 02:43:42 2015 +0000
Revision:
11:f57e9de44f6f
Parent:
0:9e4bcb10b3e3
First commit;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
feb11 0:9e4bcb10b3e3 1 #ifndef HTTP_SERVER
feb11 0:9e4bcb10b3e3 2 #define HTTP_SERVER
feb11 0:9e4bcb10b3e3 3
feb11 0:9e4bcb10b3e3 4 #include <map>
feb11 0:9e4bcb10b3e3 5
feb11 0:9e4bcb10b3e3 6 #include "mbed.h"
feb11 0:9e4bcb10b3e3 7 #include "mbed_rpc.h"
feb11 0:9e4bcb10b3e3 8 #include "RequestHandler.h"
feb11 0:9e4bcb10b3e3 9 #include "Formatter.h"
feb11 0:9e4bcb10b3e3 10 #include "EthernetInterface.h"
feb11 0:9e4bcb10b3e3 11 #include "RPCCommand.h"
feb11 0:9e4bcb10b3e3 12
feb11 0:9e4bcb10b3e3 13
feb11 0:9e4bcb10b3e3 14 class HTTPServer
feb11 0:9e4bcb10b3e3 15 {
feb11 0:9e4bcb10b3e3 16 public :
feb11 0:9e4bcb10b3e3 17
feb11 0:9e4bcb10b3e3 18 HTTPServer(Formatter *f = new Formatter());
feb11 0:9e4bcb10b3e3 19 virtual ~HTTPServer();
feb11 0:9e4bcb10b3e3 20
feb11 0:9e4bcb10b3e3 21 bool init(int port);
feb11 0:9e4bcb10b3e3 22
feb11 0:9e4bcb10b3e3 23 void run();
feb11 0:9e4bcb10b3e3 24
feb11 0:9e4bcb10b3e3 25 void add_request_handler(char *name, RequestHandler* handler);
feb11 0:9e4bcb10b3e3 26
feb11 0:9e4bcb10b3e3 27 private :
feb11 0:9e4bcb10b3e3 28
feb11 0:9e4bcb10b3e3 29 void handle_request(char *buffer);
feb11 0:9e4bcb10b3e3 30
feb11 0:9e4bcb10b3e3 31 TCPSocketServer socket;
feb11 0:9e4bcb10b3e3 32 std::map<char*, RequestHandler*, bool(*)(char*, char*)> handlers;
feb11 0:9e4bcb10b3e3 33 Formatter *formatter;
feb11 0:9e4bcb10b3e3 34 char reply[RPC_MAX_STRING];
feb11 0:9e4bcb10b3e3 35 RPCCommand command;
feb11 0:9e4bcb10b3e3 36 };
feb11 0:9e4bcb10b3e3 37
feb11 0:9e4bcb10b3e3 38 #endif
feb11 0:9e4bcb10b3e3 39