☆board OrageでEthernetのhttp serverを使用する方法のサンプルです
Dependencies: EthernetNetIf TextLCD mbed HTTPServer
main.cpp
00001 #include "mbed.h" 00002 #include "TextLCD.h" 00003 #include "EthernetNetIf.h" 00004 #include "HTTPServer.h" 00005 00006 DigitalOut led1(LED1,"led1"); 00007 DigitalOut led2(LED2,"led2"); 00008 DigitalOut led3(LED3,"led3"); 00009 DigitalOut led4(LED4,"led4"); 00010 00011 TextLCD lcd(p24, p26, p27, p28, p29, p30); 00012 00013 #if 1 00014 /* 00015 * Use DHCP 00016 */ 00017 EthernetNetIf ethif; 00018 #else 00019 /* 00020 * Use "static IP address" (Parameters:IP, Subnet mask, Gateway, DNS) 00021 */ 00022 EthernetNetIf ethif(IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx)); 00023 #endif 00024 00025 HTTPServer server; 00026 LocalFileSystem local("local"); 00027 00028 int main(void) { 00029 00030 Base::add_rpc_class<DigitalOut>(); 00031 00032 lcd.cls(); 00033 lcd.locate(0,0); 00034 lcd.printf("Program init.. "); 00035 00036 if (ethif.setup()) { 00037 error("Ethernet setup failed."); 00038 return 1; 00039 } 00040 IpAddr ethIp=ethif.getIp(); 00041 00042 lcd.locate(0,1); 00043 lcd.printf("%d.%d.%d.%d", ethIp[0], ethIp[1], ethIp[2], ethIp[3]); 00044 led1=1; 00045 wait(1); 00046 server.addHandler<SimpleHandler>("/hello"); 00047 server.addHandler<RPCHandler>("/rpc"); 00048 FSHandler::mount("/local", "/"); 00049 server.addHandler<FSHandler>("/"); 00050 server.bind(80); 00051 while (1) { 00052 Net::poll(); 00053 } 00054 return 0; 00055 }
Generated on Thu Jul 14 2022 01:44:06 by 1.7.2