[python] RS232+Ethernet

Jan Fuchs fuky na sunstel.asu.cas.cz
Pondělí Prosinec 19 12:18:50 CET 2005


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

-- 

###############################################################
#   _    Žádný program není bezchybný, dokonalý ani nejlepší, #
#  °v°   to samé platí i o lidech a nejen o nich.             #
# /(_)\                                      -- Jan Fuchs --  #
#  ^ ^                                                        #
#        http://pleione.asu.cas.cz/~fuky     ICQ: 200692177   #
###############################################################



Další informace o konferenci Python