Ne nevessetek ki, de elbizonytalanodtam. Ugye home office, nálam van a hardware, amelyikkel USB fölötti virtuális soros porton lehet kommunikálni, tehát CDC class. Elküldöm a parancsot, a hardware végre is hajtja, mindenféle LED-eken ezt látom, tehát odafelé megy a kommunikáció. Valami olyasmi, hogy
echo -en 'itt egy bináris stream' >/dev/ttyACM0
Viszont a szerkezet küld egy választ is, amihez nem tudok hozzájutni. Ezzel próbálkoztam:
od -An -tx1 </dev/ttyACM0
Gyanítom, az a probléma, hogy a kernel bufferel, nekem meg alig néhány byte-os válaszom van. Hogyan juthatok hozzá a válaszhoz? Lényegében olyasmi hiányzik - bár az kimenetnél van -, mint amit az awk fflush() csinál. De ez csak megérzés, mert nem tudom, hol akad el az adat. A dialout csoportnak van rw joga a ttyACM0-ra, s benne vagyok a dialout csoportban.
Megoldás
echo -ne 'itt van egy parancs' | socat - file:/dev/ttyACM0,nonblock,raw,echo=0,b115200 | od -An -tx1
- 184 megtekintés
Hozzászólások
Most egy moserial nevű terminállal próbálkozom. Vicces, mert ezen a küldött parancs nem hajtódik végre, jön valami error a válaszban. Ugyanakkor shellből egy sima echo-val küldött parancsot végrehajtja, csak a válaszhoz nem jutok hozzá. Azért nem akartam terminált, mert scriptet írnék rá. Illetve jó lenne C-ben is, csak picit macerásabb.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Én ilyen parancsot használok valahol, ezt lehet figurázni:
$ socat - file:/dev/tts/1,nonblock,raw,echo=0,b9600
- A hozzászóláshoz be kell jelentkezni
Köszi, ezt megtanulmányozom.
Közben néztem, úgy néz ki, bugos a moserial. CuteCom legalább hajlandó kommunikálni vele mindkét irányban.
Akkor nézem ezt a socat-ot.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Ugyan a Háború és béke rövidebb, mint a man socat
, ennek ellenére abból, amit írtál, bele tudtam pipe-olni, amit akartam, a választ is visszaadta, így meg már vidáman scriptelhetem ezt.
Köszönöm szépen! :)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
man-t csak azok a pelenkás fejlesztők olvasnak, akik nem tudnak stackoverflow-ról összeszedett félparancsokból félig-meddig működő szarokat összetákolni anélkül, hogy fogalmuk lenne mit miért csinálnak :-)
Szívesen!
- A hozzászóláshoz be kell jelentkezni
Meg azok, akik utána a széthullott rendszert próbálják gatyába rázni, és rájönni, hogy az SO-mágusok mi a sz*rt csináltak. :)
- A hozzászóláshoz be kell jelentkezni
elvileg a screen parancs is tud serialba irni/olvasni.
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Ha van rá mód, akkor expect , de a ppp chat programja is megfelelő lehet erre.
- A hozzászóláshoz be kell jelentkezni
Végül awk-ban írtam meg. Egyedül annyi kinézés van a shell-re, hogy összeállítom a parancssort egy stringben, aztán ezt végrehajtatom awk-ból, aki visszahívja a shellt, az outputot meg getline-ba pipe-olom. A feldolgozás mehet tovább awk-ban.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni