ported HTTP-Server with W5500 Ethernet Shield
Dependencies: W5500Interface mbed-rpc mbed
Fork of HTTP-Server by
main.cpp
00001 #include "mbed.h" 00002 #include "EthernetInterface.h" 00003 #include "mbed_rpc.h" 00004 #include "RPCCommand.h" 00005 #include "HTTPServer.h" 00006 #include "Formatter.h" 00007 #include "RequestHandler.h" 00008 #include "RPCType.h" 00009 00010 #define SERVER_PORT 80 00011 00012 char ipaddr_backup[17]; 00013 uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02}; 00014 00015 HTTPServer create_simple_server() 00016 { 00017 HTTPServer srv; 00018 srv.add_request_handler("DELETE", new DeleteRequestHandler()); 00019 srv.add_request_handler("GET", new GetRequestHandler()); 00020 srv.add_request_handler("PUT", new PutRequestHandler()); 00021 return srv; 00022 } 00023 00024 HTTPServer create_interactive_server() 00025 { 00026 HTTPServer srv(new InteractiveHTMLFormatter()); 00027 srv.add_request_handler("GET", new ComplexRequestHandler()); 00028 return srv; 00029 } 00030 00031 int main(void) 00032 { 00033 RPCType::instance().register_types(); 00034 /* //for LPC1768 00035 SPI spi(p5, p6, p7); // mosi, miso, sclk 00036 spi.frequency(12500000); 00037 EthernetInterface eth(&spi, p8, p11); // spi, cs, reset 00038 */ 00039 SPI spi(D11, D12, D13); // mosi, miso, sclk 00040 //spi.frequency(12500000); 00041 EthernetInterface eth(&spi, D10, D9); // spi, cs, reset 00042 00043 //EthernetInterface eth; 00044 //if(eth.init()) 00045 // int ret = eth.init("192.168.77.34", "255.255.255.0", "192.168.77.1"); 00046 int ret = eth.init(mac_addr, "192.168.77.34", "255.255.255.0", "192.168.77.1"); 00047 if(ret) 00048 { 00049 printf("Error while initializing the ethernet interface.\n"); 00050 return -1; 00051 } 00052 if(eth.connect()) 00053 { 00054 printf("Error while starting the ethernet interface.\n"); 00055 return -1; 00056 } 00057 00058 printf("IP Address is %s\n", eth.getIPAddress()); 00059 strcpy(ipaddr_backup,eth.getIPAddress()); 00060 HTTPServer srv = create_interactive_server(); 00061 00062 if(!srv.init(SERVER_PORT)) 00063 { 00064 eth.disconnect(); 00065 return -1; 00066 } 00067 00068 srv.run(); 00069 00070 return 0; 00071 } 00072
Generated on Wed Jul 13 2022 21:09:03 by 1.7.2