Handle HTTP Post Method
Dependencies: EthernetNetIf HTTPServer mbed
main.cpp
- Committer:
- nobuki
- Date:
- 2012-12-01
- Revision:
- 0:5ec5448dc8c5
File content as of revision 0:5ec5448dc8c5:
#include "mbed.h" #include "EthernetNetIf.h" #include "HTTPServer.h" #include "PostHandler.h" EthernetNetIf ethif( IpAddr(192,168,1,102), // IP IpAddr(255,255,255,0), // Subnet mask IpAddr(192,168,1,1), // Gateway IpAddr(192,168,1,1) ); // DNS HTTPServer server; DigitalOut ledAliveCheck(LED1); // for alive check DigitalOut led1(p21); DigitalOut led2(p22); DigitalOut led3(p23); bool g_bLed1 = false; bool g_bLed2 = false; bool g_bLed3 = false; int g_iSpeed = 5; double g_dInterval = 0.5 + (g_iSpeed - 1) * (0.01 - 0.5) / (9 - 1); bool g_bHighLow = false; int main(void) { // EthernetNetIf setup if( ethif.setup() ) { return 1; } // Set web root path handler server.addHandler<PostHandler>("/"); // Set http port server.bind(80); Timer tmAliveCheck; Timer tmLed; tmAliveCheck.start(); tmLed.start(); while(1) { Net::poll(); if( 1.0 < tmAliveCheck.read() ) { ledAliveCheck = !ledAliveCheck; // high->low, low->high tmAliveCheck.start(); } if( g_dInterval < tmLed.read() ) { g_bHighLow = !g_bHighLow; if( g_bLed1 ){ led1 = g_bHighLow; } else { led1 = false; } if( g_bLed2 ){ led2 = g_bHighLow; } else { led2 = false; } if( g_bLed3 ){ led3 = g_bHighLow; } else { led3 = false; } tmLed.start(); } } }