Rede de sensores sem fio robusta e autônoma para monitoramento de nível em aplicações de Cidades Inteligentes
Participantes:
Anderson Vedoveto MartinsResumo do projeto:
Desenvolvimento de uma rede de sensores de nível para o monitoramento de serviços urbanos essenciais. Aplicações imediatas são: monitoramento de caixas d'água, galerias pluviais e fluviais, lixeiras e caçambas de entulho.Descrição do projeto:
Veja mais documentos do projeto no Github
Video final do projeto Part 1:
Video final do projeto Part 2:
O projeto propõe uma rede de sensores de nível sem fio para aprimoramento de serviços urbanos essenciais. Através de um sensor de ultrassom é possível determinar a distância de um objeto/obstáculo em relação ao sensor, desta maneira pode se determinar o nível de líquidos ou sólidos com um mesmo sensor. As aplicações imediatas são citadas abaixo:
-Monitoramento de nível de caixa d’água em residências e edifícios.
No Brasil há regiões onde é frequente o desabastecimento de água (ex.: sertão nordestino) e outras regiões com crises hídricas esporádicas (ex.: São Paulo 2014-2015). É comum notícias de que em situação de adversidade alguns bairros são mais atingidos do que outros. Ao se conhecer o nível das caixas d’água em um número significativo de edifícios é possível direcionar água para os locais em situação mais crítica, ou seja, fazer um gerenciamento hídrico inteligente. Além disso, o sistema pode fornecer dados para agências reguladoras e permitir o monitoramento na qualidade do serviço, visto que as informações divulgadas pelas empresas de saneamento nem sempre condizem com o relatado pela população.
-Monitoramento de nível de espelho d’água em galerias pluviais e fluviais (drenagem urbana).
Várias cidades brasileiras sofrem com pontos de alagamento, o que causa grande prejuízo ao poder público e a particulares. Através do monitoramento contínuo do nível de espelho d’água de galerias fluviais e pluviais é possível identificar risco de alagamento, pontos de entupimento e pontos de gargalo na drenagem. Com isso se torna possível uma gestão inteligente do sistema de drenagem e manejo das águas urbanas.
-Monitoramento de nível do lixo em lixeiras ou caçambas de entulho dispostas nas ruas das cidades.
A coleta de lixo urbano é um serviço essencial para o controle de doenças, para o bem estar da população e para gestão ambiental. Deslocar uma equipe de coleta para lixeiras vazias gera um custo desnecessário, por outro lado, deixar uma lixeira com dejetos por muito tempo gera problemas pela deterioração dos materiais ali presentes. Ao se conhecer o estado de enchimento das lixeiras, caçambas de entulho e pontos de coleta, o responsável pela coleta pode traçar uma rota eficiente e também garantir que o tempo de coleta seja cumprido. Rotas eficientes significam menos gastos com combustíveis, funcionários e redução de veículos na frota.
Histórico do desenvolvimento:
[Semana 1] Fase de estudo e escolha dos componentes
Já definimos os componentes para o Sensor Node, ou seja, o sensor ultrassônico. Os principais componentes são:
- Rádio na banda sub 1-GHz (padrão IEEE 802.15.4);
- Sensor ultrassônico HC-SR04. Este foi escolhido por ser fácil de comprar no mercado nacional e ser adequado para um protótipo funcional, embora não seja adequado para um produto final.
- Sensor de temperatura preciso para expansão de aplicações futuras.
- A alimentação será feita por 2 pilhas AAA fornecendo tensão nominal de 3V. O rádio, acelerômetro e sensor de temperatura serão alimentados diretamente da bateria. O sensor ultrassônico precisa de um step-up para elevar a tensão até 5V.
- Será usado um regulador chaveado do tipo Charge Pump para criar a linha de alimentação de 5V.
- Será construída uma placa com o regulador 5V, sensor de temperatura e circuito de condicionamento de sinal. Além disso, irão se conectar à placa base: o módulo rádio, o módulo sensor HC-SR04 e as pilhas.
[Semana 2] Testes iniciais o com sensor ultrassônico HC-SR04.
- Foi montado um setup para determinar a qualidade das leituras de distância e o tempo de resposta do sensor ultrassônico HC-SR04.
- O sensor foi alimentado com uma fonte de alimentação estabilizada +5V.
- Para iniciar uma medição é necessário enviar um pulso de trigger com a largura mínima de 10us. Usamos um gerador de funções da Agilent para gerar o pulso com uma largura de 20us. A amplitude do pulso pode ser baixada de 5V para 3V sem prejuízo.
- Um osciloscópio Tektronix foi usado para monitorar o trigger (canal 1, amarelo) e o sinal de resposta (canal 2, azul).
- O vídeo abaixo mostra o setup em funcionamento. Usamos um caderno sendo afastado e em seguida aproximado do sensor. Observe a largura do pulso de resposta variando de acordo com a distância do caderno. Também foi verificado o delay de 500us entre o trigger e o início do pulso de resposta.
[Semana 3] Projeto da placa do Sensor Node.
- Dando sequência ao projeto do Sensor Node.
- Foram feitos o esquemático e layout. Veja as imagens abaixo:
- Foi gerado o modelo 3D da placa base e foram encaixados os modelos do sensor de ultrassom, módulo rádio e porta pilhas. O resultado é mostrado abaixo.
- A placa foi fabricada e montada manualmente. O processo utilizado para fabricação da PCB foi o de transferência térmica (papel Transfer e prensa térmica), seguido de corrosão com percloreto de ferro. Nessa primeira montagem o sensor foi colocado em posição diferente do projetado para fara facilitar os testes em bancada, a posição correta é a observada na renderização 3D do item anterior.
- Para mais informações, veja o datasheet do Sensor Node.
Top layer Bottom layer
- Ainda falta montar mais 2 placas e fazer o encaixe do rádio, sensor ultrassônico e caixa de pilhas.
[Semana 4] Projeto e montagem do Shield do concentrador.
- Projeto do shield para integrar os módulos do concentrador. Além da integração, o shield desenvolvido possui circuitos de proteção e suporte para bateria de backup. Veja nas imagens abaixo a visão por cima e por baixo do layout.
- Rede de Sensores de Nível Inteligente
- Testes da integração.
- Renderização 3D do nó concentrador: módulo de rádio para rede de campo, módulo de internet 3G, Shield de integração e Dragon Board.
- Fabricação e montagem do Shield de integração. Novamente o processo utilizado foi o de transferência térmica e corrosão com percloreto de ferro. As figuras abaixo mostram a etapa de montagem dos componentes no Shield e depois o módulo concentrador completo conectando a DragonBoard 410c, o módulo rádio e o módulo modem no Shield.
- Para mais informações, veja o datasheet do Shield.
[Semana 5] Montagens finais
- Montagem do concentrador dentro de uma caixa metálica com proteção IP65. As fotos abaixo mostram o concentrador acomodado dentro da caixa com saídas vedadas para as antenas do rádio e do modem, além de uma entrada selada para a alimentação. Futuramente a fonte e bateria de backup podem ser acomodados também no interior da caixa.
- Montagem final de 2 nós sensores ultrassônicos. O nó sensor completo com a placa base, sensor ultrassônico, o módulo rádio e o suporte para pilhas foi montado conforme a foto abaixo. Observem que estamos usando sensores de modelos ligeiramente diferentes para comparação de resultados.
Hardware:
A tecnologia de Rede de Sensores Sem Fio (RSSF) combina sensoriamento, computação e comunicação em um pequeno dispositivo.
A Rede é formada por vários nós sensores conectados via rádio a um nó concentrador que envia os dados para nuvem. O projeto proposto busca fornecer uma solução de RSSF de baixo custo, longo alcance, robusta e com autodiagnóstico para operar em ambientes remotos sem intervenção humana direta. Essas características permitem que a solução seja escalável e tenha um baixo custo de implantação e manutenção.
Os nós sensores são propositalmente simples. A capacidade de processamento dos nós sensores será baixa para minimizar o consumo de energia e o custo final da solução, pois se pode ter centenas de nós sensores conectados a um único nó concentrador.Eles armazenam somente as últimas medidas, variável de alarme e nível de bateria. Cabe ao Nó concentrador manter os históricos dos dados, enviá-los para a nuvem e gerenciar a RSSF. O nó concentrador por sua vez deve ser robusto do ponto de vista da eletrônica e de software. Este ficará instalado em poste ou lugar remoto de difícil acesso e deve ter alta capacidade de processamento e memória para suprir as necessidades de uma rede com centenas de sensores.
O uso da RSSF pode ser futuramente estendida para outras aplicações de Cidades Inteligentes com novas placas de aplicação para medição de grandezas como pressão, temperatura, umidade, fluxo de ar e detecção de elementos químicos como pH, CO2, O3, CH3 e gases tóxicos.
O Sensor Node desenvolvido é composto por:
-módulo rádio padrão IEEE 802.15.4, na banda de 900 MHz e tecnologia IPV6, com capacidade de formar redes em topologia mesh.
-placa de aplicação com sensor de ultrassom para medir nível e circuito de condicionamento de sinal.
-bateria e circuito de alimentação.
-caixa com adesivo dupla face na lateral, chave liga/desliga e LED de status para auxiliar em sua instalação em campo.
O nó concentrador será composto de:
-Qualcomm DragonBoard 410C responsável pela conexão com a nuvem, armazenamento, processamento das leituras dos nós sensores e gerenciamento da RSSF. A placa rodará Linux em uma partição read only para minimizar a chance de erros e duas partições separadas para dados para ter redundância.
-Placa base com circuito de alimentação AC 100-240V com proteção contra surtos, sobre tensão e sobre corrente. A placa tembém conterá um MCU para fazer o monitoramento do estado dos demais dispositivos presentes no concentrador. Caso algum deles falhe e permaneça em estado de falta, o MCU poderá utilizar a rede de telefonia para enviar um SMS e notificar a situação do concentrador.
-Placa comercial com modem 3g.
-Módulo rádio para conversar com a RSSF.
-Caixa IP65 totalmente fechada, a configuração local do concentrador no momento da instalação será feita por Bluetooth ou WiFi via interface http que pode ser acessada por celular ou tablet do técnico de campo.
Datasheet do Sheld do Concentrador
Ilustração – Concentrador
Software/Firmware:
Tutorial para instalação do Linux Debian na Dragonboard 410c
Optamos por instalar o Linux Debian fornecido pela 96boards na Dragonboard 410c. Esta imagem do Linux está customizada para a Dragonboard 410c com todos os drivers e periféricos funcionando. O fato de uma distribuição Linux como o Debian ter sido portada para a placa aumenta consideravelmente a velocidade de desenvolvimento de novos projetos nesta plataforma.
Recursos necessários para executar este tutorial:
-Computador rodando Linux
-Cartão de memória microSD Card de pelo menos 4 GB
-Placa Dragonboard 410c
-Fonte de alimentação da Dragonboard 410c
Passos no Computador:
1. Faça o download da imagem para uma pasta no seu computador
$ cd ~
$ mkdir Debian_SD_Card_Install_image
$ cd Debian_SD_Card_Install_image
$ wget http://builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/dragonboard410c_sdcard_install_debian*.zip
2. Descompacte o arquivo zip com a imagem que acabou de baixar
$ cd ~/Debian_SD_Card_Install_image
$ unzip dragonboard410c_sdcard_install_debian-233.zip
3. Conecte o microSD Card e verifique onde ele foi montado
$ df -h
/dev/sdb1 7.4G 32K 7.4G 1% /media/3533-3737
4. Desmonte o microSD Card e grave a imagem
$ umount /dev/sdb1
$ sudo dd if=db410c_sd_install_debian.img of=/dev/sdb bs=4M oflag=sync status=noxfer
5. Remova o microSD Card do computador
Passos na placa Dragonboard 410c:
1. Desligue a placa da energia
2. Deixe o switch S6 na seguinte sequência 0-1-0-0 para bootar do microSD Card
3. Insira o microSD Card
4. Conecte um mouse e teclado na USB da placa
5. Conecte o cabo HDMI do monitor na placa
6. Ligue a placa e observe a tela do monitor
7. Selecione no monitor a opção “Install”
8. A instalação é automática, espere ela chegar ao fim com a mensagem “OK”
9. Antes de clicar em “OK”, remova o microSD Card e volte o switch S6 para 0-0-0-0
10. Clique em OK e placa vai rebootar
11. Pronto, o Linux está rondando!
Rede de Sensores sem Fio e Coleta de dados
A coleta das leituras de nível, alarmes e parametrização da RSSF será feita via protocolo HTTP utilizando a arquitetura REST (Representational State Transfer) acessando diretamente os nós sensores com os seguintes comandos POST, GET, PUT e DELETE. Os nós podem fazer leituras programadas pelo Concentrador ou gerar alarmes caso haja uma mudança abrupta de nível ou seja ultrapassado um nível mínimo ou máximo dependendo da aplicação.
Foi desenvolvido um programa para fazer a coleta dos dados e exibi-los em tempo real em um supervisório. Como os dados ficam disponíveis em HTTP, a leitura das medições disponíveis na rede torna-se algo extremamente simples. Em nossa implementação, um computador, que desempenha a função de supervisório, se conecta por WiFi ao concentrador (utilizando a rede da Dragonboard) e adquire as variáveis de estado da rede através das páginas hospedadas em cada nó.
As medidas são atualizadas em intervalos de 3 segundos. Este intervalo foi determinado de maneira que qualquer aplicação de monitoramento de nível fosse atendida ao mesmo tempo que o trafego de dados na rede fosse baixo e que o consumo dos nós sensores se mantivesse baixo.
Tanto os nós sensores quanto o concentrador possuem servidores HTTP embarcado para disponibilizar as informações presentes em cada um deles.
O nó concentrador apresenta no campo SensorNodes Vizinhos quais são os nós sensores que estão no campo de visão do rádio 915MHz. Portanto, podemos ver que no instante da figura abaixo, 3 nós sensores estavam alcançando o concentrador.
Já no campo Rotas, o nó concentrados exibe quais são os caminhos que os pacotes fazem do nó sensor até ele. Como temos uma rede de topologia Mesh, os nós não precisam estar conectados diretamente ao concentrador, caso o nível de sinal entre eles seja baixo. Nosso sistema possui uma métrica que leva em conta o número de saltos, nível de sinal entre vizinhos, tempo de transito dos pacotes e a energia disponível em cada nó para estabelecer a melhor rota.
No exemplo abaixo, podemos notar que dois nós sensores estão conectados ao concentrador através de um salto pelo terceiro nó que está apenas desempenhando um papel de repetidor.
Arquitetura da solução
Referências:
1. Dragonboard 410c Installation Guide for Linux and Android
https://github.com/96boards/documentation/wiki/Dragonboard-410c-Installation-Guide-for-Linux-and-Android
2. 96boards DragonBoard 410c
http://www.96boards.org/product/dragonboard410c
3. Github do Projeto ReSeNi
https://github.com/GustavoRP/ReSeNI