Python Aplicado às Redes de Comunicação Prof. Gil Pinheiro
O que é Python? Linguagem de programação Interpretada Interativa Orientada a objetos Inventada por Guido Van Rossum, em 1990 O nome Python
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
Objetivos do Python Desenhada para ser simples, apesar de poderosa Permite programação modular Grande ênfase na legibilidade Rápido desenvolvimento de aplicações
Instalação e Uso Disponível em: http://ww.python.org/download Carregar e instalar em seu computador Pode ser usada nos modos interativo batelada IDLE é o editor de programas padrão
Modo Interativo Quando os comandos são utilizados na console (IDLE), sendo processados pelo interpretador de comandos interativamente.
Porta de Comunicação 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
Portas de um PC
Usando Python com a Porta Serial (RS-232 ou RS-485)
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
Programas Exemplo Programas Exemplo da Pyserial Varredura das portas seriais disponíveis Redirecionador TCP/IP x RS-232 Emulador de terminal Telnet
Biblioteca pyserial Classe Serial
Classe Serial Exemplo de atributo Exemplo de método
Programa loopback 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
Loopback - 1 RS-232 Computador TX Windows Programa em Python Biblioteca pyserial 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
Loopback - 2 Computador - 1 Windows Programa - 1 em Python Computador - 2 Windows Programa - 2 em Python Computador1: Programa1 envia seqüência pela UART1 Programa1 entra em espera para receber seqüência Programa1 imprime seqüência na tela RS-232 Biblioteca pyserial TX RX GND RS-232 Biblioteca pyserial TX RX GND Computador2: 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 Escrever e/ou ler na porta Liberar a porta
Usando uma porta de comunicação loopback-1 Importar a biblioteca Criar objeto porta Parametrizar a porta
Usando uma porta de comunicação loopback-1 Inicializar a porta Efetuar a comunicação Enviar seqüência de bytes
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 Liberar uso da porta