Sziasztok!
Egy olyan megoldásra lenne szükségem, hogy egy számítógépből valahogy kiküldök alfanumerikus információt és az egy másik számítógépen usb-s billentyűzetként mintha gombleütések lennének jut be a másik gépbe.
Valaki küzdött már ilyennel?
Köszönöm!
- 851 megtekintés
Hozzászólások
Hogyan küldenéd ki? Pl. a vonalkódolvasók működnek hasonlóan, de szerintem GitHub-on is hamar találsz olyan kódot, hogyan programozd ezt le 5 perc alatt egy Arduino-ra.
pl.: https://docs.arduino.cc/tutorials/micro/keyboard-press - aztán, hogy honnan, hogyan küldöd bele, hogy milyen billentyűleütéseket küldjön ki, az már egyéni fantázia kérdése.
"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"
- A hozzászóláshoz be kell jelentkezni
a kiküldés mindegy, ethernet, com port, usb, bárhogy, a lényeg, hogy a túl oldalon ez egy billentyűzet leütés legyen usb porton
- A hozzászóláshoz be kell jelentkezni
Adott USB porton menjen be mindenképp, vagy "csak" kerüljön be a billenytűzet pufferbe az infó?
- A hozzászóláshoz be kell jelentkezni
Egy gép (nyomtató) usb portján kell bemenni az információnak mint billentyű leütés.
- A hozzászóláshoz be kell jelentkezni
Akkor ez egy kicsit más dolog, mint amire itt elsőre asszociáltunk...legalábbis én.
Akkor van a printeren "USB host" port is, ahova hardveresen egy billenyűzetet kellene emulálni "távvezérléssel.
Jól gondolom hogy ez valami címkenyomtató?
- A hozzászóláshoz be kell jelentkezni
nem cimke nyomtatás, pusztán információt akarok bejuttatni a nyomtatóba, amivel az kezd majd valamit. a lényeg, hogy számítógépből információ kimegy és az egy usb porton mint billentyűzet bemegy.
- A hozzászóláshoz be kell jelentkezni
Ok, de sima billentyűzettel tudja ezt és csak a távvezérlés a probléma? vagy csak egy sima USB-s nyomtató és ezt "szeretnéd"?
Kicsit több mindent elárulhatnál, hogy ne megint XY problémamegoldásba menjünk át- mert pl. a felvezetődben számítógépet írtá, mint fogadó eszköz.
- A hozzászóláshoz be kell jelentkezni
igen a felvezetőmben számítógépet írtam, de írhatnék egy okos TV-t is, vagy bármit amire lehet usb-s billentyűzetet kötni
- A hozzászóláshoz be kell jelentkezni
Így van, írhattál volna és akkor nem fogadó oldali softveres megoldásban kezd el gondolkodni 1-2 ember és megy vele az ideje.
Ha HW-es kell akkor meg itt van amit profikam írt.
- A hozzászóláshoz be kell jelentkezni
egy számítógépből valahogy kiküldök alfanumerikus információt és az egy másik számítógépen usb-s billentyűzetként mintha gombleütések lennének jut be a másik gépbe
Bocs, de szerintem elég tiszta volt, hogy nem OS szintű, szoftveres megoldás kerestetik :)
"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"
- A hozzászóláshoz be kell jelentkezni
Lehet, de mégis páran arra mozdultak, szóval nem volt az.
- A hozzászóláshoz be kell jelentkezni
rajtad kívül nem volt több, így a "páran" nem helytálló :)
- A hozzászóláshoz be kell jelentkezni
én pont nem, de pl asch igen....
kérdezni is tudni kell.
- A hozzászóláshoz be kell jelentkezni
Igen, az zavart össze, hogy a másik oldalra azt írta, hogy "számítógép", nem azt, hogy nyomtató. Ok, tudjuk, hogy a nyomtató is számítógép, csak beágyazott... Sokszor az van, hogy a kérdező valójában nem tudja mit akar, és egyszerűbb a tisztán szoftveres megoldás.
A nyomtató esetén fogalmunk sincsen, hogy mi az alap probléma... Lehet, hogy erre is lenne értelmesebb megoldás, mint USB-s billentyűzetet szimulálni.
- A hozzászóláshoz be kell jelentkezni
Természetesen az alapprobléma/feladat megoldásának más lehetősége is meg lett vizsgálva (elég hosszú és ha nem baj nem fejtem ki), de ez a legoptimálisabb útja a megoldásnak.
- A hozzászóláshoz be kell jelentkezni
Azért röviden leírhatnád, mert el nem tudom képzelni, mi az alap felvetés/feladat.
- A hozzászóláshoz be kell jelentkezni
Ezt nem igazan ertem. Tehat, a nyomtaton van USB Host/Master tipusu dugo (tehat 'A' vagy ujabban 'C') amibe akar dughatsz billentyuzetet is? A nyomtatokon USB Client/Slave tipusu dugo (regebben 'B' ujabban 'C') szokott lenni. Ha ez az USB eszkoz Master eszkoz, akkor dughatsz ra keyboardot, de ha ez egy mezei nyomtato, ami "IEEE 1284 over USB" szolgaltatasu kliens, akkor erre hiaba dugsz keyboardot. Nem minden 'C' foglalat jelenti azt, hogy az egy Master eszkoz.
Mi az a cel, amit el akarsz erni?
- A hozzászóláshoz be kell jelentkezni
A cél, hogy úgy juttassak be a nyomtatónak információt, mintha egy billentyűzet lenne rádugva és az információ forrása egy tetszőleges számítógép.
- A hozzászóláshoz be kell jelentkezni
... mert ha rádugol a nyomasztóra egy billentyűt, akkor az fogadja a nyomkodásaidat, és csinál rájuk valamit?
"Normális ember már nem kommentel sehol." (c) Poli
- A hozzászóláshoz be kell jelentkezni
"Mama egy lóf*szt.."
Semmit nem fog csinálni a nyomtató.
HWID -t nem találja. Ha nem tudja úgy beazonosítani, hogy egy storage device, akkor letiltja.
HID device-t nem tud kezelni a nyomtató.
Két fogos kérdés:
- HID device-t használhatnak-e robotok ??
- USB-s művagina HID interface-nek minősül ?
Istennel a hazáért és a szabadságért !
- A hozzászóláshoz be kell jelentkezni
de igen ,fog csinálni a nyomtató pár dolgot, ez a dolga
- A hozzászóláshoz be kell jelentkezni
pontosan milyen nyomtató?
Mit csinál, ha rákötsz igazi billenytűzetet?
Azt kell megérteni, hogy amikor pécére van kötve, akkor van driver, ami a nyomtatónak tetsző módon kommunikál. Nem a billentyűzettel kommunikál. Akkor is, ha nem te telepíted, hanem alapból felismeri az oprendszer, mert egy általános eszköz driverrel is megy.
Volt nekem is olyan hp 656c usb nyomtatóm, ami ette azokat a parancsokat, amit anno dos alól is lehetett küldeni a régi soros/párhuzamos portos nyomtatóknál. De ott is volt egy szoftveres réteg.
Az usb billentyűzetnek is van drivere. Régen volt még valami usb-ps2 átalakítás, de ott lehet a billentyűzet vagy egér tudott olyan protokolt is használni és átküldeni a más alakú csatlakozón.
- A hozzászóláshoz be kell jelentkezni
nagyobb méretű nyomtató, aminek van olyan usb portja amire digit kamerát, pen drive-ot és billentyűt is lehet dugni, és kezeli az inputot és azzal azt csinál amit a benne telepített szoftver elvégez (mert a nagy gépekre lehet szoftvereket is telepíteni / készíteni)
- A hozzászóláshoz be kell jelentkezni
Aha, na így már más. Azt nem írtad, hogyan használnád. Látod a képernyőjét és át akarsz nyúlni két bill nélkül a másikba is-e vagy távolról elérni.
Ha valami linux fut rajta és hálózaton is van, akkor lehet hogy simán virtuális kvm szoftverrel kvázi át lehet húzni az egeret és billt rá.
Barrier - a synergy opensource részére épül https://github.com/debauchee/barrier
Multiplatform. Ha win-es gépek közt kéne, akkor az ms mouse without borders egy fokkal kiforrottabb. Ezeknek nem natív usb billentyűzetként mennek valsz, máshogy oldja meg.
Ha valami zártabb rendszer és tényleg usb eszközként kell megjelenjen, akkor a mások által emlegetett kütyük tudhatnak USB gadget módot, amivel akár billentyűzetként is mutathatja magát, akkor gondolom kell valami szoftver, amivel be ssh-zol és az ablakban pötyögött gombokat kiadja usb-n. Pi zero w / zero 2 w. Ha lan kell, akkor esetleg pi4 azt hiszem a type-c csatin, amit amúgy tápnak használ van a gadget képes usb-je.
Példa: https://mtlynch.io/key-mime-pi/
Kisebb, olcsóbb kütyüként, kis fogyasztással - más célból épp ma néztem ESP32-S3 N16R8 kütyüket. Nekem az kellett, hogy valami eszköz a 3d nyomtató usb-serial portjába bedugható legyen és wifin át elérhem a soros konzolját így vele. Nincs a boardon szabad soros port, az usb-serialt nem akarom beáldozni rajta. Persze pi zero w / 2w változat erre is jó lenne, de valami kisebbet szerettem volna. És ennek elvileg van natív usb-je és valami mini linuxot tud futtatni és natív usb-je van, s a kernelben drivere a 3d nyomtatóhoz. Azt nem tudom, hogy gadget mód képes -e, mert nekem normál módban kell majd ez. És még ki sem próbáltam, kínából 8 dolcsi körül van ilyen.
- A hozzászóláshoz be kell jelentkezni
En hasonlo problemat egy USB gadget-kepes Linuxos SBC-vel (pl Beaglebone) oldottam meg par eve: az USB gadget HID eszkozkent volt bekonfigolva es USB-n csatlakoztatva a target PC-hez, es bill esemnyeket egy userspace-ben futo egyszeru program injektalta bele.
- A hozzászóláshoz be kell jelentkezni
Vagy egy ilyesmibol is ki lehet indulni: MIKROE-682. Ezen van egy AT90USB162, erre ra tud menni egy LUFA stack. Arra van peldaprogram, kimondottan billentyuzet HID jelleggel. Es mondjuk nem GPIO-rol emulalgat egy par fizikai gombot, hanem UART RX/TX-rol. Ha nagyon egyedi a projekt, akkor kb igy allnek neki. De mar az is lehet hogy off-the-shelf valami ilyesmi is mindent tud mint amit szeretne a kollega.
- A hozzászóláshoz be kell jelentkezni
Szerintem ezzel is meg lehet csinálni minimális programozással: https://unix.stackexchange.com/a/363847
Létrehozol egy HID device típusú kernel objektumot, amit billentyűzetként lát a rendszer és rábírod az X-et, hogy az inputot kösse rá az X sessionre (jó esetben ez magától megtörténik és éppen akkor kell hozzányúlni, ha ezt nem akarod). Ebből a kernel objektumból létezik olyan változat, ami valódi billentyűzet helyett userspace programból vájra az inputot, amit csak bele kell írni egy csővezetékbe és olyan lesz mintha egy ember nyomkodná.
Disclaimer: nem csináltam még ilyet, csak rágugliztam.
Egy alternatív megoldás, ha valaminek az automatizálására kell, hogy egy VNC szervert indítasz, és a VNC kliensen át küldesz billentyű kódokat. Én így szoktam UI teszt automatizálást csinálni, ha kell ilyen.
Szerk.: plusz alternatíva lehet az xdotool, amivel be lehet injektálni X szinten billentyű leütéseket.
- A hozzászóláshoz be kell jelentkezni
Fontos reszlet persze hogy ha nativan (kulso HW eszkoz nelkul) szeretned akkor tkp milyen OS-rol is volna szo?
- A hozzászóláshoz be kell jelentkezni
A forrás windows, a cél pedig egy nyomtató usb portján mint billentyűzet gombleütés bevinni az adatot.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
ja, tényleg. Ilyenből is van többféle készen kapható megoldás
- A hozzászóláshoz be kell jelentkezni
Fognék egy Raspberry Pi Zero-t (vagy ZeroW-t), szépen bekonfigurálnám a hálózatra. Mivel a Linux (meg a FreeBSD, meg a ...) tud USB Gadget módot, ezért a neten található erről szóló leírások közül kiválasztanám azt amelyik számomra legkényelmesebbnek / legérthetőbbnek / leghihetőbbnek tűnik (hint: google://"raspberry pi zero usb gadget mode keyboard emulation" pl.), és az alapján megcsinálnám, hogy az SBC billentyűzetként viselkedjen. Ezen leírásokban jellemzően van shell / python kód adott szöveg / billentyűszekvencia elküldésére, ezek közül kiválasztanám a feladathoz leginkább hasonlót, és módosítanám.
A kütyün lehet engedélyezni az ssh elkérést, így akár Win-ről is elérhető, de valószínűleg az is járható út lenne, hogy (x)inetd-ből futtatnék egy netcat alapú scriptet, ami a rácsatlakozó kliens által küldött bájtsorozatot keresztülvezeti egy csövön fent említett programocskához, ami minden karakter helyett a neki megfelelő szekvenciát küldi az USB-re. Kb. azt kell sajáét kútfőből kitalálni, hogy a távoli számítógép felől érkező bájtsorozatban mi módon jelzed azt, hogy "Kurzor fel" vagy épp "F3" billentyűt akarsz küldeni. Ha szimplán karakteres kommunikáció kell, akkor ezen se kell agyalni.
- A hozzászóláshoz be kell jelentkezni
usbip - program
Ehhez persze a nyomtató USB portját rá kell dugni egy "pc"-re ami tudja futtatni ezt ( server ), majd erre a kliens csatlakozik - utána, hogy a kliensből milyen driverrel/programmal küldesz rá parancsot azt már te fogod tudni.
- A hozzászóláshoz be kell jelentkezni