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 Binary
คุณสามารถติดตั้งในระบบของคุณโดยใช้:
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 ) การดำเนินการที่ได้รับ 2 สนับสนุนคือ 0 1 หรือ off / on / cycle ) cycle หมายถึงการปิดเครื่อง, รอความล่าช้า (กำหนดค่าได้ด้วย -d ) และเปิดใหม่
บน Linux คุณอาจต้องเรียกใช้กับ sudo หรือกำหนดค่าสิทธิ์ udev USB
หากคุณมีการเชื่อมต่อรีเลย์ USB มากกว่าหนึ่งรายการคุณควรเลือกรีเลย์เฉพาะเพื่อควบคุมโดยใช้ตัวเลือก -l
ลิขสิทธิ์ (c) 2017-2020 Vadim Mikhailov
ไฟล์นี้สามารถแจกจ่ายภายใต้ข้อกำหนดและเงื่อนไขของ GNU ทั่วไปใบอนุญาตสาธารณะ GNU เวอร์ชัน 2