NNN40 run a HTTP server with RPC using Soft AP mode
Dependencies: WIFI_API_32kRAM mbed
Fork of HTTP-Server by
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
Then, led can be switch on using RPC command
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
RPCObjectManager.cpp
- Committer:
- wgd8700
- Date:
- 2015-09-16
- Revision:
- 11:f57e9de44f6f
- Parent:
- 0:9e4bcb10b3e3
File content as of revision 11:f57e9de44f6f:
#include "RPCObjectManager.h" #include "mbed.h" RPCObjectManager& RPCObjectManager::instance() { static RPCObjectManager om; return om; } RPCObjectManager::RPCObjectManager(): objects() { } RPCObjectManager::~RPCObjectManager() { for(std::list<char*>::iterator itor = objects.begin(); itor != objects.end(); ++itor) delete *itor; } void RPCObjectManager::store_object(char *obj_name) { char *obj = new char[strlen(obj_name)+1]; strcpy(obj, obj_name); obj[strlen(obj_name)] = '\0'; objects.push_back(obj); } void RPCObjectManager::remove_object(char *obj_name) { for(std::list<char*>::iterator itor = objects.begin(); itor != objects.end(); ++itor) if(!strcmp(obj_name, *itor)) { delete *itor; objects.erase(itor); break; } } bool RPCObjectManager::lookup_object(char *obj_name) { for(std::list<char*>::iterator itor = objects.begin(); itor != objects.end(); ++itor) if(!strcmp(obj_name, *itor)) return true; return false; } bool RPCObjectManager::is_empty() { return objects.empty(); } std::list<char*>::iterator RPCObjectManager::begin() { return objects.begin(); } std::list<char*>::iterator RPCObjectManager::end() { return objects.end(); }