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

Committer:
mitsu6488
Date:
Wed Jun 08 14:00:37 2011 +0000
Revision:
0:10339dff440b

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mitsu6488 0:10339dff440b 1 #include "mbed.h"
mitsu6488 0:10339dff440b 2 #include "EthernetNetIf.h"
mitsu6488 0:10339dff440b 3 #include "HTTPServer.h"
mitsu6488 0:10339dff440b 4 #include "HTTPClient.h"
mitsu6488 0:10339dff440b 5 #include "RPCFunction.h"
mitsu6488 0:10339dff440b 6
mitsu6488 0:10339dff440b 7 DigitalOut led1(LED1,"led1");
mitsu6488 0:10339dff440b 8 DigitalOut led2(LED2,"led2");
mitsu6488 0:10339dff440b 9 DigitalOut led3(LED3,"led3");
mitsu6488 0:10339dff440b 10 DigitalOut led4(LED4,"led4");
mitsu6488 0:10339dff440b 11
mitsu6488 0:10339dff440b 12
mitsu6488 0:10339dff440b 13 #if 1
mitsu6488 0:10339dff440b 14 /*
mitsu6488 0:10339dff440b 15 * Use DHCP
mitsu6488 0:10339dff440b 16 */
mitsu6488 0:10339dff440b 17 EthernetNetIf ethif;
mitsu6488 0:10339dff440b 18 #else
mitsu6488 0:10339dff440b 19 /*
mitsu6488 0:10339dff440b 20 * Use "static IP address" (Parameters:IP, Subnet mask, Gateway, DNS)
mitsu6488 0:10339dff440b 21 */
mitsu6488 0:10339dff440b 22 EthernetNetIf ethif(IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx));
mitsu6488 0:10339dff440b 23 #endif
mitsu6488 0:10339dff440b 24
mitsu6488 0:10339dff440b 25 HTTPServer server;
mitsu6488 0:10339dff440b 26 LocalFileSystem local("local");
mitsu6488 0:10339dff440b 27
mitsu6488 0:10339dff440b 28 void LedWink(char *input,char *output);
mitsu6488 0:10339dff440b 29 RPCFunction rpcFunc(&LedWink, "LedWink");
mitsu6488 0:10339dff440b 30
mitsu6488 0:10339dff440b 31
mitsu6488 0:10339dff440b 32 int main(void) {
mitsu6488 0:10339dff440b 33
mitsu6488 0:10339dff440b 34 Base::add_rpc_class<DigitalOut>();
mitsu6488 0:10339dff440b 35
mitsu6488 0:10339dff440b 36 if (ethif.setup()) {
mitsu6488 0:10339dff440b 37 error("Ethernet setup failed.");
mitsu6488 0:10339dff440b 38 return 1;
mitsu6488 0:10339dff440b 39 }
mitsu6488 0:10339dff440b 40 IpAddr ethIp=ethif.getIp();
mitsu6488 0:10339dff440b 41
mitsu6488 0:10339dff440b 42 led1=1; //confirm Eathernet working
mitsu6488 0:10339dff440b 43 server.addHandler<RPCHandler>("/rpc");
mitsu6488 0:10339dff440b 44 FSHandler::mount("/local", "/");
mitsu6488 0:10339dff440b 45 server.addHandler<FSHandler>("/");
mitsu6488 0:10339dff440b 46 server.bind(80);
mitsu6488 0:10339dff440b 47
mitsu6488 0:10339dff440b 48 while (1) {
mitsu6488 0:10339dff440b 49 Net::poll();
mitsu6488 0:10339dff440b 50 }
mitsu6488 0:10339dff440b 51 return 0;
mitsu6488 0:10339dff440b 52 }
mitsu6488 0:10339dff440b 53
mitsu6488 0:10339dff440b 54 void LedWink(char *input, char *output){
mitsu6488 0:10339dff440b 55 int i;
mitsu6488 0:10339dff440b 56 for(i=0;i<8;i++){
mitsu6488 0:10339dff440b 57 led4=!led4;
mitsu6488 0:10339dff440b 58 wait(0.2);
mitsu6488 0:10339dff440b 59 }
mitsu6488 0:10339dff440b 60 return;
mitsu6488 0:10339dff440b 61 }