20
Revista das Faculdades Integradas Claretianas – N. 5 – janeiro/dezembro de 2012 70 Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP Fernando Celestino dos Santos [email protected] Faculdades Claretianas de Rio Claro Paulo Sérgio Salla Sá [email protected] Faculdades Claretianas de Rio Claro Resumo As redes de computadores, inclusive a Internet, têm sido amplamente utilizadas para o tráfego de informações, principalmente as que utilizam o protocolo TCP / IP (Transmission Control Protocol / Internet Protocol). Esse trabalho tem como objetivo estudar a implementação de uma página web dentro de um micro controlador a fim de que esse realize uma tarefa remotamente. Para isso se fará necessária a exploração das ferramentas de software fornecidas pela microchip e ferramentas de hardware como a placa de desenvolvimento Explorer 16 BR. Acreditamos que a partir desse trabalho possam surgir várias idéias de aplicação prática que venham a contribuir para o avanço tecnológico a favor da sociedade. Palavras chave: PIC. TCP IP. Internet. Acesso remoto. Automação. 1 Introdução O objeto da pesquisa é o estudo da implementação de uma página WEB dentro de um micro controlador para que através de um navegador de internet instalado em um Laptop, PC ou aparelho celular seja estabelecida uma comunicação entre o usuário e um equipamento qualquer localizado em uma posição remota para execução de tarefas solicitadas . Na indústria, em geral, já é comum esse tipo de interface possibilitando o acionamento de cargas como exaustores, aquecedores, comportas, válvulas e, também, recepção de informações utilizadas no processo como temperatura, vazão, pressão, posição, tensão, corrente e outras variáveis. Através dessa tecnologia, também é possível o envio de parâmetros de configuração e controle, bem como a atualização de softwares dos equipamentos de campo (por exemplo: sensores de fluxo, controladores de pressão, controladores de temperatura, módulos CLP´s, inversores de frequência ) . Um outro segmento onde é crescente a utilização de acionamentos remotos é na automação residencial, definida por muitos como casa inteligente ou domótica. Uma das formas de acesso ao controle dos componentes da casa é a internet. De acordo com Bolzani (2007), a integração de várias funções e equipamentos controlados e ou programados de forma racional resume o conceito de casa inteligente. Podemos citar como ilustração a rega do jardim, o controle do sistema de multimídia, a seleção de vários ambientes de iluminação, sistema contra incêndio, sistema contra invasão, aquecimento, ar condicionado, detectores de chuva, entre outros. Mas nada disso teria sentido se não proporcionasse benefícios como retorno. Os benefícios desses sistemas podem ser enumerados da seguinte maneira: 1. Economia de água e energia. 2. Conforto e comodidade dos moradores. 3. Segurança O acionamento e controle de dispositivos pela internet não deve ser pensado somente para as cidades, o meio rural também tem suas necessidades de monitoramento e controle dos processos produtivos e controle de qualidade dos produtos. É quase comum o controle total de granjas e laticínios, por exemplo. Tudo o que foi abordado até agora mostra que os sistemas já existem e, para funcionarem, basta que sejam adquiridos conforme a aplicação desejada e instalados por mão de obra qualificada. No entanto,

