19 set 2017

Python e Porta Serial

Um rascunho para comunicação comporta serial. Deveria, a partir de um menu de opções, verificar o que há em cada porta serial, ler e escrever na porta serial.  Mas não funcionou como esperado. Resultado na figura destacada do post.

[code language=”python”]

#-*- conding:’utf-8′ -*-

import serial

porta = ‘/dev/ttyUSB0’
baud_rate = 9600

def verificar_porta():
portas_ativas = []
for numero in range(1,10):
try:
obj_verifica = serial.Serial(numero)
portas_ativas.append(numero, obj_verifica.portstr)
obj_verifica.close()
except serial.SerialException:
pass
return portas_ativas

def ler_porta():
try:
valor = int(input(‘ Informe o valor para serial —> ‘))
obj_porta = serial.Serial(porta, baud_rate)
obj_porta.write(valor)
obj_porta.close()
except serial.SerialException:
print(‘ERRO: verifique se tem algo conectado a porta ‘)

def escrever_porta():
try:
obj_porta = serial.Serial(porta, baud_rate)
valor = obj_porta.read()
print(‘ Valor da serial ‘, valor)
obj_porta.close()
except serial.SerialException:
print(‘ERRO: verifique se tem algo na porta’)

if __name__ == ‘__main__’:
print(‘%s 1 – verificar portan%s 2 – ler portan%s 3 – escrever porta n%s’ %(3*’ ‘,3*’ ‘,3*’ ‘,25*’_’))
op = int(input(‘ Informe a opcao : ‘))
if op == 1:
print(‘numero da porta | nome da porta’)
for numero, portas_ativas in verificar_porta():
print(‘%d | %s’ %(numero, portas_ativas))
elif op == 2:
ler_porta()
elif op == 3:
escrever_porta()

[/code]

Comentários com solução são bem vindos.

Leave a Reply