UHIDCTL es utilidad para controlar los relés USB HID de potencia.
Esta utilidad está diseñada para funcionar para relés USB HID de potencia que se pueden encontrar en eBay o Amazon como:
For Smart Home 5V USB Relay Programmable Computer Control
Esta utilidad admite dichos dispositivos con 1, 2, 4, 8 puertos (16 dispositivos de puerto requerirán parches para que funcionen). El hardware que se probó para trabajar tiene las siguientes características (N es el número de puertos):
| Propiedad | Valor |
|---|---|
| Fabricante | www.dcttech.com |
| Producto | Usbrelay {n} |
| ID de proveedor | 0x16c0 |
| ID de producto | 0x05df |
Esta utilidad fue probada para compilar y trabajar en Linux (Ubuntu/Debian, Redhat/Fedora/Centos) y MacOS. También debería ser posible compilarlo para Windows; informe si logra hacerlo.
Primero, debe instalar la biblioteca Hidapi:
sudo apt-get install libhidapi-devsudo yum install hidapi-develbrew install hidapi Para obtener la fuente uhidctl y compilarla:
git clone https://github.com/mvp/uhidctl
cd uhidctl
make
Esto debería generar uhidctl binario.
Puede instalarlo en su sistema usando:
sudo make install
En Linux, debe configurar los permisos udev USB (de lo contrario, tendrá que ejecutarlo como root usando sudo uhidctl ). Simplemente agregue la línea siguiente a file /etc/udev/rules.d/52-usb.rules :
SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", MODE="0666"
Para que su regla de udev cambie en vigencia, reinicie o ejecute:
sudo udevadm trigger --attr-match=subsystem=usb
Para enumerar todos los relés compatibles, ejecute UHIDCTL sin parámetros:
uhidctl
Para controlar el estado de relé:
uhidctl -a 1 -p 2
Esto significa operar en el relé USB predeterminado, apagar la energía ( -a 0 o -a off ) en el puerto 2 ( -p 2 ). Las acciones compatibles son 0 on 2 off cycle 1 cycle significa apagar la energía, espere un retraso (configurable con -d ) y vuelva a encenderlo.
En Linux, es posible que deba ejecutarlo con sudo o configurar los permisos udev USB.
Si tiene más de un relé USB conectado, debe elegir un relé específico para control usando la opción -l .
Copyright (c) 2017-2020 Vadim Mikhailov
Este archivo se puede distribuir bajo los términos y condiciones de la GNU General Public License versión 2.