Os dados desejados estavam todos dentro de um PC com sistema
operacional Windows em uma estação de medição em um canto da cidade, e o que o
cliente queria era que eles estivessem disponíveis na Internet.
Esta é uma situação bem comum para os clientes do Iplenix.
Muitos sistemas de telemetria, telemedição e monitoramento remoto usam um PC
rodando Windows para fazer a coleta dos dados de sensores locais como qualidade
de água, consumo de energia elétrica, dados ambientais como temperatura,
pressão, humidade, qualidade do ar, emissões de gases, e muitos outros. Estas estações contendo os sensores e o PC
estão em geral em locais de difícil acesso por estarem próximas dos alvos das
medições. Não que estejam em locais remotos, apenas pouco acessíveis.
O Iplenix tem as soluções para que os dados saiam das suas
“ilhas” e passem a estar disponíveis na Internet de forma automática, sem a
necessidade da ação de pessoas ou visitas ao local onde eles estão armazenados.
Temos duas soluções muito interessantes para a transferência para a Internet dos
dados armazenados em PC’s que podem ser usadas conforme as necessidades do
cliente.
Roteador 3G e cgi de leitura dos dados
Esta é uma solução razoavelmente simples de implementar.
Utiliza componentes disponíveis no mercado. Os desafios estão em colocar todos os
componentes a funcionar com as configurações corretas, e em programar o cgi
para fazer a transmissão dos dados.
A solução traz benefícios adicionais além da transferência dos
dados para a Internet. Ela também permite o acesso remoto ao PC para a
realização de manutenções. E permite que outros equipamentos que estejam dentro
da estação de medição possam acessar
serviços na Internet. Basta para isso configurar corretamente o roteador para
que as portas de acesso remoto estejam abertas. Em contrapartida isso pode ser
um risco de segurança para o sistema contra ataques vindos da Internet.
O processo de leitura dos dados funciona da seguinte forma.
Nos servidores do Iplenix estão configurados para fazem, em uma frequência determinada,
a requisição de uma determinada página na Internet que aponta para o PC da
estação de medição. Esta página é respondida pelo “cgi” programado para isso. Por
exemplo, a página que o servidor do Iplenix acessa pode ser algo como:
A implementação é feita com os seguintes componentes:
- Roteador 3G industrial que garanta a conectividade da estação de medição com a Internet.
- Chip de dados de uma operadora celular.
- Um serviço de DNS dinâmico como o No-IP ou o DynDNS.
- Servidor de páginas instalado no PC, de preferencia o IIS da própria Microsoft.
- Uma linguagem de programação para o cgi.
O roteador 3G deve ser um modelo industrial e não um modelo
de roteador caseiro por 2 motivos. Primeiro porque ele deve suportar ambientes
um pouco mais hostis do que uma casa ou escritório, e segundo por ficar
desassistido, ou seja, não haverá ninguém por perto para fazer resets
periódicos caso pare de funcionar. Portanto o roteador deve se manter conectado
à Internet através da rede celular sem a necessidade de intervenção humana pelo
máximo tempo possível. De preferência por anos. Outro requisito interessante é
que este roteador seja homologado pela Anatel. Isso é interessante para que o
cliente tenha segurança do equipamento que está usando. O roteador Netair 301
da Parks é uma opção interessante que cumpre com os requisitos.
Por questão de segurança o equipamento deve ser programado
com filtros que permitam acessos externos somente de determinados IP’s e
somente a portas de determinados serviços. No nosso caso os filtros permitem
acesso dos servidores do Iplenix somente para a porta 80.
O serviço de DNS dinâmico é necessário pela seguinte razão.
A cada vez que o roteador se conecta na rede 3G ele ganha um IP diferente da
operadora celular. E em geral estas conexões de Internet tem uma durabilidade
restrita, algumas horas e talvez nem isso dependendo da região, a troca de IP
do roteador é frequente. Este serviço de DNS dinâmico divulga com a frequência
necessária o IP do roteador permitindo assim que sejam feitos acessos a ele a
partir de qualquer ponto da Internet. A escolha do provedor de DNS dinâmico é
uma opção do cliente. Temos experiência com os serviços do DynDNS e do NO-IP
estando ambos funcionando a contento.
O funcionamento do DNS dinâmico depende de um programa
cliente que se mantém rodando e que periodicamente divulga o IP que o roteador
recebeu da operadora celular. Em geral este programa é configurado para rodar
no próprio PC como um serviço do Windows. É possível configurar para que rode no
roteador, porém experimentamos conflitos entre os filtros de segurança e o bom
funcionamento do cliente de DNS dinâmico do roteador.
O servidor de páginas selecionado foi o IIS (Internet Information Service) da própria
Microsoft por ser nativo do sistema operacional e, portanto ser o mais
integrado e fácil de ser instalado. A
instalação e configuração do servidor de páginas IIS são bem simples. Tem muita
documentação na Internet que facilita esta tarefa.
E por fim a programação do programa “cgi” para a leitura e
entrega dos dados. Este programa depende muito da forma como os dados estão
armazenados no PC. A linguagem de programação PHP foi escolhida porque ela já
tem bibliotecas para acessar a maioria das formas de armazenamento de dados
usadas como bancos de dados sql, arquivos .ini, arquivos csv, binários e
outros. E porque é uma linguagem que foi desenvolvida especificamente para
rodar como uma página web em um servidor de páginas como o IIS.
O ponto forte desta forma de retirar os dados do PC está na
simplicidade dos componentes. Quase todos, exceto o programa “cgi” está
disponível na Internet com muita documentação e suporte. Os pontos fracos estão
na questão de segurança porque deixa a estação de medição sujeita a possíveis
ataques via Internet, e na necessidade muitos componentes, o que aumenta a
possibilidade de falha. Por exemplo, o programa cliente do DNS dinâmico pode travar
por algum motivo deixando os dados indisponíveis.
Conheça mais sobre os serviços doIplenix
Modem serial / celular e serviço de envio dos dados
Outra solução que temos para oferecer que tira os dados de
um PC rodando Windows e leva para a Internet é usando um modem conversor serial
para celular, e instalar no PC um programa desenvolvido por nós e que roda como
um serviço no Windows e usa este modem para enviar os dados para os servidores
do Iplenix.
Nesta solução o IP da estação de medição não precisa ser
conhecido na Internet. Por não estar o IP disponível, e o modem não aceita
receber conexões, é possível acesso externo a partir da Internet a nenhum
equipamento, nem ao modem e nem ao PC. Isso traz mais segurança ao sistema, apenas
tira a possibilidade de acesso remoto para manutenções. Também reduz o número
de componentes necessários, e programas que devem ser instalados no PC. São
dispensados de instalação o servidor de páginas IIS, e o programam cliente do
DNS dinâmico, reduzindo assim possíveis pontos de falha. E por fim, o custo do
modem industrial conversor serial para celular em geral é menor do que o custo
de um roteador 3G industrial.
O processo de envio dos dados é feito do PC para o servidor
do Iplenix. Se inverte a direção do inicio da conexão entre as partes. Neste
caso, o programa que roda como um serviço no Windows é que toma a iniciativa de
enviar os dados para os servidores do Iplenix. Como a conexão entre os
equipamentos é iniciada pela estação de medição, mais precisamente pelo modem
instalado na estação, não é necessário que o IP seja conhecido, e não é
necessário que seja permitido que conexões sejam iniciadas de computadores da
Internet aumentando assim a segurança. No caso o modem é que mantém a conexão
estabelecida entre a estação de medição e os servidores do Iplenix, e o
programa local usa o modem como canal de comunicação.
A
implementação é feita com os seguintes componentes:
- Modem conversor serial celular.
- Chip de dados de uma operadora celular.
- Linguagem PHP instalada no PC
- Programa especifico que executa como um serviço no Windows.
O modem conversor serial se utiliza de uma porta serial do
PC que pode ser uma RS232 ou uma RS485. Caso o PC não tenha uma porta serial, o
que atualmente é muito comum, existem cabos conversores USB para serial que são
baratos e funcionam perfeitamente. Em nossos clientes temos usado os modems dos
fornecedores ABS Ltda e da iTech, e ambos nos tem dado muito bom resultado. Estes
modems são de fácil configuração com documentação disponível e suporte por
parte dos fabricantes. O Iplenix pode fazer a configuração dos modems para o
cliente se este assim desejar. O objetivo dos modems é manter um canal sempre
estabelecido via rede celular entre o servidor do Iplenix e a porta serial do
PC. São de padrão industrial e estão prontos para trabalhar em ambientes
hostis.
A linguagem PHP também foi usada para esta solução. Ela
oferece funções de acesso aos diferentes tipos de armazenamento usados em PC’s,
o que facilita a retirada dos dados coletados dos sensores. Também tem as facilidades
para colocar seus programas como serviços no Windows, o que, quando bem
programado e configurado garante que o programa vá executar sempre, enquanto o
PC estiver funcionando. E também tem as funções de acesso à porta serial para
que possa ler e escrever os dados trocados com os servidores do Iplneix através
do modem.
O programa feito pelo Iplenix está separado em duas partes.
Existe a parte variável que depende de cada caso que é a leitura dos dados
obtidos pelos sensores. Isso depende exclusivamente da implementação local de
cada cliente e por isso é feito sob medida para cada aplicação. A parte fixa
que faz a troca de dados com os servidores do Iplenix através do modem
conversor. Esta é uma parte que trabalha sempre da mesma forma. Trabalha
segundo o protocolo do Iplenix onde o programa espera os comandos de leitura.
Uma vez que o modem se conecte com os servidores do Iplenix estes verificam se
está na hora de ler mais dados. Sempre que for este momento é enviado um
comando para o programa pedindo os dados mais atuais. Neste momento é acionada
a parte variável que lê os dados coletados e retorna para os servidores do
Iplenix. Esta forma onde os servidores do Iplenix enviam os comandos de leitura
concentra as configurações no servidor tornando mais fácil a manutenção das
configurações, e evitando a necessidade do deslocamento de uma equipe até a
estação de medição.
Esta solução é um pouco mais complicada de desenvolver
porque utiliza componentes menos populares como os modems conversores e cabos
conversores USB para serial, mas que estão disponíveis no marcado. Também a
programação do serviço Windows é um pouco mais sofisticada. A solução com um
todo é mais segura no que diz respeito a possibilidade de ataques contra a
estação de medição porque tira qualquer acesso externo via Internet a ela. É
mais confiável porque elimina componentes de software que podem falhar. E mais
barata porque um modem conversor serial para celular é mais barato do que um
roteador 3G industrial.
Como o Iplenix tem a sua plataforma CONECTA com toda a
infraestrutura pronta para receber os dados, e as bibliotecas para montar o
programa que roda como um serviço do Windows para a leitura dos dados coletados
dos sensores, a montagem de uma nova solução é muito simples e rápida. Entre em
contato conosco que colocamos os seus dados de telemetria e telemedi;cão na
Internet.
Conheça mais sobre os serviços doIplenix