[python] RS232+Ethernet

Tomas Pokorny Tomas na zemres.cz
Pondělí Prosinec 19 20:20:46 CET 2005


0
ja pouzivam pySerial
 http://pyserial.sourceforge.net/

 - to je pak portablilni reseni

 jediny rozdil oproti Woknum je ze misto:
   sp = serial.Serial('COM1', .... )

  se pouziva na Linux:
   sp = serial.Serial('/dev/ttyS0', ....)

T.

Jan Fuchs wrote:

> Ahoj,
> 
> 19. Dec (Monday) v 09:38:01 CET 2005, jedlicka na poll.cz napsal(a):
>>  chtel jsem se zeptat, zda jde v Pythonu (jestli existuje nejaky
>>  modul) psat aplikaci pro komunikaci po RS232 ci Ethernetu. Budu rad
>>  za kazdy odkaz, radu ci napad. 
> 
> 
> RS232:
> 
>   import os
>   import sys
>   import tty
>   
>   port = [ "/dev/ttyS0", "/dev/ttyS1" ]
>   nastaveni = [ None, None ]
>   nastaveni_puv = [ None, None ]
>   fd = [ None, None ]
>   hodnota_puv = [ 0, 0 ]
>   
>   def pripoj(cislo):
>     global port, nastaveni, nastaveni_puv, fd
>   
>     fd[cislo] = os.open(port[cislo], os.O_RDWR | os.O_NOCTTY |
os.O_NONBLOCK)
>   
>     nastaveni_puv[cislo] = tty.tcgetattr(fd[cislo]);
>     nastaveni[cislo] = nastaveni_puv[cislo];
>   
>     nastaveni[cislo][tty.ISPEED] = tty.B4800
>     nastaveni[cislo][tty.OSPEED] = tty.B4800
>     nastaveni[cislo][tty.IFLAG] &= ~(tty.IGNBRK | tty.BRKINT | tty.PARMRK
| tty.ISTRIP |
>                               tty.INLCR | tty.IGNCR | tty.ICRNL |
tty.IXON)
>     nastaveni[cislo][tty.OFLAG] &= ~tty.OPOST
>     nastaveni[cislo][tty.LFLAG] &= ~(tty.ECHO | tty.ECHONL | tty.ICANON |
tty.ISIG | tty.IEXTEN)
>     nastaveni[cislo][tty.CFLAG] &= ~(tty.CSIZE | tty.PARENB)
>     nastaveni[cislo][tty.CFLAG] |= tty.CS8
>   
>     tty.tcflush(fd[cislo], tty.TCIOFLUSH)
>     tty.tcsetattr(fd[cislo], tty.TCSANOW, nastaveni[cislo])
> 
>   def odpoj(cislo):
>     global nastaveni_puv, fd
>   
>     tty.tcflush(fd[cislo], tty.TCIOFLUSH)
>     tty.tcsetattr(fd[cislo], tty.TCSANOW, nastaveni_puv[cislo])
>     os.close(fd[cislo])
>  
>   os.write(fd[cislo], prikaz)   
> 
> Ethernet - sokety:
> 
>   http://www.root.cz/clanky/letajici-cirkus-15/
>   http://effbot.org/librarybook/socket.htm
> 
>                    S pozdravem Honza
> 




Další informace o konferenci Python