test for RPC Function connect Eathernet and type URL following: http://mbedIP/rpc/led2/write 1 http://mbedIP/rpc/LedWink/run
Dependencies: EthernetNetIf mbed HTTPServer
main.cpp
- Committer:
- mitsu6488
- Date:
- 2011-06-08
- Revision:
- 0:10339dff440b
File content as of revision 0:10339dff440b:
#include "mbed.h" #include "EthernetNetIf.h" #include "HTTPServer.h" #include "HTTPClient.h" #include "RPCFunction.h" DigitalOut led1(LED1,"led1"); DigitalOut led2(LED2,"led2"); DigitalOut led3(LED3,"led3"); DigitalOut led4(LED4,"led4"); #if 1 /* * Use DHCP */ EthernetNetIf ethif; #else /* * Use "static IP address" (Parameters:IP, Subnet mask, Gateway, DNS) */ EthernetNetIf ethif(IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx)); #endif HTTPServer server; LocalFileSystem local("local"); void LedWink(char *input,char *output); RPCFunction rpcFunc(&LedWink, "LedWink"); int main(void) { Base::add_rpc_class<DigitalOut>(); if (ethif.setup()) { error("Ethernet setup failed."); return 1; } IpAddr ethIp=ethif.getIp(); led1=1; //confirm Eathernet working server.addHandler<RPCHandler>("/rpc"); FSHandler::mount("/local", "/"); server.addHandler<FSHandler>("/"); server.bind(80); while (1) { Net::poll(); } return 0; } void LedWink(char *input, char *output){ int i; for(i=0;i<8;i++){ led4=!led4; wait(0.2); } return; }