Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Komunikace se seriovym portem  (Přečteno 5483 krát)

René Baran

  • Návštěvník
  • Příspěvků: 75
    • http://linux.remontsw.eu
Komunikace se seriovym portem
« kdy: 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





jfoot

  • Aktivní člen
  • *
  • Příspěvků: 197
  • ..nemožné ihned, zázraky do tří dnů...
Re: Komunikace se seriovym portem
« Odpověď #1 kdy: 14 Srpna 2009, 13:39:08 »
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...

« Poslední změna: 14 Srpna 2009, 14:01:04 od jfoot »
Po šesté atomové válce  povrch planety Rogoz nevypadal pěkně...

Dítě nevinné...Co ty můžeš vědět...o sadomasochistické derivaci oidipovského komplexu...(O.Neff, K. Saudek, Arnal & Dva dračí zuby)

René Baran

  • Návštěvník
  • Příspěvků: 75
    • http://linux.remontsw.eu
Re: Komunikace se seriovym portem
« Odpověď #2 kdy: 14 Srpna 2009, 14:08:47 »
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


jfoot

  • Aktivní člen
  • *
  • Příspěvků: 197
  • ..nemožné ihned, zázraky do tří dnů...
Re: Komunikace se seriovym portem
« Odpověď #3 kdy: 14 Srpna 2009, 17:09:57 »
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
   
Kód: [Vybrat]
ls -l se ujistím, že se namapoval , vypíše se :
   
Kód: [Vybrat]
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:
   
Kód: [Vybrat]
cat</dev/ttyUSB0  Enter
3. A jdu vysílat, otevřu JINÉ (další ) terminálové okno a vložím do něj :
 
Kód: [Vybrat]
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
« Poslední změna: 14 Srpna 2009, 21:33:58 od jfoot »
Po šesté atomové válce  povrch planety Rogoz nevypadal pěkně...

Dítě nevinné...Co ty můžeš vědět...o sadomasochistické derivaci oidipovského komplexu...(O.Neff, K. Saudek, Arnal & Dva dračí zuby)

René Baran

  • Návštěvník
  • Příspěvků: 75
    • http://linux.remontsw.eu
Re: Komunikace se seriovym portem
« Odpověď #4 kdy: 14 Srpna 2009, 22:44:35 »
Zdravim.

Dane zarizeni neni blokovano nicim. Ale to naslouchani je dobry napad. Je mozne, ze to je tim. Dik za tip, vyzkousim.


R.


René Baran

  • Návštěvník
  • Příspěvků: 75
    • http://linux.remontsw.eu
Re: Komunikace se seriovym portem
« Odpověď #5 kdy: 14 Srpna 2009, 22:46:22 »
Hodne zdaru s krocenim potomku :-))))))))))

Honzaa90

  • Návštěvník
  • Příspěvků: 46
Re: Komunikace se seriovym portem
« Odpověď #6 kdy: 26 Dubna 2012, 19:29:51 »
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
   
Kód: [Vybrat]
ls -l se ujistím, že se namapoval , vypíše se :
   
Kód: [Vybrat]
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:
   
Kód: [Vybrat]
cat</dev/ttyUSB0  Enter
3. A jdu vysílat, otevřu JINÉ (další ) terminálové okno a vložím do něj :
 
Kód: [Vybrat]
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

 

Provoz zaštiťuje spolek OpenAlt.