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