mbedをHTTPサーバ化。TextLCDライブラリを追加して状態をPCレスで把握できるようにしました。

Dependencies:   EthernetNetIf HTTPServer TextLCD mbed

Fork of HTTPServerHelloWorld by Donatien Garnier

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?

UserRevisionLine numberNew 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 }