Embedded web server
Dependencies: EthernetNetIf HTTPServer SDFileSystem mbed
Fork of webserver by
This web server serves pages from an SD card and supports RPC calls for the PWM and GPIO
main.cpp@2:1b0698a65c62, 2013-02-17 (annotated)
- Committer:
- ajoliver
- Date:
- Sun Feb 17 19:27:05 2013 +0000
- Revision:
- 2:1b0698a65c62
- Parent:
- 1:73dceccbf2d8
- Child:
- 3:15cd22045f66
pwm at 1 to 1 m2s and 10ms period
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nobuki | 0:275cd7ae0902 | 1 | #include "mbed.h" |
ajoliver | 1:73dceccbf2d8 | 2 | #include "SDFileSystem.h" |
nobuki | 0:275cd7ae0902 | 3 | #include "EthernetNetIf.h" |
nobuki | 0:275cd7ae0902 | 4 | #include "HTTPServer.h" |
nobuki | 0:275cd7ae0902 | 5 | |
ajoliver | 1:73dceccbf2d8 | 6 | EthernetNetIf ethif( IpAddr(10,0,0,200), // IP |
nobuki | 0:275cd7ae0902 | 7 | IpAddr(255,255,255,0), // Subnet mask |
ajoliver | 1:73dceccbf2d8 | 8 | IpAddr(10,0,0,1), // Gateway |
ajoliver | 1:73dceccbf2d8 | 9 | IpAddr(8,8,8,8) ); // DNS |
nobuki | 0:275cd7ae0902 | 10 | HTTPServer server; |
ajoliver | 1:73dceccbf2d8 | 11 | SDFileSystem sd(p5, p6, p7, p8, "sd"); // Define local file mount point |
nobuki | 0:275cd7ae0902 | 12 | DigitalOut led1(LED1); // for alive check |
nobuki | 0:275cd7ae0902 | 13 | |
ajoliver | 2:1b0698a65c62 | 14 | PwmOut pwm4(LED4); // messing about with the pwm |
ajoliver | 2:1b0698a65c62 | 15 | PwmOut pwm3(LED3); |
ajoliver | 1:73dceccbf2d8 | 16 | |
nobuki | 0:275cd7ae0902 | 17 | int main(void) |
nobuki | 0:275cd7ae0902 | 18 | { |
ajoliver | 2:1b0698a65c62 | 19 | pwm4.period_ms(10.0f); |
ajoliver | 2:1b0698a65c62 | 20 | |
ajoliver | 2:1b0698a65c62 | 21 | pwm4 = 0.5f; |
ajoliver | 2:1b0698a65c62 | 22 | // pwm3 = 0.01f; |
ajoliver | 1:73dceccbf2d8 | 23 | |
nobuki | 0:275cd7ae0902 | 24 | // EthernetNetIf setup |
ajoliver | 1:73dceccbf2d8 | 25 | if( ethif.setup() ) { |
nobuki | 0:275cd7ae0902 | 26 | return 1; |
nobuki | 0:275cd7ae0902 | 27 | } |
nobuki | 0:275cd7ae0902 | 28 | |
nobuki | 0:275cd7ae0902 | 29 | // Mount local file path on web root path |
ajoliver | 1:73dceccbf2d8 | 30 | FSHandler::mount("/sd", "/"); |
nobuki | 0:275cd7ae0902 | 31 | // Set web root path handler |
nobuki | 0:275cd7ae0902 | 32 | server.addHandler<FSHandler>("/"); |
ajoliver | 1:73dceccbf2d8 | 33 | server.addHandler<RPCHandler>("/rpc"); |
ajoliver | 1:73dceccbf2d8 | 34 | |
nobuki | 0:275cd7ae0902 | 35 | // Set http port |
nobuki | 0:275cd7ae0902 | 36 | server.bind(80); |
nobuki | 0:275cd7ae0902 | 37 | |
nobuki | 0:275cd7ae0902 | 38 | Timer tm; |
nobuki | 0:275cd7ae0902 | 39 | tm.start(); |
ajoliver | 1:73dceccbf2d8 | 40 | while(1) { |
nobuki | 0:275cd7ae0902 | 41 | Net::poll(); |
ajoliver | 1:73dceccbf2d8 | 42 | if( 1.0 < tm.read() ) { |
nobuki | 0:275cd7ae0902 | 43 | led1 = !led1; // high->low, low->high |
nobuki | 0:275cd7ae0902 | 44 | tm.start(); |
nobuki | 0:275cd7ae0902 | 45 | } |
nobuki | 0:275cd7ae0902 | 46 | } |
nobuki | 0:275cd7ae0902 | 47 | } |