HTTP_SERVER
Dependencies: mbed mbed-rtos SDFileSystem EthernetInterface BME280
Revision 2:33833f64246f, committed 2018-11-23
- Comitter:
- barti19941
- Date:
- Fri Nov 23 13:27:35 2018 +0000
- Parent:
- 1:baaf95f8d272
- Commit message:
- wersja 2;
Changed in this revision
BME280.lib | Show annotated file Show diff for this revision Revisions of this file |
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BME280.lib Fri Nov 23 13:27:35 2018 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/users/MACRUM/code/BME280/#ddcaa259e65b
--- a/main.cpp Tue Nov 13 11:46:10 2018 +0000 +++ b/main.cpp Fri Nov 23 13:27:35 2018 +0000 @@ -1,6 +1,7 @@ #include "mbed.h" #include "SDFileSystem.h" #include "EthernetInterface.h" +#include "BME280.h" #include <iostream> #include <fstream> @@ -12,9 +13,74 @@ #define RAINFALL_LINE 20 #define TIME_LINE 21 +Serial pc(USBTX, USBRX); SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd"); -Serial pc(USBTX, USBRX); +BME280 sensor(PTC11, PTC10); +DigitalIn sw(PTD1); +TCPSocketServer svr; +TCPSocketConnection client; + string file_content[NUMBER_OF_LINES]; +volatile bool rain = false; + +void sendData(void); +void initializeEthernet(void); +void readHTMLCode(void); +void getWeatherConditions(void); +void initializeSerialPC(void); +void initializeTCP(void); + +int main() +{ + initializeSerialPC(); + readHTMLCode(); + initializeEthernet(); + initializeTCP(); + while(1) + { + if (svr.accept(client)) + { + pc.printf("Connection with client can not be established.\r"); + } + else + { + pc.printf("Connection with client established, client ip addres: %s.\r", client.get_address()); + wait(1); + sendData(); + client.close(); + } + //getWeatherConditions(); + + } +} + +void sendData(void) +{ + string tmp = ""; + for (int i = 0; i < NUMBER_OF_LINES; i++) + tmp += file_content[i]; + client.send(const_cast<char*>(tmp.c_str()),tmp.length()); +} + +void initializeTCP(void) +{ + if (svr.bind(80) < 0) + { + pc.printf("Server TCP cannot bound with port 80(HTTP).\r"); + return; + } + else + pc.printf("Server TCP bound with port 80(HTTP).\r"); + if (svr.listen(1) < 0) + { + pc.printf("Server TCP cannot listen incominng conections.\r"); + return; + } + else + { + pc.printf("Server TCP started listen incominng conections.\r"); + } +} void initializeEthernet(void) { @@ -61,16 +127,31 @@ } } +void getWeatherConditions(void) +{ + float temperature; + float humidity; + float pressure; + pressure = sensor.getPressure(); + temperature = sensor.getTemperature(); + humidity = sensor.getHumidity(); + pc.printf("%2.2f degC, %04.2f hPa, %2.2f %%\r", temperature, pressure, humidity); + + if (sw == 1) + { + pc.printf("Rain!\r"); + rain = true; + } + else + { + pc.printf("No rain!\r"); + rain = false; + } +} + void initializeSerialPC(void) { pc.baud(115200); pc.printf("Serial port initialized. \r"); } -int main() -{ - initializeSerialPC(); - readHTMLCode(); - initializeEthernet(); - while(1); -}