![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
HTTPServer mit RPC, SimpleHandler und Zugriff auf SD Karte
Dependencies: EthernetInterface HttpServer SDFileSystem mbed-rpc mbed-rtos mbed
Fork of HttpServerSample by
main.cpp@3:5758cfefe980, 2014-02-20 (annotated)
- 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?
User | Revision | Line number | New 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 |