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.


 #-*- 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()

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

Anúncios

Escrito por zrhans

Professor at UFSM

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s