1

Dependencies:   Clients_Requests EthernetInterface HTTPServer NTPClient One_Wire_Function SimpleSMTPClient mbed-rpc mbed-rtos mbed

Fork of _PE2E_12-04_EthernetInterfaceServer by Rob Toulson

Committer:
ChesterLin
Date:
Mon Nov 27 06:06:53 2017 +0000
Revision:
1:2a82db3db4ae
Parent:
0:51b0b8c2af12
W

Who changed what in which revision?

UserRevisionLine numberNew 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,&eth);// 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