☆board OrageでEthernetのhttp serverを使用する方法のサンプルです
Dependencies: EthernetNetIf TextLCD mbed HTTPServer
main.cpp@0:7dcfd77d344d, 2011-05-08 (annotated)
- Committer:
- yueee_yt
- Date:
- Sun May 08 09:03:08 2011 +0000
- Revision:
- 0:7dcfd77d344d
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yueee_yt | 0:7dcfd77d344d | 1 | #include "mbed.h" |
yueee_yt | 0:7dcfd77d344d | 2 | #include "TextLCD.h" |
yueee_yt | 0:7dcfd77d344d | 3 | #include "EthernetNetIf.h" |
yueee_yt | 0:7dcfd77d344d | 4 | #include "HTTPServer.h" |
yueee_yt | 0:7dcfd77d344d | 5 | |
yueee_yt | 0:7dcfd77d344d | 6 | DigitalOut led1(LED1,"led1"); |
yueee_yt | 0:7dcfd77d344d | 7 | DigitalOut led2(LED2,"led2"); |
yueee_yt | 0:7dcfd77d344d | 8 | DigitalOut led3(LED3,"led3"); |
yueee_yt | 0:7dcfd77d344d | 9 | DigitalOut led4(LED4,"led4"); |
yueee_yt | 0:7dcfd77d344d | 10 | |
yueee_yt | 0:7dcfd77d344d | 11 | TextLCD lcd(p24, p26, p27, p28, p29, p30); |
yueee_yt | 0:7dcfd77d344d | 12 | |
yueee_yt | 0:7dcfd77d344d | 13 | #if 1 |
yueee_yt | 0:7dcfd77d344d | 14 | /* |
yueee_yt | 0:7dcfd77d344d | 15 | * Use DHCP |
yueee_yt | 0:7dcfd77d344d | 16 | */ |
yueee_yt | 0:7dcfd77d344d | 17 | EthernetNetIf ethif; |
yueee_yt | 0:7dcfd77d344d | 18 | #else |
yueee_yt | 0:7dcfd77d344d | 19 | /* |
yueee_yt | 0:7dcfd77d344d | 20 | * Use "static IP address" (Parameters:IP, Subnet mask, Gateway, DNS) |
yueee_yt | 0:7dcfd77d344d | 21 | */ |
yueee_yt | 0:7dcfd77d344d | 22 | EthernetNetIf ethif(IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx), IpAddr(xxx,xxx,xxx,xxx)); |
yueee_yt | 0:7dcfd77d344d | 23 | #endif |
yueee_yt | 0:7dcfd77d344d | 24 | |
yueee_yt | 0:7dcfd77d344d | 25 | HTTPServer server; |
yueee_yt | 0:7dcfd77d344d | 26 | LocalFileSystem local("local"); |
yueee_yt | 0:7dcfd77d344d | 27 | |
yueee_yt | 0:7dcfd77d344d | 28 | int main(void) { |
yueee_yt | 0:7dcfd77d344d | 29 | |
yueee_yt | 0:7dcfd77d344d | 30 | Base::add_rpc_class<DigitalOut>(); |
yueee_yt | 0:7dcfd77d344d | 31 | |
yueee_yt | 0:7dcfd77d344d | 32 | lcd.cls(); |
yueee_yt | 0:7dcfd77d344d | 33 | lcd.locate(0,0); |
yueee_yt | 0:7dcfd77d344d | 34 | lcd.printf("Program init.. "); |
yueee_yt | 0:7dcfd77d344d | 35 | |
yueee_yt | 0:7dcfd77d344d | 36 | if (ethif.setup()) { |
yueee_yt | 0:7dcfd77d344d | 37 | error("Ethernet setup failed."); |
yueee_yt | 0:7dcfd77d344d | 38 | return 1; |
yueee_yt | 0:7dcfd77d344d | 39 | } |
yueee_yt | 0:7dcfd77d344d | 40 | IpAddr ethIp=ethif.getIp(); |
yueee_yt | 0:7dcfd77d344d | 41 | |
yueee_yt | 0:7dcfd77d344d | 42 | lcd.locate(0,1); |
yueee_yt | 0:7dcfd77d344d | 43 | lcd.printf("%d.%d.%d.%d", ethIp[0], ethIp[1], ethIp[2], ethIp[3]); |
yueee_yt | 0:7dcfd77d344d | 44 | led1=1; |
yueee_yt | 0:7dcfd77d344d | 45 | wait(1); |
yueee_yt | 0:7dcfd77d344d | 46 | server.addHandler<SimpleHandler>("/hello"); |
yueee_yt | 0:7dcfd77d344d | 47 | server.addHandler<RPCHandler>("/rpc"); |
yueee_yt | 0:7dcfd77d344d | 48 | FSHandler::mount("/local", "/"); |
yueee_yt | 0:7dcfd77d344d | 49 | server.addHandler<FSHandler>("/"); |
yueee_yt | 0:7dcfd77d344d | 50 | server.bind(80); |
yueee_yt | 0:7dcfd77d344d | 51 | while (1) { |
yueee_yt | 0:7dcfd77d344d | 52 | Net::poll(); |
yueee_yt | 0:7dcfd77d344d | 53 | } |
yueee_yt | 0:7dcfd77d344d | 54 | return 0; |
yueee_yt | 0:7dcfd77d344d | 55 | } |