FAVORITAR
FecharPlease login

Esteira de DevOps de IoT (White Paper)

Introdução

O desenvolvimento de produto é uma área da engenharia que pode influir decisivamente para o sucesso ou não de uma determinada ideia que se pretende lançar no mercado. A abordagem mais segura é o que se conhece como Product Life Cycle (PLC) (Ciclo de Vida do Produto). Esta é uma metodologia linear cujos gatilhos de uma fase para outra requerem “o vão em frente” da diretoria, ou responsáveis pela organização. De fato, se por um lado a PLC introduz uma segurança na operação futura de produção e venda em massa, por outro ela provoca uma demora na fase de desenvolvimento e certificação do produto. O desenvolvimento por esteira DevOps vem ao auxílio daquelas organizações que pretendem transformar rapidamente uma ideia em um produto vendável, substituindo as autorizações formais do PLC por uma dinâmica de aprovação consensual e colaborativa entre as partes envolvidas, durante a fase de desenvolvimento, certificação e disponibilização do produto para a produção em massa.

Contexto e motivação

O crescimento de dispositivos Internet das Coisas (IoT), segundo Levy (2016), foi por volta de 20 bilhões de unidades em 2020. O número de dispositivos IoT para o ano de 2025, segundo Vailshery (2016), pode alcançar os 75 bilhões de unidades.

O impacto gerado pelos dispositivos IoT já no ano de 2025 pode ficar na faixa entre 3,9 a 11 trilhões de dólares na economia global, segundo Ellen (2021). A aplicação dos dispositivos IoT inclui diversas áreas tais como agricultura, energia, cidades inteligentes, manufatura e monitoramento remoto de dados médicos, entre outros. No entanto, a aplicação extensiva de dispositivos IoT leva a uma vulnerabilidade na segurança dos dados, pois já no ano de 2020 25% das organizações sofreram ataques nos dispositivos IoT, segundo Fortinet Threat Landscape Report.

Objetivos

Este white paper fornece um guia abrangente para a implementação de uma esteira DevOps de IoT, abordando os desafios específicos enfrentados pelas equipes de desenvolvimento de solução de IoT. Entenda-se como solução de IoT ao dispositivo que esteja funcionando plenamente conforme o requisito, ou seja, o firmware totalmente integrado ao hardware para realizar o trabalho pretendido para aquele dispositivo. Ao adotar práticas e ferramentas adequadas, as organizações podem acelerar o desenvolvimento de produto, melhorar a qualidade e aumentar a eficiência operacional das soluções IoT, permitindo que elas alcancem todo o potencial dessa tecnologia emergente.

Fundamentos de IoT e esteira DevOps

A Internet foi criada para interconectar computadores, ou rede de computadores. Estas máquinas são utilizadas para computação de uso geral, tais como processamento de textos, cálculos, planilhas, banco de dados, etc. A Internet das Coisas (IoT) é uma interconexão de uma rede de dispositivos com a Internet. Um dispositivo pode ser criado com firmware e sensores, bem como com outras tecnologias, para realizar uma tarefa determinada. Um dispositivo pode ser caraterizado como semelhante a um autômato com poucos estados, os quais são processados em laço fechado. Um dispositivo pode também ser caracterizado como um produto de uso restrito, tais como, máquinas de lavar louças, televisores, fornos de micro-ondas, etc. Um dispositivo coletor de temperaturas, por exemplo, coleta periodicamente a mesma e a disponibiliza em um canal de leitura. Os dispositivos do outro tipo colocam à disposição do seu usuário, por exemplo, o controle de lâmpadas de uma residência ou a leitura da temperatura de um forno. A Internet das Coisas é uma rede que conecta estes dispositivos a outros semelhantes ou a computadores de uso geral com a finalidade de processar as medidas, ou dados coletados no campo.

Conceitos básicos de IoT

O conceito de IoT não é recente, no entanto, várias tecnologias desenvolvidas nos últimos anos facilitaram sua implementação e uso.

A conectividade foi incrementada com a adoção de tecnologias de redes sem fio tais como: Wi-Fi, Bluetooth, Zigbee, etc bem como pelo aprimoramento dos respectivos protocolos de comunicação. O surgimento da tecnologia 5G, cuja implementação está em curso no Brasil, oferece oportunidades para a implementação massiva de dispositivos IoT pela indústria.

Os diversos tipos de sensores, notadamente os sensores de qualidade do ar que ajudam cidades em todo mundo monitorar estes indicadores, são cada vez mais integrados em circuitos integrados, tornando o seu uso mais acessível devido ao aumento de escala em sua produção.

O surgimento da AI for IOT potencializa o processamento de dados nos servidores remotos, ou até mesmo nos computadores de borda. Dhaduk (2023)

