[1/3] Do hardware à nuvem: Construindo sua própria solução IoT

Você já pensou em desenvolver seu próprio aplicativo IoT do zero, mas não sabia por onde começar? Para você e todos os outros criadores que desejam concretizar seus projetos, vou compartilhar minha experiência, porque eu também já estive nessa situação.

Introdução

Este é o primeiro de uma série de artigos nos quais descreverei todo o processo, desde o projeto de hardware até a aplicação em nuvem, para dar vida ao meu projeto. Os desafios, problemas, conquistas e até mesmo alguns detalhes técnicos e tutoriais relacionados a dispositivos específicos usados ​​em diferentes etapas do processo.

Como escolhi meu projeto?

Primeiramente, deixe-me apresentar: sou estudante de engenharia elétrica, prestes a concluir minha graduação. Para o meu projeto de conclusão de curso, eu queria ter a experiência de projetar e desenvolver meu próprio dispositivo, e poder usá-lo para implementar uma aplicação de IoT que pudesse contribuir para a solução de um dos problemas da minha cidade. Além disso, eu queria que essa solução fosse acessível e simples, para que pudesse ser usada por qualquer pessoa, independentemente de sua formação. Depois de refletir por alguns dias, me inclinei para problemas de mobilidade: implementar meu próprio aplicativo de estacionamento inteligente.

Por que escolhi este projeto?

Com o crescimento populacional mundial, a mobilidade em muitas cidades tende a entrar em colapso devido ao grande número de veículos circulando pelas ruas. No setor comercial, o problema é ainda mais grave devido ao tempo que um motorista leva para encontrar uma vaga para estacionar, gerando congestionamentos insustentáveis. Os sistemas de estacionamento inteligentes tornaram-se uma ferramenta muito útil para reduzir os problemas de mobilidade em locais com alta concentração de veículos.

No entanto, esses sistemas costumam ser complexos e caros. Sua instalação precisa ser feita por pessoal especializado e, muitas vezes, até mesmo a estrutura do estacionamento precisa ser modificada. Além disso, é necessário investir muito dinheiro e tempo na manutenção. Por esse motivo, esse tipo de sistema não é implementado em todos os lugares. Foi por isso que decidi criar uma solução mais simples, prática e barata para ajudar os motoristas a encontrar vagas de estacionamento disponíveis.

Percebi que, para desenvolver este projeto, ele poderia ser dividido em duas grandes etapas: projeto de hardware e implementação do aplicativo de software.

Projeto de hardware

1. Definição das funcionalidades do dispositivo

Como ponto de partida, foi necessário definir quais características o projeto exigiria para começar a planejar como alcançá-las. Para o meu dispositivo, escolhi as seguintes funcionalidades:

  • Baixo consumo de energia
  • Portátil
  • Sem fio
  • Bateria de longa duração
  • Fácil de instalar
  • Longo alcance do sinal
  • Confiabilidade

2. Seleção de componentes modulares

Em seguida, precisei pensar nos componentes modulares que o dispositivo deveria ter para cumprir sua função: detectar a presença de um veículo em uma vaga de estacionamento e transmitir essa informação para o aplicativo de software sem fio.

Primeiramente, eu precisaria encontrar um sensor capaz de detectar a presença de um veículo. Em seguida, seria necessário um microcontrolador para ler, processar e organizar os dados coletados pelo sensor. Por fim, seria necessário o uso de um módulo sem fio para enviar as informações a um servidor, onde os dados seriam armazenados para serem utilizados pelo aplicativo .

Tendo tudo isso em mente, o próximo passo seria pesquisar e selecionar todos os componentes e tecnologias necessários para atender aos requisitos mencionados anteriormente.

3. Seleção de tecnologias

Para selecionar a tecnologia, estudei o estado da arte dos sistemas de estacionamento inteligente e detecção de veículos. Descobri que as tecnologias de sensores mais comuns usadas para detecção de veículos são: infravermelho, ultrassom e magnético. No entanto, considerei que as detecções usando sensores ultrassônicos e infravermelhos poderiam ter uma probabilidade maior de falha, devido às suas medições poderem ser afetadas por fatores como o formato das superfícies ou mesmo a poeira do ambiente. Portanto, decidi testar primeiro os sensores magnéticos.

Comecei a procurar sensores magnéticos , principalmente com baixo consumo de energia e alta sensibilidade. Estudei as características de pelo menos 10 sensores diferentes e selecionei os cinco que me pareceram melhores. Posteriormente, criei uma planilha do Google onde registrei esses cinco sensores com suas principais características: tensão de alimentação, consumo de energia, sensibilidade, resolução e interfaces de comunicação, para compará-los.

Além disso, devido ao seu tamanho reduzido, certifiquei-me de que os sensores escolhidos possuíssem uma placa adaptadora para prototipagem rápida do sistema e avaliação do dispositivo. Por fim, optei pelos que apresentavam a maior sensibilidade, porém com baixo consumo de energia. As referências desses sensores são MMC5883MA e LSM303AGR .

Para selecionar o microcontrolador, limitei minha pesquisa a arquiteturas de 8 bits , para reduzir o custo e a complexidade de programação, já que as tarefas que o microcontrolador deveria executar são, na verdade, simples. Eu precisava encontrar um microcontrolador de baixo consumo de energia que tivesse uma embalagem que me permitisse fazer testes para a prototipagem, ou seja, adequada para uso em uma placa de ensaio. Acabei decidindo testar microcontroladores PIC, começando pelo PIC18F2550 .

Nesse ponto, eu precisava selecionar um módulo sem fio. A primeira pergunta foi: qual tecnologia sem fio devo usar? Bem, depois de alguns dias de pesquisa intensa e com a ajuda dos meus colegas da Ubidots , decidi usar LoRaWAN . Devido às suas características, como baixo consumo de energia, longo alcance e alta imunidade a interferências, o LoRaWAN é uma tecnologia poderosa para aplicações de Internet das Coisas ( IoT ). Embora haja uma limitação quanto ao tamanho dos pacotes que podem ser enviados usando LoRaWAN, isso não é um problema para IoT pois não são necessárias grandes cargas úteis para enviar os dados coletados pelos sensores.

Em seguida, procurei um módulo LoRaWAN com baixo consumo de energia, alto alcance e interfaces de comunicação serial. Era imprescindível garantir que a frequência de operação do módulo LoRaWAN coincidisse com a banda ISM do meu país. Algumas semanas antes, eu havia testado uma placa de desenvolvimento chamada SODAQ ONE . Essa placa inclui um módulo LoRaWAN integrado, o RN2903 , que atendia aos requisitos deste projeto. Assim, optei por usar esse módulo já conhecido, que apresentou um ótimo desempenho nos testes realizados com a SODAQ ONE.

Se você já conhece o SODAQ ONE V3 e quer começar a usar o Ubidots , confira este guia e comece hoje mesmo!

Após realizar todas as etapas mencionadas acima, o próximo passo é testar os componentes selecionados e construir um protótipo. Os resultados desses testes determinarão se esses componentes foram escolhidos adequadamente para minha aplicação ou se devo fazer alguma alteração.

Sinceramente, embora todo o processo possa ser complicado, a parte mais difícil para mim foi decidir por onde começar. Portanto, se você se interessar em desenvolver seu próprio aplicativo IoT , recomendo que tenha clareza sobre os objetivos, as funcionalidades e o escopo geral do seu projeto, e o resto do caminho se revelará naturalmente.

Se você quer saber como tudo terminou, fique de olho nas próximas publicações!

Atenciosamente, Daniela.