From b64d6ff04401ed85fce543b8e20c8c360fb284f5 Mon Sep 17 00:00:00 2001 From: Guo Wenxue <guowenxue@gmail.com> Date: Thu, 27 Jun 2019 13:25:23 +0800 Subject: [PATCH] Update mqttd hal code, can control relay now --- mqttd/hal/relay.h | 8 +++++--- mqttd/hal/hal.c | 4 +++- mqttd/hal/led.c | 19 ++++++++----------- mqttd/hal/relay.c | 8 ++++---- mqttd/hal/led.h | 8 ++++---- mqttd/hal/hal.h | 2 ++ mqttd/main.c | 2 +- 7 files changed, 27 insertions(+), 24 deletions(-) diff --git a/mqttd/hal/hal.c b/mqttd/hal/hal.c index 5ed9248..44f4638 100644 --- a/mqttd/hal/hal.c +++ b/mqttd/hal/hal.c @@ -15,8 +15,10 @@ int hal_init(void) { + wiringPiSetup(); + init_led(); - relay_init(); + init_relay(); #if 0 if( sht2x_init() < 0 ) diff --git a/mqttd/hal/hal.h b/mqttd/hal/hal.h index 9a1056c..7855cdd 100644 --- a/mqttd/hal/hal.h +++ b/mqttd/hal/hal.h @@ -14,6 +14,8 @@ #ifndef _HAL_H_ #define _HAL_H_ +#include <wiringPi.h> + #include "lylib/logger.h" #include "led.h" diff --git a/mqttd/hal/led.c b/mqttd/hal/led.c index c51b637..0025089 100644 --- a/mqttd/hal/led.c +++ b/mqttd/hal/led.c @@ -7,10 +7,10 @@ * * pi@raspberrypi:~ $ gpio readall show BCM and wPi pinmap * - * LED BCM wPi - * G ---- GPIO.13 ---- GPIO.23 - * R ---- GPIO.19 ---- GPIO.24 - * B ---- GPIO.26 ---- GPIO.25 + * LED BCM wPi Phy Pin + * G ---- GPIO.13 ---- GPIO.23 ---- #Pin33 + * R ---- GPIO.19 ---- GPIO.24 ---- #Pin35 + * B ---- GPIO.26 ---- GPIO.25 ---- #Pin37 * I ---- GND ---- * * Version: 1.0.0(2018/10/14) @@ -35,11 +35,9 @@ { int i; - wiringPiSetup(); - for(i=0; i<LED_MAX; i++) { - pinMode( led_gpio[i], OUTPUT ); + pinMode( led_gpio[i], OUTPUT ); } } @@ -48,11 +46,10 @@ if( which<0 || which>=LED_MAX ) return -1; - if( OFF == cmd ) - digitalWrite (led_gpio[which], LOW); - else - digitalWrite (led_gpio[which], HIGH); + digitalWrite (led_gpio[which], LOW); + else + digitalWrite (led_gpio[which], HIGH); return 0; } diff --git a/mqttd/hal/led.h b/mqttd/hal/led.h index dfc411c..da6cbcc 100644 --- a/mqttd/hal/led.h +++ b/mqttd/hal/led.h @@ -7,10 +7,10 @@ * * pi@raspberrypi:~ $ gpio readall show BCM and wPi pinmap * - * LED BCM wPi - * G ---- GPIO.13 ---- GPIO.23 - * R ---- GPIO.19 ---- GPIO.24 - * B ---- GPIO.26 ---- GPIO.25 + * LED BCM wPi #PIN + * G ---- GPIO.13 ---- GPIO.23 ---- 33 + * R ---- GPIO.19 ---- GPIO.24 ---- 35 + * B ---- GPIO.26 ---- GPIO.25 ---- 37 * I ---- GND ---- * * Version: 1.0.0(2018/10/14) diff --git a/mqttd/hal/relay.c b/mqttd/hal/relay.c index 8676837..a35eca0 100644 --- a/mqttd/hal/relay.c +++ b/mqttd/hal/relay.c @@ -12,12 +12,12 @@ ********************************************************************************/ +#include <stdio.h> #include <wiringPi.h> #include "relay.h" -void relay_init(void) +void init_relay(void) { - wiringPiSetup(); pinMode(RELAY_PIN, OUTPUT); } @@ -26,11 +26,11 @@ { if( OFF == cmd ) { - digitalWrite ( RELAY_PIN, HIGH ); + digitalWrite ( RELAY_PIN, LOW ); } else { - digitalWrite ( RELAY_PIN, LOW ); + digitalWrite ( RELAY_PIN, HIGH ); } } diff --git a/mqttd/hal/relay.h b/mqttd/hal/relay.h index af47779..dd4754d 100644 --- a/mqttd/hal/relay.h +++ b/mqttd/hal/relay.h @@ -19,10 +19,12 @@ #define OFF 0 #endif -/* I/O Pin connected to PIN#18, BCM code pin number is 24 and wPi pin number is 5 */ -#define RELAY_PIN 5 -void relay_init(void); +/* I/O Pin connected to PIN#40, BCM code pin number is 21 and wPi pin number is 29, + * can check by linux command <gpio readall> on RPi */ +#define RELAY_PIN 29 + +void init_relay(void); void turn_relay(int cmd); #endif /* ----- #ifndef _RELAY_H_ ----- */ diff --git a/mqttd/main.c b/mqttd/main.c index 48e6e85..aa88835 100644 --- a/mqttd/main.c +++ b/mqttd/main.c @@ -115,7 +115,7 @@ return -1; } log_nrml("HAL initialise ok\n"); - + install_proc_signal(); if( check_set_program_running(daemon) < 0 ) -- Gitblit v1.9.1