do Arquivo

Transcrição

do Arquivo
Revista das Faculdades Integradas Claretianas – N. 5 – janeiro/dezembro de 2012
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,
70
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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
71
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP

Camada de Transporte

Camada de Rede

Camada de Enlace

Camada Física
72
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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.
73
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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.
74
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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
75
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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 interredes 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.
76
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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
77
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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.
78
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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
CN2
CN3
CN4
CN5
CN6
CN7
CN8
CN9
CN10
CN11
Conector ICSP Padrão Microchip
Conector ICSP Padrão Mosaico
Conector Padrão PICKIT
Conector LCD 16x2 Alfanumérico
Conector LCD 128x64 Gráfico
Comunicação RS232
Conector Edge 120 pinos (PICTail)
Conector Edge 120 pinos (PICTail)
Conector Placa 120 pinos (PICTail)
Conector Ethernet RJ45
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
79
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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
80
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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:
81
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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.
82
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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:
83
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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
84
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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
85
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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 ).
86
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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 24
Tempo (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
87
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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.
88
Embarcando uma Página Web em um Microcontrolador para Comunicação
Via Internet Através do Protocolo TCP/IP
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
www.aureside.org.br/artigos/default.asp?file=01.asp&id=74. Acesso em: 16/04/2011.
disponível
em:
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.
http://www.dsc.ufcg.edu.br/~peter/cursos/rc/material/p4a.pdf . Acesso em 05/07/2011.
Disponível
em:
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:
Érica: 2003..
Recursos Avançados. São Paulo :
SOUZA, David José; LAVINIA, Nicolas César. Conectando o PIC 16F877:
Érica: 2003..
Recursos Avançados. São Paulo :
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.
89