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 REQUEST_HANDLER
feb11 0:9e4bcb10b3e3 2 #define REQUEST_HANDLER
feb11 0:9e4bcb10b3e3 3
feb11 0:9e4bcb10b3e3 4 #include "RPCCommand.h"
feb11 0:9e4bcb10b3e3 5
feb11 0:9e4bcb10b3e3 6 class RequestHandler
feb11 0:9e4bcb10b3e3 7 {
feb11 0:9e4bcb10b3e3 8 public :
feb11 0:9e4bcb10b3e3 9
feb11 0:9e4bcb10b3e3 10 virtual void handle(const RPCCommand& cmd, char* reply) = 0;
feb11 0:9e4bcb10b3e3 11 };
feb11 0:9e4bcb10b3e3 12
feb11 0:9e4bcb10b3e3 13 class GetRequestHandler : public RequestHandler
feb11 0:9e4bcb10b3e3 14 {
feb11 0:9e4bcb10b3e3 15 public :
feb11 0:9e4bcb10b3e3 16
feb11 0:9e4bcb10b3e3 17 virtual void handle(const RPCCommand& cmd, char* reply);
feb11 0:9e4bcb10b3e3 18 };
feb11 0:9e4bcb10b3e3 19
feb11 0:9e4bcb10b3e3 20 class PutRequestHandler : public RequestHandler
feb11 0:9e4bcb10b3e3 21 {
feb11 0:9e4bcb10b3e3 22 public :
feb11 0:9e4bcb10b3e3 23
feb11 0:9e4bcb10b3e3 24 virtual void handle(const RPCCommand& cmd, char* reply);
feb11 0:9e4bcb10b3e3 25
feb11 0:9e4bcb10b3e3 26 };
feb11 0:9e4bcb10b3e3 27
feb11 0:9e4bcb10b3e3 28
feb11 0:9e4bcb10b3e3 29 class DeleteRequestHandler : public RequestHandler
feb11 0:9e4bcb10b3e3 30 {
feb11 0:9e4bcb10b3e3 31 public :
feb11 0:9e4bcb10b3e3 32
feb11 0:9e4bcb10b3e3 33 virtual void handle(const RPCCommand& cmd, char* reply);
feb11 0:9e4bcb10b3e3 34
feb11 0:9e4bcb10b3e3 35 };
feb11 0:9e4bcb10b3e3 36
feb11 0:9e4bcb10b3e3 37 class ComplexRequestHandler : public RequestHandler
feb11 0:9e4bcb10b3e3 38 {
feb11 0:9e4bcb10b3e3 39 public :
feb11 0:9e4bcb10b3e3 40
feb11 0:9e4bcb10b3e3 41 virtual void handle(const RPCCommand& cmd, char* reply);
feb11 0:9e4bcb10b3e3 42
feb11 0:9e4bcb10b3e3 43 private :
feb11 0:9e4bcb10b3e3 44
feb11 0:9e4bcb10b3e3 45 GetRequestHandler getHandler;
feb11 0:9e4bcb10b3e3 46 PutRequestHandler putHandler;
feb11 0:9e4bcb10b3e3 47 DeleteRequestHandler deleteHandler;
feb11 0:9e4bcb10b3e3 48 };
feb11 0:9e4bcb10b3e3 49
feb11 0:9e4bcb10b3e3 50 #endif
feb11 0:9e4bcb10b3e3 51