![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
DHT22
Dependencies: DHT_HW3 SDFileSystem mbed
Fork of DHT22 by
main.cpp@1:cd3ca60ba7e8, 2018-01-02 (annotated)
- Committer:
- priscilla5328
- Date:
- Tue Jan 02 14:09:45 2018 +0000
- Revision:
- 1:cd3ca60ba7e8
- Parent:
- 0:97c2d4128ff3
21400032/Koo_Heejeong/HW3
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
priscilla5328 | 1:cd3ca60ba7e8 | 1 | #include <string.h> |
david8251 | 0:97c2d4128ff3 | 2 | #include "mbed.h" |
priscilla5328 | 1:cd3ca60ba7e8 | 3 | #include "easy-connect.h" |
priscilla5328 | 1:cd3ca60ba7e8 | 4 | #include "TCPSocket.h" |
david8251 | 0:97c2d4128ff3 | 5 | #include "DHT.h" |
david8251 | 0:97c2d4128ff3 | 6 | |
priscilla5328 | 1:cd3ca60ba7e8 | 7 | DHT sensor(A0,DHT22); |
priscilla5328 | 1:cd3ca60ba7e8 | 8 | |
priscilla5328 | 1:cd3ca60ba7e8 | 9 | #define SERVER_IP "192.168.0.5" |
priscilla5328 | 1:cd3ca60ba7e8 | 10 | #define SERVER_PORT 50000 |
priscilla5328 | 1:cd3ca60ba7e8 | 11 | |
priscilla5328 | 1:cd3ca60ba7e8 | 12 | Serial pc(USBTX, USBRX); |
priscilla5328 | 1:cd3ca60ba7e8 | 13 | |
priscilla5328 | 1:cd3ca60ba7e8 | 14 | char rec_buf[20]; |
priscilla5328 | 1:cd3ca60ba7e8 | 15 | |
priscilla5328 | 1:cd3ca60ba7e8 | 16 | int main(){ |
priscilla5328 | 1:cd3ca60ba7e8 | 17 | int error = 0; |
priscilla5328 | 1:cd3ca60ba7e8 | 18 | pc.baud(115200); |
david8251 | 0:97c2d4128ff3 | 19 | |
priscilla5328 | 1:cd3ca60ba7e8 | 20 | pc.printf("\r\nConnecting...\r\n"); |
priscilla5328 | 1:cd3ca60ba7e8 | 21 | NetworkInterface *network = easy_connect(true); |
priscilla5328 | 1:cd3ca60ba7e8 | 22 | while(!network){ |
priscilla5328 | 1:cd3ca60ba7e8 | 23 | pc.printf("Error: Cannot connect to the network\r\n"); |
priscilla5328 | 1:cd3ca60ba7e8 | 24 | wait(1); |
priscilla5328 | 1:cd3ca60ba7e8 | 25 | network = easy_connect(true); |
priscilla5328 | 1:cd3ca60ba7e8 | 26 | } |
priscilla5328 | 1:cd3ca60ba7e8 | 27 | |
priscilla5328 | 1:cd3ca60ba7e8 | 28 | pc.printf("Success\r\n\r\n"); |
priscilla5328 | 1:cd3ca60ba7e8 | 29 | pc.printf("MAC: %s\r\n", network->get_mac_address()); |
priscilla5328 | 1:cd3ca60ba7e8 | 30 | pc.printf("IP: %s\r\n", network->get_ip_address()); |
priscilla5328 | 1:cd3ca60ba7e8 | 31 | pc.printf("Netmask: %s\r\n", network->get_netmask()); |
priscilla5328 | 1:cd3ca60ba7e8 | 32 | pc.printf("Gateway: %s\r\n", network->get_gateway()); |
priscilla5328 | 1:cd3ca60ba7e8 | 33 | pc.printf("RSSI: %d\r\n\r\n", wifi.get_rssi()); |
priscilla5328 | 1:cd3ca60ba7e8 | 34 | |
priscilla5328 | 1:cd3ca60ba7e8 | 35 | pc.printf("\r\nDone\r\n"); |
david8251 | 0:97c2d4128ff3 | 36 | |
priscilla5328 | 1:cd3ca60ba7e8 | 37 | TCPSocket socket; |
priscilla5328 | 1:cd3ca60ba7e8 | 38 | |
priscilla5328 | 1:cd3ca60ba7e8 | 39 | socket.open(network); |
priscilla5328 | 1:cd3ca60ba7e8 | 40 | socket.connect(SERVER_IP, SERVER_PORT); |
priscilla5328 | 1:cd3ca60ba7e8 | 41 | |
priscilla5328 | 1:cd3ca60ba7e8 | 42 | int c = 0, h = 0; |
priscilla5328 | 1:cd3ca60ba7e8 | 43 | int send_cnt, rec_cnt; |
priscilla5328 | 1:cd3ca60ba7e8 | 44 | while(1){ |
priscilla5328 | 1:cd3ca60ba7e8 | 45 | pc.printf("Sending request to %s : %d ...\r\n", SERVER_IP, SERVER_PORT); |
priscilla5328 | 1:cd3ca60ba7e8 | 46 | char rec_buf[64]={}; |
priscilla5328 | 1:cd3ca60ba7e8 | 47 | rec_cnt = socket.recv(rec_buf, sizeof rec_buf); |
priscilla5328 | 1:cd3ca60ba7e8 | 48 | pc.printf("%s\r\n", rec_buf); |
priscilla5328 | 1:cd3ca60ba7e8 | 49 | if(!strcmp(rec_buf, "GET /DHT22\r\n")){ |
priscilla5328 | 1:cd3ca60ba7e8 | 50 | char send_buf[64]={}; |
priscilla5328 | 1:cd3ca60ba7e8 | 51 | send_cnt = socket.send("OK\r\n", sizeof("OK\r\n")); |
priscilla5328 | 1:cd3ca60ba7e8 | 52 | error = sensor.readData(); |
priscilla5328 | 1:cd3ca60ba7e8 | 53 | if (error == 0) { |
priscilla5328 | 1:cd3ca60ba7e8 | 54 | c = sensor.ReadTemperature(CELCIUS); |
priscilla5328 | 1:cd3ca60ba7e8 | 55 | h = sensor.ReadHumidity(); |
priscilla5328 | 1:cd3ca60ba7e8 | 56 | } |
priscilla5328 | 1:cd3ca60ba7e8 | 57 | else { |
priscilla5328 | 1:cd3ca60ba7e8 | 58 | printf("Error: %d\r\n", error); |
priscilla5328 | 1:cd3ca60ba7e8 | 59 | } |
priscilla5328 | 1:cd3ca60ba7e8 | 60 | sprintf(send_buf, "{ \"temp\": \"%d\", \"humid\": \"%d\"}\r\n", c, h); |
priscilla5328 | 1:cd3ca60ba7e8 | 61 | send_cnt = socket.send(send_buf, sizeof(send_buf)); |
priscilla5328 | 1:cd3ca60ba7e8 | 62 | pc.printf(send_buf); |
priscilla5328 | 1:cd3ca60ba7e8 | 63 | } |
priscilla5328 | 1:cd3ca60ba7e8 | 64 | else{ |
priscilla5328 | 1:cd3ca60ba7e8 | 65 | pc.printf("Unknown request\r\n"); |
priscilla5328 | 1:cd3ca60ba7e8 | 66 | send_cnt = socket.send("Unknown request\r\n", sizeof("Unknown request\r\n")); |
priscilla5328 | 1:cd3ca60ba7e8 | 67 | } |
david8251 | 0:97c2d4128ff3 | 68 | } |
david8251 | 0:97c2d4128ff3 | 69 | } |
priscilla5328 | 1:cd3ca60ba7e8 | 70 |