Académique Documents
Professionnel Documents
Culture Documents
RENATO FRANKLIN RANGEL TRABALHO DE CONCLUSO DE CURSO ORIENTADOR: GIO GONALVES DE MORAES FELIPE COORIENTADOR: SAMUEL ALVES DA SILVA
Trabalho de concluso de curso apresentado como parte das atividades para obteno do ttulo de Tecnlogo em Automao Industrial, do curso Superior de Tecnologia em Automao Industrial do Instituto Federal da Paraba, rea de concentrao em Automao Industrial.
AGRADECIMENTOS
Agradeo primeiramente a Deus por ter me conferido sade, sabedoria, enfim, todas as condies necessrias para o desenvolvimento desse trabalho. Agradeo tambm aos meus pais por me terem concedido dignidade e educao, a meus irmos e familiares como um todo pelo apoio e confiana, em especial a minha tia Julia que foi imprescindvel durante toda a minha graduao. Aos meus professores e orientadores por toda a pacincia e dedicao e aos colegas de curso pelo companheirismo.
RESUMO
O presente trabalho prope a implementao de um dispositivo microcontrolado capaz de controlar remotamente, equipamentos e processos industriais. Baseado no microcontrolador PIC18F87J60, este dispositivo utiliza a internet como meio de comunicao, fornecendo ao usurio versatilidade e baixo custo. O desenvolvimento das pginas web realizado a partir de cdigos em HTML, CSS, XML, funes de JavaScript e Ajax. Como exemplo de aplicao, o acionamento e monitoramento de um sistema de iluminao a partir do mdulo com internet embarcada, o qual proporcionar ao usurio total controle sob a iluminao de um ambiente atravs de uma pagina web. Palavras-chave: microservidor, internet embarcada, acionamento e monitoramento
ABSTRACT
This work proposes the implementation of a micromachined device can remotely control, equipment and industrial processes. Based on the PIC18F87J60
microcontroller, this device uses the Internet as a means of communication, providing the user with versatility and low cost. The development of web pages is done from code in HTML, CSS, XML, JavaScript and Ajax functions. As an application example, the activation and monitoring of a system of illumination from the module with embedded internet, which will give the user full control over the lighting of an environment through a web page. Keywords: Microserver, embedded internet, activation and monitoring
LISTA DE FIGURAS
Figura 1.1 Esquema de acesso de dados remotamente ......................................... 13 Figura 2.1 Modelo 360 IBM de 1964 ....................................................................... 17 Figura 2.2 Estaes conectadas ao meio usando padro 10Base5........................ 23 Figura 2.3 Estaes conectadas ao meio usando padro 10BaseT. ...................... 24 Figura 2.4 Camadas do modelo de protocolos OSI................................................. 28 Figura 2.5 Funcionamento da comunicao entre as camadas do modelo OSI......29 Figura 2.6 Comunicao virtual no modelo OSI. ..................................................... 30 Figura 2.7 Grupos das camadas do modelo OSI. ................................................... 31 Figura 2.8 Comparao estrutural em relao s camadas entre os modelos de referencia OSI e TCP/IP............................................................................................. 33 Figura 2.9 Diagrama simplificado de um C baseado na arquitetura Harvard. ....... 39 Figura 2.10 Controlador Ethernet ENC28J60. ......................................................... 42 Figura 2.11 Interface de rede 100/10BaseT ............................................................ 42 Figura 3.1 Comportamento do modelo de referncia e protocolos implementados na pilha da microchip. ..................................................................................................... 44 Figura 3.2 Comparao estrutural do Modelo de Referncia TCP/IP e a Pilha TCP/IP da Microchip.. ................................................................................................ 45 Figura 3.3 Formato da imagem MPFS2. ................................................................. 48 Figura 3.4 Formato do FAT de entrada MPFS2. ..................................................... 48 Figura 3.5 Formato do bloco de dados.................................................................... 49 Figura 3.6 Diagrama de pinos do PIC18F87J60. .................................................... 51 Figura 3.7 Diagrama de Blocos do PIC18F87J60. .................................................. 51 Figura 3.8 Diagrama de bloco do Mdulo Ethernet ................................................. 52 Figura 3.9 Dimenses fsicas do PIC18F87J60. ..................................................... 53 Figura 3.10 Interface Ethernet PME10A de 10Mbps ............................................... 54 Figura 3.11 Ambiente de trabalho do MPLAB IDE v8.50 ........................................ 56
6
Figura 3.12 Ambiente de desenvolvimento do Proteus. .......................................... 57 Figura 3.13 Gravador PICkit2. ................................................................................. 57 Figura 3.14 Tela inicial do Dreamweaver CS3. ....................................................... 58 Figura 4.1 Solicitao via GET. ............................................................................... 64 Figura 4.2 Menu de arquivos que compem a pilha................................................ 66 Figura 4.3 Circuito eletrnico em simulao. .......................................................... 68 Figura 4.4 Compilador das pginas web. ................................................................ 69 Figura 4.5 Informaes referentes a pgina web compilada. .................................. 60 Figura 4.6 Arquivo mpfsupload carregado no navegador........................................ 70 Figura 4.7 Mdulo montado para o controle de iluminao via web. ...................... 71 Figura 4.8 Circuito condicionador de sinal .............................................................. 72 Figura 5.1 Interface de gravao PICkit2. ............................................................... 74 Figura 5.2 Exemplo de variveis no arquivo status.xml. ......................................... 77 Figura 5.3 Requisio ao arquivo xml. .................................................................... 78 Figura 5.4 Esquemtico do mdulo conectado a rede e ao sistema de iluminao. ................................................................................................................................... 78 Figura 5.5 Pgina de acesso ao controle de iluminao via Web ........................... 79 Figura 5.6 Requisio de login e senha para acesso a pgina de controle ............ 80 Figura 5.7 Status da sala (luzes acesas e sistema liberado) .................................. 81 Figura 5.8 Status da sala (circuitos desligados e sistema bloqueado) .................... 81
SUMRIO
1 INTRODUO ........................................................................................................... 10 1.1 Fundamentao Terica ...................................................................................... 12 1.2 Arquitetura Proposta ............................................................................................ 13 1.3 Objetivos .............................................................................................................. 15 1.3.1 Geral .............................................................................................................. 15 1.3.2 Especficos ..................................................................................................... 15 1.4 Estrutura do Trabalho.......................................................................................... 15 2 REVISO BIBLIOGRFICA ....................................................................................... 17 2.1 Desenvolvimento das Redes de Comunicao e da Internet ............................... 17 2.2 Surgimento do Padro Ethernet ........................................................................... 22 2.3 Modelo de Referncia OSI (MR-OSI) ................................................................... 27 2.4 Pilha de Protocolos TCP/IP Arquitetura da Internet .......................................... 33 2.5 Microcontroladores ............................................................................................... 37 2.6 Internet Embarcada .............................................................................................. 41 3 FERRAMENTAS UTILIZADAS NO DESENVOLVIMENTO DO PROJETO................ 43 3.1 Pilha TCP/IP da Microchip ................................................................................. 43 3.1.1 Servidor HTTP da Microchip ....................................................................... 46 3.1.2 Microchip File System 2 (MPFS2) .................................................................. 47 3.2 Microcontrolador PIC18F87J60 ............................................................................ 49 3.3 Especificao de Hardware .................................................................................. 53 3.4 MPLAB IDE .......................................................................................................... 55 3.5 PROTEUS ............................................................................................................ 56 3.6 GRAVADOR PICkit2 ............................................................................................ 57 3.7 Ferramentas para o Desenvolvimento de Pginas Web ...................................... 58 3.7.1 Dreamweaver ................................................................................................. 58 3.6.2 TECNOLOGIAS PARA APLICAES WEB ................................................. 59
8
4 IMPLEMENTAO DO PROJETO ............................................................................ 62 4.1 Desenvolvimento do Software .............................................................................. 62 4.1.1 Desenvolvimento da Pgina Web .................................................................. 62 4.1.2 Servidor HTTP ............................................................................................... 63 4.1.3 Configurao da Pilha TCP/IP ....................................................................... 65 4.1.4 Testes Desenvolvidos no Simulador .............................................................. 67 4.2 Desenvolvimento de Hardware ............................................................................ 70 5 FUNCIONAMENTO DO PROJETO PROPOSTO ...................................................... 74 5.1 Gravao da Pgina Web e da Pilha TCP/IP no Mdulo ..................................... 74 5.2 Funcionamento da Aplicao Web Junto ao Microservidor .................................. 75 5.2.1 Funcionamento do Mdulo Junto ao Sistema de Iluminao ......................... 78 6 CONCLUSO ............................................................................................................. 82 7 REFERNCIAS BIBLIOGRFICAS ........................................................................... 83
1 INTRODUO
Com o contnuo avano da tecnologia e da automao envolvendo o setor industrial, h sempre a necessidade de novas pesquisas e desenvolvimento de novas tcnicas. Dentre os inmeros pontos a serem estudados e desenvolvidos dentro de um processo, est o acionamento e monitoramento de sistemas ou mquinas, os quais esto diretamente relacionados com a agilidade e qualidade da produo dentro de uma fbrica ou a equipamentos usados no nosso dia-a-dia como condicionadores de ar, sistemas de iluminao, equipamentos eltricos domsticos em geral e etc. Sendo assim, o estudo e viabilizao das novas tecnologias so indispensveis no s para os processos industriais, mas tambm nas reas fundamentais para o bem estar humano. Atualmente existem alguns dispositivos de controle responsveis pela parte de comandos de sistemas ou equipamentos, Controladores Lgicos Programveis - CLPs por exemplo. Esse controlador pode acionar mquinas por mtodos pr-definidos e tambm monitorar as mesmas. O problema deste tipo de controle que o investimento da automatizao relativamente alto, o que, dependendo do processo se torna economicamente invivel e, ainda h a necessidade da presena de um operador no ambiente para iniciar o processo, saber em que estado ele se encontra e/ou para o recolhimento dos dados de monitoramento. Os sistemas de comunicao de dados, em especial a internet, vem se tornando uma ferramenta cada vez mas essencial para o homem moderno, aumentando significativamente (MOKARZEL, 2004). De browsers web de telefones celulares a cafs que oferecem acesso sem fio internet, de redes domsticas com acesso a banda larga a infra-estruturas tradicionais de TI (Tecnologia da Informao) em ambientes de trabalho com PCs (Computadores
10
Pessoais) interligados em rede, carros em rede, redes de sensores ambientais, internet interplanetria - quando achamos que as redes de computadores j esto praticamente presentes em toda parte, novas aplicaes comeam a ser desenvolvidas para ampliar mais ainda o alcance das redes existentes hoje (KUROSE, 2006). A enorme praticidade proporcionada pelo desenvolvimento atual das redes e da internet, de em qualquer lugar que se tenha acesso a um navegador web, seja por meio de um computador, um laptop, um PDA (Personal Digital Assistants - assistente pessoal digital) ou mesmo pelo telefone celular, poder verificar o estado de um sistema ou equipamento que se encontra geograficamente distante e, dali mesmo ter condies de executar sua operao, uma realidade possvel de ser implementada, graas disposio das redes ethernets nos mais variados ambientes, complementada pela possibilidade de fazer com que os dados adquiridos por um microcontrolador, responsvel pelo gerenciamento do processo, estejam disponveis. Para isso, o microcontrolador dever conter um controlador ethernet embarcado, possibilitando-o alm da implementao da pilha de protocolos TCP/IP (conjunto de protocolos organizados em camadas que regem o funcionamento da Internet onde os dois principais so respectivamente o Transmission Control Protocol Protocolo de Controle de Transmisso / Internet Protocol Protocolo de Internet) a conexo e disponibilizao dos dados na rede. Podendo assim ser considerado um microservidor web. Este trabalho apresenta a viabilidade tcnica e econmica no desenvolvimento e implementao de um mdulo de pequeno porte, flexvel, com um baixo consumo de energia, baixo custo e baseado em um microcontrolador usado para controlar via rede ethernet outros dispositivos eltricos remotamente atravs da internet. Ser demonstrado como exemplo prtico, o controle de um sistema de iluminao, no qual o usurio ter total controle sob o mesmo atravs do acesso pgina, desde saber como se encontra o estado das luzes (acesas ou apagadas), ou controlando tal estado (acendendo/apagando), tendo ainda a opo de liberar ou no o sistema para ser operado no prprio ambiente atravs dos interruptores. Ao mesmo tempo, este trabalho envolve um grande desenvolvimento cientfico/tecnolgico, relacionando diretamente conceitos de: eletrnica,
microcontroladores, linguagens de programao, redes de comunicao e interfaces web. Havendo assim, uma aplicao direta de conhecimentos adquiridos ao longo do curso em casos prticos de automao.
11
compatibilidade com os padres internacionais de comunicao e topologias de redes atuais, tornado-os compactos e funcionais. Atentos a essas situaes, muitos fabricantes tem direcionado investimentos para a produo de sistemas embutidos com suporte a rede, rea que est em franca expanso, atualmente muitos deles direcionam suas tecnologias para plataformas de sistemas embutidos, inclusive alguns deles com suporte para interface de rede (SILVA, 2002). Com todas essas inovaes, as atuais aplicaes de acionamento e/ou monitoramento remoto se tornaram mais simples e com um custo menor por no haver mais a necessidade de um computador como servidor dedicado se comunicando com uma placa de aquisio de dados, bastando agora, utilizar apenas uma placa dotada de um microcontrolador com ethernet embutida. A necessidade, em um primeiro momento, do uso de um computador como servidor dedicado justificado pelo mesmo ser responsvel por conter as pginas web, utilizada como interface de interao com a placa, o servidor web, responsvel pelo armazenamento e publicao das pginas na internet, o programa, responsvel pelo gerenciamento das aes no hardware dependendo da ao do usurio junto pgina, e tambm responsvel pela comunicao placa/servidor.
12
A partir do momento que se utiliza a tecnologia da internet embarcada, empregando microcontroladores com ethernet embutida, extingui-se a necessidade de usar um computador como servidor, uma vez que, o servidor web, as pginas web e o programa de aplicao esto armazenados no prprio dispositivo, a comunicao com o computador servidor, naturalmente, no mais necessrio. Esse modelo possibilita que monitoramento e acionamento possam ser realizados a partir de uma rede local ou da Internet, utilizando um dispositivo dedicado e de baixo custo (SANTOS, 2009).
A Figura 1.1ilustra o esquemtico da implementao proposta. Foi utilizado no projeto um microcontrolador da famlia PIC18F, este oferece, dentre outros recursos, a possibilidade de conexo a internet. A particularidade dessa linha de
microcontroladores que alguns modelos, como por exemplo, o PIC18F87J60, possuem a capacidade de comunicar-se diretamente com a rede ethernet, motivo principal que levou a escolha desse dispositivo para o projeto, enquanto outros, apesar de serem capazes de implementar a pilha de protocolo TCP/IP, no tem a capacidade
13
de conexo direta a camada fsica da rede, sendo necessrio um controlador ethernet externo, como, por exemplo, o ENC28J60, tambm fornecido pela Microchip. A utilizao desse controlador implica na necessidade da elaborao de circuitos de tenso devidos a uma provvel incompatibilizao das tenses de trabalho entre o controlador e o PIC, e, ainda, o uso de transformadores de isolamento entre o controlador e a interface de rede, isso para o casamento das impedncias e a proteo eltrica do controlador ethernet. A pilha TCP/IP utilizada neste projeto a desenvolvida e fornecida gratuitamente pela Microchip e similar a uma pilha TCP/IP tradicional. O objetivo da mesma permitir que um microcontrolador se conecte a internet como se fosse um computador, a mesma embarcada na memria no-voltil (Flash) do
microcontrolador, a fim de estabelecer a conexo lgica com uma mquina remota em um determinado segmento de rede. O HTTP Hypertext Transfer Protocol (Protocolo de Transferncia de Hipertexto), que pertence a camada de aplicao da pilha TCP/IP, responsvel pela transferncia de dados (texto, imagens ou sons) na internet. Dessa forma, um navegador (Internet Explorer, Firefox, etc.), se comportando como cliente, utiliza o HTTP para requisitar pginas web a um servidor (mdulo embarcado) conectado a uma rede local ou a internet. O mdulo microcontrolado, quando conectado a rede desenvolver a funo de servidor web. A pgina contida neste microservidor precisar mostrar contedos dinmicos quando acessada, e interagir com o usurio quando ele fornecer entradas atravs da prpria pgina que por sua vez enviar uma informao para o microservidor o qual retornar novos dados que deveram ser mostrados na pgina. Essas variaes de dados podem ser realizadas atravs do AJAX (Assyncronous JavaScript And XML) que uma tcnica recente que usa um conjunto de tecnologias padres como o XML e o HTML dinmico que usa HTML, CSS e JavaScript juntos. O AJAX elimina a necessidade de se atualizar a pgina inteira a cada requisio do usurio (como acontece no modelo web clssico). Com a comunicao assncrona, a transmisso de dados mais eficiente, pois a atualizao feita somente com os dados necessrios. Dessa maneira h mais interatividade e rapidez (SILVA, 2009).
14
1.3 Objetivos
1.3.1 Geral
Este trabalho tem como objetivo o desenvolvimento de um mdulo microservidor para acionamento e monitoramento de cargas atravs de redes ethernet.
1.3.2 Especficos
Utilizar a Internet para o monitoramento das variveis envolvidas em um processo e ainda como ferramenta de insero de entradas para o acionamento remoto de cargas; Adquirir conhecimentos sobre a tecnologia Internet Embarcada, que consiste basicamente na conexo de sistemas embarcados rede; Demonstrar, ao nosso pblico escolar, a importncia e a viabilidade da utilizao dessa tecnologia, ainda pouco explorada, para o desenvolvimento de automatizaes no ambiente industrial; Melhorar as condies de trabalho do ser humano, por meio da eliminao do contato direto para acionamento ou leitura de diagnsticos de equipamentos que funcionam em ambientes perigosos ou insalubres; Desenvolver habilidades na utilizao de softwares que possibilitam a construo e simulao de circuitos eletrnicos e o desenvolvimento de programas que comandam a seqncia de funcionamento de um hardware atravs de um microcontrolador; Implementao de um software que promova o controle e a aquisio remota dos dados do sistema via web em tempo real; Desenvolver testes do sistema proposto, primeiro com auxilio dos softwares de simulao e logo depois no componente fsico; Utilizar como exemplo de aplicao, o controle de um sistema de iluminao atravs do mdulo de acionamento e monitoramento via web.
O segundo captulo faz uma reviso bibliogrfica que abrange desde o desenvolvimento das redes e da Internet, redes Ethernet, modelos de referncia OSI (Interconexo de Sistemas Abertos) e TCP/IP - comparando as duas tecnologias com um resumo das funes das camadas que os constituem, at a utilizao de microcontroladores e sua aplicao com a tecnologia de Internet embarcada. O captulo 3 dispe as ferramentas utilizadas para o desenvolvimento de software e hardware. O captulo 4 traz a implementao do projeto, com a programao da pgina web e adaptao da pilha TCP/IP da Microchip aplicao. disposto tambm os processos de compilao e simulao em software do projeto, assim como a estruturao fsica do hardware relacionando os componentes utilizados para montagem do mesmo. O Captulo 5 explica o funcionamento da aplicao web junto ao mdulo embarcado. Em seguida descreve o funcionamento do mdulo controlando remotamente (via Internet ou rede Ethernet local) um circuito de iluminao. No captulo 6 encontra-se a concluso do trabalho e a sugesto para trabalhos futuros.
16
2 REVISO BIBLIOGRFICA
Nesse captulo esto apresentados alguns conceitos importantes para o desenvolvimento do trabalho proposto, desde um breve resumo a cerca do desenvolvimento das redes e da Internet, importncia das redes Ethernets, modelos de referncia da pilha TCP/IP, fundamentos de microcontroladores e Internet embarcada.
17
Por volta dos anos 60 os sistemas computacionais eram altamente centralizados e existiam poucas unidades de computadores, estes eram chamados de mainframes, mquinas de grande porte, geralmente instalados em uma sala com paredes de vidro, que pertenciam a grandes organizaes de pesquisas e importantes universidades. Esses computadores tinham capacidades de processamento isoladas, eram incapazes de se comunicar com um outro computador. A Figura 2.1 mostra um modelo desses computadores. Segundo STEMMER (2010), nessa mesma poca, na tentativa de melhorar a interatividade usurio\computador surgiu uma tcnica denominada time-sharing, que consistia na conexo de um conjunto de terminais ao computador central atravs de linhas de comunicao de baixa velocidade permitindo a um grande conjunto de usurios o compartilhamento de um nico computador para a resoluo de grandes quantidades e diversidades de problemas (clculos complexos, ensino de
programao, aplicaes militares, etc.). Esse aumento na demanda implicava na necessidade crescente de atualizaes e incrementos nas capacidades de
armazenamento e clculos da unidade central, o que nem sempre era possvel, pois esses computadores do tipo mainframe geralmente no eram adaptados para suportar determinadas extenses. Interessada em encontrar um modo de compartilhar informaes atravs de computadores para agilizar o trabalho de seus pesquisadores, a Agencia de Projetos e Pesquisas Avanadas (ARPA), do Departamento de Defesa dos Estados Unidos (DoD), patrocinava grupos de pesquisadores para o desenvolvimento de uma rede de comunicao capaz de sobreviver a uma guerra nuclear. Segundo FOROUZAN (2006) em 1967, num encontro da Association Computing Machinery (ACM) o grupo ARPA apresentou as idias do projeto ARPANET, uma rede pequena de computadores. A idia era que cada computador (host), no importando o fabricante, pudesse se comunicar a um computador especfico, denominado IMP (interface message processor processadores de mensagens de interface). Os IMPs tinham a capacidade de se conectar e se comunicarem entre si, assim como estabelecer comunicao com o host que pedia acesso a rede. Uma das estratgias da ARPA, que desenvolvia um conceito criado por Paul Baran na Rand Corparation em 1960-4, foi criar um sistema de comunicao invulnervel a ataques nucleares. Com base na tecnologia de comunicao de trocas de pacotes, o sistema tornava a rede independente de centros de comandos e controle
18
(CASTELLS, 1999). Em 1969, seguindo o conceito de rede com controle descentralizado com a possibilidade de envio de dados digitais em pequenos pacotes que carregavam informaes sobre o endereo dos dados, controle de erros e sobre o seqenciamento das informaes, a ARPANET tornou-se uma realidade. Neste novo cenrio, cada computador conectado a rede era considerado um ponto, ou um n, mesmo que um dispositivo conectado ou parte do segmento da rede falhasse a parte ainda operante rotearia os pacotes at o seu destino. Esta primeira rede de computadores iniciou-se com quatro ns, a Universidade da Califrnia em Los Angeles (UCLA), a Universidade Califrnia em Santa Brbara (UCSB), o Stanford Research Institute (SRI) e a Universidade da Utah. De acordo com FOROUZAN (2006), um software batizado de Network Control Protocol (NCP) controlou a comunicao entre os hosts, e segundo MORIMOTO (2009), eles eram interligados por links de 50 Kbps, criados utilizando linhas telefnicas dedicadas, adaptadas para o uso como links de dados. Essa velocidade em conexes de longa distncia era impressionante pra poca onde as pessoas se dispunham de uma taxa de 110 bits por segundo com seus modems domsticos. Esses quatro ns interligados, que se encontravam distantes uns dos outros, se tratavam de quatro computadores de arquiteturas diferentes, formando uma rede que tinha um propsito inicial de testes, mas, houve um crescimento to grande que nos primeiros anos da dcada de 70 j havia dezenas de computadores pendurados nesta rede, interligando universidades, instituies militares e empresas. Cada n era conectado com pelo menos dois outros, o que garantia a operao da rede, pois mesmo com a interrupo de varias conexes a mesma ainda continuaria funcionando. Em meados de 1973, Vinton Cerf e Robert Kahn, cientistas da computao que faziam pesquisas na ARPA, criaram a arquitetura fundamental da Internet especificando um protocolo de transmisso que seria compatvel com os pedidos de vrios pesquisadores e as diversas redes existentes (CASTELLS, 2009). Tratava-se do estabelecimento do protocolo de controle de transmisso (Transmission Control Protocol - TCP) que promovia a entrega segura de pacotes de dados em toda a rede. Enquanto isso, vrias organizaes programavam suas prprias redes, tanto para comunicao interna quanto para comunicao entre organizaes, em pouco tempo havia uma grande variedade de hardware e software de rede, gerando problemas de compatibilizao o que implicava um novo desafio: fazer com que diferentes redes se interligassem. Por volta de 1978, Vinton Cerf, junto com outras
19
autoridades da rea da computao, solucionaram esse problema dividindo o TCP em duas partes, surgindo assim, o protocolo inter-redes (Internetworking Protocol - IP), mais tarde denominado como Internet Protocol. O IP ficaria responsvel por rotear as informaes entre as redes, enquanto o TCP assegurava que as mensagens fossem corretamente enviadas de seu remetente at o destinatrio. Assim, o TCP/IP estabeleceu-se como um protocolo padro, capaz de adaptar-se diversidade, se tornando a forma de comunicao mais comum entre computadores sendo a arquitetura definitiva da ARPANET e mais tarde da Internet. De acordo com CASTELLS (2009), ainda era necessrio mais uma convergncia tecnolgica para que os computadores se comunicassem: a adaptao do TCP/IP ao UNIX, um sistema operacional que viabilizava o acesso de um computador a outro. Esse sistema foi inventado pela Bell Laboratories em 1969, mas s passou a ser amplamente usado depois de 1983, quando os pesquisadores de Berkeley (tambm financiados pela ARPA) adaptaram o protocolo TCP/IP ao UNIX. Paralelo ao desenvolvimento dessa rede universal de computadores custeada pelo Pentgono, nos quais os estudos, em primeiro momento, eram restritos a grandes universidades e renomados cientistas, existiam um grande nmero de intelectuais e estudantes a procura de formas de transferir informaes entre seus computadores. A prova disso foi a inveno do modem, em 1978 por dois estudantes de Chicago. Ward Chrisrensen e Randy Suess realizaram a descoberta quando buscavam uma forma de transferir programas entre microcomputadores via telefone. Em 1979, divulgaram o protocolo XModem, que permitia a transferncia direta de arquivos, sem passar por um sistema principal, entre as mquinas. Assim, as redes de computadores que no pertenciam ao projeto ARPANET descobriam uma maneira de se comunicar. O primeiro sistema amplamente utilizado de conversas on-line, a Usenet News, surgiu a partir de uma verso modificada do protocolo UNIX o qual possibilitava a interligao de computadores via linha telefnica comum. Esse sistema foi desenvolvido em 1979 por trs estudantes da Duke University e da Universidade da Carolina do Norte, no inclusas na rede ARPANET. Em fins da dcada de 1980, alguns milhes de usurios de computador j estavam usando as comunicaes computadorizadas em redes cooperativas ou comerciais que no faziam parte da Internet. Em geral, essas redes usavam protocolos que no eram compatveis entre si, portanto adotaram protocolos da Internet, mudana
20
que na dcada de 1990, garantiu sua integrao com a Internet e, assim, a expanso da prpria Internet (CASTELLS, 1999). Apesar de todo o desenvolvimento j alcanado, a busca de informaes atravs da Internet ainda oferecia complicaes, havia muitas dificuldades para localizar e receber informaes especficas e a capacidade de transmisso de grficos, por exemplo, ainda era muito limitada. At ento, as pesquisas e as trocas de informaes eram realizadas atravs do sistema Gopher, que utilizava o FTP File Transfer Protocol para troca de arquivos. Como ele baseado apenas em texto, tornava a pesquisa e a leitura bastante tediosas. Esses problemas foram solucionados a partir de um novo avano tecnolgico, o desenvolvimento de um aplicativo denominado World Wide Web WWW, a vasta teia mundial, que facilitou o acesso a contedos na Internet atravs da organizao do teor das informaes contidas na rede, agilizando as pesquisas e permitindo aos usurios localizar e visualizar documentos baseados em multimdia textos, animaes, imagens grficas, udios ou vdeos sobre qualquer assunto, de maneira estruturada, atravs da Internet. De acordo com DEITEL (2003), em 1990, Tim Berners-Lee, do CERN (Conseil Europen pour la Recherche Nuclaire Laboratrio Europeu de Pesquisa Nuclear) desenvolveu a World Wide Web e vrios protocolos de comunicao que foram o backbone, ou a espinha dorsal, da Web. Segundo SAMPAIO (1996), a WWW foi criada inicialmente para facilitar a troca de informaes e descobertas entre a comunidade cientfica, mas rapidamente, com o surgimento do navegador web Mosaic, de Mark Andressen, tomou conta de toda a Internet. Informa ainda, que o grande truque da WWW ser baseada em arquitetura Cliente-Servidor, o que divide a responsabilidade do processamento entre o computador do usurio e o do provedor de acesso. Isto permite que, enquanto um est formatando os dados, o outro est transmitindo imagens e etc. Ao novo sistema de organizar informaes atravs da WWW, deu-se o nome de hipertexto. Berners Lee junto equipe da CERN criaram um formato para esses documentos de hipertexto, a linguagem de marcao de hipertexto HTML, acrescentando essa formatao ao protocolo TCP/IP e configurando um novo protocolo de transferncia de hipertexto HTTP, para orientar a comunicao entre navegador e servidor. Em fevereiro de 1990, a ARPANET, ainda sustentada pelo Departamento de Defesa dos Estados Unidos e operada pela Fundao Nacional de Cincia, encerrava
21
suas atividades passando a responsabilidade de espinha dorsal da Internet para NSFNET tambm operada pela National Science Foundation, que operou at abril de 1995, quando o governo anunciou a privatizao da Internet. Fato, provavelmente provocado, por fortes presses comerciais e pelo grande aumento de usurios com o crescimento das redes de empresas privadas e de redes corporativas sem fins lucrativos. A partir de ento, surgiram varias empresas denominadas ISPs (Internet Service Providers - provedores de servios da Internet), que ofereciam a usurios comuns de computadores a possibilidade de conexo de suas mquinas Internet, e o mundo todo a abraou criando uma verdadeira teia mundial. Desde a dcada de 1960 a Internet sofreu muitas mudanas. Hoje ela uma grande rede TCP/IP constituda de milhes de pequenas redes trabalhando juntas. O seu poder de comunicao, juntamente com os progressos em telecomunicaes, na computao e no desenvolvimento de dispositivos eletrnicos provocou grandes mudanas no mundo tecnolgico.
and Eletronics Engineers) como padro 802.3, segundo LOPEZ (2000) em 1988. Caracterizou-se como padro de rede de uso geral, dando origem s importantes redes locais ou LANs (Local Area Network). Esse estilo de rede passou a ser amplamente utilizado para interconectar computadores pessoais em reas geograficamente pequenas, como uma empresa, ou uma universidade, possibilitando o
compartilhamento de equipamentos, como impressoras, o que permite melhor aproveitamento de recursos disponveis em ambientes de trabalho. Outra vantagem que a rede local era a forma mais barata de conectar todos os micros a Internet, se comparada forma existente na poca onde cada micro tinha por obrigao uma linha telefnica e um modem. A primeira implementao do padro Ethernet 10 Mbps, denominava-se 10BASE5, sigla que a juno de 3 informaes. O 10 se refere a velocidade de transmisso, 10Mbps, o BASE abreviao de baseband modulation, o que indica que o sinal transmitido diretamente, de forma digital (sem o uso de modems, como no sistema telefnico), enquanto o 5 indica a distancia mxima que o sinal capaz de percorrer, nada menos que 500 metros (MORIMOTO, 2009). Essas redes utilizavam cabos thicknet, um tipo de cabo coaxial grosso e pouco flexvel e eram montadas na topologia fsica em barramento, como mostra a Figura 2.2.
Logo depois, outras trs implementaes do Ethernet padro (10Mbps) surgiram. A rede 10Base5 logo deu lugar 10Base2, que apesar de tambm utilizar topologia de rede em barramento, possua cabos coaxiais bem mais finos, que facilitavam o manuseio, sua distancia mxima de transmisso de 200 metros. A terceira implementao a 10BaseT, Figura 2.3, que utiliza um hub - repetidor multiportas, para estabelecer conexo fsica entre estaes formando uma topologia
23
em estrela, e cabos de par tranado, bem mais finos e flexveis se comparados aos coaxiais. Este padro ainda muito utilizado hoje em dia.
A quarta implementao foi a 10BaseFL, que utiliza topologia estrela para conectar as estaes a um hub, e cabos de fibra ptica para transmisso de dados. Desde ento surgiram novos padres com velocidades de transmisso maiores como Fast Ethernet de 100 Mbps, e o Gigabit Ethernet de 1000 Mbps. Logicamente os sistemas de cabeamento foram sucessivamente aprimorados. O Fast Ethernet composto por trs padres distintos: o 100BaseTX utiliza cabos de par tranado categoria 5, segundo MORIMOTO (2009) utilizado em mais de 80% das instalaes atuais. Nesse protocolo foi mantida a distncia mxima de 100 metros, mais foi adicionado o modo full-duplex, onde as estaes podem enviar e receber dados simultaneamente (100 megabits em cada direo), desde que seja usando um switch. O 100BaseT4 com cabos de categoria 3, foi pouco utilizado, de forma que muitas placas de rede sequer oferecem suporte a ele. Por fim, o 100BaseFX com cabo de fibra ptica que possibilitava criar links com cabos de at 2 km e com possibilidade de atingir distncias maiores atravs de repetidores. Por sua vez, o Gigabit Ethernet composto por quatro padres diferentes: 1000BaseLX, suporta apenas fibra ptica e usa uma tecnologia com uso de lasers ao invs de LEDs, como em outros transmissores de rede para fibra ptica, tornando-a mais cara, em compensao seu alcance pode chegar a 10 km. 1000baseSX tambm utiliza fibra ptica, mas com uma tecnologia de transmisso derivada da usada em CDROMs, que torna o custo mais baixo. O alcance mximo atingido nesse padro 500 metros. 1000BaseCX, utiliza dois pares de cabo de par tranado blindado, mas seu
24
alcance atinge apenas 25 metros. Por fim, o padro 1000BaseT, que permite usar o cabo de par tranado categoria 5, representando grande economia. Seu alcance
continua sendo de 100 metros e os switches compatveis com o padro so capazes de combinar ns de 10, 100 e 1000 megabits sem que os mais lentos atrapalhem os demais. Os trs padres para cabos de par tranado, 10BaseT, 100BaseTX e 1000BaseT, caracterizam-se como os mais importantes entre os padres Ethernet cabeados, e so os mais utilizados no nosso dia-a-dia. Tradicionalmente, as redes Ethernet operam em modo half-duplex, onde possvel realizar apenas uma transmisso por vez, enviando ou recebendo dados, mas no as duas coisas simultaneamente. Este modo de funcionamento herana das redes 10Base2 e das redes com hubs burros, onde todas as estaes so ligadas ao mesmo cabo e apenas uma pode transmitir de cada vez, com possibilidade de ocorrerem colises (MORIMOTO, 2009). Quando os dispositivos so interligados numa rede atravs de um meio em comum, como um cabo longo funcionando como uma espinha dorsal por onde circularo dados de todas as estaes conectadas a ela, (topologia em barramento), caracterizando conexes multiponto, necessrio a existncia de um protocolo que controle o acesso das estaes ao meio. No sistema de transmisso de dados da rede Ethernet padro de (10 Mbps), o mtodo de acesso ao meio adotado foi o CSMA/CD (Carrier Sense Multiple Access with Collision Detection) que se trata de um protocolo de acesso mltiplo com vigilncia de portador Carrier Sense e deteco de coliso. Com o uso deste, qualquer estao pode ter acesso ao cabo em qualquer momento, no h prioridade entre as mquinas. Antes de um dos computadores iniciar uma transmisso, inspeciona o cabo para saber se algum mais j esta transmitindo, em caso afirmativo, ele espera at que o cabo esteja livre para ento iniciar sua transmisso, evitando interferncias. Caso, dois ou mais micros iniciem a transmitir ao mesmo tempo ocorrer uma coliso de dados e todos eles param de transmitir, esperam um perodo de tempo aleatrio e tentam a retransmisso. Se ocorrer uma nova coliso, o tempo aleatrio de espera duplicado e as tentativas de transmisso continuam at que uma das estaes consiga iniciar sua transmisso ou at que seja excedido o valor limite de tentativas, o que significa que a estao tentou o suficiente e deve desistir de tentar. De acordo com FOROUZAN (2006), o CSMA/CD, utiliza o exponential backoff method mtodo de espera exponencial, onde a estao espera durante um intervalo
25
de tempo entre 0 e 2N tempo de propagao mxima (tempo de propagao entre as duas estaes mais distantes da rede), onde N o nmero de tentativas de transmisso. Noutras palavras a estao ir esperar entre 0 e [2 (tempo de propagao mxima)] aps a primeira coliso, entre 0 e [22 (tempo de propagao mxima)] aps a segunda coliso e assim por diante. O valor limite de N tipicamente 15. Hoje em dia, Ethernet quase sinnimo de rede. Por ser um padro aberto, qualquer fabricante pode fabricar placas e outros componentes de rede e desenvolver solues, o que aumenta a concorrncia e o volume produzido, derrubando os preos. Dentro do cenrio atual, desenvolver padres proprietrios de rede no faz muito sentido, pois alm de produzir as placas o fabricante precisaria arcar com todos os custos relacionados ao desenvolvimento e divulgao da tecnologia (MORIMOTO, 2009). Entre muitas vantagens esto facilidade de montar, de gerenciar, manter, a capacidade de interconectividade e acesso remoto. Por tudo isso a Ethernet a tecnologia de rede local (LAN) mais popular e mais utilizada no mundo em aplicaes de rede de comunicao comercial, e mais recentemente em aplicaes industriais. Ela se encontra disposta nos mais variados ambientes sejam eles educacionais, pblicos, residenciais, comerciais, industriais, etc. Deve ser lembrado que as redes Ethernet possuem a importante caracterstica de conexo a Internet. Atentos as novas tendncias, muitos fabricantes tm dedicado esforos no desenvolvimento de equipamentos, das mais variadas aplicaes, com suporte a rede, e em alguns casos, j so desenvolvidos com a tecnologia Ethernet embarcada em sua estrutura fsica. De acordo com ALBUQUERQUE (2009), nos ltimos anos crescente o interesse da indstria pela rede Ethernet como uma possvel alternativa no cho de fbrica e no controle de processos. As redes industriais de cho de fbrica, fieldbus, surgiram para substituir o sistema at ento existente na indstria, conhecido como sistema centralizado ou ponto-a-ponto e com o surgimento dos instrumentos digitais era necessrio algo que pudesse interlig-los. O sistema tradicional, existente ainda em muitas indstrias, formado basicamente por CLPs com suas entradas e sadas ligadas a diversos hardwares espalhados na fbrica, o que implica em inmeros cabos, muitas vezes de grande comprimento e na dificuldade de encontrar e diagnosticar defeitos na planta
26
industrial. Com a implementao da rede, um nico cabo interliga os elementos de campo. Essas redes proporcionam, menor custo nas implementaes devido menor quantidade de cabos necessria, maior organizao nas montagens, ganho de tempo em relao ao encontro e resoluo de defeitos no sistema, maior flexibilidade ao processo de controle industrial, permitindo expanses futuras entre outras vantagens. Nesse contexto de custo/benefcio, vrios protocolos de cho de fbrica foram desenvolvidos e bastante difundidos, como exemplo, PROFIBUS, Devicenet, Fieldbus Foundation, Modbus, AS-I, e outros. A escolha por utilizar uma destas redes depende da preferncia e do conhecimento dos gestores das redes em cada fbrica ou mesmo pela aplicao. O problema que essas fieldbuses, por serem de fabricantes diferentes, so baseadas em protocolos distintos, tornando os sistemas proprietrios e caros. A partir da, surgiu a necessidade da padronizao entre essas redes, e a forma mais difundida para isso era com o padro TCP/IP, ento, essas redes foram adaptadas tecnologia Ethernet, dando origem a Ethernet industrial. O padro TCP/IP surgiu no meio industrial h cerca de oito anos, porm apenas nos ltimos quatro anos que se tornou comercialmente utilizado em ambientes industriais (LUGLI, 2010).
modificaes lgicas tanto do ponto de vista do hardware quanto do software. O modelo OSI no um protocolo; ele um modelo que auxilia na compreenso e
27
projeto de novas arquiteturas de rede que sejam ao mesmo tempo flexveis, robustas e interoperveis (FOROUZAN, 2006). O modelo OSI foi desenvolvido seguindo a filosofia das arquiteturas
multicamadas. Os projetistas de rede decidiram organizar os protocolos em camadas devido a uma srie de vantagens conceituais e estruturais. Uma das vantagens, por exemplo, que a modularidade facilita a atualizao de componentes do sistema. Desta forma, cada protocolo pertence a uma das camadas e oferece servios para as camadas adjacentes. Uma camada de protocolo pode ser implementada em software, em hardware ou em uma combinao entre os dois (KUROSE, 2006).
A Figura 2.4 mostra as sete camadas definidas para o modelo, cujos princpios de definio, segundo STEMMER (2010), foram os seguintes: Cada camada corresponde a um nvel de abstrao necessrio no modelo; Cada camada possui suas funes prprias e bem definidas, e foram escolhidas segundo a definio dos protocolos normalizados internacionalmente; A escolha das fronteiras entre as camadas deveria ser definida de modo a minimizar o fluxo de informao nas interfaces; O nmero de camadas deveria ser suficiente grande para evitar a realizao de funes muito diversas por uma mesma camada, e, suficientemente pequeno para evitar uma alta complexidade da arquitetura.
28
Levando em considerao a transmisso de um dado, cada camada recebe as informaes passada pela camada superior, acrescenta informaes de sua responsabilidade e repassa os dados para a camada imediatamente inferior, esse processo denominado encapsulamento. Quando as informaes chegam camada de Transporte, os dados so divididos em pacotes (conjunto de dados manipulados nas camadas 3 e 4 que carregam informaes de endereamento virtual, como o IP da mquina de destino), os quais sero novamente divididos, agora em vrios quadros (conjunto de dados enviados na rede, associados as camadas 1 e 2, os quadros carregam informaes de endereamento fsico, como o endereo real de uma placa de rede) na camada de Enlace. Esse processo invertido na recepo de um dado.
A forma de comunicao de dados entre as camadas do modelo de referncia RM-OSI ilustrada na Figura 2.5. Neste caso, um aplicativo emissor est transmitindo dados a um aplicativo receptor. Tudo se inicia com o envio de dados do emissor, atravs de um protocolo de comunicao, camada de aplicao que acrescenta informaes de sua competncia, um cabealho de aplicao, 7, e envia a mensagem resultante camada de apresentao que, por sua vez, introduz a mensagem recebida o cabealho de apresentao, 6. Esse processo continua at a camada fsica, quando os dados que agora esto na forma de quadros, so enviados pelo cabeamento de rede chegando at a camada fsica do aplicativo receptor.
29
Uma vez no receptor, os diversos cabealhos introduzidos por cada uma das camadas de rede do emissor vo sendo interpretadas e eliminadas nas camadas correspondentes do sistema destino at que dados cheguem ao aplicativo emissor. Nas redes baseadas em arquitetura multicamadas, durante o processamento de um dado, que vai passando em cada camada, uma determinada camada no toma conhecimento da existncia e significado das informaes de cabealho introduzidas por outra camada, considerando este como parte dos dados que compem a mensagem. De acordo com STEMMER (2010), o conceito fundamental da transferncia de dados que cada camada foi projetada como se a comunicao fosse realmente horizontal quando na verdade a transmisso se d de modo vertical. A comunicao vista na Figura 2.5 um exemplo de como realmente acontece a transmisso de um dado atravs de uma rede, denominada comunicao real. Como j informado, as camadas foram desenvolvidas como se a transmisso ocorresse de forma horizontal, ou seja, a comunicao ocorreria entre as diferentes camadas pares (camadas localizadas em sistemas diferentes, mas associadas a um mesmo nvel). Nesse sentido, uma determinada camada do emissor comunica-se com a mesma camada do dispositivo receptor. Essa comunicao, denominada virtual, ilustrada na Figura 2.6.
As camadas do modelo OSI podem ser divididas em trs grupos: aplicao, transporte e rede, como ilustrado na Figura 2.7. As camadas de rede se preocupam com a transmisso e recepo dos dados atravs da rede e, portanto, so camadas de baixo nvel. A camada de transporte responsvel por pegar os dados recebidos pela
30
rede e repass-los para as camadas de aplicao de uma forma compreensvel, isto , ela pega os pacotes de dados e transforma-os em dados quase prontos para serem usados pela aplicao. As camadas de aplicao, que so camadas de alto nvel, colocam o dado recebido em um padro que seja compreensvel pelo programa (aplicao) que far uso desse dado.
A seguir, encontra-se um resumo de informaes sobre as funes de cada uma das camadas, segundo TANENBAUM (2003), do modelo de referencia RM-OSI. Camada Fsica - responsvel pela transmisso de uma cadeia de bits num determinado meio fsico. Deve tratar de todas as especificaes fsicas do meio de transmisso, como: caractersticas eltricas (nveis de tenso a serem usados para representar um bit 1 e um bit 0), mecnicas (tipo de cabeamento; nmero de pinos no conector de rede), taxa de transmisso (nmero de bits enviados por segundo), a forma como a conexo inicial ser estabelecida e de que maneira ela ser encerrada quando os dois lados tiverem terminado de transmitir. Camada de Enlace de dados sua tarefa transformar os grupos de dados brutos provenientes da camada fsica em uma linha que parea livres de erros (link confivel), para a camada de rede. Ela tambm controla o fluxo de dados impedindo que um transmissor rpido envie uma quantidade excessiva de dados a um receptor lento. Com frequncia, necessrio um mecanismo que regule o trfego para informar ao transmissor quanto espao o buffer do receptor tem no momento.
31
Camada de Rede responsvel pelo roteamento de pacotes da origem at o destino, possivelmente viajando entre inmeras redes, permitindo que redes heterogneas sejam interconectadas. Camada de Transporte garante que as mensagens sejam entregues intactas e livres de erros. Essa camada utiliza um mtodo de fragmentao e reagrupamento de pacotes, na transmisso e recepo respectivamente, para evitar que uma mensagem monopolize o link ou o segmento de rede pelo qual trafega. Ao receber dados da camada acima, divide estes em vrios segmentos de tamanhos variados, onde cada um possui um nmero de identificao, repassa essas unidades camada de rede e assegura que todos os fragmentos cheguem corretamente a outra extremidade. O nmero de identificao de cada fragmento permite que a camada de transporte do sistema receptor remonte e identifique se a mensagem se encontra realmente intacta. Camada de Sesso camada que oferece servios como o controle de dilogo permitindo que dois dispositivos iniciem um dialogo e controlando quem deve transmitir em cada momento. Sincronizao adicionando pontos de verificao, realizando uma verificao peridica em transmisses longas permitindo que, em caso de falhas, elas continuem do ponto onde estavam. Camada de Apresentao est relacionada sintaxe e a semntica das informaes transmitidas. Diferentes computadores utilizam diferentes sistemas de codificao das informaes trocadas, a camada de apresentao responsvel pela interoperabilidade entre os diferentes mtodos de codificao. Segundo FOROUZAN (2006), a camada de apresentao no transmissor converte a informao expressa no seu formato prprio numa informao em um formato comum (universal). A camada de apresentao no receptor converte a informao nesse formato universal para o formato adequado ao receptor. Camada de Aplicao o nvel mais alto dentre as camadas. Permite aos usurios acesso rede por conter diversos protocolos de aplicao como, por exemplo, o Protocolo de Transferncia de Hiper Texto - HTTP, que constitui a base para a WWW. Quando um navegador deseja uma pgina Web, ele envia o nome da pgina desejada ao servidor, utilizando HTTP. Segundo TANENBAUM (2003), existem vrios motivos que levaram aos protocolos associados ao modelo OSI serem raramente usados nos dias de hoje. Entre eles, a tecnologia utilizada era considerada ruim, pois, existem falhas no modelo e nos
32
protocolos. Revela que a escolha das sete camadas foi mais poltica de que tcnica. Enquanto duas das camadas (de sesso e apresentao) esto praticamente vazias, duas outras (enlace de dados e rede) se encontram sobrecarregadas. A arquitetura muito complexa o que dificulta a implementao enquanto sua operao no nada eficiente, pois, devido a essa enorme complexidade do modelo e dos protocolos as implementaes iniciais eram lentas, pesadas e gigantescas.
Figura 2.8 Comparao estrutural em relao s camadas entre os modelos de referencia OSI e TCP/IP.
Enxergar as camadas como fornecedores ou consumidores de servio um mtodo de abstrao para isolar protocolos de camadas acima dos pequenos detalhes de transmitir bits atravs, digamos, de ethernet, e a deteco de coliso enquanto as camadas abaixo evitam ter de conhecer os detalhes de todas as aplicaes e seus protocolos (WIKIPDIA, 29/02/2012).
33
Como pode ser facilmente observado na figura 2.8, geralmente, as trs camadas mais acima do modelo OSI (aplicao, apresentao e sesso) so consideradas como uma nica camada (aplicao) no modelo TCP/IP. Isso porque o TCP/IP tem uma camada de sesso relativamente leve, consistindo de abrir e fechar conexes sobre TCP e RTP - Real-time Transport Protocol (transporte) e fornecer diferentes nmeros de portas para diferentes aplicaes sobre TCP e UDP - User Datagram Protocol. Se necessrio, essas funes podem ser aumentadas por aplicaes individuais (ou bibliotecas usadas por essas aplicaes). Vejamos um breve resumo das funes reservadas a cada camada no modelo de referencia TCP/IP: Camada de Aplicao (referente s camadas 5 7 da OSI). Camada que a maioria dos programas de rede usa para se comunicar atravs da rede. A camada define os protocolos de aplicativos TCP/IP que provm servios que suportam diretamente aplicaes do usurio. Dentre as aplicaes esto a possibilidade de transferncia de arquivos, busca de pginas na web, envio de emails e etc. O pacote relacionado camada de aplicao chamado Mensagem ou Dados. Camada de Transporte (referente a camada 4 da OSI). Onde determinado para qual aplicao um dado qualquer destinado. Camada responsvel pela garantia da entrega de dados e da integridade dos mesmos. Entre os protocolos existentes nessa camada os dois mais importantes e mais utilizados so o TCP e o UDP. O TCP (Transmission Control Protocol protocolo de controle de transmisso) um mecanismo de transporte confivel orientado a conexo que garante a entrega de dados ao receptor sem erros e na ordem que foram enviados, controla ainda o fluxo de dados enviados (desacelerando se necessrio evitando uma sobrecarga na rede). J o UDP (User Datagram Protocol protocolo de datagrama do usurio) um protocolo sem conexo e no confivel, pois ele no oferece qualquer garantia se os dados alcanaram seu destino ou se chegaram na ordem de envio. Este protocolo utilizado em uma aplicao em que a entrega imediata mais importante que a garantia de entrega, como a transmisso de voz e vdeo. O pacote da camada de transporte chamado Segmento. Camada de Internet (referente camada 3 da OSI). A tarefa dessa camada entregar pacotes IP onde for necessrio. Ou seja, ela permite que os hosts
34
injetem pacotes em qualquer rede e deve garantir que eles trafeguem independentemente at o destino (talvez em uma rede diferente) (TANENBAUM, 2003). O IP (Internet Protocol protocolo da Internet) foi projetado para no ser confivel, por isso os pacotes podem chegar ao seu destino em ordem diferentes as que foram enviadas. De acordo com informaes colhidas na WIKIPDIA (29/02/2012), o protocolo IP pode transmitir dados para diferentes protocolos de nveis mais altos, esses protocolos so identificados por um nico nmero de protocolo IP, alguns destes, como o ICMP - Internet Control Message Protocol protocolo de controle de mensagens (usado para transmitir informao de diagnstico sobre a transmisso IP) e o IGMP - Internet Group Management Protocol protocolo de gerenciamento de grupo (usado para gerenciar dados multicast) so colocados acima do IP mas executam funes da camada internet. Isso ilustra uma incompatibilidade entre os modelos da internet e OSI. Camada de Rede (referente s camadas 1 e 2 do modelo OSI). Essa camada tem a responsabilidade de detalhar o modo como os dados sero enviados fisicamente pela rede, trata das caractersticas eltricas e mecnicas do meio, como tipos de conectores e cabos utilizado para estabelecer uma comunicao. Como pode ser observado na Figura 2.8, e informado na WIKIPDIA (29/02/2012), a camada de enlace de dados no realmente parte do modelo TCP/IP, mas o mtodo usado para passar quadros da camada de internet de um dispositivo para a camada de internet de outro. Esse processo pode ser controlado tanto em software (device driver) para a placa de rede quanto em firmware ou chipsets especializados. Esses iro executar as funes da camada de enlace de dados como adicionar um header (cabealho) de pacote para prepar-lo para transmisso, ento de fato transmitir o quadro atravs da camada fsica. Do outro lado, a camada de enlace ir receber quadros de dados, retirar os headers adicionados e encaminhar os pacotes recebidos para a camada de internet.
35
Camadas 1 Aplicao
Protocolos HTTP, SMTP, FTP, SSH, Telnet, SIP, RDP, IRC, SNMP, NNTP, POP3, IMAP, BitTorrent, DNS, Ping ...
TCP, UDP, RTP, SCTP, DCCP ... IP (IPv4, IPv6) , ARP, RARP, ICMP, IPsec ... Ethernet, Token Ring, X.25, RS-232...
Os principais protocolos relacionados a cada uma das camadas do modelo TCP/IP esto apresentados na Tabela 1. De acordo com TANENBAUM (2003), a baixo da camada de internet, encontra-se um grande vcuo. O modelo de referencia TCP/IP no especifica muito bem o que ocorre ali, exceto o fato de que o host tem de se conectar rede utilizando algum protocolo para que seja possvel enviar pacotes IP. A camada de rede, nesse modelo de 4 camadas, no se caracteriza como uma camada no sentido em que o termo usado no contexto de protocolos hierarquizados. Trata-se na verdade de uma interface (entre as camadas de rede e de enlace de dados), ou seja, o modelo no faz distino (nem se quer menciona) diferenas entre as camadas fsicas e enlace de dados, as quais tem funes bastante diferenciadas. A camada fsica, esta relacionada s caractersticas fsicas da transmisso dos bits, enquanto, a camada de enlace de dados delimitar o incio e o final dos quadros e envi-los de um lado a outro com o grau de confiabilidade desejado. Por tudo, so vrias as bibliografias encontradas que substituem modelo inicial do TCP/IP baseado em 4 nveis: Host/rede; Inter-rede; Transporte; e Aplicao. E trabalham com um modelo hbrido, com 5 camadas, que retira o excesso do modelo OSI e melhora o modelo TCP/IP: Fsica; Enlace; Internet; Transporte; e Aplicao. Hoje, a maioria dos sistemas operacionais comerciais incluem e instalam a pilha TCP/IP por padro. Para a maioria dos usurios, no h nenhuma necessidade de procurar por implementaes. O TCP/IP includo em todas as verses do Unix e Linux, assim como no Mac OS e no Microsoft Windows (WIKIPDIA, 29/02/2012).
36
2.5 Microcontroladores
Este tpico faz uma breve introduo sobre microcontroladores, em especial os da linha PIC fabricados pela Microchip, que so largamente utilizados em aplicaes didticas, embarcados em equipamentos eletroeletrnicos, em ambientes industriais, comerciais, residenciais e etc. Em meados da dcada de 1980, vrios componentes externos foram integrados em um mesmo chip, o que resultou em circuitos integrados chamados
microcontroladores e na difuso dos sistemas embarcados (WIKIPDIA, 02/03/2012). Pode-se dizer que a funo bsica de um microcontrolador processar informaes a partir de sinais de entrada, provenientes de um boto ou um sensor por exemplo. Com o resultado de todo processamento, o dispositivo libera sinais de sada que ativaro outros dispositivos. Nesse sentido, so dispositivos destinados a sistemas dedicados a tarefas especficas, assim os mesmos podem possuir tamanho, recursos computacionais e custo reduzidos se comparados a computadores normais. Para que esses componentes sejam capazes de desenvolver todo esse gerenciamento lgico, necessrio que informaes (informando-o o que deve acontecer quando determinados eventos ocorrerem) sejam estruturadas na forma de um programa e gravada dentro do dispositivo. Esse programa ser executado sempre que o microcontrolador for energizado. Uma definio bastante clara desses componentes feito por MIYADAIRA (2011), que informa que os microcontroladores (C ou MCU) so pequenos dispositivos dotados de inteligncia, basicamente constitudos de CPU (Central Processing Unit Unidade Central de Processamento), memria (dados e programas) e perifricos (portas E/S (Entrada/Sada), I2C, SPI, USART etc.). Suas dimenses reduzidas so resultantes da alta capacidade de integrao, em que milhes de componentes so inseridos em uma pastilha de silcio pela tcnica de circuitos integrados (CIs). Eles esto presentes na maioria dos equipamentos digitais, como celulares, MP3 player, impressoras, robtica, instrumentao, entre outros. Quanto inteligncia do componente, podemos associ-la Unidade Lgica Aritmtica (ULA), pois nessa unidade que todas as operaes matemticas e lgicas so executadas. Quanto mais poderosa a ULA do componente, maior sua capacidade de processar informaes (SOUZA, 2007). Como se v, um microcontrolador dotado de recursos suficientes que permitem sua utilizao em diversas aplicaes dentro do chip. Nesse aspecto o
37
MCU oferece vantagens sob os microprocessadores, onde para a utilizao dos mesmos se faz necessrio o uso de memria externa e dispositivos de E/S, em contra partida, esses so dispositivos com funes dedicadas a CPU oferecendo grande poder de processamento e velocidade de execuo, utilizados em aplicaes complexas e de alto desempenho onde no existem restries em relao a custo e dimenses fsicas do componente. Alm de toda performance, de poderem ser utilizados em diversos projetos eletroeletrnicos oferecendo agilidade e controle, os Cs ainda trazem a caracterstica de baixo consumo de energia, sem falar que geralmente possuem a habilidade de entrar em modo sleep (modo de espera onde a CPU e os perifricos so desligados), passando a ter um consumo ainda mais baixo. O C retorna a seu estado normal a partir de uma interrupo ou evento externo, como o acionamento de um boto. De acordo com informaes existentes em (WIKIPDIA, 02/03/2012), quando em estado normal, o C tem um consumo na ordem de miliwatts e em modo sleep na ordem de nanowatts. Segundo MIYADAIRA (2011), o gerenciamento da energia consumida pelo C PIC indispensvel quando o circuito alimentado por meio de bateria, pois circuitos dessa natureza devem consumir o mnimo de energia a fim de maximizar o tempo de carga da bateria. Os microcontroladores, durante um tempo no to distante, eram dispositivos de alto custo econmico, o que restringia essa tecnologia a equipamentos mais complexos e mais caros. Com o passar do tempo, devido a vasta gama de aplicaes possveis com o uso desses componentes, passaram a ser produzidos em alta escala o que levou a queda no preo dos chips e a popularizao dos mesmos entre sistemas mais simples. Estima-se que brevemente em um lar comum de um pas desenvolvido j possvel encontrar mais de 20 microcontroladores nos mais diversos aparelhos. Outra aplicao importante dos microcontroladores na reduo de consumo de recursos naturais, um sistema baseado em microcontrolador pode monitorar o fornecimento de determinado recurso de forma eficiente como o caso de sistemas de injeo eletrnica bicombustvel nos automveis e a reduo do consumo de motores eltricos (FELIPE, 2010). Existem diversos fabricantes de microcontroladores no mercado que se diferem na arquitetura interna, quantidade de memria interna, velocidade de processamento, quantidade de entradas/sadas (I/O) e perifricos. Existem duas arquiteturas de
38
comunicao interna mais usadas entre os C, a Harvard e a Von-Neumann. Na Harvard a CPU utiliza barramentos separados para acesso das memrias de programa e dados aumentando o fluxo de dados. Na Von-Neumann as memrias de programa e dado compartilham o mesmo barramento limitando o fluxo de dados. A Intel, Motorola, Atmel e a Microchip, so exemplos de fabricantes de microcontroladores. Esta ltima tem se destacado com sua linha PIC, que abrange desde componentes pequenos com 6 pinos e palavras de instruo de 12 bits at os de 100 pinos com palavras de instruo de 16 bits (SILVA, 2007).
Como pode ser visto a Figura 2.9 demonstra a arquitetura de comunicao Harvard, tecnologia adotada pela linha PIC de MCUs, onde a CPU faz uso de caminhos diferentes para acessar as memrias. Essa linha formada por diversas famlias com capacidade de processamento de dados de 8, 16, 24 e 32 bits. Estes foram os primeiros dispositivos com arquitetura RISC (Computador com conjunto de Reduzido e Instrues), cuja simplicidade de projeto permite que mais facilidades sejam adicionadas a um baixo custo. Os programas podem ser guardados nas memrias flash, EEPROM (Electrically Erasable Programmable Read Only Memory) e OTP (One Time Programmable). Trabalham com freqncia de at 48Mhz, usando ciclo de instruo mnima de quatro perodos de clock o que permite velocidade mxima de 10MIPS (Milhes de Instrues Por Segundo) (ZORZIN, 2008).
39
Algumas das caractersticas de manipulao dos microcontroladores da linha PIC que fazem com que eles se adaptem facilmente em diversas aplicaes, esto listadas a seguir: Comunicaes I2C, SPI, RS-232, USB; TIMERs e contadores; Manipulao de memria EEPROM externa; Conversores A/D com at 12 bits de resoluo; Mdulos CCP e ECCP (Capture, Compare e PWM); Mdulo Ethernet; Watchdog Timer; Real Timer Clock; Manipulao da pilha TCP/IP. Todos esses recursos disponveis tornam os MCUs dispositivos de grande potencialidade, podendo ser realmente denominados computadores de tamanho reduzido, os quais permitem o desenvolvimento de hardwares com toda essa tecnologia embarcada. De acordo com a definio de ANDREANI (2007), um sistema embarcado um sistema de propsito especfico em que o computador completamente encapsulado por um mdulo de controle. Diferentemente de um computador de propsito geral, tal como um computador pessoal, um sistema embarcado desempenha tarefas pr-definidas, bastante especficas. Sistemas embarcados podem possuir desde nenhuma interface do utilizador (dedicados somente a uma tarefa) a uma interface completa, similar dos sistemas operacionais desktop (em sistemas como PDAs). Sistemas mais simples utilizam botes, LEDs ou telas bastante limitadas, geralmente mostrando somente nmeros ou uma fila pequena de caracteres. O surgimento da World Wide Web forneceu aos desenvolvedores de sistemas embarcados a possibilidade de fornecer uma interface Web atravs de uma conexo por rede (WIKIPDIA). Como dito por ZANCO (2005), o uso de microcontroladores no desenvolvimento de projetos pode contribuir significamente para o desenvolvimento de nosso pas. A formao de mo-de-obra qualificada, em sintonia com as demandas de um mercado, hoje globalizado, um dos pilares para o desenvolvimento e o crescimento sustentvel.
40
a rede como se fosse um computador normal, estabelecendo conexo lgica com uma mquina remota em um determinado segmento de rede. Dever tambm ser conectado a um controlador de rede (nesse caso um controlador Ethernet) para que os dados que chegam e saem do microcontrolador sejam codificados na forma padro para manipulao junto pilha. Um exemplo de controlador externo o ENC28J60, mostrado na Figura 2.10, fabricado pela Microchip. J a interface de rede essencial para estabelecer conexo fsica entre o dispositivo e um segmento de rede. Um exemplo de interface de rede mostrado pela Figura 2.11. Uma vez contendo todos esses requisitos, tal sistema embarcado pode ser considerado um Microservidor Web.
42
43
Na implementao deste projeto, sero utilizados quatro protocolos pertencentes pilha: Ethernet, IP, TCP e HTTP, cada um pertencente a uma camada do modelo TCP/IP. Os arquivos que formam a pilha so escritos na linguagem de programao C, destinado aos compiladores C Microchip C18, C30 e C32, HI-TECH , PICC-18. A pilha TCP/IP da Microchip foi projetada para aplicaes envolvendo apenas a famlia de microcontroladores PIC18, suportando dispositivos de 8, 16 e 32 bits. Como informado acima, a pilha TCP/IP da Microchip dividida em mltiplas camadas. O cdigo de execuo de cada camada reside em arquivos separados, enquanto os servios e APIs (Application Programming Interfaces Interface de Programao de Aplicativos) so definidos atravs de arquivos header/include. Ao contrrio do modelo de referncia, a pilha TCP/IP da Microchip pode acessar diretamente uma ou mais camadas que no se encontram diretamente abaixo dela. A comparao estrutural de acesso as camadas entre o Modelo de Referncia TCP/IP e a Pilha TCP/IP da Microchip est ilustrada na Figura 3.2. A deciso de quando uma camada deve contornar a adjacente necessria, e foi feita preliminarmente, devido quantidade de overhead e levando-se em conta se era necessrio ou no fazer um processamento pesado antes de passar para a prxima camada.
44
Figura 3.2 Comparao estrutural do Modelo de Referncia TCP/IP e a Pilha TCP/IP da Microchip. Fonte: MICROCHIPAN833C, 2008.
Foram adicionados dois novos mdulos na implementao da microchip em relao ao modelo tradicional, o Stack Task, que gerencia as operaes de todos os mdulos da pilha, permitindo acesso a nveis diferentes da pilha dependendo da aplicao, e o ARPTask, que gerencia os servios do protocolo de resoluo de endereos, camada ARP. Esses mdulos operam em conjunto sob uma tcnica conhecida como cooperative multitasking (multitarefa cooperativa). Nela, todas as tarefas devem ser executadas compartilhando os recursos do sistema. Assim, as duas camadas operam em conjunto da seguinte maneira, quando uma cumpre seus trabalhos ela gera um sinal de controle para que a outra possa executar os dela. Essa caracterstica permite a pilha trabalhar de forma mais rpida e manter certa independncia do programa principal, tornando possvel sua utilizao em dispositivos com poucos recursos (SANTANA, 2008). Por isso, a pilha TCP/IP da Microchip chamada de pilha viva; algumas de suas camadas podem executar operaes de forma assncrona. Tudo isso graas ao cooperativismo multitarefa (onde as tarefas so executadas sequencialmente e de modo independente). O programa principal envia cada tarefa para ser processada e, ao final da sua execuo, o controle retorna ao programa principal e s ento a prxima tarefa fica apta a ser executada (MICROCHIPAN833C, 2008).
45
Normalmente,
cooperativismo
multitarefa
implementado
pelo
sistema
operacional ou pela aplicao principal em si. A pilha TCP/IP da Microchip foi projetada para ser independente de qualquer sistema operacional e, portanto, implementa seu prprio sistema cooperativismo multitarefa. Como resultado, pode ser usado em qualquer sistema, independentemente se ele usa um multitarefa do sistema operacional ou no. No entanto, uma aplicao que utiliza a pilha TCP/IP da Microchip deve tambm utilizar o mtodo cooperativo multitarefa. Isso feito atravs da diviso de um programa em mltiplas tarefas, ou organizando o programa principal como uma mquina de estados finita (FSM) e dividindo um programa grande em diversos programas pequenos (MICROCHIPAN833C, 2008).
1. No arquivo "StackTsk.h", deve-se habilitar o cdigo do Servidor HTTP, descomentando a macro STACK_USE_HTTP_SERVER. 2. No arquivo "StackTsk.h", junto a macro MAX_HTTP_CONNECTIONS, deve ser definido o valor mximo de conexes para o Servidor HTTP. 3. Incluir no projeto os arquivos "http.c" e "mpfs.c". 4. Definir onde sero armazenadas as pginas web, se numa EEPROM externa ou na memria Flesh do microcontrolador, atravs das macros MPFS_USE_PGRM e MPFS_USE_EEPROM. arquivo "Xeeprom.c". 5. Modificar a funo main() do aplicativo para incluir o servidor HTTP. O servidor HTTP mantm uma lista dos tipos de arquivos suportveis. Ele usa essas informaes para aconselhar os navegadores sobre como interpretar arquivos especficos, com base nas extenses dos arquivos geralmente formadas por trs letras. Por padro, o Servidor HTTP da Microchip suporta arquivos . Txt, . Htm, . Html, . Xml, . Css, . Cgi, . Gif, . Png, . Cgi, . Jpg, . Cla e . wav. Se um aplicativo usa tipos de arquivos que no esto inclusos nesta lista, o usurio pode acessar o arquivo HTTP2.c e modificar a tabela httpFileExtensions, juntamente com o httpContentTypes. (MICROCHIPAN833C, 2008). Caso use memria externa, incluir no projeto o
47
O comprimento do Reserved Block Bloco Reservado, definido pela macro MPFS_RESERVE_BLOCK. O bloco reservado pode ser usado pela aplicao principlal para armazenamento de valores de configurao. O armazenamento MPFS comea com uma ou mais entradas MPFS2 FAT (File Allocation Table Tabela de Alocao de Arquivos), seguido por um ou mais arquivos de dados. A entrada FAT descreve o nome do arquivo, status e sua localizao (MICROCHIPAN833C, 2008). O formato da entrada FAT mostrado na Figura 3.4.
O byte Flag, indica o estado da entrada atual, se est em uso, excluda, ou no final da FAT. Cada entrada do FAT contm 16 ou 24-bit. O comprimento do endereo determinado pelo tipo de memria utilizado, bem como o modelo de tamanho da memria. Se for usada a memria de programa interna do dispositivo, o projeto compilado com o modelo de memria menor, usado o endereo de 16-bits. Se selecionados a memria interna de programao e o modelo de memria maior, usado o endereo de 24 bits. O esquema de endereo de 16 bits usado para memria EEPROM externa, independentemente do modelo de tamanho de memria. Isso implica em uma imagem do MPFS2 de no mximo 64 Kb para a memria externa (MICROCHIPAN833C, 2008).
48
O MPFS2 utiliza um formato 8 + 3 para o nome de arquivos (8 bytes para o nome real do arquivo e 3 bytes para o extenso, NNNNNNNN.EEE). O endereo de 16 bits d incio ao primeiro bloco de dados do arquivo. Os nomes dos arquivos so armazenados em maiusculo para faciltar a comparao. O campo de endereo em cada entrada FAT contm uma referncia para um bloco de dados que contm os dados do arquivo em questo. O formato do bloco de dados pode ser visto na Figura 3.5. O bloco terminado com um bit de flag especial de 8 bits chamado EOF (End Of File), seguido do valor FFFF (para endereamento de 16 bits) ou FFFFFF (para endereamento de 24 bits). Se a parte de dados do bloco contm um caractere EOF, o mesmo preenchido por um caractere de escape (BACURAU, 2011).
adicionais/inovadoras (SILVA, 2007). Como exemplo a possibilidade de conexo a internet. Os modelos dessa linha possuem a capacidade de manipulao da pilha de protocolos TCP/IP, mas, a grande maioria no tem capacidade de conexo direta com a rede Ethernet necessitando do uso de um controlador externo. Outros modelos, como o PIC18F87J60, trazem esse controlador embarcado em seu encapsulamento. O PIC18F87J60 construdo com base na arquitetura Harvard, que possui barramento de endereo e dados distintos, e com instrues do tipo RISC (Computador com Conjunto Reduzido de Instrues). Possui uma CPU de 8 bits, dotado de 128 Kbytes de memria de programa e 3808 bytes de memria RAM. Pode ser alimentado com tenses entre 2,5V e 3,6V. Esse modelo possui 80 pinos, como mostrado na Figura 3.6, dos quais 55 podem ser configurados como I/O, mdulo CCP com at
49
quatro sadas PWM, quinze conversores A/D de 10 bits de resoluo, mdulo SPI e IC, comunicao EUSART, em fim, todas as caractersticas que a famlia 18F oferece alem, de um controlador Ethernet como um de seus blocos internos. A estrutura em diagrama de blocos do PIC18F87J60 mostrado na Figura 3.7. Essa plataforma ideal para utilizao com a pilha TCP/IP para microcontroladores da Microchip, j que tanto a pilha quanto a plataforma so produzidos pela mesma empresa, minimizando assim problemas de incompatibilidade.
50
51
O mdulo Ethernet incorporado nesse dispositivo traz uma soluo completa de conectividade, incluindo a implementao dos mdulos MAC Controle de Acesso ao Meio, e a camada fsica (PHY), como ilustrado na Figura 3.8. O mdulo Ethernet atende todas as especificaes da IEEE 802.3 para o padro de comunicao 10BaseT que se conecta a rede com o cabo de par tranado. Incorpora uma srie de esquemas de filtragem que limitam a entrada de pacotes. Mdulo DMA e IP Checksum.
Como informado no datasheet o mdulo Ethernet composto por cinco blocos fundamentais: 1- Mdulo PHY que codifica e decodifica os dados analgicos enviados e recebidos da rede pelo cabo de par tranado. 2- Mdulo MAC que corresponde as implementaes IEEE 802.3 e fornece a Interface Independente de Gerenciamento de Mdia (MIIM) para controle da PHY. 3- Buffer da RAM para armazenar pacotes recebidos e pacotes a serem transmitidos com 8 Kbytes de transmisso/recepo.
52
4- Arbiter rbitro para controlar o acesso ao buffer da memria RAM quanto aos pedidos feitos pelo microcontrolador, DMA, e os blocos receptor (RX) e transmissor (TX). 5- Interface de registro, que funciona como uma intrprete de sinais de comandos e status entre o mdulo e o microcontrolador SFR. Outra caracterstica bastante importante oferecida por esse dispositivo que em caso dos 128 Kbytes de memria de programa serem insuficientes, o mesmo implementa um barramento de memria externa. Isso permite o tratamento de um espao de memria de at 2 Mbytes.
Surgia a a necessidade da pesquisa e obteno de uma plataforma de baixo custo, fcil acesso e que possusse as caractersticas necessrias para o desenvolvimento do sistema. Seguindo esses critrios foram localizadas algumas opes de hardware que poderiam servir como base para o projeto, e foi selecionada
53
entre eles a placa PME10A da 2EI mostrada na figura Figura 3.10, por ter um custo acessvel e possuir a interface de rede que essencial para a aplicao.
A PME-10A uma placa microcontrolada (PIC 18F87J60) com interfaces Ethernet 10 Mbps e serial RS-232. Ela pode ser adicionada a qualquer rede Ethernet 10/100 Mbps. Aplicaes tpicas incluem servidor Web HTTP, conversor de interface RS 232 para Ethernet, conversor de interface RS485 para Ethernet, controle remoto via Web, conexo TCP/IP, correio eletrnico, Agent SNMP, Servidor WAP,etc. (2EI, 2007). Os principais componentes da PME-10A so: 1 - Conector ICSP (In Circuit Serial Programming): Permite a placa PME-10A ser conectada a uma interface de programao para gravao da memria Flash do microcontrolador. 2 - Conector RJ45 (10 BaseT) que atende os requisitos IEEE802.3, possui leds de indicao: Amarelo: Indica que a conexo Ethernet est ativa. Verde: indica que a placa est transmitindo ou recebendo um pacote de dados. 3- Conectores de Expanso: Prov acesso de 53 pinos do microcontrolador PIC18F87J60 para serem usados como E/S. Entradas e sadas digitais esto na faixa de 0 a 3V3. A PME-10A pode ser alimentada diretamente por este conector ( + 3,3V no pino 28 de J1 e GND no pino 1 de J1). 4 - Microcontrolador: PIC18F87J60 com cristal de 25 MHz, 128K de memria Flash, MAC integrado e PHY 10Base-T, 3808 bytes de memria RAM e 55 portas de I/O programveis.
54
5 - Memria SPI EEPROM 25LC160 de 2Kbytes. Para configurao dos parmetros de rede. 6 - C.I MAX3232 para USART RS232. 7 - Conector Serial RS232: Prov os sinais Tx, Rx e GND para transmisso serial assncrona proveniente do integrado MAX3232. Como a PME10A constituda do PIC18F87J60 que suporta a pilha TCP/IP da Microchip que por sua vez oferece suporte para compiladores Microchip C18, o cdigo do dispositivo compilado pelo MPLAB C18, fornecido gratuitamente atravs do site oficial da Microchip Technology (www.microchip.com). Segundo MIYADAIRA (2009), o MPLAB C18 um compilador C destinado aos microcontroladores da famlia PIC18. Ele possui compatibilidade com o padro ANSI (American National Standards Institute) e pode ser facilmente integrado ao MPLAB IDE permitindo depurao em nvel de cdigo com o software MPLAB. Suas principais caractersticas so: compatvel com o padro ANSI. Permite misturar cdigos C e Assembly em um nico projeto. Permite configurar nveis de otimizao do cdigo. Dispe de uma vasta biblioteca (PWM, SPI, I2C, UART, USART etc.).
55
3.5 PROTEUS
Para a simulao do projeto foi utilizado software Proteus que um ambiente de desenvolvimento e simulao de circuitos eletrnicos. constitudo por um conjunto de programas como o ARES, que uma ferramenta que permite o projeto de placas de circuito impresso. O Proteus permite a simulao de sistemas eletrnicos constitudos de microcontroladores a partir do cdigo desenvolvido e compilado pelo MPLAB. A princpio possvel desenvolver e testar um projeto utilizando o Proteus VSM (Virtual System Modelling), antes mesmo de o prottipo fsico estar construdo. Isso possvel porque o Proteus VSM simula atravs de animao em tempo real (ou bem prximo disso) a integrao e funcionamento de todos os componentes de um projeto e oferece instrumentos virtuais (Osciloscpio, Multmetro, Analisador lgico, dentre outros) para depurao dos circuitos (SANTOS, 2009). A Figura 3.12 mostra o ambiente de desenvolvimento do Proteus VSM contendo um dos exemplos de circuitos eletrnicos que o mesmo traz em sua biblioteca.
56
57
desenvolvimento voltado para a web criado pela Macromedia (adquirida pela Adobe Systems). Este IDE incorpora um notvel suporte para vrias tecnologias web, tais como XHTML, CSS, JavaScript, Ajax, PHP, ASP, ASP.NET, JSP, ColdFusion e outras linguagens Server-side.
Outra funcionalidade do Dreamweaver permitir selecionar a maioria dos navegadores para se ter uma previso (preview) da visualizao do HTML ou da pgina diretamente no(s) navegador(es) de destino. O software possui tambm timas ferramentas de gerenciamento e transferncia de projetos tais como a habilidade de encontrar e substituir, no projeto inteiro, linhas de texto ou cdigo atravs de parmetros especificados. (BACURAL, 2011).
58
para o site inteiro. Pginas diferentes em um site podem utilizar a mesma folha de estilo. Em seguida, quando forem necessrias alteraes para o estilo, o autor das pginas web precisa modificar um nico arquivo de CSS para fazer alteraes de estilo em todo o site. A utilizao desses padres (HTML, XHTML e CSS), permite o desenvolvimento de pginas simples, com poucos contedos grficos e apenas contedos estticos. Aplicaes desenvolvidas a partir desses conceitos trazem a vantagem de uma perfeita integrao com qualquer navegador web, alm de no exigir profundos conhecimentos do desenvolvedor. No caso do trabalho em questo, que utilizar um navegador web como interface de acesso ao microservidor, a pgina a ser desenvolvida deve conter caractersticas que ofeream meios para que o usurio tenha controle sob variveis existentes em hardware, variveis estas, que mudam seus valores constantemente e que devem ser atualizadas de forma dinmica ao usurio, oferecendo-lhe acesso as informaes de campo em tempo real. Para que uma interface web oferea esses tipos de servios, novas tecnologias (alem do XHTML e do CSS) devem ser incorporadas pgina. De acordo com FELIPE (2010), vrias so as propostas de insero de parmetros de controle e indicadores grficos em pginas dinmicas, vejamos algumas dessas tecnologias: Labview um software proprietrio que oferece inmeras potencialidades, entre elas a possibilidade de acesso a dispositivos remotos via Internet. Possui uma linguagem de programao combinada com ferramentas grficas onde o desenvolvedor pode fazer dos instrumentos virtuais j implementados que podem se comunicar com instrumentos reais e podem ficar acessveis por qualquer navegador web a partir de um servidor HTTP embutido no prprio LABVIEW. Sistemas desenvolvidos com base nessa tecnologia necessitam da instalao da verso completa do software em seu servidor, o que envolve elevados custos. Java applets programa escrito em Java que pode ser inserido em pginas HTML permitindo a interao do usurio com partes grficas contidas na interface, oferecendo capacidade de controle e monitoramento das diversas variveis envolvidas de um processo em tempo real. Entre as desvantagens pode-se citar um alto tempo para sua inicializao e baixa velocidade de operao, a necessidade de ter instalada a maquina virtual Java no computador
60
do cliente e uma das principais desvantagens a variao de funcionalidade de um applet entre diferentes navegadores.
61
4 IMPLEMENTAO DO PROJETO
Markup Language), que d ao cliente grande flexibilidade em armazenamento, processamento e apresentao dos dados recebidos (FELIPE, 2010). O JavaScript uma linguagem aberta de scripts, considerada intermediria entre a linguagem Java e a HTML, portanto pode ser usada por desenvolvedores de pginas HTML para tornar suas pginas mais dinmicas e interativas. O desenvolvimento de pginas HTML dinmicas realizado a partir do modelo de objeto, que permite que os programadores Web controlem a apresentao de suas pginas e lhes fornece acesso a todos os elementos em sua pgina Web. A pgina inteira elementos, formulrios, frames, tabelas, etc. representada em uma hierarquia de objetos. Utilizando scripts, o autor capaz de recuperar e modificar dinamicamente qualquer propriedade ou atributo de uma pgina (DEITEL E NIETO, 2003). Scripts podem responder as interaes do usurio e alterar a pgina consequentemente. Isso torna os aplicativos web mais reativos e amigveis ao usurio, alem de reduzir a carga no servidor executando tarefas localmente junto ao navegador. O AJAX Assyncronous Javascript and XML, uma ferramenta que oferece aos desenvolvedores web solues na construo de pginas que necessitam de atualizaes constantes e de forma dinmica. De acordo com SANTOS (2009), O principal objetivo do AJAX melhorar a interatividade do usurio com o servidor, evitando interromper a interao do usurio com a pgina toda vez que a aplicao necessitar de informaes do servidor. Devido essas caractersticas, alm do AJAX ser atrativo visualmente, o mesmo economiza em recursos de banda j que a transmisso de dados bem menor, uma vez que as pginas no so recarregadas a cada nova requisio e so pginas que ainda possibilitam a obteno de informaes em tempo real. A aplicao web desenvolvida para implementao do controle do sistema de iluminao, foi programada com base em HTML e CSS somados a algumas funes de Ajax e Javascript para fornecer maior interatividade ao usurio.
63
A maioria das requisies ou solicitaes que ocorrem na web entre clientes e servidores mantida atravs do protocolo HTTP, que possibilita conversas de solicitao e resposta simples. O cliente envia uma solicitao HTTP e o servidor retorna uma resposta HTTP. Quando o servidor envia uma pgina HTML ao cliente, o faz usando o protocolo HTTP. O HTTP roda no topo do TCP/IP. O TCP responsvel por garantir que um arquivo enviado de um n da rede para outro chegue ntegro ao seu destino, ainda que o arquivo esteja dividido em blocos no momento do envio. O IP o protocolo de sustentao que transfere/roteia os blocos (pacotes) de um host para outro no seu caminho at o destino. Ou seja, o HTTP outro protocolo de rede que tem caractersticas para web, mas ele depende do TCP/IP para obter solicitaes e respostas completas de um lugar para outro. A estrutura de uma conversa HTTP uma sequncia simples de solicitao/resposta; um navegador solicita e um servidor responde (BASHAM, SIERRA e BATES, 2005). O protocolo HTTP possui vrios tipos de solicitao, conhecidos como mtodos, contudo, os mais usados so o GET e o POST. Esses tipos de solicitao recuperam e enviam dados de um formulrio do cliente para o servidor web. A solicitao GET o mtodo mais simples do HTTP e seu principal trabalho pedir ao servidor que consiga um recurso. As informaes do que se deseja receber do servidor esto anexados ao Localizador Uniforme de Recursos (URL - Uniform Resource Locators que localiza o endereo de um recurso solicitado na web) exposto na barra de endereos do navegador (na seguinte estrutura:
protocolo://mquina/caminho/recurso), e por isso, o total de caracteres que pode ser enviado atravs do GET limitado. A Figura 4.1 mostra um exemplo de solicitao via GET ao servidor aps do clique em um boto de uma pgina web.
Nessa solicitao, as informaes que seguem o ? (BTPAGINA=Controle) indicam a entrada especificada pelo usurio. Ou seja, o sinal de interrogao separa o caminho do parmetro. Segundo NEVES (2008) para o servidor da Microchip estes dados esto limitados at cerca de 80 bytes e os dados enviados via GET so automaticamente decodificados e guardados no array curHTTP.data. A aplicao lida
64
com estes dados na funo HTTPExecuteGet. As funes HTTPGetArg e HTTPGetROMArg fornecem um mtodo fcil de submeter valores para processar. Como informado por DEITEL e NIETO (2003), os dados enviados por uma solicitao POST no fazem parte da URL e no podem ser visto pelo usurio. Os formulrios que contm muitos campos so normalmente enviados atravs de uma solicitao POST. Os campos que diferenciam letras maisculas e minsculas no formulrio, como senhas, normalmente so enviados com esse tipo de solicitao. No foram desenvolvidas simulaes que necessitassem da implementao do mtodo de solicitao POST, mas o mdulo pode ser empregado para controle de um sistema em que seja necessrio a utilizao de tal mtodo. Assim, na solicitao ao microservidor via mtodo POST, segundo NEVES (2008), os dados so submetidos aps os cabealhos de pedido terem sido enviados. Isto permite que os dados sejam virtualmente ilimitados em questo de tamanho, desde que a aplicao os consiga processar. Mas, a aplicao tem de ser capaz de lidar com a recepo de dados, o que torna este mtodo geralmente mais complexo. Os dados enviados via POST so deixados no buffer TCP para que a aplicao os possa ir buscar assim que estiver preparada para tal. A funo HTTPExecutePost chamada repetidamente at que a funo retorne HTTP_IO_DONE. A aplicao deve usar as funes TCPFind e TCPGet para retirar os dados do buffer. Se for retornado HTTP_IO_NEED_DATA o servidor executa novamente a funo quando o buffer ficar novamente cheio.
65
Como infirmado por SANTANA (2008), os arquivos que compem o projeto ficam separados em duas pastas diferentes: Source Files e Header Files. A pasta Source Files contm os arquivos de extenso .c, que so os programas propriamente ditos e a pasta Header Files contm os arquivos de cabealho .h, que so arquivos de configurao utilizados em conjunto com os arquivos C. A seguir esto comentados resumidamente alguns dos principais arquivos que formam a pilha da microchip: HardwareProfile.h Onde realizada toda a configurao fsica de hardware, como: a definio do nome do projeto; definio do compilador; definio do microcontrolador a ser utilizado; configurao dos mdulos do microcontrolador Watchdog Timer, osciladores, conversores, etc; frequncia de clock utilizada, configurao dos pinos fsicos para conexo de: LEDs, memria EEPROM externa, botes, reles, controlador ethernet externo, caso necessrio, display LCD, enfim o mapeamento do hardware em relao aos pinos fsicos; MainDemo.c Onde fica alocada a funo principal, e onde so configuradas as portas j habilitadas no arquivo Hardwareprofile.h, com relao as condies de I/O, configurado tambm os canais analgicos e a inicializao do LCD, se for utilizada na aplicao;
66
CustomHTTPApp.c - Neste arquivo esto contidas as funes de autenticao das pginas, desenvolvidas as aplicaes web, definido os mtodos de envio (GET ou POST) e onde so implementadas as funes de retorno das variveis dinmicas das pginas web exibidas pelo servidor HTTP2; TCPIPConfig.h - Contem todas as definies da camada de aplicao da pilha TCP/IP. So definidos: os protocolos usados (ICMP, HTTP, SMTP etc); onde ser feito o armazenamento de dados (memria EEPROM ou memria Flash); o sistema de arquivos usado (MPFS ou MPFS2); IP, Mscara, Gateway, DNS e host name; endereo MAC; opes da camada de transporte (TCP e UDP); configuraes especficas das aplicaes; HTTP2.C - Este o arquivo onde est programado o servidor web da pilha, nele esto configurados os tipos de arquivo suportados e onde so feitas as alteraes de programao que permitem o uso de pginas para aparelhos celulares. O servidor web responde requisies da Internet atravs do programa principal pelo uso de duas funes HTTPGetVar e HTTPExecCmd, onde: HTTPGetVar - funo utilizada para enviar valores de variveis dinmicas do programa do PIC para o site; HTTPExecCmd - funo utilizada para capturar para dentro do programa do PIC, variveis enviadas atravs de formulrios no site (SANTANA, 2008). HTTPPrint.h - Definio das variveis dinmicas das pginas web e chamada das funes de manipulao das mesmas; StackTsk.c e StackTsk.h - Coordena a chamada das tarefas da pilha.
67
Para a simulao do circuito necessrio a compilao da pgina web atravs do programa MPFS e da pilha atravs do C18 gerando o arquivo hexadecimal a ser carregado no microcontrolador no ambiente de simulao. A Figura 4.4 mostra o Sistema de Arquivos da Microchip (MPFS2 - programa gerado junto a instalao da TCPIP Stack v5.25), responsvel por compilar as pginas web. Na maneira que est configurado (opes de processamento sada: C18/C30 Image) gerado um arquivo .c o qual aps a compilao do projeto ser gravado na memria interna do microcontroador. Este mtodo mais simples de usar, mas limitado ao tamanho da memria do microcontrolador.
68
Ao ser clicado em Generate, ser compilada a pgina carregada no MPFS e surgindo uma nova janela, Figura 4.5, a qual fornece informaes como a quantidade de arquivos e de variveis que pgina contm e o espao que a mesma ocupar na memria do PIC.
69
Outra possibilidade a de gravar a pgina em uma memria EEPROM externa. Nesse caso o programador dever selecionar a opo de sada BIN Image junto ao MPFS, que gerar um arquivo binrio (.bin) que a pgina web convertida em um formato que o MCU conhece. Este arquivo dever ser carregado na EEPROM atravs do mpfsupload, como mostra a Figura 4.6.
Ao definir a memria a ser utilizada para a gravao das aplicaes web, necessrio informar essa escolha a pilha TCP/IP atravs do arquivo TCPIPConfig.h por exemplo, se for usada uma EEPROM externa a opo #define MPFS_USE_EEPROM deve ser descomentada. O projeto utilizado nas simulaes difere em alguns aspectos do projeto real da aplicao pelo motivo da inexistncia do PIC18F87J60, empregado nesse trabalho, na biblioteca do Proteus. O dispositivo utilizado na simulao foi o PIC18F4620 interligado ao controlador Ethernet externo ENC28J60, como foi mostrado na Figura 4.3.
70
Para o acionamento das cargas envolvidas nas implementaes que o mdulo poder vir ser conectado, foram montados junto a trs sadas do mesmo trs reles, e seus respectivos circuitos de funcionamento, um conector RJ12 ligado a interface ICSP da PME10A para que o microcontrolador possa ser programado e conectores de entrada e sada de sinais provenientes da aplicao. Para o exemplo de aplicao do mdulo com Ethernet embarcada proposto por esse trabalho a vigilncia e controle de um circuito de iluminao, foi necessrio a utilizao de um circuito de condicionamento de sinal para que a tenso de rede (220 AC) fosse detectada por uma das entradas do microcontrolador. Os principais componentes deste circuito, ilustrado na Figura 4.8, so o Fotoacoplador PC817 e a ponte de diodos W04.
71
Este circuito permite que o microcontrolador possa identificar a presena de tenso (220V AC) em um determinado ponto. O optoacoplador responsvel por isolar diferentes partes do circuito. Os reles so responsveis por liberar ou no a tenso de retorno para o sistema de iluminao. Os estados (on/off) dos reles so comandados a partir de sinais lgicos de tenso provenientes do microcontrolador. Quando a iluminao no acionada pela pgina e sim localmente, o interruptor acionado envia a tenso de rede para o mdulo, nesse momento entra em cena o optoacoplador que isola essa tenso recebida, liberando apenas um sinal lgico para o microcontrolador, que enxerga como sinal de entrada e faz o seu trabalho de gerenciamento gerando um sinal de sada para o circuito do rele que por sua vez libera a tenso de retorno da rede para as luzes. Nesse mesmo tempo a pagina atualizada e indica que a iluminao esta acionada graas as requisies assncronas via Ajax ao microservidor. Componentes utilizados para a montagem do hardware: Placa PME10A; 3 reles; 4 diodos 1N4007; 3 transistores BC337 e 1 BC558; 5 LEDs; 1 fotoacoplador PC817;
72
1 ponte de diodos W04; 2 resistores de 22K, 1 de 220 , 5 de 10K; 1 conector RJ12; 1 conector para fonte de 12V; 1 regulador de tenso L7805 e 1 regulador LM1117; 2 capacitores eletrolticos de 10 F e 1 de 100 F; 3 capacitores cermicos de 100 nF; Conectores de I/O. A tabela 2 contem os custos relacionados a implementao do hardware.
Tabela 2 Custo do projeto
Componente Placa PME10A Rels Fotoacoplador PC817 Transistor BC558 Transistor BC337 Placa para montagem Componentes em geral Total
Quantidade 1 3 1 1 3 1 -
73
74
('luzes.cgi?luz=1') e os envia ao servidor via mtodo GET (dados da solicitao so enviados na prpria url). Com a utilizao da funo, newAJAXCommand(), vo ocorrer constantes solicitaes de envio de dados informados na url ao microservidor.
75
Ao
chegar
diretamente no so arquivo
pela
url
ao
servidor,
funo chamada
HTTPExecuteGET(), automaticamente,
CustomHTTPApp.c, e
onde
decodificados
armazenados
no
vetor
curHTTP.data em pares de nome e seu valor correspondente. As funes HTTPGetArg() e HTTPGetROMArg() podem encontrar facilmente o nome da varivel procurada e assim executar a ao necessria de acordo com o seu valor. Ou seja, a funo HTTPExecuteGET() identifica atravs dos parmetros recebidos via GET, qual arquivo (pgina web) e qual o nome ou dado pertencente a tal pgina foi enviado na requisio, em seguida executa as linhas de cdigos referente ao dado recebido, gerando sinais de sada para acionar/desativar o circuito de iluminao
correspondente. Se analisarmos os passos seguidos e os resultados adquiridos at o presente momento, observaremos que o usurio acessou a pgina de controle do sistema embarcada no microservidor, enxergou os dados informados pela interface web, forneceu entradas atravs da mesma no intuito de modificar o estado atual em hardware, e o servidor levou essas requisies at o microservidor o qual as processou e gerenciou sinais de sada que promoveram uma ao em hardware segundo as entradas fornecidas pela pgina de controle via web. Ou seja, apesar das mudanas no meio fsico, at ento, o usurio da interface no tem informaes sobre o ocorrido em hardware aps sua ao sob a pgina. A resposta do microservidor ao navegador, ou seja, a impresso dos dados atuais do hardware na pgina, se d a partir da execuo da funo HTTPPrint(), a mesma se encontra dentro do arquivo CustomHTTPApp.c da pilha. Mas, para o desenvolvimento de cdigos que iro servir de base para o retorno de dados ao cliente, se faz necessrio que algumas etapas tenham sido seguidas. Vejamos quais so: No momento da estruturao da pgina web, que dever fornecer condies de monitoramento e controle de um dado sistema a partir de um microservidor, o desenvolvedor deve ter em mente toda a relao de variveis estticas e dinmicas a serem alocadas na interface para que a mesma oferea funcionalidade e dinamismo junto ao processo. Uma vez feito essas definies, os arquivos referentes a estrutura da pgina devem ser convertidos para um formato compatvel para o armazenamento. Essa compilao feita pelo Sistema de Arquivos da Microchip (MPFS2). Na compilao da pgina web o programa MPFS2, alm de gerar a imagem da interface web, que poder ser embarcada na memria do microcontrolador ou em uma
76
memria EEPROM externa (depende da maneira que a imagem for criada - .c ou .bin, como j informado no texto), ele tambm ir gerar automaticamente na pilha o arquivo HTTPPrint.h, que possui as informaes de cabealho que vo informar a pilha TCP/IP, quais so as funes existentes responsveis por manipular as variveis estticas e/ou dinmicas da pgina. Tudo acontece da seguinte maneira: no momento que os arquivos so compilados e a imagem da pgina web gerada, o arquivo HTTPPrint.h ser atualizado automaticamente com as variveis pertencentes a pgina. A partir dessas, ele faz chamadas de funes relacionadas s variveis. Essas funes so desenvolvidas dentro do arquivo CustomHTTPApp.c, onde, a partir de seus cdigos, fornecem informaes a pgina sempre que solicitado. Se tratando de variveis estticas contidas na interface, o processo de tratamento relativamente simples, bastando apenas a pgina ser carregada junto a um navegador web para que as informaes contidas na funo HTTPPrint()
correspondente a varivel fornea seus valores ao cliente. No momento em que passa-se necessrio trabalhar com variveis dinmicas, ou seja, a existncia de campos na interface web que mudem seus valores de acordo com mudanas ocorridas em hardware, outros arquivos, contendo funes especficas, devem ser somados ao projeto da pgina alm das linguagens HTML e CSS, utilizadas na sua estruturao e aparncia. Como exemplo, funes de JavaScript, Ajax e XML. As variveis dinmicas existentes nas aplicaes web, como no caso das lmpadas, no exemplo que esse trabalho traz, devem ser contidas em um arquivo .xml (neste caso, status.xml), escritas na forma ~luz(1)~, como mostra a Figura 5.2. Atravs do caractere ~ o microservidor reconhece que se trata de uma varivel dinmica e atravs da funo HTTPPrint() referente varivel, substitui por seu valor atual antes de enviar o arquivo status.xml ao cliente.
Como informado por FELIPE (2010), toda a informao necessria para atualizao do estado na pgina se obtm do arquivo status.xml. Uma vez que a
77
pgina carregada por completo se inicia um cdigo Javascript que realiza o envio de solicitaes AJAX do recurso status.xml atravs da funo newAJAXCommand como mostrado na Figura 5.3.
Essa funo chama o arquivo status.xml, onde esto informados os valores atuais das variveis a serem atualizadas. Chama tambm a funo updateStatus que responsvel por comparar o valor existente no arquivo .xml com o existente na pgina naquele momento, promovendo a troca, ou no, da imagem. O ultimo parmetro true, indica que a solicitao deve ser repetida infinitamente e a cada 500ms, assim como est configurada a funo do Javascript, setTimeout. Com a comunicao assncronas do Ajax, eliminada a necessidade de atualizao da pgina inteira a cada requisio do usurio, sendo realizado apenas a atualizao dos dados necessrios, oferecendo mais eficincia na transmisso dos dados e maior interatividade com o usurio.
78
A Figura 5.4 esquematiza o sistema embarcado em ao a partir do controle de uma lmpada (L1). Neste contesto, a chave (CH), que se encontra em seu estado fechado e representa um interruptor, est ligada a fase da rede eltrica e a uma das trs entradas do mdulo, j a lmpada, ao neutro da rede e a uma das trs sadas do mdulo. As linhas vermelhas indicam que as mesmas esto alimentadas pela tenso de fase, a azul que est alimentada por uma tenso de retorno proveniente do mdulo, e as linhas pretas representam o neutro. No momento o prottipo s possui trs entradas e trs sadas, lembrando que a PME10A contida no mesmo, utiliza o PIC18F87J60, que disponibiliza 53 portas de I/O (entrada/sada). Por tanto, mais conectores podem ser includos no mdulo se assim for necessrio. Mesmo com a implantao do mdulo, a iluminao do ambiente pode tambm ser acionada normalmente a partir do interruptor, como exemplificado na Figura 5.4, desde que o operador da pgina de controle contida no microservidor permita. A Figura 5.5, traz a pgina de acesso ao controle via web que esta embarcada no microcontrolador. Uma vez que prottipo esteja conectado a internet, a pgina contida no mesmo pode ser acessada - atravs do nmero de seu endereo IP (Protocolo da Internet), ou ainda atravs do seu host name (nome dado a pgina) que definido dentro do arquivo TCPIPConfig.h da pilha TCP/IP - de qualquer lugar do mundo por qualquer dispositivo que oferea acesso a internet e utiliza um navegador web.
Devido a tantas facilidades e tantos meios, qualquer pessoa pode ter acesso a pgina. Por isso mesmo se torna necessrio a configurao de um sistema de acesso
79
seguro o qual permite o alcance a aplicao de controle somente a pessoas autorizadas aps insero de login e senha. A configurao de autenticao da pgina esta contida no arquivo CustomHTTPApp.c, onde ficam as funes HTTPNeedsAuth() que informa qual pgina necessita de autenticao, e a HTTPCheckAuth que checa a informaes inseridas pelo usurio na caixa de login em senha e compara com os valores configurados na pilha. Caso os dados informados no sejam os corretos a funo retorna ao navegador uma mensagem de no autorizado. Aps realizao das configuraes a pilha TCP/IP far uma requisio de login e senha toda vez que algum quiser acessar a pgina de controle como demonstrado na Figura 5.6.
Aps tal procedimento o usurio estar na pgina de controle referente a sala definida. A partir dessa interface possvel saber o estado atual da iluminao (luzes acesas ou apagadas), e defini-lo em tempo real. A Figura 5.7, traz as informaes de estado da sala (a iluminao da sala dividida em dois circuitos distintos, relacionados na pgina como (LED) e (REL) respectivamente), nesse instante o operador percebe que a iluminao referente ao circuito2 est ativada, pois v a figura de uma lmpada (REL) acesa. Percebe tambm que o boto se encontra no estado liberado o que indica que o sistema de iluminao pode ser acionado localmente por qualquer pessoa atravs do interruptor. Nesse caso a iluminao pode ter sido acionada tanto pela pgina como localmente.
80
Atravs de um clique sobre o boto o operador da aplicao web deixa o sistema bloqueado o que impede o acionamento da iluminao localmente, o que passa a ser possvel somente atravs da pgina. Para apagar ou acender as luzes basta um clique sobre a figura da lmpada, o que corresponde a uma requisio do navegador junto ao microservidor o qual processa a informao e gera um sinal de sada apagando ou acendendo as luzes e envia um sinal de resposta ao navegador que modifica dinamicamente o estado do boto e da luz, como mostrado na Figura 5.8
.
Figura 5.8 Status da sala (circuitos desligados e sistema bloqueado)
81
6 CONCLUSO
Esse trabalho tratou da implementao de um mdulo de baixo custo, microcontrolado com ethernet embarcada com possibilidade de acionamento atravs da internet. Uma vez conectado a rede mundial, tal sistema possibilita o monitoramento e acionamento de cargas, conectadas ao mesmo, de qualquer lugar do mundo, desde que se tenha acesso a internet e um navegador web. Trouxe ainda como exemplo de aplicao, o controle de um sistema de iluminao o qual proporciona ao operador da pgina, total liberdade sobre o condicionamento das luzes do ambiente, facilitada pelo desenvolvimento de um aplicativo web dinmico que interage com o usurio trazendo informaes em tempo real sobre o sistema controlado. Conclui-se tambm que o desenvolvimento desse sistema baseado na tecnologia dos microcontroladores, possibilitou a produo de um dispositivo flexvel, pois fcil realizar adaptaes no mdulo para que o mesmo venha atender as diversas necessidades que se apresentem, maximizando seu poder de conexo a diversos equipamentos e sistemas a baixos custos. Tudo isso se soma ao momento atual onde esta claro que a quantidade de equipamentos com tecnologias de comunicaes embarcadas tende a crescer, aumentando o nmero de dispositivos ligados a internet, portanto um estudo profundo sobre suas estruturas de conectividade imprescindvel para o desenvolvimento da atual e ainda pouco explorada, tecnologia de sistemas microcontrolados com Ethernet embarcada vinculada a automao nos processos de acionamento e monitoramento que regem ambientes industriais e residenciais. Como possibilidade de trabalhos futuros, proposto um estudo mais profundo sobre a estrutura da pilha TCP/IP, tendo como resultado condies de utilizar todos os seus recursos permitindo aplicaes de maior complexidade fazendo uso de sistemas microcontroladores com acesso a rede em aplicaes de automao.
82
7 REFERNCIAS BIBLIOGRFICAS
ANDREANI, A. C. Sistemas Embarcados: Estudo Atravs de um Servidor HTTP. Trabalho de Concluso de Curso, Universidade Estadual de Londrina, 2007. BACURAU, R. M. Desenvolvimento de um Sistema Web Embarcado para Controle e Superviso de Estaes Urbanas de Distribuio de gua. Trabalho de Concluso de Curso, UNIVASF, 2011. BASHAM, B. Servlets & JSPTM / Bryan Basham, Kathy Sierra e Bert Bates. Rio de Janeiro: Alta Books, 2005. CASTELLS, M. A sociedade em Rede / Manuel Castells. 6. Ed. So Paulo: Paz e Terra, 1999. DEITEL, H. M. Internet & World Wide web / H. M. Deitel, P. J. Deitel e T. R. Nieto. 2. Ed. Porte Alegre: Bookman, 2003. FOROUZAN, B. A. Comunicao de Dados em Redes de Computadores / Behrouz A. Forouzan. 3. Ed. Porto Alegre: Bookman, 2006. FELIPE, A. G. M. Laboratrio de experimentao remota com o microcontrolador PIC / gio Gonalves de Moraes Felipe. Dissertao de Mestrado. UECE, 2010. FREEMAN, E. HTML com CSS e XHTML / Elisabeth Freeman e Eric Freeman. 2. Ed. Rio de Janeiro: Alta Books, 2008. KUROSE, J. F. e ROSS, K. W. Redes de Computadores e a Internet : Uma Abordagem Top-down. 3. Ed. So Paulo : Pearson Addison Wesley, 2006. LUGLI, A. B. Sistemas Fildbus para automao industrial: DeviceNet, CANopen, SDS e Ethernet / Alexandre Baratella Lugli, Max Moura Dias Santos. 1. Ed. So Paulo: rica, 2009. LUGLI, A. B. Redes Industriais para automao industrial: ASI-I, PROFIBUS e PROFNET / Alexandre Baratella Lugli, Max Moura Dias Santos. 1. Ed. So Paulo: rica, 2010. MICROCONTROLADOR. In: WIKIPDIA: a enciclopdia livre.Disponvel em: <http://pt.wikipedia.org/wiki/Micorcontrolador> acesso em: 02 mar. 2012. MICROCHIP. Microchip TCP/IP Stack Application Note
83
http://ww1.microchip.com/downloads/en/AppNotes/00833c.pdf - <acessado em 21 de Fevereiro de 2012>. (MICROCHIP,2008C) Microchip PIC18F87J60 Data Sheet WWW.alldatasheet.com/datasheet-pdf/pdf/MICROCHIP/PIC18F87J60.html <acessado em 15 de Fevereiro de 2012>. MIYADAIRA, A. N. Microcontroladores PIC18: aprenda e programe em linguagem C / Alberto Noboru Miyadaira. 1. Ed. So Paulo: rica, 2009. MOKARZEL, M. P. Internet Embedded: TCP/IP para Microcontroladores. / Marcos Perez Mokarzel, Karina Perez Mokarzel Carneiro.1. Ed. So Paulo: rica, 2004. NEVES, S. R. Cybercar Sistemas de Superviso e Controle de um Veculo Eltrico. Dissertao de Mestrado, FCTUC, 2008. PILHA TCP/IP. In: WIKIPDIA: a enciclopdia livre. Disponvel em: <http://pt.wikipedia.org/wiki/TCP/IP > acesso em: 29 fev. 2012. SANTANA, L. V. O Uso da Internet e da Comunicao Sem Fio Via Zigbee em Sistemas Embutidos. Trabalho de Concluso de Curso, UFOP, 2008 SANTOS, J. C. M. Projeto de um Sistema Microcontrolado Utilizando Internet Embarcada para Monitoramento Remoto em Tempo Real de Temperatura e Disponibilizao dos Dados na WEB Atravs de Conexo de Rede. Trabalho de Concluso de Curso, UFRN, 2009. SISTEMAS Embarcados. In: WIKIPDIA: a enciclopdia livre. Disponvel em: <http://pt.wikipedia.org/wiki/Sistema_embarcado> acesso em: 02 mar. 2012. SOUZA, D. J. Desbravando o PIC / David Jos de Souza. 11. Ed. So Paulo: rica, 2007. STEMMER, M. R. Redes Locais Industriais: a integrao da produo atravs das redes de comunicao / Marcelo Ricardo Stemmer Florianpolis: Ed. Da UFSC, 2010. TANENBAUM, A. S. Redes de Computadores / Andrew S. Tanenbaum. 13a Reimpresso. Rio de Janeiro: Elsevier, 2003. TORRES, G. Redes de Computadores Curso Completo / Gabriel Torres. Rio de Janeiro: Axcel Books do Brasil Editora, 2001. SILVA, J. B. Monitoramento, Aquisio e Controle de Sinais Eltricos via Web, Utilizando Microcontroladores. Dissertao de Mestrado, UFSC, 2002.
84
SILVA, J. B. A Utilizao da Experimentao Remota Como Suporte para Ambientes Colaborativos de Aprendizagem. Tese de Doutorado, UFSC, 2006. SILVA, L. E. G. Arquitetura Expansvel Para Desenvolvimentos de Pginas AJAX. Dissertao de Mestrado, UFMG, 2009. ZANCO, W. S. Microcontroladores PIC 16F628A: uma abordagem prtica e objetiva / Wagner da Silva Zanco. 1. Ed. So Paulo: rica, 2005. ZORZIN, R. S. Monitorao Ambiental Remota Baseada em Microcontroladores. Trabalho de Concluso de Curso, ULBRA, 2008.
85