Uhidctl - это утилита для управления USB HID -реле.
Эта утилита предназначена для работы для USB HID -реле, которые можно найти на eBay или Amazon как:
For Smart Home 5V USB Relay Programmable Computer Control
Эта утилита поддерживает такие устройства с 1, 2, 4, 8 портами (16 портовых устройств потребуют исправления для работы). Аппаратное обеспечение, которое было протестировано на работу, имеет следующие характеристики (n - количество портов):
| Свойство | Ценить |
|---|---|
| Производитель | www.dcttech.com |
| Продукт | Usbrelay {n} |
| Идентификатор продавца | 0x16c0 |
| Идентификатор продукта | 0x05df |
Эта утилита была протестирована для компиляции и работы на Linux (Ubuntu/Debian, Redhat/Fedora/Centos) и MacOS. Должно быть возможно скомпилировать его и для Windows - пожалуйста, сообщите, если вам удастся это сделать.
Во -первых, вам нужно установить библиотеку Hidapi:
sudo apt-get install libhidapi-devsudo yum install hidapi-develbrew install hidapi Чтобы получить источник и uhidctl его:
git clone https://github.com/mvp/uhidctl
cd uhidctl
make
Это должно генерировать uhidctl .
Вы можете установить его в свою систему, используя:
sudo make install
На Linux вы должны настроить разрешения udev USB (в противном случае вам придется запустить его как корень с помощью sudo uhidctl ). Просто добавьте следующую строку в файл /etc/udev/rules.d/52-usb.rules :
SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", MODE="0666"
Для изменения правил udev , чтобы вступить в силу, перезагрузитесь или запустите:
sudo udevadm trigger --attr-match=subsystem=usb
Чтобы перечислить все совместимые реле, запустите Uhidctl без параметров:
uhidctl
Чтобы контролировать состояние реле:
uhidctl -a 1 -p 2
Это означает, что работа в реле USB по умолчанию, выключение питания ( -a 0 или -a off ) на порту 2 ( -p 2 ). Поддерживаемые действия - 0 on 2 off cycle 1 cycle означает выключение питания, подождите некоторую задержку (настраивается с -d ) и включите его обратно.
На Linux вам, возможно, придется запустить его с помощью sudo или настроить разрешения udev USB.
Если у вас подключен более одного USB -реле, вам следует выбрать конкретный реле для управления с помощью опции -l .
Copyright (C) 2017-2020 Vadim Mikhailov
Этот файл может быть распространен в соответствии с условиями общей общедоступной лицензии GNU версии 2.