Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: René Baran 14 Srpna 2009, 13:30:20
-
Ahoj vsichni.
Mam problem a nevim si s nim rady. Posilam na seriovy port COM1 prikaz (ATZ, ...).
echo "...." > /dev/ttyS0
chci precist odpovet (navratovou hodnotu) prikazem
cat /dev/ttyS0
a nic mi nevrati. Kdyz vsak posilam dane prikazy v terminalu modemu, tak zarizeni komunikuje spravne. Testoval jsem i runscript, ale nejak mi to nejde. Nastaven port mam pres minicom a spravne. Poradi mi, prosim, nekdo, jak precist zpetne odpoved (navratovou hodnotu) z command line? Nechce se mi to programovat v cecku. Na netu jsem sice toho nasel dost, ale casto se to opakovalo a to co tam bylo nefunguje. Nejspis problem s timeoutem. Diky moc.
Renek
-
Zdravím Vás,
máte, předpokládám, spojeny špičky Rx a Tx konektoru ...
Pokud ano, potom byste mohl zkusit, to, co i mě poradil kdysi kiklhorn , cituji :
"Jestli chodí komunikace otestujte buď z commandline ( všechno je soubor), nebo hezky pohodlně "sudo apt-get install gtkterm", naleznete jej v menu, nebo "gtkterm".
Konec citace.
Tímto se prověří komunikace na hw úrovni.
Pokud Vám bude tohle chodit, tak můžete přejít na sejmutí přijatých znaků z command line...
-
Zdravim.
Dekuji. Pouzil jsem terminal minicom a vse fungovalo. Jedna se mi o zachytavani hodnot z cmdline :-( Zarizeni mi jinak funguje. To jsem jako prvni otestoval.
Rene
-
Zdravím Vás,
Možná je problém v tom, že nejdříve je třeba nastavit "naslouchání" a až poté vysílat.
Také je třeba se ujistit, že si /dev/ttyS0 neuzurpuje pro sebe nějaká softwarová havěť...
Já nemám plnotučné RS 232 vyvedené na CAN 9 na svojí rachotině, pouze USB.
Takže do jeho slotu "vrazím" konvertor RS 232 <-> USB, který se automaticky namapuje
u mě jako /dev/ttyUSB0, což ale nemá na princip žádný vliv. Vyzkoušejte následující
přesně v pořadí, jak jsem napsal, to musí fachčit...
Takže :
1. Já vrazím konvertor RS 232 <-> USB do USB slotu
(!! Samozřejmě mám spojeno Rx a Tx na CAN 9 tohoto konvertoru !!) a příkazem
ls -l
se ujistím, že se namapoval , vypíše se :
crw-rw---- 1 root dialout 188, 0 2009-08-14 16:43 /dev/ttyUSB0
Tento krok ve Vašem případě odpadá...
2. Nastavím naslouchače : otevřu terminálové okno, zadám:
cat</dev/ttyUSB0 Enter
3. A jdu vysílat, otevřu JINÉ (další ) terminálové okno a vložím do něj :
sudo echo
blablablablablabllablablablablablablablablablablablablablablablablablablabablabblablablablablabllablablablablablablablablablablablablablablablablablablabablablablablablablablablablablalablablablablablablablabla > /dev/ttyUSB0 Enter
Okamžitě po stisku Enter v bodě 3 se mi objeví text v "naslouchacím okně".
Schválně dávám dlouhý text, protože při krátkých textech se v naslouchacím okně
čtení nezastaví, ale pokračuje dál, možná to nějak souvisí s bufferováním,
to by mohli vědět Linux guruové. Krátké texty jen "probliknou"...
Tolik o stavu vod na sériových tocích, testněte to a dejte případně vědět, hodně zdaru zatím ,
jdu krotit potomky ...... ;D ;D
-
Zdravim.
Dane zarizeni neni blokovano nicim. Ale to naslouchani je dobry napad. Je mozne, ze to je tim. Dik za tip, vyzkousim.
R.
-
Hodne zdaru s krocenim potomku :-))))))))))
-
Zdravím Vás,
Možná je problém v tom, že nejdříve je třeba nastavit "naslouchání" a až poté vysílat.
Také je třeba se ujistit, že si /dev/ttyS0 neuzurpuje pro sebe nějaká softwarová havěť...
Já nemám plnotučné RS 232 vyvedené na CAN 9 na svojí rachotině, pouze USB.
Takže do jeho slotu "vrazím" konvertor RS 232 <-> USB, který se automaticky namapuje
u mě jako /dev/ttyUSB0, což ale nemá na princip žádný vliv. Vyzkoušejte následující
přesně v pořadí, jak jsem napsal, to musí fachčit...
Takže :
1. Já vrazím konvertor RS 232 <-> USB do USB slotu
(!! Samozřejmě mám spojeno Rx a Tx na CAN 9 tohoto konvertoru !!) a příkazem
ls -l
se ujistím, že se namapoval , vypíše se :
crw-rw---- 1 root dialout 188, 0 2009-08-14 16:43 /dev/ttyUSB0
Tento krok ve Vašem případě odpadá...
2. Nastavím naslouchače : otevřu terminálové okno, zadám:
cat</dev/ttyUSB0 Enter
3. A jdu vysílat, otevřu JINÉ (další ) terminálové okno a vložím do něj :
sudo echo
blablablablablabllablablablablablablablablablablablablablablablablablablabablabblablablablablabllablablablablablablablablablablablablablablablablablablabablablablablablablablablablablalablablablablablablablabla > /dev/ttyUSB0 Enter
Okamžitě po stisku Enter v bodě 3 se mi objeví text v "naslouchacím okně".
Schválně dávám dlouhý text, protože při krátkých textech se v naslouchacím okně
čtení nezastaví, ale pokračuje dál, možná to nějak souvisí s bufferováním,
to by mohli vědět Linux guruové. Krátké texty jen "probliknou"...
Tolik o stavu vod na sériových tocích, testněte to a dejte případně vědět, hodně zdaru zatím ,
jdu krotit potomky ...... ;D ;D
ahoj, narazil jsem na tohle téma a zrovna se hodí. Zapnu konvertor, ls -l se podívám, že tam je, pak poslouchám, ale žádná zpráva se mi neukáže (posílám jí dlouhou a samozřejmě mám zkratovaný tx rx). Máte nápad, co s tim?
Honza