Minimalistischer RCP HTTP Server

Dependencies:   EthernetInterface HttpServer mbed-rpc mbed-rtos mbed

Fork of IoTKit_HttpServer by th.iotkit1.ch

Committer:
yueee_yt
Date:
Thu Feb 20 13:12:46 2014 +0000
Revision:
3:5758cfefe980
Parent:
0:050a5d4ffd55
Child:
4:155c6ff99458
FileSytem and RPC Success

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yueee_yt 0:050a5d4ffd55 1 //#define DNS_SERVER_ADDRESS(ipaddr) (ip4_addr_set_u32(ipaddr, ipaddr_addr("208.67.222.222"))) /* resolver1.opendns.com */
yueee_yt 0:050a5d4ffd55 2 #define __DEBUG
yueee_yt 0:050a5d4ffd55 3 #include "mbed.h"
yueee_yt 0:050a5d4ffd55 4 #include "rtos.h"
yueee_yt 0:050a5d4ffd55 5 #include "EthernetInterface.h"
yueee_yt 0:050a5d4ffd55 6 #include "HTTPServer.h"
yueee_yt 3:5758cfefe980 7 #include "mbed_rpc.h"
yueee_yt 0:050a5d4ffd55 8
yueee_yt 0:050a5d4ffd55 9 EthernetInterface eth;
yueee_yt 3:5758cfefe980 10
yueee_yt 3:5758cfefe980 11 DigitalOut led4(LED4);
yueee_yt 3:5758cfefe980 12
yueee_yt 3:5758cfefe980 13 LocalFileSystem local("local");
yueee_yt 0:050a5d4ffd55 14
yueee_yt 0:050a5d4ffd55 15 void aliveState(void const *args) {
yueee_yt 0:050a5d4ffd55 16 while (true) {
yueee_yt 3:5758cfefe980 17 led4 = !led4;
yueee_yt 0:050a5d4ffd55 18 Thread::wait(1000);
yueee_yt 0:050a5d4ffd55 19 }
yueee_yt 0:050a5d4ffd55 20 }
yueee_yt 0:050a5d4ffd55 21
yueee_yt 0:050a5d4ffd55 22 int main()
yueee_yt 0:050a5d4ffd55 23 {
yueee_yt 0:050a5d4ffd55 24 printf("********* PROGRAM START ***********\r\n");
yueee_yt 0:050a5d4ffd55 25 Thread thread(aliveState);
yueee_yt 3:5758cfefe980 26 RPC::add_rpc_class<RpcDigitalOut>();
yueee_yt 3:5758cfefe980 27 RPC::construct<RpcDigitalOut, PinName, const char*>(LED1, "led1"); // mbed LED
yueee_yt 3:5758cfefe980 28 RPC::construct<RpcDigitalOut, PinName, const char*>(LED2, "led2");
yueee_yt 3:5758cfefe980 29 RPC::construct<RpcDigitalOut, PinName, const char*>(LED3, "led3");
yueee_yt 3:5758cfefe980 30
yueee_yt 0:050a5d4ffd55 31 printf("EthernetInterface Setting up...\r\n");
yueee_yt 0:050a5d4ffd55 32 if(eth.init()!=0) { //for DHCP Server
yueee_yt 0:050a5d4ffd55 33 //if(eth.init(IPAddress,NetMasks,Gateway)!=0) { //for Static IP Address
yueee_yt 0:050a5d4ffd55 34 printf("EthernetInterface Initialize Error \r\n");
yueee_yt 0:050a5d4ffd55 35 return -1;
yueee_yt 0:050a5d4ffd55 36 }
yueee_yt 0:050a5d4ffd55 37 if(eth.connect()!=0) {
yueee_yt 0:050a5d4ffd55 38 printf("EthernetInterface Connect Error \r\n");
yueee_yt 0:050a5d4ffd55 39 return -1;
yueee_yt 0:050a5d4ffd55 40 }
yueee_yt 0:050a5d4ffd55 41 printf("IP Address is %s\r\n", eth.getIPAddress());
yueee_yt 0:050a5d4ffd55 42 printf("NetMask is %s\r\n", eth.getNetworkMask());
yueee_yt 0:050a5d4ffd55 43 printf("Gateway Address is %s\r\n", eth.getGateway());
yueee_yt 0:050a5d4ffd55 44 printf("Ethernet Setup OK\r\n");
yueee_yt 0:050a5d4ffd55 45
yueee_yt 3:5758cfefe980 46 HTTPServerAddHandler<SimpleHandler>("/hello"); //Default handler
yueee_yt 3:5758cfefe980 47 FSHandler::mount("/local", "/");
yueee_yt 3:5758cfefe980 48 HTTPServerAddHandler<FSHandler>("/");
yueee_yt 3:5758cfefe980 49 HTTPServerAddHandler<RPCHandler>("/rpc");
yueee_yt 3:5758cfefe980 50
yueee_yt 0:050a5d4ffd55 51 HTTPServerStart(80);
yueee_yt 0:050a5d4ffd55 52 }
yueee_yt 0:050a5d4ffd55 53