From 084f378a1843b13747963c61ad7de7412f566586 Mon Sep 17 00:00:00 2001 From: aixiao Date: Tue, 11 Sep 2018 14:35:16 +0000 Subject: [PATCH] 20180911 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 增加 dth11 温度湿度传感器 目前工作的有DS18B20温度传感、DTH11温度湿度传感器 未测试的有info_sound、info_ultrasound、info_infrared二进制程序 修改: gpio/Makefile 新文件: gpio/conf/info.conf 新文件: gpio/dth11.c 删除: gpio/info_infrared 修改: gpio/info_infrared.c 删除: gpio/info_light 修改: gpio/info_light.c 删除: gpio/info_pin 修改: gpio/info_pin.c 删除: gpio/info_sound 修改: gpio/info_sound.c 删除: gpio/info_ultrasound 修改: gpio/info_ultrasound.c 修改: gpio/log/light.pid 修改: gpio/log/wind.pid 新文件: gpio/log/wind_daemon.pid 删除: gpio/wind 修改: gpio/wind.c --- gpio/Makefile | 71 ++++++++++++++++----- gpio/conf/info.conf | 28 +++++++++ gpio/dth11.c | 131 +++++++++++++++++++++++++++++++++++++++ gpio/info_infrared | Bin 6840 -> 0 bytes gpio/info_infrared.c | 3 +- gpio/info_light | Bin 6608 -> 0 bytes gpio/info_light.c | 35 ++++++++++- gpio/info_pin | Bin 6724 -> 0 bytes gpio/info_pin.c | 17 +++-- gpio/info_sound | Bin 6836 -> 0 bytes gpio/info_sound.c | 3 +- gpio/info_ultrasound | Bin 7216 -> 0 bytes gpio/info_ultrasound.c | 1 - gpio/log/light.pid | 2 +- gpio/log/wind.pid | 2 +- gpio/log/wind_daemon.pid | 1 + gpio/wind | Bin 8400 -> 0 bytes gpio/wind.c | 23 ++++--- 18 files changed, 278 insertions(+), 39 deletions(-) create mode 100644 gpio/conf/info.conf create mode 100644 gpio/dth11.c delete mode 100644 gpio/info_infrared delete mode 100644 gpio/info_light delete mode 100644 gpio/info_pin delete mode 100644 gpio/info_sound delete mode 100644 gpio/info_ultrasound create mode 100644 gpio/log/wind_daemon.pid delete mode 100644 gpio/wind diff --git a/gpio/Makefile b/gpio/Makefile index 61f8cfe..bd5313a 100644 --- a/gpio/Makefile +++ b/gpio/Makefile @@ -1,21 +1,60 @@ -CC=gcc -libs=info_infrared.o info_light.o info_pin.o info_sound.o info_ultrasound.o +CC = gcc +RM = rm +libs = info_infrared.o info_light.o info_pin.o info_sound.o info_ultrasound.o wind.o dth11.o +CFLAGS = -g -Wall -Werror +LIB = -lwiringPi -all: infrared light pin sound ultrasound wind_ +all: infrared light pin sound ultrasound wind dth11 + +infrared: infrared.o + $(CC) $(CFLAGS) info_infrared.o -o info_infrared $(LIB) + $(RM) info_infrared.o +infrared.o: + $(CC) $(CFLAGS) -c info_infrared.c $(LIB) + + +light: light.o + $(CC) $(CFLAGS) info_light.o -o info_light $(LIB) + $(RM) info_light.o +light.o: + $(CC) $(CFLAGS) -c info_light.c $(LIB) + + +pin: pin.o + $(CC) $(CFLAGS) info_pin.o -o info_pin $(LIB) + $(RM) info_pin.o +pin.o: + $(CC) $(CFLAGS) -c info_pin.c $(LIB) + + +sound: sound.o + $(CC) $(CFLAGS) info_sound.o -o info_sound $(LIB) + $(RM) info_sound.o +sound.o: + $(CC) $(CFLAGS) -c info_sound.c $(LIB) + + +ultrasound: ultrasound.o + $(CC) $(CFLAGS) info_ultrasound.o -o info_ultrasound $(LIB) + $(RM) info_ultrasound.o +ultrasound.o: + $(CC) $(CFLAGS) -c info_ultrasound.c $(LIB) + + +wind: wind.o + $(CC) $(CFLAGS) wind.o -o wind + $(RM) wind.o +wind.o: + $(CC) $(CFLAGS) -c wind.c + + +dth11: dth11.o + $(CC) $(CFLAGS) dth11.o -o dth11 $(LIB) + $(RM) dth11.o +dth11.o: + $(CC) $(CFLAGS) -c dth11.c $(LIB) -infrared: info_infrared - $(CC) info_infrared.c -o info_infrared -lwiringPi -light: info_light - $(CC) info_light.c -o info_light -lwiringPi -pin: info_pin - $(CC) info_pin.c -o info_pin -lwiringPi -sound: info_sound - $(CC) info_sound.c -o info_sound -lwiringPi -ultrasound: info_ultrasound - $(CC) info_ultrasound.c -o info_ultrasound -lwiringPi -wind_: wind - ${CC} wind.c -o wind .PHONY : clean clean : - rm -f $(libs) info_infrared info_light info_sound info_ultrasound + rm -f $(libs) info_infrared info_light info_sound info_ultrasound wind dth11 diff --git a/gpio/conf/info.conf b/gpio/conf/info.conf new file mode 100644 index 0000000..e5b192e --- /dev/null +++ b/gpio/conf/info.conf @@ -0,0 +1,28 @@ +#判断手机是否在线 +phoneip="192.168.99.60"; #IP + +#人体红外线传感器 +wiringpi_infrared="6"; #脚位 + +#声音传感器 +wiringpi_sound="25"; #脚位 + +#距离传感器 +l="60"; +s="150"; +wiringpi_tring="8"; #脚位 +wiringpi_echo="9"; #脚位 + + +#灯 +high="1700"; #起始时间 +low="2300"; #关闭时间 +s_low="1900" #周日关闭时间 +wiringpi_lightpin="4"; #脚位 + +#风扇、温度传感器 +wiringpi_wind="1"; #脚位 +device="28-031682c7baff" #设备 +l_temperature="27"; #不高于这个摄氏温度 +step_wait="300" #开启时间 +step_stop="180" #关闭时间 diff --git a/gpio/dth11.c b/gpio/dth11.c new file mode 100644 index 0000000..2ac0eb9 --- /dev/null +++ b/gpio/dth11.c @@ -0,0 +1,131 @@ +/* DTH11 温度湿度传感器 + * + * + */ + + +#include +#include +#include +#include +#include +#include +#define MAX_TIME 85 +#define MAX_TRIES 100 + +int dht11_val[5]={0,0,0,0,0}; + +int dht11_read_val(int *h, int *t, int pin) { + uint8_t lststate=HIGH; + uint8_t counter=0; + uint8_t j=0,i; + + for (i=0;i<5;i++) { + dht11_val[i]=0; + } + + pinMode(pin, OUTPUT); + digitalWrite(pin, LOW); + delay(18); + digitalWrite(pin, HIGH); + delayMicroseconds(40); + pinMode(pin, INPUT); + + for (i=0;i=4) && (i%2==0)) { + dht11_val[j/8]<<=1; + if(counter>16) + dht11_val[j/8]|=1; + j++; + } + } + + // verify cheksum and print the verified data + if ((j>=40) && (dht11_val[4]==((dht11_val[0]+dht11_val[1]+dht11_val[2]+dht11_val[3])& 0xFF))) { + // Only return the integer part of humidity and temperature. The sensor + // is not accurate enough for decimals anyway + *h = dht11_val[0]; + *t = dht11_val[2]; + return 0; + } + else { + // invalid data + return 1; + } +} + +int _main(int n, char *argv[]) +{ + int j = 0; + int i; + char parameter[10]; + strcpy(parameter, argv[n]); + int len = strlen(parameter); + + for(i=0; i=48) //0~9的ASCII码是48~57 + {j++;} + } + if(j==len){ + return 1; + } else { + return 0; + } +} + +int main(int argc, char *argv[]) { + if(argc != 2){ + exit(1); + } + if(_main(1, argv) == 0) { + printf("参数错误, 参数1为PIN引脚值\n"); + exit(1); + } + + int pin = atol(argv[1]); + + int i; + int h; //humidity + int t; //temperature in degrees Celsius + + + wiringPiSetup(); + + // throw away the first 3 measurements + for (i=0; i<3; i++) { + dht11_read_val(&h, &t, pin); + delay(3000); + } + + // read the sensor until we get a pair of valid measurements + // but bail out if we tried too many times + int retval=1; + int tries=0; + while (retval != 0 && tries < MAX_TRIES) + { + retval = dht11_read_val(&h, &t, pin); + if (retval == 0) { + printf("%d %d\n", h, t); + } else { + delay(3000); + } + tries += 1; + } + if (tries < MAX_TRIES) + return 0; + else + return 1; + +} \ No newline at end of file diff --git a/gpio/info_infrared b/gpio/info_infrared deleted file mode 100644 index f91459e90e6d1fda8f7888edd8d52806ed97b919..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6840 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 #include #include +#include /* void pinMode (int pin, int mode) ; @@ -11,11 +18,36 @@ int digitalRead (int pin) ; analogRead (int pin) ; analogWrite (int pin, int value) ; */ + +int _main(char *argv[], int n) +{ + int j = 0; + int i; + char parameter[10]; + strcpy(parameter, argv[n]); + int len = strlen(parameter); + + for(i=0; i=48) //0~9的ASCII码是48~57 + {j++;} + } + if(j==len){ + return 1; + } else { + return 0; + } +} + int main(int argc, char *argv[]) { if( argc != 3) { exit(0); } + if(_main(argv, 1) == 0) { + printf("参数错误, 参数1为PIN引脚值\n"); + exit(1); + } int pin = atol(argv[1]); wiringPiSetup(); @@ -27,5 +59,6 @@ int main(int argc, char *argv[]) if(atol(argv[2]) == 0) { digitalWrite(pin, LOW); } - + return atol(argv[2]); } + diff --git a/gpio/info_pin b/gpio/info_pin deleted file mode 100644 index 8f81c44623df7e36bda52f42af5c93f29b450c93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6724 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 diff --git a/gpio/info_pin.c b/gpio/info_pin.c index 2cd857b..840123e 100644 --- a/gpio/info_pin.c +++ b/gpio/info_pin.c @@ -1,16 +1,13 @@ +/* 测试PIN脚是否1或0 + * + * + */ + + #include #include #include -/* -void pinMode (int pin, int mode) ; -void pullUpDnControl (int pin, int pud) ; -void digitalWrite (int pin, int value) ; -void pwmWrite (int pin, int value) ; -int digitalRead (int pin) ; -analogRead (int pin) ; -analogWrite (int pin, int value) ; -*/ int main(int argc, char *argv[]) { if( argc != 2) { @@ -21,4 +18,6 @@ int main(int argc, char *argv[]) wiringPiSetup(); pinMode(pin, OUTPUT); printf("%d\n", digitalRead(pin)); + + return pin; } diff --git a/gpio/info_sound b/gpio/info_sound deleted file mode 100644 index 3bdcb9c796154c2d97462004080d742bc1e8236b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6836 zcmb_heQ;b=6~AwH8`3suH*KJy3Am%tsYA2bLS%|o-84zROxl5D`%e+vTE} z_Uz_bAvV_x{dw7_oHrdH}c8a_W81FLwyIad>GuGN+#M< zc3Uc$E=;spx$&`)Xg(9YiUsI{7`Acy?rZUj{sXgY1WbD)n0-L|eK*Ws@ziIZ{B1+$ zCoVg^{!fp;Ie*iW4Y29Hx(Ko%!rhZY#d~W*qVv{oCw@d5{n54@yb?@W4QAb>HQ=>U zQuSTz$rw&a#xFYNPe1qSs(pi7jy-tC*;UVf?Yfp5UujtVnQz{G;Gwy@4qW%@@%_yY z{pxJ{?oYq5wdXG{7q%QbaQ3G4KYw)JAMURFb#lw2FMP52!7HxUZauGy^)n*^-blft z2+~h!1u6ACRr-18H!o+8(N~j5BHe&_Mp`3QiC2(L`s^9#?lNs(DN0rL-$2*IK6yYZ zNU5(zQGb0GRq5ZU!ar4|zW{x)J?q5dRrW%aeq)vX-75V*(EaUsxXLat_ijk$lIhX@ zBqp6OcMkTMwv%&4lX=(44fb`VGHGYfN~9cNnxo^Hw3&CUoNJoG+_ldf@NiuzE1!4r zs`!Nqk0jGcVdBRX*<`veV>?1uyw`CHS&=QIQrBj?(_NXgo6Dqxog7WNR%*bpY_@Wk zYvO9*Ou&Ja$mHM#&2~qG4qbAOBidd)N@ll5G!jcPgx7xV056zD~I2^LO2 zQ!L&=rdVv(F@^ohOtA=um}2qTOfk8}m|_v8n6AR6$#ezw%6QwUD}^{+J9%P0G}BfN z%}kY7%^aSoJ@ZI;I*7`jJUkoz^X;?KuRUDW@=ttn(I?;IlaKi1TYd7RPoD6}S)V*c zdAc|!W{Pv6@O}TNj}%Lx2-+sv%HhYR%Av>F%5`F@To;=vzgVf9J_ByWy6nJ$c?{f$ z{Km*sIT$-U6NnuBmk$SrI#04vJ#wIPz+N7idRaY-O34TG3n< z;o{s;Pc|Um?a2p`)&UpwhGGvv$|lf_ctNU@Yaxoy^T>D-|cwW0o=SrISJ8S$HEL$P0%FM_|?aIv&J zQY`U1Ys6sb%}QlGu=820k1;U%yTrcYeB}!IsJ%j*{BPx;w@k!�n?DB>rmV+NuL{ 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 diff --git a/gpio/info_ultrasound.c b/gpio/info_ultrasound.c index e17200e..60ce7b2 100644 --- a/gpio/info_ultrasound.c +++ b/gpio/info_ultrasound.c @@ -5,7 +5,6 @@ int main(int argc, char * argv[]) { - int i; if( argc != 3) { exit(0); } diff --git a/gpio/log/light.pid b/gpio/log/light.pid index fb2f0cb..7bd5dc0 100644 --- a/gpio/log/light.pid +++ b/gpio/log/light.pid @@ -1 +1 @@ -8982 +30955 diff --git a/gpio/log/wind.pid b/gpio/log/wind.pid index 384e6e6..e17bc24 100644 --- a/gpio/log/wind.pid +++ b/gpio/log/wind.pid @@ -1 +1 @@ -7721 +1299 diff --git a/gpio/log/wind_daemon.pid b/gpio/log/wind_daemon.pid new file mode 100644 index 0000000..70bdf7b --- /dev/null +++ b/gpio/log/wind_daemon.pid @@ -0,0 +1 @@ +1297 diff --git a/gpio/wind b/gpio/wind deleted file mode 100644 index 101f43ffbfc20cb845c72a4e38fa3735ef3899a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8400 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 F{{YXSYf%6I diff --git a/gpio/wind.c b/gpio/wind.c index 97f45e4..6974705 100644 --- a/gpio/wind.c +++ b/gpio/wind.c @@ -1,4 +1,9 @@ -#include +/* DS18B20 温度传感器 + * + * + */ + + #include #include #include @@ -11,6 +16,8 @@ int main(int argc, char *argv[]) { + int _main(char *optarg); + int ch; opterr = 0; while((ch = getopt(argc, argv, "d:h?")) != -1) @@ -25,6 +32,7 @@ int main(int argc, char *argv[]) default: ; } + return 1; } int _main(char *optarg) @@ -37,10 +45,10 @@ int _main(char *optarg) FILE *fp; char *temp; float value; - char *device; // 设备 - if(optarg == '\0') - strcmp(device, optarg); - + //char *device; // 设备 + //if(optarg == '\0') { + // strcmp(device, optarg); + //} system("sudo modprobe w1-gpio"); system("sudo modprobe w1-therm"); if((dirp = opendir(path)) == NULL) { @@ -48,7 +56,7 @@ int _main(char *optarg) } while((direntp = readdir(dirp)) != NULL) { - if(strstr(direntp->d_name, device)) { + if(strstr(direntp->d_name, optarg)) { strcpy(rom, direntp->d_name); } } @@ -71,6 +79,5 @@ int _main(char *optarg) printf("%.0f\n", value); fclose(fp); - return 0; + return value; } -