mbedをHTTPサーバ化。TextLCDライブラリを追加して状態をPCレスで把握できるようにしました。
Dependencies: EthernetNetIf HTTPServer TextLCD mbed
Fork of HTTPServerHelloWorld by
HTTPServerHelloWorld.cpp@3:f0363a055364, 2013-02-10 (annotated)
- Committer:
- Dromar
- Date:
- Sun Feb 10 16:03:08 2013 +0000
- Revision:
- 3:f0363a055364
- Parent:
- 0:5630d7e58a0b
mbed?HTTP?????TextLCD?????????????PC????????????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 0:5630d7e58a0b | 1 | #include "mbed.h" |
donatien | 0:5630d7e58a0b | 2 | #include "EthernetNetIf.h" |
donatien | 0:5630d7e58a0b | 3 | #include "HTTPServer.h" |
Dromar | 3:f0363a055364 | 4 | #include "TextLCD.h" //LCD用 |
Dromar | 3:f0363a055364 | 5 | |
Dromar | 3:f0363a055364 | 6 | TextLCD lcd(p24, p26, p27, p28, p29, p30); //LCDの設定 |
Dromar | 3:f0363a055364 | 7 | |
Dromar | 3:f0363a055364 | 8 | LocalFileSystem fs("webfs"); //ファイルシステムの設定 |
Dromar | 3:f0363a055364 | 9 | |
donatien | 0:5630d7e58a0b | 10 | |
donatien | 0:5630d7e58a0b | 11 | EthernetNetIf eth; |
donatien | 0:5630d7e58a0b | 12 | HTTPServer svr; |
donatien | 0:5630d7e58a0b | 13 | |
donatien | 0:5630d7e58a0b | 14 | DigitalOut led1(LED1); |
donatien | 0:5630d7e58a0b | 15 | |
donatien | 0:5630d7e58a0b | 16 | int main() { |
Dromar | 3:f0363a055364 | 17 | lcd.cls(); |
Dromar | 3:f0363a055364 | 18 | lcd.printf("Setting up...\n"); |
donatien | 0:5630d7e58a0b | 19 | EthernetErr ethErr = eth.setup(); |
donatien | 0:5630d7e58a0b | 20 | if(ethErr) |
donatien | 0:5630d7e58a0b | 21 | { |
Dromar | 3:f0363a055364 | 22 | lcd.cls(); |
Dromar | 3:f0363a055364 | 23 | lcd.printf("Error %d in setup.\n", ethErr); |
donatien | 0:5630d7e58a0b | 24 | return -1; |
donatien | 0:5630d7e58a0b | 25 | } |
Dromar | 3:f0363a055364 | 26 | lcd.cls(); |
Dromar | 3:f0363a055364 | 27 | lcd.printf("Setup OK\n"); |
donatien | 0:5630d7e58a0b | 28 | |
Dromar | 3:f0363a055364 | 29 | FSHandler::mount("/webfs", "/"); //ここで /webfs をWebパスのルートに割り当てる |
Dromar | 3:f0363a055364 | 30 | |
donatien | 0:5630d7e58a0b | 31 | svr.addHandler<SimpleHandler>("/"); //Default handler |
donatien | 0:5630d7e58a0b | 32 | svr.bind(80); |
donatien | 0:5630d7e58a0b | 33 | |
Dromar | 3:f0363a055364 | 34 | lcd.cls(); |
Dromar | 3:f0363a055364 | 35 | lcd.printf("Listening...\n"); |
donatien | 0:5630d7e58a0b | 36 | |
donatien | 0:5630d7e58a0b | 37 | Timer tm; |
donatien | 0:5630d7e58a0b | 38 | tm.start(); |
donatien | 0:5630d7e58a0b | 39 | //Listen indefinitely |
donatien | 0:5630d7e58a0b | 40 | while(true) |
donatien | 0:5630d7e58a0b | 41 | { |
donatien | 0:5630d7e58a0b | 42 | Net::poll(); |
donatien | 0:5630d7e58a0b | 43 | if(tm.read()>.5) |
donatien | 0:5630d7e58a0b | 44 | { |
donatien | 0:5630d7e58a0b | 45 | led1=!led1; //Show that we are alive |
donatien | 0:5630d7e58a0b | 46 | tm.start(); |
donatien | 0:5630d7e58a0b | 47 | } |
donatien | 0:5630d7e58a0b | 48 | } |
donatien | 0:5630d7e58a0b | 49 | |
donatien | 0:5630d7e58a0b | 50 | return 0; |
donatien | 0:5630d7e58a0b | 51 | } |