From 47579e3790b1ee5a1ad2ce35ea6028cd9ddf6ea0 Mon Sep 17 00:00:00 2001 From: GuoWenxue <“guowenxue@gmail.com”> Date: Fri, 29 Apr 2022 09:23:27 +0800 Subject: [PATCH] update client_main.c to use packet_segmented_pack --- lightd/main.c | 24 +++++++++++++++++++----- 1 files changed, 19 insertions(+), 5 deletions(-) diff --git a/lightd/main.c b/lightd/main.c index 03aee1a..db7e6b5 100644 --- a/lightd/main.c +++ b/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'}, @@ -146,12 +147,25 @@ 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"); - turn_light(LIGHT_HALLWAY, ON); - alarm(hal_ctx->light_intval); + 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"); } } -- Gitblit v1.9.1