Princípios e benefícios do DevOps

O DevOps é uma metodologia que diminui o tempo de desenvolvimento entregando correções contínuas durante a fase de desenvolvimento e implementação de um novo projeto. A metodologia de DevOps assume uma interação forte entre os times de desenvolvimento e de operação da empresa.

Uma esteira de DevOps inclui mecanismos de feedback acessível aos dois times envolvidos, bem como de uma gerência da empresa. Os mecanismos de feedback podem incluir softwares de controle de atividades como o Jira ou de monitoramento de operações como o Puppet. A esteira de DevOps também incorpora mecanismos de segurança e privacidade com o uso extensivo de criptografia para evitar que a operação não seja invadida com consequências adversas para a privacidade dos dados e da higidez dos resultados da mesma. Um sistema de verificação e controle do código e da documentação do produto como o Git deve ser implementado para auxiliar o controle do trabalho realizado, bem como das entregas.

A automação é um outro requisito para uma esteira de DevOps funcionar a contento. Tanto a automação de compilação de códigos e seus respectivos testes devem ser implementadas antes do funcionamento da mesma.

Finalmente, a esteira de DevOps deve providenciar a integração dos times envolvidos para agilizar a implantação inicial do firmware no hardware, processo que se sabe, a priori, consome muito tempo.

Desafios específicos

O primeiro desafio vencido foi a escolha de uma plataforma de comunicação que pudesse integrar os desenvolvedores e o cliente, dado que este não tinha flexibilidade para utilizar ferramentas específicas para uma esteira de IoT. Em outras palavras, o TI do cliente não possuía autorização para instalar ou disponibilizar aplicativos que não aqueles autorizados pela alta direção da empresa. Este fato, limitou o uso de ferramentas de controle como o Jira. Neste sentido, foi escolhida o MS Teams para integração e registro de ocorrências, feedbacks e o Zoom para reuniões. O GiT foi utilizado para controle de versões do firmware. Um script shell foi implementado para a compilação e testes iniciais do firmware desenvolvido a cada etapa.

Além disto, foram realizadas reuniões presenciais entre o cliente e os desenvolvedores com frequência semanal para discussões notadamente sobre a parte física da implementação.

Estudo de caso: Implementação de uma esteira DevOps de IoT

Introdução

O estudo de caso apresentado neste trabalho relata como foi utilizado a metodologia DevOps para o desenvolvimento de um produto eletrônico para automação industrial de ar-condicionado. O projeto desenvolvido foi solicitado pelo cliente, uma empresa de prestação de serviços de manutenção especializada em atender clientes industriais. A empresa solicitou o desenvolvimento de um equipamento eletrônico para controle de sistemas de refrigeração industrial por interface remota. O equipamento desenvolvido deveria ser capaz de automatizar o controle da temperatura em determinados setores da indústria, realizando toda a operação de monitoramento e controle via interface WEB.

Desenvolvimento

Análise de requisitos

A primeira etapa do desenvolvimento foi a análise dos requisitos apresentados pelo cliente. Os requisitos foram discutidos em reuniões presencias e virtuais utilizando a plataforma Zoom. Mais de uma reunião foi utilizada para esta finalidade, pois o detalhamento necessário para prosseguir com o desenvolvimento gerava questões técnicas que precisavam do feedback do cliente para serem respondidas.

Após a realização destas reuniões, o cliente definiu os requisitos necessários para o equipamento. Estes requisitos podem ser vistos na Tabela 1.

Sistemas a serem controladosAr-condicionado do tipo Fancoil
Variável a ser monitorada/ControladaTemperatura Ambiente
Tipo de Controle de Saída4 – 20mA/ 0 – 10 VDC
Tipos de válvulas a serem controladasVálvulas de Esfera Motorizada. Diversos modelos. Controle variando entre 4 20mA/ 0 10 VDC. Com e sem feedback de atuação.
Tensão de alimentação24 VDC
Sensores utilizados para medição de temperaturaDS18B20/ Sensor NTC 10K
Faixa de temperatura medida-10 °C +50 °C
Precisão da leitura da variável controlada±0,5 °C
Interface de comunicação com o usuárioInterface Web
Meio de comunicação com o sistema de automação da indústriaWi-Fi / Lora ou 4G
Tipo de protocolo utilizado para comunicação do equipamento com a nuvemMessage Queuing Telemetry Transport (MQTT)
Tipo de instalação do equipamentoParedes, Tubos e Painéis Elétricos
Tabela 1 – Requisitos apresentados pelo cliente durante as reuniões de especificação. As reuniões aconteceram presencial e virtualmente realizadas via Zoom

Hardware Desenvolvido

