Belebotlottam egy érdekes eszközbe, nem állítom, hogy sokat fogok belőle használni, de bizonyos célokra praktikus lehet.
A neten "5V USB Relay" néven lelhető fel többféle színben és kialakításban, létezik 1,2,4,8 csatornás változata is, cirka 900Ft-tól kezdődően. Nálam egy zöld színű, egy csatornás változat járt tesztelésen.
Alapvetően két felhasználói célcsoportot látok az eszköznek:
1. azok, akiknek van ugyan Raspberry-je, vagy hasonló mikroszámítógépe, de nem barátkoztak meg még a rajtuk található GPIO tüskékkel és forrasztásukkal
2. azok, akiknek nincs elérhető GPIO a gépén, mondjuk csak normál PC-t, szervert használnak, amin viszont van USB csatlakozási lehetőség, de USB-vel szerelt routereken is használható, ha pl Linux alapú OpenWRT-t teszünk a készülékre.
Bekötése nem túl bonyolult: egy A-B USB kábellel bekötjük a PC-nkre, drivert nem kell telepíteni (Ha Windowsunk van és a libusb fel van rá telepítve, azt jobb, ha eltávolítjuk, mert azon keresztül nem működik, normál HID eszközként kell felismernie az operációs rendszernek) Az 5VDC tápellátású mechanikus reléje adatlap szerint AC250V/10A vagy DC 30V/10A fogyasztó ki-be kapcsolására alkalmas. A bemenetet a szokásos COM bemenetre kötve, alapból zárt (NC) vagy alapból nyitott relékimenet közül választhatunk. Amennyiben a zöld ledje világít, akkor zárt a kör, ha nem világít, akkor nyitott.
A lapka tápellátását az USB 5V-on keresztül nyeri, a vezérlés pedig az USB adatbuszon keresztül történik, egy lapkára integrált miniatür ATtiny45 vezérlőn keresztül.
És hogy mire használhatjuk? Természetesen minden, a fenti specifikációnak megfelelő fogyasztót kapcsolhatunk vele, világítástól kezdve a hűtőventillátoron át a televíziókészülékig, telefontöltőig, vagy éppen a monitorunkat is bekapcsolhatjuk automatán a Windows indításakor és kikapcsolhatjuk a géppel egyidőben.. nem beszélve az egyéb perifériákról pl nyomtató, mélynyomó és hangfalak, stb...
Windows és Linux rendszereken is használható, többféle nyílt forrású vezérlőprogram is fellelhető hozzá a neten, ami nekem rögtön működött, az ez volt:
https://github.com/pavel-a/usb-relay-hid/releases
A binárisok között többféle operációs rendszerhez is találhatunk számunkra megfelelőt, Windows-hoz (usb-relay-hid_bin-20150330a.zip) található benne egy GUIapp, aminek segítségével egérrel próbálgathatjuk és kapcsolgathatjuk a relét, de van benne egy parancssori alkalmazás is, a hidusb-relay-cmd, amivel könnyen automatizálhatjuk-ütemezhetjük a relé használatát, időtől, internetkapcsolat meglététől (pl szolgáltatói modem újraindítás) függően vagy ami épp eszünkbe jut.
A parancssori alkalmazás használat elég egyszerű, az összes csatlakoztatott USB relé lekérdezése:
./hidusb-relay-cmd enum
Az első relépanel első reléjének bekapcsolása:
./hidusb-relay-cmd on 1
Az első relépanel első reléjének kikapcsolása:
./hidusb-relay-cmd off 1
A relészámok 1-8 között lehetnek, a különböző panelekre pedig (amennyiben vagyunk olyan elvetemültek, hogy több panelt is csatlakoztatunk egy gépre) az ID=5jegyűazonosítószám parancssori paraméterrel lehet meghatározni.
ARM-ra hirtelen nem találtam kész megoldást, így Python nyelven némileg átírtam egy meglévőt, elvileg csak a "hidapi" modul a függősége a működésének: (nem kell külön .DLL vagy .SO hozzá)
https://github.com/enesbcs/Very-Simple-USB-Relay
Ahogy a fejlesztést összefogó honlapon írják, Linux alatt nem problémás a használata, ellenben Windows alatt, ha nem ismeri fel a rendszer, akkor egy USB 1.1 szabványú (lassú) hubon keresztül kell csatlakoztatnunk a gépünkhöz - nekem Windows 7 alatt USB2 csatlakozón keresztül rendben működött, Ubuntu Linux alatt USB2-vel - a várakozásoknak megfelelően - szintén azonnal ment.
UPDATE: a végére csak megtaláltam, PC-s Ubuntu és ARM-os Raspbian rendszerre is igen könnyen lehet telepíteni egy használható alkalmazást hozzá:
sudo apt-get install usbrelay
Az OpenWRT rendszeren pedig ugyanezeket a funkciókat a CRELAY segítségével érhetjük el.
Egyszerű használata pedig az alábbi.
RPIEasy mintabeállítás:
A Devices menüben valamelyik EDIT gombra kattintva felvehetünk egy "USBRelay" nevű eszközt. Amennyiben a a Hardware->Plugins&controller dependencies menüpont alatt a "hidapi" függőség telepítésre került, akkor továbbenged minket az eszközbeállítási lapra. (ha nem, akkor ezen a ponton ezt pótoljuk)
A Name-Név beállítás kötelező elem, az Enabled bepipálásával engedélyezzük az eszköz működését, a Device ID-t lenyitva választhatjuk ki a használandó sorozatszámú relét (ha több is van csatlakoztatva), a Relay number on device-nál pedig megadhatjuk, hogyha több relé van integrálva az eszközre, akkor azok közül melyik állapotát kövessük/vezéreljük ezzel a logikai eszközzel.
Ha felvettük a Controllers menüben már a Domoticz HTTP/MQTT közül valamelyiket, akkor a Send to Controller engedélyezése után, ha Submit-ot nyomunk, beírható a Domoticz-ban szereplő virtuális IDX azonosító szám.
Az Interval alapértelmezetten 0, így csak változáskor küldi be az állapotjelentést. (ha a vezérlés távolról érkezik, pl MQTT-n keresztül, akkor nem jelenti vissza ugyanarra az IDX-re, elkerülve egy végtelen ciklus létrejöttét)
A bejegyzés trackback címe:
Kommentek:
A hozzászólások a vonatkozó jogszabályok értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a Felhasználási feltételekben és az adatvédelmi tájékoztatóban.