lightd/etc/lightd.conf | ●●●●● patch | view | raw | blame | history | |
lightd/hal/hal.c | ●●●●● patch | view | raw | blame | history | |
lightd/hal/hal.h | ●●●●● patch | view | raw | blame | history | |
lightd/hal/tsl2561.c | ●●●●● patch | view | raw | blame | history | |
lightd/main.c | ●●●●● patch | view | raw | blame | history |
lightd/etc/lightd.conf
@@ -16,7 +16,7 @@ light_intval=15 # 光强传感器采样值低于该阈值将开灯 lux_threshold=0.02 lux_threshold=0.10 [logger] lightd/hal/hal.c
@@ -12,7 +12,6 @@ ********************************************************************************/ #include "lylib/logger.h" #include "tsl2561.h" #include "hal.h" #define RPI_GPIONAME "gpiochip0" lightd/hal/hal.h
@@ -16,6 +16,8 @@ #include <gpiod.h> #include "tsl2561.h" #define OFF 0 #define ON 1 lightd/hal/tsl2561.c
@@ -12,8 +12,6 @@ * ********************************************************************************/ #include <wiringPi.h> #include <wiringPiI2C.h> #include <string.h> #include <stdio.h> #include <stdlib.h> @@ -187,6 +185,7 @@ OUT: tsl2561_power(OFF); return lux; } lightd/main.c
@@ -16,6 +16,7 @@ #include <getopt.h> #include <libgen.h> #include <string.h> #include <math.h> #include <cjson/cJSON.h> #include <mosquitto.h> @@ -67,7 +68,7 @@ int debug = 0; int opt; char *progname=NULL; double lux = 0.0; float lux = 0.0; struct option long_options[] = { {"conf", required_argument, NULL, 'c'}, @@ -147,11 +148,24 @@ log_nrml("Start infrared monitor thread working...\n"); while( ! g_signal.stop ) { lux = tsl2561_get_lux(); if( lux > hal_ctx->lux_threshold ) { log_nrml("Lux[%.3f] > Treshold[%.3f], don't need auto light.\n", lux, hal_ctx->lux_threshold); sleep(30); continue; } log_nrml("start infrared monitor detect...\n"); if( infrared_detect() ) { log_nrml("Someone incoming detected by infrared\n"); if( lux < hal_ctx->lux_threshold ) { log_nrml("Lux[%.3f] < Treshold[%.3f], auto light on now..\n", lux, hal_ctx->lux_threshold); turn_light(LIGHT_HALLWAY, ON); alarm(hal_ctx->light_intval); } } } @@ -280,7 +294,7 @@ else if( strcasestr(value, "off") ) { turn_light(LIGHT_LVROOM_RIGHT, OFF); log_nrml("Turn on livingroom right light\n"); log_nrml("Turn off livingroom right light\n"); } }