[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