Revista das Faculdades Integradas Claretianas – N. 5 ...claretianobt.com.br/download?caminho=upload/cms/revista/sumarios/... · entre os sistemas finais. 2.3.2 SMTP (Simple Mail

  • Upload
    vandang

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Revista das Faculdades Integradas Claretianas – N. 5 – janeiro/dezembro de 2012

70

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

Fernando Celestino dos Santos

[email protected] Faculdades Claretianas de Rio Claro

Paulo Sérgio Salla Sá

[email protected] Faculdades Claretianas de Rio Claro

Resumo

As redes de computadores, inclusive a Internet, têm sido amplamente utilizadas para o tráfego de informações, principalmente as que utilizam o protocolo TCP / IP (Transmission Control Protocol / Internet Protocol). Esse trabalho tem como objetivo estudar a implementação de uma página web dentro de um micro controlador a fim de que esse realize uma tarefa remotamente. Para isso se fará necessária a exploração das ferramentas de software fornecidas pela microchip e ferramentas de hardware como a placa de desenvolvimento Explorer 16 BR. Acreditamos que a partir desse trabalho possam surgir várias idéias de aplicação prática que venham a contribuir para o avanço tecnológico a favor da sociedade. Palavras chave: PIC. TCP IP. Internet. Acesso remoto. Automação.

1 Introdução

O objeto da pesquisa é o estudo da implementação de uma página WEB dentro de um micro controlador

para que através de um navegador de internet instalado em um Laptop, PC ou aparelho celular seja

estabelecida uma comunicação entre o usuário e um equipamento qualquer localizado em uma posição remota

para execução de tarefas solicitadas .

Na indústria, em geral, já é comum esse tipo de interface possibilitando o acionamento de cargas como

exaustores, aquecedores, comportas, válvulas e, também, recepção de informações utilizadas no processo

como temperatura, vazão, pressão, posição, tensão, corrente e outras variáveis. Através dessa tecnologia,

também é possível o envio de parâmetros de configuração e controle, bem como a atualização de softwares

dos equipamentos de campo (por exemplo: sensores de fluxo, controladores de pressão, controladores de

temperatura, módulos CLP´s, inversores de frequência ) .

Um outro segmento onde é crescente a utilização de acionamentos remotos é na automação

residencial, definida por muitos como casa inteligente ou domótica. Uma das formas de acesso ao controle dos

componentes da casa é a internet.

De acordo com Bolzani (2007), a integração de várias funções e equipamentos controlados e ou

programados de forma racional resume o conceito de casa inteligente. Podemos citar como ilustração a rega do

jardim, o controle do sistema de multimídia, a seleção de vários ambientes de iluminação, sistema contra

incêndio, sistema contra invasão, aquecimento, ar condicionado, detectores de chuva, entre outros. Mas nada

disso teria sentido se não proporcionasse benefícios como retorno.

Os benefícios desses sistemas podem ser enumerados da seguinte maneira:

1. Economia de água e energia.

2. Conforto e comodidade dos moradores.

3. Segurança

O acionamento e controle de dispositivos pela internet não deve ser pensado somente para as cidades,

o meio rural também tem suas necessidades de monitoramento e controle dos processos produtivos e controle

de qualidade dos produtos. É quase comum o controle total de granjas e laticínios, por exemplo.

Tudo o que foi abordado até agora mostra que os sistemas já existem e, para funcionarem, basta que

sejam adquiridos conforme a aplicação desejada e instalados por mão de obra qualificada. No entanto,

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

71

poderemos, com esse trabalho, viabilizar um conhecimento mais íntimo e dedicado sobre a comunicação via

protocolo TCP/IP com um micro controlador desmistificando o funcionamento tanto de hardware quanto de

software, necessários para que o processo aconteça.

2 Desenvolvimento Teórico

2.1 Uma visão geral sobre rede de computadores

Para que o objetivo da pesquisa fosse alcançado foi necessário um estudo inicial sobre o funcionamento

das redes de computadores e seus componentes, bem como o funcionamento de suas camadas para depois nos

concentrarmos no hardware e software específicos da aplicação deste projeto.

As redes de computadores começaram a serem idealizadas por volta 1966 pelo departamento de defesa

do governo americano com o objetivo de interligar seus computadores dos diversos centros militares e de

pesquisa espalhados pelo país e conseguir manter a integridade de suas informações mesmo que parte de seus

equipamentos fossem destruídos. Nascia aí a ARPANET.

Até 1983, a ARPANET era baseada em IMPs (Interface Massage Protocol), porém o roteamento fora dos

IMPs não existia limitando o acesso à ARPANET somente aos computadores que tivessem uma conexão direta à

um IMP.

Em 1980, a ARPANET teve a parte militar separada da parte acadêmica dando origem MILNET. A

ARPANET adotou o Unix como seu sistema operacional prioritário e passou a incentivar a criação nativa do

suporte de TCP/IP nele.

O protocolo TCP/IP começou a ser projetado em 1977 com a intenção de ser o único protocolo de

comunicação da ARPANET e a partir de 1983 passou a incorporar todas as máquinas da ARPANET o que

permitiu um crescimento ordenado da rede eliminando as restrições dos protocolos anteriores.

Em 1986 a NSF (Network Science Foundation) começou a operar o backbone (espinha dorsal) de

comunicações com o nome de NSNET e iniciou a formação de diversas outras redes regionais interligando

institutos acadêmicos e de pesquisa. Essas redes foram a redes de outros países caracterizando o inicio do uso

do termo internet.

Em 1993, surgem os protocolos HTTP dando início ao WWW (Word Wide Web) que foi o grande

responsável pelo crescimento exponencial da internet.

2.2 Camadas de Rede

As redes são divididas em camadas para facilitar e preparar os dados para serem entregues à camada

superior a fim de que esta só se preocupe com as tarefas destinadas às suas atribuições que nada mais são que

preparar as informações para o próximo nível. A forma como os dados são tratados dentro de cada camada não

interessa às outras camadas podemos dizer que é “transparente”, o que importa é o pacote de dados

transferido.

Em um trecho de sua obra, Tanenbaum (1997, p. 19) elucida a proposta acima:

“Para reduzir a complexidade, a maioria das redes foi organizada como uma série de camadas ou níveis, que são colocados um em cima do outro. O número, o nome, o conteúdo e a função de cada camada difere de uma rede para outra. Em todas as redes, no entanto , o objetivo de cada camada é oferecer determinados serviços para as camadas superiores”

O modelo de referência de rede proposto é o TCP/IP e a distribuição das camadas neste modelo é como

segue abaixo:

Camada de Aplicação

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

72

Camada de Transporte

Camada de Rede

Camada de Enlace

Camada Física

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

73

Aplicação

Transporte Rede Enlace Física

Figura 1 modelo da pilha de protocolos segundo Kurose e Ross 2.3 Camada de Aplicação

Podemos estabelecer uma síntese das definições de Kurose e Ross (2006) somadas às de Tanenbaum

(1997), nos três parágrafos abaixo:

A camada de aplicação é a camada que presta serviços ao usuário e abaixo dela se encontra a camada

de transporte e se localiza no topo da pilha tanto do cliente quanto do servidor. ( Figura 3).

Chamamos de servidor o que oferece uma resposta a um serviço solicitado e de cliente a quem solicita

um serviço na rede. Como exemplo de cliente, podemos citar um brouser de internet e de servidor um Apache.

As aplicações mais populares e que são de relevância para esta pesquisa são a Web e o correio

eletrônico e seus protocolos são HTTP ( HyperText Transfer Protocol) e SMTP (Simple Mail Transfer Protocol)

respectivamente e ainda vale ressaltar que ambas utilizam o protocolo TCP na camada de transporte para

garantir a entrega dos dados.

2.3.1 HTTP ( HyperText Transfer Protocol)

Segundo Kurose e Ross (2006, p. 69), o coração da camada de aplicação da Web é o protocolo HTTP e

quando implementado em dois programas, um no cliente e um no servidor possibilita a troca de informações

entre os sistemas finais.

2.3.2 SMTP (Simple Mail Protocol)

Na visão de Comer (2006, p.315), SMTP é o protocolo que viabiliza as aplicações de correio eletrônico e

o formato das mensagens e cabeçalhos por ele portados é ASCII 7 bits. Portanto todos os arquivos diferentes

de formato, como imagens e vídeos devem ser convertidas no envio e decodificadas no recebimento.

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

74

Figura 2 – Camada de Aplicação

Fonte: KUROSE (2006, p.59) 2.4 Camada de Tranporte

É possível extrair dos conceitos de Kurose e Ross (2006) que a camada de transporte recebe as

mensagens da camada de rede e entrega à camada de aplicação e também realiza a operação contrária (

aplicação para rede), por isso se encontra nos finais de processo e não nos intermédios dele, pois como já

vimos, quem tem a função de interligar as redes e nela trafegar as informações são as camadas de inter redes,

essas sim são encontradas em toda a estrutura do sistema de comunicação como pode ser visto na figura 2.

Resumindo, podemos afirmar que a camada de transporte fica com o serviço lógico dentro dos hosts

enquanto que a camada de rede é responsável por ultrapassar as fronteiras do host até outro host da rede.

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

75

Figura 3 – Camada de Transporte

Fonte: KUROSE (2006, p.144) 2.4.1 Funcionalidades da camada de transporte

A camada de transporte referente ao modelo TCP / IP possui dois protocolos : UPD e TCP.

2.4.1.1 UDP - User Datagram Protocol

Segundo Kurose e Ross (2006), o protocolo UDP não é orientado à conexão, ou seja, não prevê uma

entrada confiável do dados. É utilizado onde a velocidade da informação é mais importante que a precisão das

informações. Por exemplo serviços de voz e videoconferência.

2.4.1.2 TCP – Transmission Control Protocol

Ainda de acordo com Kurose e Ross (2006), ao contrário do UDP, o TCP garante uma entrega confiável

das informações, pois trata-se de uma conexão orientada a conexão e é utilizado onde há necessidade

prioritária de confiabilidade dos dados, mesmo que para isso sua implementação seja muito mais complexa. Por

exemplo serviço de transações financeiras e email.

2.5 Camada de Rede

De acordo com Tanenbaum (1997, p. 387), a camada de rede (equivalente a inter-redes do modelo de

referência TCP / IP) é responsável por viabilizar a transferência de pacotes de um ponto da rede a qualquer

outro de destino atravessando, para isso, vários roteadores. É função dessa camada conhecer os roteadores da

rede, estabelecer a melhor rota e evitar congestionamento das linhas.

2.5.1 Funcionalidades do Protocolo

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

76

A função da camada inter-redes é oferecer serviços à camada de transporte tendo como preocupação a

compatibilização entre os diferentes tipos de hardware e de software que compõe um host destinatário e um

host remetente durante todo o percurso do pacote.

“ Os Serviços da camada de rede foram projetados com os seguintes objetivos em mente:

1. Os serviços devem ser independentes da tecnologia de subrede.

2. A camada de transporte deve ser protegida contra a quantidade, o tipo e a topologia das subredes

presentes.

3. Os endereços de rede que se tornaram disponíveis para a camada de transporte devem usar um

plano de numeração uniforme, mesmo nas LANs e WANs.”

(Tanenbaum, 1997)

As LANs (Local Area Network) são redes locais que abrangem pequenas distâncias geográficas como,

por exemplo, a interligação dos computadores de uma residência, um condomínio ou uma corporação. Já, as

WANs (Wide Area Networks) cobrem grandes distâncias geográficas interligam os continentes por exemplo.

2.6 Camada de Enlace

Seguindo a linha de raciocínio de Tanembaum (1997), a camada enlace de dados ou Link de dados é a

camada mais próxima das ligações físicas e é composta de protocolos capazes de estabelecer uma comunicação

segura e eficiente entre duas redes ligadas fisicamente.

Essa camada é responsável pelo enquadramento, controle de erros, controle de fluxo e gerenciamento

de enlace.

O enquadramento é a delimitação em quadros dos pacotes a serem enviados. O controle de erros pode

ser executado de várias formas diferentes, mas para o propósito do nosso estudo, basta sabermos que quando

um pacote de dados é enviado, é anexado a ele um cabeçalho com informações sobre o conteúdo que está

sendo enviado e como deverá ser checado pela camada enlace do outro lado. Caso o conteúdo do pacote não

seja condizente com o que foi informado pelo cabeçalho da camada enlace de envio, uma mensagem de erro é

retornada e o pacote ou parte dele é reenviado. O controle de fluxo garante que um sistema de transmissão de

dados rápida não sobrecarregue um receptor lento.

2 .7 Camada Física

O modelo de referência TCP / IP não faz menção importante a essa camada, são raras as literaturas que

citam essa camada dentro do modelo, porém é sabido que de alguma forma as redes se comunicam

fisicamente. Podemos assumir que essa camada é responsável pelo acesso ao meio físico.

Segundo Tanenbaum (1997, p. 49), a camada host/rede não é, na verdade, uma camada se

considerarmos a conceituação de hierarquia dos protocolos, mas sim uma interface entre as camadas inter-

redes e enlace de dados.

Em vista desse fato, por vezes, nos deparamos com o termo camada de acesso ao meio como definição

da última camada da arquitetura TCP/IP.

2.7.1 Serviço fornecido

Podemos citar como sendo sua principal finalidade a entrega de dados entre duas máquinas conectadas

entre si, e isso pode ser feito de maneiras distintas, conforme a necessidade e independentemente do tipo de

hardware da conexão física.

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

77

2.7.2 Funcionalidades do protocolo

Recebe datagramas IP da camada inter-redes e transmite para o meio físico independente da

tecnologia utilizada.

Divide os datagramas em quadros.

Mapeia os endereços lógicos internet em endereços físicos dos equipamentos da rede.

Permite a implementação do protocolo TCP/IP em qualquer hardware de rede independente do

sistema de comunicação utilizado ( Ethernet, Token Ring, X.25, ATM ,ou outros).

2.7.2.1 Mapeamento de endereços lógicos internet em endereços físicos.

Quando dizemos que endereços IP são lógicos sugerimos que eles só existem em nível de software . O

mapeamento dos endereços, então, é feito adicionando-se o endereço físico do host ao endereço IP como pode

se observado na figura 1.

2.7.2.2 ARP – Address Resolution Protocol

O Protocolo ARP é a interface entre o endereço lógico ( IP) da camada de Inter-redes e o endereço

físico da camada de enlace (MAC – Media Access Control). Para que um datagrama IP chegue a seu destino é

necessário que seja informado também o endereço MAC do destinatário. Isso é possível graças ao módulo ARP

existente no remetente, o qual solicita da rede de destino o endereço MAC referente ao IP de destino para

onde os dados serão enviados.

2.7.2.3 MAC – Media Access Control

MAC é o endereço físico através do qual qualquer destino é encontrado na rede local. O código MAC é

um número hexadecimal que já vem gravado internamente nos dispositivos adaptadores de rede e é único, não

existem dois iguais no mundo.

Figura 4 – Nicolletti (2001)

3 Desenvolvimento prático

3.1 Instrumentos Utilizados

Osciloscópio Minipa

Multímetro Minipa

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

78

3.2 Ferramentas de Hardware

3.2.1 Gravador ICD2 BR

Utilizado para gravar o código hexadecimal no microcontrolador e também para Emular e Debugar o

software.

3.2.2 Placa de desenvolvimento Explorer 16 BR

A Placa Explorer 16 BR foi desenvolvida pela empresa Labtools e está disponível para compra no site

www.labtools.com.br, de onde, também, pode ser baixado seu manual. O Kit é composto da Placa, de uma

fonte de alimentação de 15V, um cabo USB, um cabo serial, um microcontrolador PIC 24FJ128AG010 e um

micro controlador PIC 32. Com os recursos de hardware dessa placa é possível explorar uma vasta gama de

aplicações com tais como:

Comunicação Serial, inclusive com PC

Display de cristal Líquido

Display Gráfico

Porta USB

Comunicação Ethernet

Comunicação CAN

Botões de comando

Leds indicativos

Conversor AD

Sensor de temperatura

Memória EEPROM I2C 24LC256

Memória EEPROM SPI 24LS256

PIC24F128J010

Além de todos esses recursos incutidos na placa, podem ser adquiridas PicTails, ( placas extensoras),

para aplicações específicas como Ethernet, Radio, comunicação sem fio, Dislpay TFT com touch screen, e

outras.

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

79

Figura 5: Diagrama da placa Explorer 16 BR Fonte: Labtools (2010, p. 23)

Tabela 1: Descrição dos conectores da placa Explorer 16 BR

Conector Descrição

CN1 Conector ICSP Padrão Microchip CN2 Conector ICSP Padrão Mosaico CN3 Conector Padrão PICKIT CN4 Conector LCD 16x2 Alfanumérico CN5 Conector LCD 128x64 Gráfico CN6 Comunicação RS232 CN7 Conector Edge 120 pinos (PICTail) CN8 Conector Edge 120 pinos (PICTail) CN9 Conector Placa 120 pinos (PICTail) CN10 Conector Ethernet RJ45 CN11 Comunicação CAN

Fonte: Labtools (2010, p. 24)

3.3 Ferramentas de Software

3.3.1 Editor de HTML Amaya Web Editor 11.3.1

Para desenvolvimento da página Web foi utilizado o editor de HTML Amaya Web Editor 11.3.1, mas

poderia ser utilizado qualquer outro como o DreamWeaver ou FrontPage. Software gratuito para edição de

páginas Web em HTML baixado de http://www.baixaki.com.br/download/amaya-web-editor.htm. É um editor

leve, fácil de utilizar, e suas limitações, se comparado ao DreamWeaver, não tem relevância no propósito deste

trabalho.

3.3.2 Proteus 7.7 Simulador Virtual de circuitos eletrônicos

Os testes preliminares de comunicação entre o Micro controlador e circuito integrado ENC28J60 foram

realizados utilizando o simulador virtual Proteus versão 7.8.

3.3.3 Compilador C30 da Microchip

O compilador escolhido foi o C30 da Microchip devido às facilidades que oferece em relação a integração

com as ferramentas de hardware, fornecimento de exemplos de códigos e bibliotecas prontas em linguagem

“c”.

3.3.4 Microchip MPFS Generator

Converte a imagem da página Web em código binário e carrega na memória EEPROM 24LS512 da Placa

Explorer 16 BR.

Atualiza a página de internet automaticamente no navegador.

3.4 Teste da Placa de desenvolvimento Explorer 16 BR

A princípio a placa apresentou alguns problemas relacionados à fonte de alimentação. Ela apresentava

uma tensão abaixo do necessário para o funcionamento integral do conjunto. Após a substituição da fonte

iniciamos um teste de funcionamento começando por conectar o plugin do micro à placa Explorer 16 BR. O

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

80

micro controlador já vem de fábrica com um software para validação da Placa. Ao conectarmos a fonte foi

observado que o teste de funcionamento foi executado conforme previsto no manual.

3.5 Gravação do Software no micro controlador

O software de aplicação é um exemplo fornecido pela Microchip assim como as pilhas TCP/ IP utilizadas

e podem ser baixados gratuitamente do site do fabricante em www.microchip.com/tcpip .

Antes do software ser gravado no microcontrolador, ele teve que ser compilado, pois tais componentes

só aceitam dados no formato Hexadecimal, ou seja, foi traduzido de uma linguagem de alto nível, que é de

mais fácil compreensão para o desenvolvedor, para uma linguagem de mais baixo nível (hexa), que é a única

que o microcontrolador entende.

O compilador utilizado foi o C30 versão 3.0 e a interface gráfica para edição (IDE) o MPLAB 8.76 que

podem ser baixados gratuitamente do mesmo fabricante com algumas limitações para o caso do C30.

Após a instalação e execução do compilador C30 e do MPLAB, pudemos carregar o software a ser

compilado através da aba superior do MPLAB em Project<>open<> e selecionando o software exemplo: TCPIP

Demo App - C30 - EXPLORER_16_ENC28J60 conforme figuras respectivas 6 e 7.

Figura 6: Interface de desenvolvimento compilação e gravação: abrindo um projeto

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

81

Figura 7: Interface de desenvolvimento compilação e gravação: selecionando um projeto.

Depois de selecionado basta clicar em Build All localizado no menu Project na aba superior para

compilar o software. Veja abaixo:

Figura 8: Comando para compilar

O software foi compilado com sucesso conforme pode ser visualizado no log abaixo:

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

82

Figura 9: informações sobre o processo de compilação

Figura 10: código Hexadecimal gerado.

O processo de gravação, inicialmente, apresentou alguns erros e o software não foi executado com

sucesso. Após uma consulta aprofundada à documentação que acompanha o Kit de desenvolvimento o

problema foi resolvido. Para a gravação ser bem sucedida, primeiramente conectou-se o gravador ICD2 ao

computador via porta USB que automaticamente instalou um drive para a comunicação. O passo seguinte foi

conectar o gravador à placa Explorer 16 BR utilizando o cabo RJ 45 e em seguida alimentar a mesma através

da fonte de 15Vcc. Feito isso escolhemos no menu Programmer Select Programmer, o gravador ICD2 como

pode ser visto na figura 11 e feito isso clicamos em Connect no mesmo menu.

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

83

Figura 11: Seleção e conexão do programador ICD2 BR

Uma vez conectado é possível executar um teste no gravador acessando a opção Settings no menu

Programmer a fim de checar as tensões de alimentação e gravação do micro controlador. Como os passos

anteriores foram todos realizados o gravador passou no teste como segue na figura 12:

Figura 12: Teste do gravador ICD2 BR

Com tudo conectado, alimentado e testado, passamos à etapa de gravação do micro controlador PIC

através da opção Program no menu Programmer. Agravação foi completada com sucesso como visualizado no

log abaixo:

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

84

Figura 13: Verificação da gravação do PIC 24

3.6 Teste de conexão com comandos Ping

A partir do momento em que o software foi gravado no microcontrolador foi possível um primeiro teste

de conexão. Com a placa conectada a uma rede doméstica composta de um laptop, um desktop, um chaveador

de rede e a placa Explorer 16 BR, foram disparados comandos ping de pontos distintos da rede para o IP

atribuído à placa pelo chaveador de rede (192.168.2.12) e o resultado foi o esperado: o endereço foi

reconhecido pela rede e não houve perda de dados. O teste foi aplicado por dez vezes obtendo os mesmos

resultados

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

85

Figura 14: Teste Ping contra o IP da Explorer 16 BR

3.7 Criação da página WEB

A etapa subsequente foi modificar a página web exemplo da Microchip para ficar mais leve e

personalizada para em seguida embarcá-la no nosso microcontrolador. Utilizamos o software Amaya, um

editor de HTML gratuito e bem prático, mas poderia ter sido utilizado um editor de texto como o note pad do

Windows. Feitas as devidas alterações na Página WEG a ser carregada, a mesma teve que ser transformada em

um arquivo de números binários para ser transferida para a memória eeprom da placa Explorer 16 BR. Memoria

eeprom é uma memória não volátil, ou seja, retém as informações mesmo com o sistema desligado. Nesse

processo, foi utilizada a ferramenta MPFS2 disponibilizada gratuitamente pela Microchip.

A ferramenta MPFS2, além de transformar o conteúdo da página em um arquivo binário, pode também,

fazer simultaneamente a atualização da página no navegador, bastando para isso que a placa esteja ligada e

conectada à rede. Uma outra forma de carregar a página na memória é através do próprio browser digitando o

IP seguido de /mpfsupload (ex: 192.168.2.12/msfupload) e, em seguida, apontando para o arquivo *.bin que

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

86

evidentemente fora criado antes. As duas opções podem ser vistas nas figuras 15 e 16. Em ambos os casos, o

MPFS2 estabelece uma conexão TCP / IP entre o computador cliente e a placa Explorer e através deste

protocolo entrega os dados ao micro controlador que encaminha à memória eeprom.

Figura 15: interface do MPFS2

Figura 16 : Upload da Página pelo navegador

3.8 Teste de Acesso à página embarcada

A página foi atualizada e, então, iniciamos a segunda etapa dos testes que era o acesso da página

através de uma rede local. Apenas digitando o número do IP atribuído pelo Switch à placa, (figura 17), foi

possível acessar a página embarcada no circuito ( Figura 18 ).

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

87

Figura 17: IP atribuído à placa e utilizado para acesso na rede local

Figura 18: Página web embarcada

O acesso à página foi testado com os navegadores Internet Explorer 8, Mozilla Firefox e Google Chrome

e o resultado foi 100% positivo não havendo nenhum erro ao ser carregada.

3.9 Teste dos comandos de controle da página embarcada

O teste seguinte comprovou o envio e recebimento dos comandos a serem executados entre página web

e placa.

Ao clicar sobre as representações dos LED’s na placa eles são atualizados na placa e, de forma oposta,

podemos acionar os botões na Explorer 16 BR e visualizar o efeito na página: as representações dos botões se

invertem.

Através de uma rotina no software, foi possível verificar o tempo de respostas dos comandos e obtidos os

seguintes resultados:

Tabela 2: teste de tempo resposta

Teste 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24Tempo (ms) 34 36 40 106 26 40 50 30 48 55 57 84 126 45 28 73 37 52 40 45 39 74 62 29

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

88

Tempo Mínimo: 26 ms

Tempo máximo : 126 ms

Tempo médio : 53,33 ms

Figura 18 : Gráfico dos tempos de respostas obtidos em 25 testes.

Os testes foram realizados numa rede local do tipo Office/home com baixa carga de tráfego, portanto não

deve ser generalizado para toda e qualquer configuração de rede. Para outras aplicações deve ser levada em

consideração a condição que seja mais desfavorável à comunicação.

O último teste foi acessar a placa através da internet utilizando, para isso um IP Válido. O IP válido é o IP

público que nos liga a internet, diferentemente do IP não válido que é privado. Também é possível o acesso via

internet através de uma rede local desde que essa seja provida por um IP Válido, contudo é necessário que seja

criada uma conta em um provedor DNS (Domain Service Name) e através desse estabelecido um link entre a IP

válido e o IP atribuído à placa pelo roteador. Essa prática é comum para acesso remoto à uma estação de

trabalho dentro de uma rede.

4 Considerações finais

O projeto pode ser concluído na sua totalidade e o funcionamento foi dentro das expectativas, já que

pudemos comprovar a conexão remota da placa e a eficiência nas respostas aos comandos e com isso viajar

nas inúmeras possibilidades de aplicação.

Algumas considerações devem ser levadas em conta:

Os tempos de resposta aos comandos têm uma variação grande, e nesse caso deve-se tomar como base

para as aplicações o pior caso, ou seja, o maior tempo.

Apesar de todo sucesso de funcionamento do sistema, aplicações que envolvam o controle via internet

necessitam de uma avaliação mais criteriosa em relação à segurança da informação e a garantia de estabilidade

e velocidade das conexões, que a meu ver, é um tanto complexo. Em outras palavras, se for um controle que

envolva risco às pessoas ou à um processo, por exemplo o desligamento de emergência de um aquecedor no

caso de um princípio de incêndio, seria conveniente que a aplicação fosse testada para esse fim.

Embarcando uma Página Web em um Microcontrolador para Comunicação Via Internet Através do Protocolo TCP/IP

89

As considerações acima não significam que não possam ser utilizadas para tais finalidades, apenas

apontam no sentido de que estudos mais profundos sejam feitos para esses objetivos de aplicação, contudo as

possibilidades de aplicações que podem ser baseadas nesse trabalho são muitas. Podemos, por exemplo,

monitorar nossa casa a distância através da internet ou irrigar o jardim e, em outra aplicação, manter uma

coleta de dados online da produção de uma prensa, uma temperatura ou pressão.

Como podemos estar imaginando, a partir desse trabalho poderão nascer outros, em sua base, com

aplicações que com certeza serão de interesse da sociedade.

5 REFERÊNCIAS BIBLIOGRÁFICAS

BOLZANI, C.; Desmistificando a Domótica. AURESIDE. 2007. Artigo disponível em: www.aureside.org.br/artigos/default.asp?file=01.asp&id=74. Acesso em: 16/04/2011.

COMER, Douglas E. Interligação de redes com TCP/IP: princípios, protocolos e arquitetura. Rio de Janeiro: Elsevier, 2006.

COMER, Douglas E.; DROMS, Por Ralph. Redes de computadores e internet. 4 ed Porto Alegre: Bookman, 2007.

KUROSE, James F.; ROSS, Keith W. Redes de computadores e a internet: uma abordagem top-down. 3 ed São Paulo: Pearson Addison Wesley, 2006.

LABTOOLS. Guia do Usuário Explorer16 BR PIC24. Disponível em: http://www.mosaico.com.br/Midias/Documentacao/Manual%20Explorer%2016%20BR%20(PIC24F)_rev_04.pdf. Acesso em: 05/07/2011

MICROCHIP. Enhanced Flash Micontrolers with 10-bit A/D and nano watt technology 2008. disponível em: http://ww1.microchip.com/downloads/en/DeviceDoc/39626e.pdf. Acesso em 16/04/2011

MOKARZEL,Marcos Perez; MOKARZEL Karina P. Carneiro. Internet Embedded: TCP/IP para microcontroladores. 1ª Ed . São Paulo: Érica, 2004.

NICOLLETTI, P. S. Redes de computadores. Notas de aula. Disponível em: http://www.dsc.ufcg.edu.br/~peter/cursos/rc/material/p4a.pdf . Acesso em 05/07/2011.

PEREIRA, Fábio. Microcontroladores PIC: Programação em C. São Paulo : Érica: 2005.

SILVA, Luís Antônio Pinto da; CHIOZZOTTO, Mauro. TCP/IP - Tecnologia e implementação. São Paulo: Érica: 1999.

SOUZA, David José; LAVINIA, Nicolas César. Conectando o PIC 16F877: Recursos Avançados. São Paulo : Érica: 2003..

SOUZA, David José; LAVINIA, Nicolas César. Conectando o PIC 16F877: Recursos Avançados. São Paulo : Érica: 2003..

SOUSA, Daniel Rodrigues;SOUZA, David José. Desbravando o PIC24 : Conheça os microcontroladores de 16 bits. São Paulo : Érica: 2008..

SILVA, Luís Antônio Pinto da; CHIOZZOTTO, Mauro. TCP/IP - Tecnologia e implementação. São Paulo: Érica: 1999.

TANENBAUM, Andrew S. Redes de computadores. Rio de Janeiro: Campus, 1997.

TORRES, Gabriel. Redes de computadores: curso completo. Rio de Janeiro: Axcel Books, 2001.