Skip to content
Snippets Groups Projects
Select Git revision
  • 2db04942c2153c5cda96c8db03e9f921865a397c
  • main default protected
  • eosa3993-main-patch-51109
  • eosa3993-main-patch-19925
4 results

client_new.c

Blame
  • client_new.c 6.38 KiB
    //이채민 client_new.c
    
    #include <sys/stat.h>
    #include <sys/types.h>
    #include <fcntl.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <string.h>
    #include <arpa/inet.h>
    #include <sys/socket.h>
    
    #include <wiringPi.h>
    #include <wiringPiSPI.h>
    #include <stdint.h>
    
    
    #define IN  0
    #define OUT 1
    #define LOW  0
    #define HIGH 1
    #define POUT 18
    
    #define VALUE_MAX 30
    
    #define MAX_TIME 100
    #define DHT 5
    #define PIN 20
    
    int data[5] = {0,0,0,0,0};
    char temp_msg[10];
    
    int read_dht_data() {
       uint8_t laststate = HIGH;
       uint8_t counter = 0;
       uint8_t j = 0, i;
       
       data[0] = data[1] = data[2] = data[3] = data[4] = 0;
       
       pinMode(DHT, OUTPUT);
       digitalWrite(DHT, LOW);
       delay(18);
       
       pinMode(DHT, INPUT);
       
       for (i=0; i<MAX_TIME; i++) {
          counter = 0;
          while(digitalRead(DHT) == laststate)
          {
             counter++;
             delayMicroseconds(1);
             if (counter == 255) {
                break;
             }
          }
          laststate = digitalRead(DHT);
          
          if (counter == 255)
             break;
             
          if ((i>=4) && (i%2==0))
          {
             data[j/8]<<=1;
             if (counter > 16)
                data[j/8] |= 1;
             j++;
          }
       }
       if ((j>=40) && (data[4] == ((data[0]+ data[1] + data[2] + data[3]) & 0xFF))) {
          printf("Humidity = %d.%d %% Temperature = %d.%d C\n", data[0], data[1], data[2], data[3]);