DHT22

Dependencies:   DHT_HW3 SDFileSystem mbed

Fork of DHT22 by jajn HA

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?

UserRevisionLine numberNew 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