Embedded web server

Dependencies:   EthernetNetIf HTTPServer SDFileSystem mbed

Fork of webserver by Nobuki HIRAMINE

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "SDFileSystem.h"
00003 #include "EthernetNetIf.h"
00004 #include "HTTPServer.h"
00005 
00006 EthernetNetIf ethif( IpAddr(10,0,0,200), // IP
00007                      IpAddr(255,255,255,0), // Subnet mask
00008                      IpAddr(10,0,0,1),   // Gateway
00009                      IpAddr(8,8,8,8) ); // DNS
00010 HTTPServer server;
00011 SDFileSystem sd(p5, p6, p7, p8, "sd"); // Define local file mount point
00012 
00013 DigitalOut led1(LED1);  // for alive check
00014 DigitalOut led2(LED2);
00015 DigitalOut led3(LED3);
00016 DigitalOut led4(LED4);
00017 
00018 int main(void)
00019 {
00020     Base::add_rpc_class<DigitalOut>();
00021     
00022     // EthernetNetIf setup
00023     if( ethif.setup() ) {
00024         return 1;
00025     }
00026 
00027     // Mount local file path on web root path
00028     FSHandler::mount("/sd", "/");
00029     // Set web root path handler
00030     server.addHandler<FSHandler>("/");
00031     server.addHandler<RPCHandler>("/rpc"); 
00032 
00033     // Set http port
00034     server.bind(80);
00035 
00036     Timer tm;
00037     tm.start();
00038     // flash LED1 to show the server is still operating
00039     while(1) {
00040         Net::poll();
00041         if( 1.0 < tm.read() ) {
00042             led1 = !led1;   // high->low, low->high
00043             tm.start();
00044         }
00045     }
00046 }