![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
☆Board orageでHTTPサーバを作ってみた
Dependencies: EthernetNetIf TextLCD mbed HTTPServer
main.cpp
00001 #include "mbed.h" 00002 #include "TextLCD.h" 00003 #include "EthernetNetIf.h" 00004 #include "HTTPServer.h" 00005 #include "RPCFunction.h" 00006 00007 DigitalOut led1(LED1,"led1"); 00008 DigitalOut led2(LED2,"led2"); 00009 DigitalOut led3(LED3,"led3"); 00010 DigitalOut led4(LED4,"led4"); 00011 00012 TextLCD lcd(p24, p26, p27, p28, p29, p30); 00013 00014 #if 1 00015 /* 00016 * Use DHCP 00017 */ 00018 EthernetNetIf ethif; 00019 #else 00020 /* 00021 * Use "static IP address" (Parameters:IP, Subnet mask, Gateway, DNS) 00022 */ 00023 EthernetNetIf ethif(IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx)); 00024 #endif 00025 00026 HTTPServer server; 00027 LocalFileSystem local("local"); 00028 void LcdWrite(char *input,char *output); 00029 RPCFunction rpcFunc(&LcdWrite, "LcdWrite"); 00030 00031 int main(void) { 00032 00033 Base::add_rpc_class<DigitalOut>(); 00034 00035 lcd.cls(); 00036 lcd.locate(0,0); 00037 lcd.printf("Program init.. "); 00038 00039 if (ethif.setup()) { 00040 error("Ethernet setup failed."); 00041 return 1; 00042 } 00043 IpAddr ethIp=ethif.getIp(); 00044 00045 lcd.locate(0,1); 00046 lcd.printf("%d.%d.%d.%d", ethIp[0], ethIp[1], ethIp[2], ethIp[3]); 00047 led1=1; 00048 wait(1); 00049 server.addHandler<SimpleHandler>("/hello"); 00050 server.addHandler<RPCHandler>("/rpc"); 00051 FSHandler::mount("/local", "/"); 00052 server.addHandler<FSHandler>("/"); 00053 server.bind(80); 00054 while (1) { 00055 Net::poll(); 00056 } 00057 return 0; 00058 } 00059 void LcdWrite(char *input , char *output) 00060 { 00061 lcd.locate(0,1); 00062 lcd.printf("%s",input); 00063 } 00064
Generated on Thu Jul 14 2022 20:18:01 by
![doxygen](doxygen.png)