crelay: import usb relay control daemon

Signed-off-by: Ted Hess <thess@kitschensync.net>
This commit is contained in:
Ted Hess 2015-08-02 20:08:34 -04:00
parent 1df699db40
commit 44aa70d796
3 changed files with 105 additions and 0 deletions

70
utils/crelay/Makefile Normal file
View File

@ -0,0 +1,70 @@
#
# Copyright (C) 2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=crelay
PKG_VERSION:=0.8-081415
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/ondrej1024/crelay
PKG_SOURCE_VERSION:=037360cf143d705ea97b32ae22460f346ad2586f
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
define Package/crelay
SECTION:=utils
CATEGORY:=Utilities
TITLE:=USB relay remote control daemon
URL:=http://github.com/ondrej1024/crelay
DEPENDS:=+libftdi1 +hidapi +libusb-1.0
endef
define Package/crelay/description
crelay is used to control different relay cards in a unified manner. It provides
several interfaces for controlling the relays locally or remotely by a web browser
or a smartphone. The card which is detected first will be used. A WebUI control is
availble on port 8000 (default)
.
Currently supported relay cards:
- Conrad USB 4-channel relay card
- Sainsmart USB 4-channel relay card
- Generic GPIO relays
- HID API compatible relay card
endef
define Build/Configure
endef
TARGET_CFLAGS+= \
-D_GNU_SOURCE \
-I$(STAGING_DIR)/usr/include/libftdi1 \
-I$(STAGING_DIR)/usr/include/hidapi
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/src \
CC="$(TARGET_CC)" \
CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)"
endef
define Package/crelay/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/crelay $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/crelay.init $(1)/etc/init.d/crelay
endef
$(eval $(call BuildPackage,crelay))

View File

@ -0,0 +1,24 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2015 OpenWrt.org
NAME=crelay
START=93
PROG=/usr/bin/${NAME}
USE_PROCD=1
# Custom relay labels (for Web GUI)
LABEL1=""
LABEL2=""
LABEL3=""
LABEL4=""
start_service() {
procd_open_instance
procd_set_param command "$PROG"
procd_append_param command -d "$LABEL1 $LABEL2 $LABEL3 $LABEL4"
procd_close_instance
}

View File

@ -0,0 +1,11 @@
--- a/src/Makefile
+++ b/src/Makefile
@@ -44,7 +44,7 @@ endif
#ifdef DRV_SAINSMART
ifeq ($(DRV_SAINSMART), y)
SRC += relay_drv_sainsmart.c
-LIBS += -lftdi
+LIBS += -lftdi1
OPTS += -DDRV_SAINSMART
endif
#ifdef DRV_HIDAPI