Python Aplicado às Comunicações

Propaganda
Python Aplicado às Redes de
Comunicação
UERJ-FEN-DETEL
Prof. Gil Pinheiro
UERJ-FEN-DETEL
Prof. Gil Pinheiro - Out/2011
O que é Python?
• Linguagem de programação
– Interpretada
– Interativa
– Orientada a objetos
UERJ-FEN-DETEL
• Inventada por Guido Van Rossum, em
1990
• O nome Python
Prof. Gil Pinheiro - Out/2011
UERJ-FEN-DETEL
Características do Python
•
•
•
•
•
•
•
Extensível (C, C++, Fortran, Java)
Orientada a objetos
Prototipagem e aprendizado rápidos
Boa legibilidade
Tratamento de exceções
Gratuita (código aberto)
Extensa biblioteca
Prof. Gil Pinheiro - Out/2011
Objetivos do Python
UERJ-FEN-DETEL
• Desenhada para ser simples, apesar de
poderosa
• Permite programação modular
• Grande ênfase na legibilidade
• Rápido desenvolvimento de aplicações
Prof. Gil Pinheiro - Out/2011
Instalação e Uso
• Disponível em:
http://ww.python.org/download
• Carregar e instalar em seu computador
• Pode ser usada nos modos
UERJ-FEN-DETEL
– interativo
– batelada
• IDLE é o editor de programas padrão
Prof. Gil Pinheiro - Out/2011
Modo Interativo
UERJ-FEN-DETEL
• Quando os comandos são utilizados na console
(IDLE), sendo processados pelo interpretador
de comandos interativamente.
Prof. Gil Pinheiro - Out/2011
Porta de Comunicação
UERJ-FEN-DETEL
• Dispositivo de comunicação de um
computador (DTE) ou equipamento de
rede (DCE)
• Exemplos: Porta Serial, porta Ethernet,
porta USB, porta Paralela
• A porta de comunicação pode ser
– Paralela – ex.: Porta de impressora
– Serial – ex.: portas RS-232, USB, Ethernet
Prof. Gil Pinheiro - Out/2011
UERJ-FEN-DETEL
Portas de um PC
Prof. Gil Pinheiro - Out/2011
UERJ-FEN-DETEL
Usando Python com a Porta
Serial (RS-232 ou RS-485)
Prof. Gil Pinheiro - Out/2011
UERJ-FEN-DETEL
Biblioteca pyserial
• Biblioteca Python para comunicação
através de porta serial (UART)
• A porta pode usar RS-232 ou RS-485
• Funciona com conversores USB/Serial
• Disponível gratuitamente em:
http://pyserial.sourceforge.net/
• Python deve estar instalado previamente
• Seguir procedimentos de instalação do
site
Prof. Gil Pinheiro - Out/2011
Programas Exemplo
• Programas Exemplo da Pyserial
UERJ-FEN-DETEL
– Varredura das portas seriais disponíveis
– Redirecionador TCP/IP x RS-232
– Emulador de terminal Telnet
Prof. Gil Pinheiro - Out/2011
Biblioteca pyserial
UERJ-FEN-DETEL
Classe Serial
Prof. Gil Pinheiro - Out/2011
UERJ-FEN-DETEL
Classe Serial
Exemplo de atributo
Exemplo de método
Prof. Gil Pinheiro - Out/2011
Programa loopback
UERJ-FEN-DETEL
• Efetua o envio e o recebimento de uma string
• Deve receber a mesma seqüência enviada
(eco), se não houver erro
• Este é o processo do loopback, receber
exatamente o que enviou.
• Serve para testar enlaces de comunicação
• Exemplos:
– loopback-1: um PC
– loopback-2: dois PCs
Prof. Gil Pinheiro - Out/2011
Loopback - 1
Computador
Windows
Programa
em Python
Biblioteca
pyserial
RS-232
UERJ-FEN-DETEL
TX
RX
GND
• Programa envia seqüência pela
UART
• Seqüência é recebida pela
UART e armazenada no buffer
• Programa entra em espera para
ler a seqüência recebida (eco)
• Programa imprime seqüência na
tela
Prof. Gil Pinheiro - Out/2011
Loopback - 2
• Computador1:
Computador - 1
Computador - 2
Windows
Windows
Programa - 1
em Python
Programa - 2
em Python
Biblioteca
pyserial
Biblioteca
pyserial
UERJ-FEN-DETEL
RS-232
TX
– Programa1 envia
seqüência pela UART1
– Programa1 entra em
espera para receber
seqüência
– Programa1 imprime
seqüência na tela
• Computador2:
RS-232
RX
GND
TX
RX
GND
Prof. Gil Pinheiro - Out/2011
– Programa2 entra em
espera para receber
seqüência
– Programa2 imprime
seqüência na tela
– Programa2 envia
seqüência pela UART2
Usando uma porta
de comunicação serial
•
•
•
•
•
Importar a biblioteca
Criar objeto “porta”
Parametrizar a “porta”
Inicializar a “porta”
Efetuar a comunicação
UERJ-FEN-DETEL
– Escrever e/ou ler na “porta”
• Liberar a “porta”
Prof. Gil Pinheiro - Out/2011
Usando uma porta
de comunicação – loopback-1
UERJ-FEN-DETEL
• Importar a biblioteca
• Criar objeto “porta”
• Parametrizar a “porta”
Prof. Gil Pinheiro - Out/2011
Usando uma porta
de comunicação – loopback-1
• Inicializar a “porta”
• Efetuar a comunicação
UERJ-FEN-DETEL
– Enviar seqüência de bytes
Prof. Gil Pinheiro - Out/2011
Usando uma porta
de comunicação – loopback-1
• Efetuar a comunicação
– Aguardar e receber seqüência de bytes (eco)
– Mostrar a seqüência recebida na tela
UERJ-FEN-DETEL
• Liberar uso da porta
Prof. Gil Pinheiro - Out/2011
Download