From 18875a1558d264107169815e96b4a929279e975b Mon Sep 17 00:00:00 2001 From: guowenxue <guowenxue@gmail.com> Date: Wed, 30 Jan 2019 17:11:43 +0800 Subject: [PATCH] Add relay source code --- modules/c/relay.c | 63 +++++++++++++++++++++++++++++++ modules/c/relay.h | 29 ++++++++++++++ 2 files changed, 92 insertions(+), 0 deletions(-) diff --git a/modules/c/relay.c b/modules/c/relay.c new file mode 100644 index 0000000..3e360b7 --- /dev/null +++ b/modules/c/relay.c @@ -0,0 +1,63 @@ +/********************************************************************************* + * Copyright: (C) 2019 LingYun IoT System Studio + * All rights reserved. + * + * Filename: relay.c + * Description: This file + * + * Version: 1.0.0(30/01/19) + * Author: Guo Wenxue <guowenxue@gmail.com> + * ChangeLog: 1, Release initial version on "30/01/19 08:44:30" + * + ********************************************************************************/ + +#include <stdio.h> +#include <unistd.h> +#include <libgen.h> + +#include <string.h> + +#include <wiringPi.h> +#include "relay.h" + +int main (int argc, char **argv) +{ + if( argc != 2 ) + { + printf("Usage: %s [on/off]\n", basename(argv[0])); + return -1; + } + + wiringPiSetup(); + relay_init(); + + if( !strstr(argv[1], "on") || !strstr(argv[1], "on") ) + { + turn_relay(ON); + } + else if( !strstr(argv[1], "off") || !strstr(argv[1], "off") ) + { + turn_relay(OFF); + } + + return 0; +} + +void relay_init(void) +{ + pinMode(RELAY_PIN, OUTPUT); +} + + +void turn_relay(int cmd) +{ + if( OFF == cmd ) + { + digitalWrite ( RELAY_PIN, HIGH ); + } + else + { + digitalWrite ( RELAY_PIN, LOW ); + } +} + diff --git a/modules/c/relay.h b/modules/c/relay.h new file mode 100644 index 0000000..af47779 --- /dev/null +++ b/modules/c/relay.h @@ -0,0 +1,29 @@ +/******************************************************************************** + * Copyright: (C) 2019 LingYun IoT System Studio + * All rights reserved. + * + * Filename: relay.h + * Description: This head file + * + * Version: 1.0.0(30/01/19) + * Author: Guo Wenxue <guowenxue@gmail.com> + * ChangeLog: 1, Release initial version on "30/01/19 08:49:31" + * + ********************************************************************************/ + +#ifndef _RELAY_H_ +#define _RELAY_H_ + +#ifndef ON +#define ON 1 +#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); +void turn_relay(int cmd); + +#endif /* ----- #ifndef _RELAY_H_ ----- */ + -- Gitblit v1.9.1