DHT11
Dependencies: mbed mbed-rtos SDFileSystem EthernetInterface DHT11
main.cpp@3:b2eae813c2e1, 2018-12-03 (annotated)
- Committer:
- gjanusz
- Date:
- Mon Dec 03 19:06:30 2018 +0000
- Revision:
- 3:b2eae813c2e1
- Parent:
- 2:44f331aea307
DHT11;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
barti19941 | 0:795a02b2bb68 | 1 | #include "mbed.h" |
barti19941 | 0:795a02b2bb68 | 2 | #include "SDFileSystem.h" |
barti19941 | 1:baaf95f8d272 | 3 | #include "EthernetInterface.h" |
barti19941 | 1:baaf95f8d272 | 4 | #include <iostream> |
barti19941 | 1:baaf95f8d272 | 5 | #include <fstream> |
gjanusz | 2:44f331aea307 | 6 | #include "DHT11.h" |
barti19941 | 0:795a02b2bb68 | 7 | |
barti19941 | 1:baaf95f8d272 | 8 | #define NUMBER_OF_LINES 23 |
barti19941 | 1:baaf95f8d272 | 9 | #define COLOR_LINE 12 |
barti19941 | 1:baaf95f8d272 | 10 | #define TEMPERATURE_LINE 17 |
barti19941 | 1:baaf95f8d272 | 11 | #define PRESSURE_LINE 18 |
barti19941 | 1:baaf95f8d272 | 12 | #define HUMADITY_LINE 19 |
barti19941 | 1:baaf95f8d272 | 13 | #define RAINFALL_LINE 20 |
barti19941 | 1:baaf95f8d272 | 14 | #define TIME_LINE 21 |
barti19941 | 1:baaf95f8d272 | 15 | |
barti19941 | 1:baaf95f8d272 | 16 | SDFileSystem sd(PTE3, PTE1, PTE2, PTE4, "sd"); |
barti19941 | 0:795a02b2bb68 | 17 | Serial pc(USBTX, USBRX); |
barti19941 | 1:baaf95f8d272 | 18 | string file_content[NUMBER_OF_LINES]; |
barti19941 | 0:795a02b2bb68 | 19 | |
gjanusz | 2:44f331aea307 | 20 | |
gjanusz | 2:44f331aea307 | 21 | DHT11 d(PTD1); |
gjanusz | 2:44f331aea307 | 22 | |
gjanusz | 2:44f331aea307 | 23 | void DHT11_read() |
gjanusz | 2:44f331aea307 | 24 | { |
gjanusz | 2:44f331aea307 | 25 | int s; |
gjanusz | 2:44f331aea307 | 26 | s = d.readData(); |
gjanusz | 2:44f331aea307 | 27 | if (s != DHT11::OK) { |
gjanusz | 2:44f331aea307 | 28 | pc.printf("Error!\r\n"); |
gjanusz | 2:44f331aea307 | 29 | } |
gjanusz | 2:44f331aea307 | 30 | else { |
gjanusz | 2:44f331aea307 | 31 | pc.printf("T:%d, H:%d\r\n", d.readTemperature(), d.readHumidity()); |
gjanusz | 2:44f331aea307 | 32 | } |
gjanusz | 2:44f331aea307 | 33 | } |
gjanusz | 2:44f331aea307 | 34 | |
gjanusz | 2:44f331aea307 | 35 | |
barti19941 | 1:baaf95f8d272 | 36 | void initializeEthernet(void) |
barti19941 | 1:baaf95f8d272 | 37 | { |
barti19941 | 1:baaf95f8d272 | 38 | EthernetInterface eth; |
gjanusz | 3:b2eae813c2e1 | 39 | const char *ip = "192.168.1.3"; |
barti19941 | 1:baaf95f8d272 | 40 | const char *mask = "255.255.255.0"; |
barti19941 | 1:baaf95f8d272 | 41 | const char *gateway = "192.168.1.1"; |
barti19941 | 1:baaf95f8d272 | 42 | if(!eth.init(ip,mask,gateway)) |
barti19941 | 1:baaf95f8d272 | 43 | { |
barti19941 | 1:baaf95f8d272 | 44 | pc.printf("Ethernet card initialized successfully.\r"); |
barti19941 | 1:baaf95f8d272 | 45 | eth.connect(); |
barti19941 | 1:baaf95f8d272 | 46 | pc.printf("IP address: %s\n",eth.getIPAddress()); |
barti19941 | 1:baaf95f8d272 | 47 | pc.printf("Network mask: %s\n",eth.getNetworkMask()); |
barti19941 | 1:baaf95f8d272 | 48 | pc.printf("Gateway: %s\n",eth.getGateway()); |
barti19941 | 1:baaf95f8d272 | 49 | pc.printf("MAC address: %s\n",eth.getMACAddress()); |
barti19941 | 0:795a02b2bb68 | 50 | } |
barti19941 | 1:baaf95f8d272 | 51 | else |
barti19941 | 1:baaf95f8d272 | 52 | pc.printf("Ethernet card could not be initialized.\r"); |
barti19941 | 1:baaf95f8d272 | 53 | return; |
barti19941 | 1:baaf95f8d272 | 54 | } |
barti19941 | 0:795a02b2bb68 | 55 | |
barti19941 | 1:baaf95f8d272 | 56 | void readHTMLCode(void) |
barti19941 | 1:baaf95f8d272 | 57 | { |
barti19941 | 1:baaf95f8d272 | 58 | fstream file; |
barti19941 | 1:baaf95f8d272 | 59 | int cnt = 0; |
barti19941 | 1:baaf95f8d272 | 60 | for (int i = 0; i < NUMBER_OF_LINES; i++) |
barti19941 | 1:baaf95f8d272 | 61 | file_content[i] = " "; |
barti19941 | 1:baaf95f8d272 | 62 | file.open("/sd/index.html", ios::in); |
barti19941 | 1:baaf95f8d272 | 63 | if (file.good()) |
barti19941 | 1:baaf95f8d272 | 64 | { |
barti19941 | 1:baaf95f8d272 | 65 | pc.printf("The index.html file has been opened. \r"); |
barti19941 | 1:baaf95f8d272 | 66 | while(!file.eof()) |
barti19941 | 1:baaf95f8d272 | 67 | { |
barti19941 | 1:baaf95f8d272 | 68 | getline(file,file_content[cnt]); |
gjanusz | 3:b2eae813c2e1 | 69 | pc.printf("cnt: %i \n \r", cnt); |
barti19941 | 1:baaf95f8d272 | 70 | cnt++; |
barti19941 | 1:baaf95f8d272 | 71 | } |
barti19941 | 1:baaf95f8d272 | 72 | file.close(); |
barti19941 | 1:baaf95f8d272 | 73 | pc.printf("The file has been closed. \r"); |
barti19941 | 0:795a02b2bb68 | 74 | } |
barti19941 | 1:baaf95f8d272 | 75 | else |
barti19941 | 1:baaf95f8d272 | 76 | { |
barti19941 | 1:baaf95f8d272 | 77 | pc.printf("The file could not be opened. \r"); |
barti19941 | 1:baaf95f8d272 | 78 | return; |
barti19941 | 1:baaf95f8d272 | 79 | } |
barti19941 | 1:baaf95f8d272 | 80 | } |
barti19941 | 0:795a02b2bb68 | 81 | |
barti19941 | 1:baaf95f8d272 | 82 | void initializeSerialPC(void) |
barti19941 | 1:baaf95f8d272 | 83 | { |
barti19941 | 1:baaf95f8d272 | 84 | pc.baud(115200); |
barti19941 | 1:baaf95f8d272 | 85 | pc.printf("Serial port initialized. \r"); |
barti19941 | 0:795a02b2bb68 | 86 | } |
barti19941 | 1:baaf95f8d272 | 87 | |
barti19941 | 1:baaf95f8d272 | 88 | int main() |
barti19941 | 1:baaf95f8d272 | 89 | { |
gjanusz | 3:b2eae813c2e1 | 90 | |
barti19941 | 1:baaf95f8d272 | 91 | initializeSerialPC(); |
gjanusz | 3:b2eae813c2e1 | 92 | //DHT11_read(); |
gjanusz | 3:b2eae813c2e1 | 93 | readHTMLCode(); |
gjanusz | 3:b2eae813c2e1 | 94 | initializeEthernet(); |
gjanusz | 3:b2eae813c2e1 | 95 | |
barti19941 | 1:baaf95f8d272 | 96 | while(1); |
barti19941 | 1:baaf95f8d272 | 97 | } |