DongEun Koak / RPC_HTTP_WIZnetInterface

Dependencies:   HTTPServer WIZnetInterface mbed-rpc DHT mbed-src

Committer:
kaizen
Date:
Wed Jul 22 09:41:02 2015 +0000
Revision:
0:ca442200bc8a
Child:
1:cffa64d79a8b
First release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kaizen 0:ca442200bc8a 1 #include "mbed.h"
kaizen 0:ca442200bc8a 2 #include "EthernetInterface.h"
kaizen 0:ca442200bc8a 3 #include "HTTPServer.h"
kaizen 0:ca442200bc8a 4 #include "mbed_rpc.h"
kaizen 0:ca442200bc8a 5
kaizen 0:ca442200bc8a 6 RpcDigitalOut led1(LED1,"led1");
kaizen 0:ca442200bc8a 7
kaizen 0:ca442200bc8a 8 EthernetInterface eth;
kaizen 0:ca442200bc8a 9 HTTPServer svr;
kaizen 0:ca442200bc8a 10
kaizen 0:ca442200bc8a 11 int main() {
kaizen 0:ca442200bc8a 12 //Turn the LEDs off
kaizen 0:ca442200bc8a 13 uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x00, 0x00};
kaizen 0:ca442200bc8a 14 led1.write(1);
kaizen 0:ca442200bc8a 15
kaizen 0:ca442200bc8a 16 RPC::add_rpc_class<RpcDigitalOut>();
kaizen 0:ca442200bc8a 17
kaizen 0:ca442200bc8a 18 printf("Setting up...\n");
kaizen 0:ca442200bc8a 19 eth.init(mac_addr);
kaizen 0:ca442200bc8a 20 int ethErr = eth.connect();
kaizen 0:ca442200bc8a 21 if(ethErr < 0)
kaizen 0:ca442200bc8a 22 {
kaizen 0:ca442200bc8a 23 printf("Error %d in setup.\n", ethErr);
kaizen 0:ca442200bc8a 24 return -1;
kaizen 0:ca442200bc8a 25 }
kaizen 0:ca442200bc8a 26
kaizen 0:ca442200bc8a 27 svr.addHandler<HTTPRpcRequestHandler>("/rpc");
kaizen 0:ca442200bc8a 28
kaizen 0:ca442200bc8a 29 //attach server to port 80
kaizen 0:ca442200bc8a 30 svr.start(80, &eth);
kaizen 0:ca442200bc8a 31
kaizen 0:ca442200bc8a 32 printf("Listening...\n");
kaizen 0:ca442200bc8a 33
kaizen 0:ca442200bc8a 34 Timer tm;
kaizen 0:ca442200bc8a 35 tm.start();
kaizen 0:ca442200bc8a 36 //Listen indefinitely
kaizen 0:ca442200bc8a 37 while(true)
kaizen 0:ca442200bc8a 38 {
kaizen 0:ca442200bc8a 39 svr.poll();
kaizen 0:ca442200bc8a 40 if(tm.read()>.5)
kaizen 0:ca442200bc8a 41 {
kaizen 0:ca442200bc8a 42 tm.start();
kaizen 0:ca442200bc8a 43 }
kaizen 0:ca442200bc8a 44 }
kaizen 0:ca442200bc8a 45 }