implementação de um web site dinâmico e interativo para

Propaganda
IMPLEMENTAÇÃO DE UM WEB SITE DINÂMICO E INTERATIVO PARA
CONTROLAR E MONITORAR TRANSDUTORES INTELIGENTES VIA
INTERNET, CONFORME O PADRÃO IEEE 1451
Rafael Marcelino de Jesus1, Edson Antonio Batista 2, Silvano Renato Rossi 3, Alexandre César
Rodrigues da Silva4 e Aparecido Augusto de Carvalho 5
Abstract  This work presents the implementation of a
dynamic and interactive Web site, that allows to control over
the Internet, smart transducer activities according to IEEE
1451 Standard. Tools such as: Linux Kurumin, Apache
server and Personal Home Page/My Structured Query
Language (PHP/MySQL) have been used. User is able to
access the information on line, obtain the informations
stored in a data base and set in motion the transducers
connected at the IEEE 1451.2-based module. The Web
server performs the functions of a network cappable
application processor that controls the communication with
a smart transducer interface module, through a transducer
independent interface. In this work emergent technology for
automation via Internet such as open systems and opensource software is used in order to enable the cost reduction
and flexibility of the remote monitoring systems.
Index Terms  Web, PHP, MySQL, IEEE 1451.
INTRODUÇÃO
Ao desenvolver aplicações dinâmicas e interativas voltadas
para a Internet é necessário o emprego de linguagens para a
implementação, com características diferenciais em relação
às linguagens utilizadas para o desenvolvimento de
aplicações comuns para a Web.
Com a crescente disponibilidade de informações em
tempo real “on line” na Web, torna-se necessária a
utilização de linguagens que viabilizem a reutilização de
equipamentos computacionais obsoletos, bem como a
segurança dos dados e/ou informações a serem dispostas, a
otimização de custos para conclusão de projetos e o grau de
satisfação do usuário final que irá utilizar o serviço.
A maioria das aplicações para a Internet são compostas
por Web sites que impossibilitam a disponibilidade e
atualização de informações em tempo real e a interação com
o usuário, por não ser necessário ou por falta de
planejamento do Webmaster. Na maioria dos casos é
necessário re-desenvolver as aplicações ao invés de reutilizar os Web sites e as informações coletadas e
armazenadas em servidores, envolvendo custo e tempo
necessário para o desenvolvimento das novas aplicações.
A seguir apresenta-se uma situação que tem como
objetivo esclarecer o problema: o desenvolvimento de um
Web site em que são exibidas informações fornecidas por
diferentes módulos contendo dispositivos sensores e
atuadores, de localizações diversas, onde os módulos estão
conectados a um servidor e enviam remotamente as
informações e dados.
Percebe-se a inviabilidade na implementação de
aplicações para a Internet utilizando apenas a linguagem
HTML, usada para o desenvolvimento de aplicações
estáticas e sem interação com o usuário. Dessa forma,
objetivando buscar uma solução ótima para a situaçãoproblema apresentada, uma alternativa é o emprego de
Personal Home Page/My Structured Query Language
(PHP/MySQL).
O uso de HTML implicaria realizar alterações nas
respectivas páginas Web, uma a uma, toda vez que fosse
necessário dispor uma nova informação. Após as alterações,
deveriam ser enviadas ao servidor em que se encontra
hospedado o site, usando File Transfer Protocol (FTP) a fim
de torná-las disponíveis e visualizáveis. Com a utilização de
PHP, tudo isso poderia ser feito automaticamente, bastando
apenas utilizar um Sistema de Gerenciamento de Banco de
Dados Relacional (RDBMS) baseado em MySQL, onde
seriam armazenadas as respectivas informações organizadas
em tabelas no banco de dados. A página Web desenvolvida
em PHP seria utilizada para manipular as informações
armazenadas no banco de dados da maneira em que o
Webmaster preferir, ou seja, filtrando até os conteúdos das
tabelas, pois as respectivas tabelas são compostas por
campos que armazenam os registros que são as informações.
No presente trabalho apresenta-se uma solução aplicável
a um sistema de monitoramento remoto e via internet de um
módulo baseado no padrão de interfaceamento IEEE 1451.
O módulo se encontra conectado a um PC Desktop
denominado servidor, através da porta serial. Um aplicativo
implementado em Java é responsável por estabelecer uma
conexão com o módulo e realizar a leitura das informações,
1
Rafael Marcelino de Jesus, Universidade Estadual Paulista, Av. Brasil Centro, 56 - 15385-000, Ilha Solteira, SP, Brasil, [email protected]
Edson Antonio Batista, Universidade Estadual Paulista, Av. Brasil Centro, 56 - 15385-000, Ilha Solteira, SP, Brasil, [email protected]
Silvano Renato Rossi, “Universidad Nacional del Centro de la Pcia. de Buenos Aires”, Av. Del Valle, 5737 – B7400JW1, Olavarría, Bs.As., Argentina,
[email protected]
4
Alexandre César Rodrigues da Silva, Universidade Estadual Paulista, Av. Brasil Centro, 56 - 15385-000, Ilha Solteira, SP, Brasil,
[email protected]
5
Aparecido Augusto de Carvalho, Universidade Estadual Paulista, Av. Brasil Centro, 56 - 15385-000, Ilha Solteira, SP, Brasil, [email protected]
2
3
© 2005 GCETE
March 13 - 16, 2005, São Paulo, BRAZIL
Global Congress on Engineering and Technology Education
1188
onde é gerado um arquivo no formato texto. Um dos scripts
implementados em PHP é responsável por realizar a leitura
dos dados contidos no arquivo de texto e disponibilizar, online, as informações no site do Sistema de Monitoramento
Remoto. Após implementar o script de leitura on-line, viu-se
a necessidade de implementar um script para realizar a
leitura e armazenar as informações em um banco de dados
implementado em MySQL. Desta forma, é possível
disponibilizar dados em intervalos de tempo distintos e
garantir a segurança aos dados armazenados, pois na
implementação do banco foram definidas políticas de
segurança para o acesso, onde um usuário tem permissão
sobre tudo e mediante solicitação autoriza pessoas ao acesso.
Foi utilizado um PC Desktop com sistema operacional
Linux Kurumim 3.3, o servidor Web Apache para a
hospedagem do site, PHP 4.0 para a interpretação das Web
pages implementadas e MySQL versão 3.23.32 para o
desenvolvimento da base de dados e gerenciamento das
informações.
aplicação ou pelo administrador do site. Os scripts
implementados em PHP são embutidos dentro de uma
página HTML e interpretados no servidor Web.
PHP foi concebida no ano de 1994 como resultado do
trabalho de uma única pessoa, Ramus Lerdorf, e foi adotado
por algumas pessoas que reescreveram-na por três vezes
consecutivas, a fim de proporcionar o aperfeiçoamento e a
crescente aceitação que vemos hoje. A versão atual do PHP
é a 4 [3]. Na Figura 1 é demonstra a utilização crescente do
PHP em aplicações Web [4].
Uso do PHP / 2000-2004
Domínios
IPs
A LINGUAGEM PHP
PHP significava originalmente Personal Home Page, mas
foi alterado de acordo com a convenção para atribuição de
nomes recursiva do GNU`s Not Unix (GNU), passando a ser
denominada PHP Hypertext Prepocessor. O PHP é um
produto do tipo código aberto. Assim, o código gerado pode
ser utilizado, alterado e re-distribuído livremente.
PHP é uma linguagem de criação de scripts do lado do
servidor que foi projetada especificamente para o
desenvolvimento de aplicações que requerem desempenho e
segurança sem custo operacional [1]-[2]. Pode-se estabelecer
uma analogia com uma outra linguagem de script, bastante
utilizada por desenvolvedores de Webs para implementação
de aplicações específicas chamada JavaScript, baseada na
inserção de scripts em páginas Web, no meio do HTML que
é executada no lado do cliente. Quando a página Web é
acessada através do navegador, a página é carregada na
memória do micro do cliente e o código em JavaScript é
executado, consumindo recursos de processamento da
máquina do cliente que acessou o serviço. Além disso, o
código em JavaScript pode ser visto e copiado por qualquer
pessoa, bastando somente solicitar ao navegador para exibir
o código fonte.
Com a linguagem de script PHP é exatamente o
contrário, pois a página Web é executada no servidor.
Quando se acessa uma página PHP por meio de seu
navegador, todo código PHP é executado no servidor e os
resultados são enviados para o navegador do cliente que
solicitou o serviço ao servidor, onde se encontra hospedada a
página Web. Portanto, o navegador exibe a página já
interpretada pelo servidor onde os scripts são executados,
sem consumir recursos da máquina do cliente que acessou a
aplicação. É importante salientar os aspectos de segurança
dos scripts implementados em PHP, embutidos na página
HTML. Eles apenas podem ser vistos pelo autor da
© 2005 GCETE
FIGURA. 1
UTILIZAÇÃO MUNDIAL DO PHP, EM DOMÍNIOS E IPS.
O SISTEMA MYSQL
O MySQL é um Sistema de Gerenciamento de Banco de
Dados Relacional (RDBMS) poderoso e muito rápido. O
MySQL além de ser um servidor multiusuário, também é
multiencadeado (multithreaded) e utiliza Structured Query
Language (SQL), ou seja, a consulta padrão de banco de
dados em todo o mundo. Entre os principais concorrentes do
sistema MySQL estão: PostgreSQL, Microsoft SQL Server e
Oracle. Dentre as vantagens de se utilizar o MySQL com
um RDBMS podem ser citados alguns pontos que reforçam
ainda mais a sua utilização:
• Alto desempenho;
• Baixo custo;
• Fácil de configurar e de aprender;
• Portável;
• O código-fonte está disponível.
MATERIAIS E MÉTODOS
O presente trabalho insere-se no contexto de um projeto de
um sistema de monitoramento remoto local e via Internet,
em conformidade com padrão IEEE1451 [5]. Na Figura 2 é
apresentado o diagrama da arquitetura do sistema de
monitoramento.
March 13 - 16, 2005, São Paulo, BRAZIL
Global Congress on Engineering and Technology Education
1189
Cliente
Internet
Ethernet 100 BaseT
NCAP-PC
IEEE 1451.1
(Servidor)
plataforma Linux Kurumim 3.3. As seguintes ferramentas
têm sido utilizadas no trabalho:
• PHP: a linguagem de programação;
• Apache: o servidor Web. O Apache é o servidor Web
mais indicado, pois o PHP roda como um módulo nativo
dele;
• MySQL: o Sistema de Gerenciamento de Banco de
Dados.
A arquitetura de processamento e armazenamento das
informações no ambiente Web é mostrada na Figura 3.
Cliente
Internet/
Ethernet
STIM
IEEE 1451.2
FIGURA. 2
ARQUITETURA DO SISTEMA IEEE 1451.
O sistema IEEE 1451 é composto por um nó de rede
contendo um Processador de Aplicação com Capacidade de
Operar em Rede (NCAP), baseado no padrão de
interfaceamento IEEE 1451.1 para transdutores inteligentes
em ambientes de rede e um Módulo de Interface para
Transdutores Inteligentes (STIM) em conformidade com o
padrão IEEE 1451.2. Ambos os módulos estão vinculados
através de uma interface padronizada denominada Interface
Independente de Transdutores (TII), conforme o padrão
IEEE 1451.2. O STIM contém um sensor de temperatura de
uso geral modelo LM35 e um ventilador agindo como
atuador. Através da rede podem ser acessadas as
informações dos canais transdutores implementados no
STIM, obter os dados provenientes do sensor e ligar ou
desligar o ventilador de forma remota.
Neste contexto, objetiva-se o emprego de plataformas
operacionais e softwares de domínio público visando a
otimização de custos operacionais e de licença com
plataformas operacionais.
Hoje em diversos segmentos observa-se a utilização
crescente de ferramentas de domínio público na
implementação de aplicações não somente voltadas para a
Web, mas também em projetos relacionados com a área de
instrumentação eletrônica [6].
No que diz respeito ao desenvolvimento do site
dinâmico e interativo para ser usado no monitoramento e
controle dos transdutores conectados ao STIM são
consideradas as seguintes etapas: definição do hardware,
instalação/configuração dos softwares necessários para a
execução das aplicações, armazenamento das informações e
a implementação dos scripts em PHP. Na arquitetura do
hardware do servidor utilizou-se um PC Desktop com placa
mãe PC Chips, processador AMD K6II-550 Mhz, 128 Mb de
memória RAM, disco duro de 13 Gb e placa de rede
Ethernet 10/100Mbps. O Desktop servidor utiliza a
© 2005 GCETE
Servidor NCAP
SENCAP -PC
Servidor
da Web
Páginas
armazenadas e
scripts
PHP
Arquivos de
dados
RDBMS
MySQL
Dados do
MySQL
FIGURA. 3
PROCESSAMENTO E ARMAZENAMENTO DE INFORMAÇÕES NO AMBIENTE
WEB.
É importante lembrar que o PHP é uma linguagem
voltada para a Web e, portanto, torna-se necessário um
servidor Web que receba as solicitações das páginas, realize
o processamento pelo PHP e retorne ao navegador um
resultado, pois o PHP não roda diretamente pela linha de
comando do Linux. Existem na rede diversos softwares
voltados para o desenvolvimento de Web sites em PHP,
sendo possível utilizar um editor de texto qualquer para
desenvolver aplicações. Utilizou-se o KEdit do Linux
Kurumin para implementar as páginas Web em PHP.
A estrutura de uma página Web implementada em PHP
e embutida no HTML pode ser observada na Figura 4.
<HTML>
<BODY>
<?php
// Aqui entra a programação da página em PHP
?>
</BODY>
</HTML>
FIGURA. 4
PHP EM UMA ESTRUTURA HTML GENÉRICA.
March 13 - 16, 2005, São Paulo, BRAZIL
Global Congress on Engineering and Technology Education
1190
Após digitar o script no editor de texto basta salvá-lo
com o nome de teste.php4 no diretório que é utilizado pelo
servidor Apache ( /VAR/WWW ) para que possa ser
visualizado pelo navegador. Para a visualização no
navegador: http://localhost/teste.php4 deve ser digitado na
barra de endereço. Desta maneira, o servidor Web executará
a página Web no servidor e disponibilizará o resultado no
navegador.
O banco de dados é utilizado na implementação do
projeto de monitoramento remoto para armazenar os dados,
obter informações armazenadas na base e dispô-las em
páginas Web, e para classificar o armazenamento dos dados
organizados em tabelas e recuperar dados armazenados
eficientemente. O servidor de MySQL controla o acesso aos
dados para assegurar que diversos usuários possam trabalhar
com os dados ao mesmo tempo, fornecer acesso rápido aos
dados e garantir que somente usuários autorizados possam
obter acesso.
Em ambiente Linux cada pessoa precisa ter uma conta
de usuário. Uma conta de usuário indica um nome de usuário
e uma senha que devem ser utilizados para conectar-se ao
sistema. O usuário root (ou super-usuário) é quem possui
acesso irrestrito à máquina. Para criar o banco de dados no
MySQL é necessário ter privilégios de super usuário ou
logar como root, pois caso o usuário não tenha permissão
para a criação de um banco de dados, deve-se solicitar ao
seu administrador para que ele crie o seu banco de dados
inicial. Como a implementação do banco de dados é por
conta do próprio administrador, basta efetuar logon como
root no Linux, no modo texto sem iniciar o modo gráfico. O
Linux utiliza uma estrutura diferente de organização em seu
sistema de arquivos. Por isso, em vez da sua pasta ser
C:\Arquivos de Programas\Meus Documentos\pasta\arquivo.
Txt, no Linux pode ser /home/pasta/arquivo.txt.
Para conectar como root no Linux, a fim de poder
carregar o utilitário mysql, devem ser executadas as etapas
descritas a seguir:
• [rafael@localhost /root]$ su //comando para conectar
como root
• [rafael@localhost /root]$ root
• [rafael@localhost /root]$ senha do root
Após logar como root no sistema, significa que está
como super-usuário e tem permissões para criar o banco de
dados. O primeiro passo é carregar o utilitário mysql, a fim
de criar o banco de dados e colocá-lo em uso para definir as
tabelas, campos, tipos de dados, tamanho, etc.
• [root@localhost /root]# mysql
• mysql>create database bdteste;
• mysql>use bdteste;
No MySQL é preciso executar primeiramente o
utilitário gerenciador, para depois escolher o banco de dados
que será utilizado, e isso é feito por meio do comando use.
Ao desenvolver um banco de dados no MySQL
implementa-se um nome de usuário e uma senha que ficam
sob os cuidados do administrador do site ou do
© 2005 GCETE
administrador do banco de dados. O nome de usuário e a
senha são definidos com a finalidade de implementar a
segurança na base de dados, pois sem eles qualquer usuário
teria permissão para visualizar, alterar e apagar a base de
dados. Para acessar a base, o usuário deverá digitar o
comando a seguir:
• mysql –u username – p
A opção –u indica que o parâmetro seguinte é o nome
do usuário utilizado para acesso e a opção –p indica que será
digitada uma senha para a conexão. Após digitar a senha, o
usuário já estará conectado ao banco de dados criado,
podendo inserir e manipular livremente seus dados. Toda a
manipulação de dados deve ser feita por meio de comandos
SQL.
A base de dados utilizada no projeto contém duas
tabelas, sendo uma para armazenar informações do(s)
módulo(s) que pode(m) ser interconectado(s) ao servidor,
através da porta serial e outra para armazenar as informações
da leitura. A estrutura da tabela é mostrada na Figura 5.
TABELA 1: leitura
Campos
Tipo de Dado
@codle
Int(5)autoincrement
#codmod Int(5)
data
Date
hora
Time
temp
varchar(10)
TABELA 2: módulo
Campos Tipo de Dado
@codmod Int(5)autoincrement
des
varchar(100)
fab
varchar(100)
can
varchar(100)
FIGURA. 5
ESTRUTURA DE TABELA USADA.
RESULTADOS PRELIMINARES
Na Figura 6 é apresentada a página principal que foi
desenvolvida através do recurso frame, em HTML.
FIGURA. 6
PÁGINA WEB PRINCIPAL.
March 13 - 16, 2005, São Paulo, BRAZIL
Global Congress on Engineering and Technology Education
1191
Na Figura 7 é mostrada a página de acesso ao banco de
dados do sistema de monitoramento, na qual é possível
escolher entre várias opções para acesso às informações
específicas.
leitura de arquivo simples (flat file), à facilidade em criar
consultas específicas por informações armazenadas para
extrair conjuntos de dados que satisfaçam certos critérios, e
aos mecanismos predefinidos para lidar com acesso
concorrente às informações armazenadas.
A plataforma operacional do servidor é executada sob o
Linux Kurumim 3.3, onde foram implementadas políticas de
segurança visando evitar a vulnerabilidade e gerenciar
/monitorar o controle dos acessos realizados por usuários ao
site.
O uso de plataformas independentes e de linguagens de
desenvolvimento Web, o PHP integrado com o MySQL, tem
a finalidade de proporcionar ao projeto de sistemas de
monitoramento remoto uma maior flexibilidade de
manutenção, portabilidade para diversas plataformas,
abstração do tipo de aplicação e redução de custos
operacional e de implementação.
AGRADECIMENTOS
Os autores agradecem à FUNDUNESP e ao CCPG-DEEFEIS-UNESP pelo apoio oferecido.
REFERÊNCIAS
FIGURA. 7
[1]
Welling, L, Thomson, L, "PHP e MySQL Desenvolvimento Web",
Editora Campus, 2 º ed, 2003, p. 676.
[2]
Niederauer, J, "Desenvolvendo Websites com PHP 4”, Editora
Novatec, 2003, p. 256.
[3]
Zend site, (Set.2004). [on line]. Disponível: http://www.zend.com.
[4]
PHP, (Set.2004). [on line]. Disponível: http://www.php.net,
[5]
Batista, E,A, Rossi, S,R, da Silva, A,C,R, de Carvalho, A,A, Kitano,C,
“Proposta de Implementação de um Sistema de Monitoramento
Remoto Baseado no Padrão IEEE 1451”, Proc. 19 th World Congress
on Engineering and Technology Education, 2004, pp. 787-791.
[6]
Lee, K,B, Schneeman, R,D, “Distributed Measurement and Control
Based on the IEEE 1451 Smart Transducer Interface Standards,”
IEEE Transactions on Instrumentation and Measurement, Vol. 49, no.
3, 2000, pp. 621-627.
PÁGINA ASSOCIADA AO BANCO DE DADOS.
Para implementações futuras, visando a segurança do
site do sistema de monitoramento remoto via Internet serão
utilizados dois servidores, sendo um para armazenar e
executar as aplicações em PHP com o módulo IEEE 1451
conectado, e o outro servidor para executar o MySQL e
armazenar a base de dados do sistema.
CONCLUSÕES
A implementação de um Web site para proporcionar suporte
a um sistema de monitoramento remoto baseado no padrão
IEEE1451, não possibilitará apenas a disponibilidade dos
dados coletados em tempo real, mas também a
implementação de um RDBMS em MySQL para armazenar
e disponibilizar em diferentes períodos, onde permitirá ao
usuário visualizar as informações e interagir com o site.
Um aplicativo implementado em Java é responsável por
realizar a comunicação com o NCAP, a fim de realizar a
leitura dos dados dos sensores conectados ao STIM. Após
realizar a leitura dos sensores os dados são bufferizados em
um arquivo texto.
A leitura on-line é realizada por uma aplicação
implementada em PHP que é responsável por abrir o arquivo
de texto, realizar a leitura e disponibilizar as informações em
uma página HTML sem que o usuário visualize a
programação em PHP da aplicação.
O fator principal na escolha do MySQL não está ligado
somente ao armazenamento seguro dos dados, mas também
à possibilidade de solucionar problemas de lentidão na
© 2005 GCETE
March 13 - 16, 2005, São Paulo, BRAZIL
Global Congress on Engineering and Technology Education
1192
Download