1
Dependencies: Clients_Requests EthernetInterface HTTPServer NTPClient One_Wire_Function SimpleSMTPClient mbed-rpc mbed-rtos mbed
Fork of _PE2E_12-04_EthernetInterfaceServer by
main.cpp@1:2a82db3db4ae, 2017-11-27 (annotated)
- Committer:
- ChesterLin
- Date:
- Mon Nov 27 06:06:53 2017 +0000
- Revision:
- 1:2a82db3db4ae
- Parent:
- 0:51b0b8c2af12
W
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
robt | 0:51b0b8c2af12 | 1 | #include "mbed.h" |
robt | 0:51b0b8c2af12 | 2 | #include "EthernetInterface.h" |
robt | 0:51b0b8c2af12 | 3 | #include "HTTPServer.h" |
robt | 0:51b0b8c2af12 | 4 | #include "FsHandler.h" |
ChesterLin | 1:2a82db3db4ae | 5 | #include "getData.h" |
ChesterLin | 1:2a82db3db4ae | 6 | #include "rtos.h" |
ChesterLin | 1:2a82db3db4ae | 7 | #include "OneWire_Functions.h" |
ChesterLin | 1:2a82db3db4ae | 8 | |
robt | 0:51b0b8c2af12 | 9 | |
robt | 0:51b0b8c2af12 | 10 | EthernetInterface eth; // define Ethernet interface |
robt | 0:51b0b8c2af12 | 11 | LocalFileSystem fs("webfs"); // define Local file system |
robt | 0:51b0b8c2af12 | 12 | HTTPServer svr; // define HHTP server object |
ChesterLin | 1:2a82db3db4ae | 13 | Thread Threadtemp; |
ChesterLin | 1:2a82db3db4ae | 14 | Thread threadsvr; |
ChesterLin | 1:2a82db3db4ae | 15 | Serial pc(USBTX,USBRX); |
ChesterLin | 1:2a82db3db4ae | 16 | OneWire owp(p21); |
robt | 0:51b0b8c2af12 | 17 | |
ChesterLin | 1:2a82db3db4ae | 18 | void threadstart() |
ChesterLin | 1:2a82db3db4ae | 19 | { |
ChesterLin | 1:2a82db3db4ae | 20 | eth.init(); |
ChesterLin | 1:2a82db3db4ae | 21 | eth.connect(); |
ChesterLin | 1:2a82db3db4ae | 22 | HTTPFsRequestHandler::mount("/webfs/","/"); |
ChesterLin | 1:2a82db3db4ae | 23 | svr.addHandler<HTTPFsRequestHandler>("/"); |
ChesterLin | 1:2a82db3db4ae | 24 | //add the path to the request handler |
ChesterLin | 1:2a82db3db4ae | 25 | svr.addHandler<getData>("/setreso"); |
ChesterLin | 1:2a82db3db4ae | 26 | svr.addHandler<getData>("/get"); |
ChesterLin | 1:2a82db3db4ae | 27 | svr.addHandler<getData>("/setalert"); |
ChesterLin | 1:2a82db3db4ae | 28 | |
ChesterLin | 1:2a82db3db4ae | 29 | svr.start(80,ð);// start the web server |
ChesterLin | 1:2a82db3db4ae | 30 | while(1) { |
ChesterLin | 1:2a82db3db4ae | 31 | svr.poll();// continuously poll for Ethernet messages to server |
ChesterLin | 1:2a82db3db4ae | 32 | |
ChesterLin | 1:2a82db3db4ae | 33 | // address to locate index |
ChesterLin | 1:2a82db3db4ae | 34 | // http://192.168.1.100/index.htm |
ChesterLin | 1:2a82db3db4ae | 35 | } |
ChesterLin | 1:2a82db3db4ae | 36 | } |
ChesterLin | 1:2a82db3db4ae | 37 | void readData() |
ChesterLin | 1:2a82db3db4ae | 38 | { |
ChesterLin | 1:2a82db3db4ae | 39 | pc.printf("\n\rStarting Initilization One Wire Device...\n\r"); |
ChesterLin | 1:2a82db3db4ae | 40 | //set resolution and alarm temperature to default. |
ChesterLin | 1:2a82db3db4ae | 41 | owp.Change_Res(); |
ChesterLin | 1:2a82db3db4ae | 42 | pc.printf("\n\rFinish Initilization.\n\r"); |
ChesterLin | 1:2a82db3db4ae | 43 | |
ChesterLin | 1:2a82db3db4ae | 44 | |
ChesterLin | 1:2a82db3db4ae | 45 | while(1) { |
ChesterLin | 1:2a82db3db4ae | 46 | |
ChesterLin | 1:2a82db3db4ae | 47 | pc.printf("\n\rNow Searching Alarm...\n\r"); |
ChesterLin | 1:2a82db3db4ae | 48 | |
ChesterLin | 1:2a82db3db4ae | 49 | if(owp.Read_alarm_Email()) { |
ChesterLin | 1:2a82db3db4ae | 50 | |
ChesterLin | 1:2a82db3db4ae | 51 | pc.printf("\n\rFound one device is alarming.\n\r"); |
ChesterLin | 1:2a82db3db4ae | 52 | //pc.printf("\n\r"); |
ChesterLin | 1:2a82db3db4ae | 53 | |
ChesterLin | 1:2a82db3db4ae | 54 | } else { |
ChesterLin | 1:2a82db3db4ae | 55 | pc.printf("No device is alarming\n\r"); |
ChesterLin | 1:2a82db3db4ae | 56 | |
ChesterLin | 1:2a82db3db4ae | 57 | } |
ChesterLin | 1:2a82db3db4ae | 58 | Threadtemp.wait(10000); |
ChesterLin | 1:2a82db3db4ae | 59 | } |
robt | 0:51b0b8c2af12 | 60 | } |
robt | 0:51b0b8c2af12 | 61 | |
ChesterLin | 1:2a82db3db4ae | 62 | int main() |
ChesterLin | 1:2a82db3db4ae | 63 | { |
ChesterLin | 1:2a82db3db4ae | 64 | |
ChesterLin | 1:2a82db3db4ae | 65 | pc.printf("\n\rStart server"); |
ChesterLin | 1:2a82db3db4ae | 66 | threadsvr.start(threadstart); |
ChesterLin | 1:2a82db3db4ae | 67 | |
ChesterLin | 1:2a82db3db4ae | 68 | pc.printf("\n\rStart read temp"); |
ChesterLin | 1:2a82db3db4ae | 69 | Threadtemp.start(readData); |
ChesterLin | 1:2a82db3db4ae | 70 | |
ChesterLin | 1:2a82db3db4ae | 71 | } |
ChesterLin | 1:2a82db3db4ae | 72 |