Com base nos requisitos apresentados pelo cliente, foi desenvolvido o projeto de um hardware eletrônico, composto por uma Placa de Circuito Impresso (PCI) micro- controlada, case mecânico e Firmware para operar o controle do equipamento. A Placa de Circuito Impresso desenvolvida pode realizar a leitura dos sensores de temperatura externos, DS18B20 e NTC-10K de forma simultânea. A placa possui sensor interno de temperatura para verificação de condição térmica no interior do invólucro. Possui duas saídas de controle, 4-20mA e 0-10VDC que enviam o controle de abertura e fechamento das válvulas. Alguns modelos de válvulas de esferas utilizadas possuem um fio adicional de feedback, que fornecem um sinal analógico de 0-10V indicando a posição real de abertura da mesma. O hardware desenvolvido pode operar as válvulas com e sem feedback.

A Figura 1 mostra uma válvula esférica com fio de retorno.

O produto foi projetado para operar em mais de um tipo de rede de comunicação. Por padrão, a rede principal de comunicação é a Wi-Fi, porem o equipamento pode utilizar conexão via protocolo Lora ou via 4G, bastando que um conjunto de componentes seja montado no Hardware.

Figura 1 – Válvula esférica utilizada para controle de vazão de água do sistema de refri- geração industrial. Esta válvula possui um fio de retorno com uma saída de 0-10VDC que indica o angulo de abertura da mesma

A Tabela 2 apresenta as características técnicas do produto eletrônico desenvolvido.

Dimensões do produto100mm x 100mm x 35mm
Dimensões da Placa de Circuito Impresso95mm x 87,5mm
MicrocontroladorESP32-WROVER-IE (16MB)
Arquitetura do MicrocontroladorDual-Core Xtensa LX6
Frequência de Operação do Micro-

controlador
Até 240 MHz
Memória Flash16 MB
Memória RAM520 kB
ADCADS1115IDGSR
Resolução ADC16 bits
Taxa de Amostragem ADCAté 860 amostras por segundo
Sensor de Temperatura InternaMCP9701T-E/TT
Faixa de Temperatura do Sensor-40°C a +125°C
Saídas Analógicas4-20 mA, 0-10 VDC
Leitura de Sensores de TemperaturaNTC 10K, DS18B20
Alimentação24 VDC
Módulos de ComunicaçãoWi-Fi (Padrão), Podendo operar

com Módulo LoRa (RFM95W) ou Modem 4G (BG95)
Case Mecânico customizadoResistente ao Tempo, padrão IP65
Opções de InstalaçãoPainel Elétrico, Tubo ou Parede
Tabela 2 – Especificações Técnicas do Produto Eletrônico desenvolvido.

As vistas isométrica e de topo da placa de circuito impresso desenvolvida para o controlador de temperatura estão mostradas a seguir:

Figura 2 – Vistas isométricas e de topo (dimensões em milímetros).

A caixa do equipamento foi projetada para acomodar perfeitamente a eletrônica desenvolvida, possibilitando a passagem dos cabos de acionamento da válvula, sensor de temperatura e alimentação do equipamento. O projeto da caixa considerou os diferentes cenários de instalação elencados pelo cliente, podendo ser instalada em paredes, tubos ou trilhos de fixação de painel elétrico, desta forma cobrindo os principais meios encontrados nos locais de instalação.

O projeto da caixa mecânica foi um reaproveitamento de design anterior que já tinha passado em testes para obter certificação IP65.

O projeto do gabinete original foi disponibilizado pela equipe de desenvolvimento mecânico via Github para reutilização. Este tipo de reaproveitamento de projeto reduz horas de desenvolvimento, tornando mais rápido a entrega e menos oneroso para o cliente, pois as horas de projeto cobradas são apenas as necessárias para a customização para a aplicação. A caixa foi produzida via manufatura aditiva, em ABS preto.

As imagens da caixa aberta e fechada estão mostradas na figura 3.

Figura 3 – Caixa fechada com o cabo de conexão em detalhe e a caixa aberta mostrando sua montagem interna

Firmware

O Firmware foi desenvolvido em linguagem C, utilizando o Framework IDF fornecido pelo fabricante do microcontrolador. O Firmware desenvolvido é responsável por:

  • Ler os parâmetros de controle do sistema de refrigeração enviados via WEB;
  • Controlar as válvulas enviando sinais de corrente ou tensão para abertura ou fechamento conforme a parametrização do sistema;
  • Enviar o feedback do estado de abertura/fechamento das válvulas para o servidor;
  • Ler os sensores de temperatura e enviar a temperatura medida para o servidor;
  • Salvar as configurações enviadas pelo servidor na memória interna do equipamento para operar de forma autônoma em caso de perda de conexão com a rede;
  • Implementar sistema de auto-reset em caso de travamento ou falhas sucessivas de conexão com a rede;

