SimpleHandler
Dependencies: EthernetInterface HttpServer mbed-rpc mbed-rtos mbed TextLCD
main.cpp
00001 //#define DNS_SERVER_ADDRESS(ipaddr) (ip4_addr_set_u32(ipaddr, ipaddr_addr("208.67.222.222"))) /* resolver1.opendns.com */ 00002 #include "mbed.h" 00003 #include "rtos.h" 00004 #include "EthernetInterface.h" 00005 #include "HTTPServer.h" 00006 #include "mbed_rpc.h" 00007 #include "TextLCD.h" 00008 00009 EthernetInterface eth; 00010 00011 DigitalOut led4(LED4); 00012 00013 LocalFileSystem local("local"); 00014 void LcdWrite(Arguments* arg, Reply* r); //ADD Here!! 00015 00016 TextLCD lcd(p24, p26, p27, p28, p29, p30); 00017 00018 void aliveState(void const *args) 00019 { 00020 while (true) { 00021 led4 = !led4; 00022 Thread::wait(1000); 00023 } 00024 } 00025 00026 int main() 00027 { 00028 printf("********* PROGRAM START ***********\r\n"); 00029 Thread thread(aliveState); 00030 RPC::add_rpc_class<RpcDigitalOut>(); 00031 RPC::construct<RpcDigitalOut, PinName, const char*>(LED1, "led1"); 00032 RPC::construct<RpcDigitalOut, PinName, const char*>(LED2, "led2"); 00033 RPC::construct<RpcDigitalOut, PinName, const char*>(LED3, "led3"); 00034 RPCFunction rpcFunc(LcdWrite, "LcdWrite"); //ADD Here!! 00035 lcd.cls(); 00036 lcd.locate(0,0); 00037 00038 printf("EthernetInterface Setting up...\r\n"); 00039 if(eth.init()!=0) { //for DHCP Server 00040 //if(eth.init(IPAddress,NetMasks,Gateway)!=0) { //for Static IP Address 00041 printf("EthernetInterface Initialize Error \r\n"); 00042 return -1; 00043 } 00044 if(eth.connect()!=0) { 00045 printf("EthernetInterface Connect Error \r\n"); 00046 return -1; 00047 } 00048 printf("IP Address is %s\r\n", eth.getIPAddress()); 00049 printf("NetMask is %s\r\n", eth.getNetworkMask()); 00050 printf("Gateway Address is %s\r\n", eth.getGateway()); 00051 printf("Ethernet Setup OK\r\n"); 00052 00053 HTTPServerAddHandler<SimpleHandler>("/hello"); //Default handler 00054 FSHandler::mount("/local", "/"); 00055 HTTPServerAddHandler<FSHandler>("/"); 00056 HTTPServerAddHandler<RPCHandler>("/rpc"); 00057 lcd.locate(0,0); 00058 lcd.printf("%s",eth.getIPAddress()); 00059 HTTPServerStart(80); 00060 } 00061 00062 void LcdWrite(Arguments* arg, Reply* r) //ADD Here!! 00063 { 00064 lcd.locate(0,1); 00065 lcd.printf("%s",arg->argv[0]); 00066 }
Generated on Sun Aug 14 2022 23:27:18 by 1.7.2