From 25688c3437fe06e76d6748b93f15c1e001e2fa09 Mon Sep 17 00:00:00 2001 From: aixiao Date: Sat, 10 Feb 2018 22:45:55 +0800 Subject: [PATCH] 20180210 --- raspberrypi_zero/gpio/.tar.bz2 | Bin 0 -> 10206 bytes raspberrypi_zero/gpio/data/infrared.data | 1 + raspberrypi_zero/gpio/data/sound.data | 1 + raspberrypi_zero/gpio/info.sh | 118 ++++++++++++++++------- raspberrypi_zero/gpio/info_infrared.c | 16 +-- raspberrypi_zero/gpio/info_pin.c | 8 -- raspberrypi_zero/gpio/info_sound | Bin 0 -> 8468 bytes raspberrypi_zero/gpio/info_sound.c | 23 +++++ 8 files changed, 110 insertions(+), 57 deletions(-) create mode 100644 raspberrypi_zero/gpio/.tar.bz2 create mode 100644 raspberrypi_zero/gpio/data/infrared.data create mode 100644 raspberrypi_zero/gpio/data/sound.data create mode 100644 raspberrypi_zero/gpio/info_sound create mode 100644 raspberrypi_zero/gpio/info_sound.c diff --git a/raspberrypi_zero/gpio/.tar.bz2 b/raspberrypi_zero/gpio/.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..3f6db396d34aee6ee8c887668bcd2baf600b389f GIT binary patch literal 10206 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 data/temperature.data; + fi + SLEEP 60; + done } function getcpudata() @@ -46,9 +48,10 @@ function getcpudata() echo "Cpu Percentage: ${percentage}%"; } -function lightinfo() +function INIT() { - bindir="/root/gpio" + null="/dev/null"; + bindir="/root/gpio"; ! test -d ${bindir} && exit 1; #时间范围 high="1500"; @@ -67,7 +70,11 @@ function lightinfo() #判断人体红外线传感器 #infrared=$(${bindir}/info_infrared ${wiringpi_infrared}); - infrared=$(cat ${bindir}/infrared.log 2> /dev/null); + infrared=$(cat ${bindir}/data/infrared.data 2> /dev/null); + + #声音传感器 + wiringpi_sound=25; + sound=$(cat ${bindir}/data/sound.data 2> /dev/null); #距离传感器 l="60"; @@ -86,21 +93,15 @@ function lightinfo() } -#DATE; -#getcpudata; -#get18b20data >> ~/temperature.txt; -lightinfo; - - function WHILE() { while true; do - ${bindir}/info_infrared ${wiringpi_infrared} > infrared.log - SLEEP 1 + ${bindir}/info_infrared ${wiringpi_infrared} > data/infrared.data; + SLEEP 1; done } -function main_() +function light() { while true; do if [ "${now}" -ge "${high}" -a "${now}" -le "${low}" ]; then #检测时间段 @@ -122,14 +123,37 @@ while true; do ${stop_light}; fi fi - lightinfo; #再次获取信息 + INIT; #再次获取信息 SLEEP 1; #睡眠 done } -while getopts :ds: pi +function light_daemon() +{ + while true; do + ${bindir}/info_infrared ${wiringpi_infrared} > data/infrared.data; + SLEEP 1; + done +} + +function sound_daemon() +{ + while :; do + ${bindir}/info_sound ${wiringpi_sound} > data/sound.data + SLEEP 0.3; + done +} + +function sound() +{ + : +} + + +INIT; +while getopts :ds:x ai do -case ${pi} in +case ${ai} in d) daemon='&'; ;; @@ -138,7 +162,8 @@ case ${pi} in "stop") array=$(ls ${bindir}/log/) for arr in ${array[@]}; do - kill $(cat ${bindir}/log/${arr}) + kill $(cat ${bindir}/log/${arr}) &> ${null} + rm ${bindir}/log/${arr} 2> ${null} done exit 0 ;; @@ -148,12 +173,19 @@ case ${pi} in esac exit 0 ;; + x) + set -x + ;; h|?) - echo " -raspberrypi zero w 智能灯控 -$0 Usage: $0 [-?|h] [-d] [-s] - -d Daemon. - -s kill Daemon, signal: stop. + echo -ne " +\e[1;31mraspberrypi zero w 智能家居\e[0m +$0 Usage: $0 [-?|h] [-d] [-s] [-x] [light|temperature] + -d : Daemon. + -s : kill Daemon, signal: stop. + -x : Print commands and their arguments as they are executed. + + light : light Modular. + temperature : temperature Modular. by aixiao. " @@ -162,8 +194,26 @@ exit 0 esac done -WHILE & -WHILEID="$(echo $!)" -echo ${WHILEID} > log/infrared.pid 2> /dev/null -eval main_ ${daemon} -echo $! > log/main.pid 2> /dev/null +shift $((OPTIND-1)) +case ${1} in + light) + light_daemon & + light_daemon_id="$(echo $!)" + echo ${light_daemon_id} > log/infrared.pid 2> ${null} + eval light ${daemon} + echo $! > log/light.pid 2> ${null} + ;; + temperature) + #get18b20data & + #echo $! > log/temperature.pid 2> ${null} + : + ;; + sound) + sound_daemon & + echo $! > log/sound.pid 2> ${null}; + eval sound ${daemon}; + ;; + *) + exit 1; + ;; +esac diff --git a/raspberrypi_zero/gpio/info_infrared.c b/raspberrypi_zero/gpio/info_infrared.c index 1226d91..410e5c8 100644 --- a/raspberrypi_zero/gpio/info_infrared.c +++ b/raspberrypi_zero/gpio/info_infrared.c @@ -10,27 +10,13 @@ int main(int argc, char *argv[]) } int pin = atol(argv[1]); int status = 0; + wiringPiSetup(); - //设置为输入模式 pinMode(pin, INPUT); - //很重要。控制默认情况下此PIN处于下拉低电平状态 pullUpDnControl(pin, PUD_DOWN); -/* - while(true) - { - delay(1000); - //读取当前pin的输入状态 - if(digitalRead(pin) == 1) { - printf("There is somebody here\n"); - } - else { - printf("There is no one here\n"); - } - } -*/ status = digitalRead(pin); printf("%d\n", status); diff --git a/raspberrypi_zero/gpio/info_pin.c b/raspberrypi_zero/gpio/info_pin.c index d1ae6b9..2cd857b 100644 --- a/raspberrypi_zero/gpio/info_pin.c +++ b/raspberrypi_zero/gpio/info_pin.c @@ -20,13 +20,5 @@ int main(int argc, char *argv[]) int pin = atol(argv[1]); wiringPiSetup(); pinMode(pin, OUTPUT); - /* - while(1) { - digitalWrite(28, HIGH); - digitalWrite(28, LOW); - } - - return digitalRead(28); - */ printf("%d\n", digitalRead(pin)); } diff --git a/raspberrypi_zero/gpio/info_sound b/raspberrypi_zero/gpio/info_sound new file mode 100644 index 0000000000000000000000000000000000000000..0c0936b3936999d164c85b8907c908502a397ba9 GIT binary patch literal 8468 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 +#include +#include +#include + +int main(int argc, char *argv[]) +{ + if(argc != 2) { + exit(0); + } + int pin = atol(argv[1]); + int status = 0; + + wiringPiSetup(); + + pinMode(pin, INPUT); + + pullUpDnControl(pin, PUD_DOWN); + + status = digitalRead(pin); + printf("%d\n", status); + +}