Parametrização

A parametrização do equipamento é realizada via interface WEB pelo sistema supervisório proprietário do cliente. A operação do dispositivo no sistema só é possível após o cadastro do MAC do equipamento e mediante a entrada de um usuário logado com senha. A interface WEB utilizada pelo cliente permite o monitoramento de vários dispositivos simultaneamente, podendo estabelecer setpoints (Valor alvo no qual um controlador de temperatura tenta manter a variável de processo) da temperatura desejada e histerese para ligar e desligar o controle.

Figura 4 – Tela do sistema proprietário do cliente com os produtos cadastrados. Diferentes setpoints e histeres podem ser configurados individualmente na mesma tela.

Troca de mensagens

A troca de mensagens entre o equipamento e o servidor do cliente é feita via protocolo MQTT. O protocolo MQTT é um protocolo de mensagens leve e eficiente, adequado para comunicação em redes IoT. As mensagens são enviadas para um broker(É um servidor que roteia mensagens publicadas para assinantes) MQTT instalado no servidor do cliente, desta forma as mensagens não trafegam por rede pública.

Testes de Validação

Para validar a eficácia do produto desenvolvido, entramos em contato com o cliente e este nos disponibilizou uma estação de teste real em um ambiente fabril. O ambiente de instalação possuía ao todo 6 tubulações de refrigeração disponíveis, das quais 4 foram desativadas e duas foram utilizadas para o teste piloto do produto. A instalação do produto foi realizada diretamente no cano de água onde a válvula de modulação estava instalada.

Figura 5 – Instalações vertical e horizontal do controlador de ar condicionado Após a instalação, os produtos foram cadastrados na plataforma WEB.

Dashboard de Testes

Visando validar a comunicação do equipamento com o servidor e acompanhar os acionamentos das válvulas, foi desenvolvido um dashboard em Python que utiliza os dados trocados pelo equipamento com o servidor para acompanhar a temperatura medida e os acionamentos das válvulas em uma única tela.

A Figura 6 demonstra a temperatura medida pelo device e os acionamentos realizados pela válvula para manter a temperatura dentro do setpoint desejado.

Conclusão

A experiência de realizar fisicamente uma solução integrada de hardware e de software utilizando elementos típicos de uma esteira de DevOps foi desafiadora, mas se mostrou factível. Os meios utilizados – tais como videoconferências pelo Zoom, versionamento pelo Git, comunicação pelo Teams – mostraram-se essenciais para o sucesso da solução. Observou-se que o projeto de hardware sofreu menos alterações e, portanto, contribuiu menos para os erros observados no ciclo de depuração da solução. Isto deveu-se, em maior parte, pela experiência do time de desenvolvimento de hardware bem como pela relativa simplicidade do circuito. Isto era esperado. A adoção de um dashboard acessível através de um link na rede interna do cliente se mostrou acertada pois envolveu o cliente na observação, em tempo real, da solução aplicada em sua linha de produção. Observou-se também o envolvimento do cliente que facilitou a montagem da solução em sua linha de produção, bem como contribuiu apontando erros ou desvios indesejáveis através dos mecanismos oferecidos pelo desenvolvedor da solução. Este fato, contribuiu para a adoção satisfatória da esteira de DevOps, pois as alterações foram testadas no local onde a mesma efetivamente seria aplicada. Estes facilitadores podem indicar que a aplicação da metodologia de esteira de DevOps em StartUps, por exemplo, pode ser comprometida pelos dois pontos citados: experiência do time de desenvolvimento e efetivo envolvimento do cliente. Se a solução gerada pelo time de desenvolvimento não for adequada para a aplicação, as correções tendem a não torná-la aderente à esta. Se o cliente não se envolver na fase de testes de validação da solução, esta terá de ser testada em um ambiente diferente, podendo demandar recursos de tempo e retrabalho para o seu ajuste quando for aplicada, de tal forma que a solução possa tornar-se economicamente inviável ou até mesmo disfuncional. Por outro lado, a nossa experiência demonstrou que a metodologia DevOps em aplicações mistas de hardware e de software aportou agilidade no desenvolvimento da solução sem a degradação da funcionalidade, como sugerido pela literatura, bem como, pela aplicação da mesma em projetos exclusivos de software.

Figura 6 – Tela do Dashboard Python mostrando a temperatura medida (Azul) e os acionamentos da válvula (Verde e Vermelho)

Referências

Texto escrito por:

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Home » Hardware » Esteira de DevOps de IoT (White Paper)

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Comentários:
Notificações
Notificar
0 Comentários
Inline Feedbacks
View all comments
Talvez você goste:
Nenhum resultado encontrado.