Prévia do material em texto
11 4 PLANO DE DESENVOLVIMENTO DA APLICAÇÃO Esse capítulo destina-se a apresentar os materiais e métodos utilizados para o desenvolvimento do projeto. 4.1 Materiais Os materiais utilizados no protótipo para a obtenção dos sinais vitais foram: uma placa de desenvolvimento ESP32, um aparelho medidor de pressão arterial de pulso, um oxímetro e sensor de batimentos cardíacos MAX30102 e um sensor de temperatura DS18B20. Para o envio dos dados pela internet foi utilizado um servidor Linux hospedado na nuvem que executa o Mosquitto atuando como um broker MQTT. As interfaces gráficas são compostas pelo uso do Node-RED e por um aplicativo Android. 4.1.1 ESP32 DevKit As ESP32 DevKits são placas de desenvolvimento de alta performance e baixo consumo de energia produzidas pela empresa Espressif Systems. Elas são integradas com conexão Wi-Fi e Bluetooth, uma interface usb-serial, um regulador de tensão de 3.3 V, e um módulo MCU da série ESP32. As placas diferem no módulo que utilizam - que possuem variações como quantidade de núcleos do processador e memória flash - e no número de pinos de entrada e saída (ESPRESSIF SYSTEMS, 2022b, 2022c). 4.1.2 Medidor de Pressão Arterial O aparelho de pressão arterial utilizado é o LP200 Premium, ele é um monitor digital automático de pulso que pode ser adquirido em farmácias populares. O fator determinante para o uso deste medidor foi a presença de uma memória EEPROM I2C em seu circuito, pois é através do barramento I2C que o microcontrolador recebe as leituras de pressão do aparelho no momento em que elas estão sendo salvas na memória. 4.1.3 MAX30102 O MAX30102 é um módulo produzido pela empresa Maxim Integrated que integra um oxímetro de pulso e sensor de batimentos cardíacos. Ele inclui dois LEDs internos - um de luz vermelha e outro de luz infravermelha, um fotodetector, e elementos ópticos e eletrônicos de baixo ruído com rejeição à luz ambiente. A fonte de alimentação do módulo 12 pode ir de 3,3 V até 5,5 V e a comunicação é feita através de um barramento I2C (MAXIM INTEGRATED, 2018). 4.1.4 DS18B20 O DS18B20 é um sensor digital de temperatura que se comunica em um barramento 1-Wire, ou seja, necessita de apenas uma linha de dados (um fio e o terra) para se comunicar com um microcontrolador. Ele capta temperaturas entre -55 °C e 125 °C, com precisão de 0,5 °C na faixa de -10 °C até 85 °C (MAXIM INTEGRATED, 2019b). 4.1.5 Mosquitto Criado pela Eclipse Foundation, o Mosquitto é um broker MQTT de código aberto que implementa o protocolo MQTT em servidores e consome poucos recursos (LIGHT, 2017). 4.1.6 Servidor Linux Para garantir o acesso remoto ao broker, o Mosquitto é executado em um servidor Linux Ubuntu versão 20.04 (LTS) instalado em uma máquina virtual hospedada pela Digital Ocean, uma empresa de computação em nuvem que oferece recursos computacionais através de uma plataforma web de IaaS (infraestrutura como serviço). 4.1.7 Node-RED O Node-Red é uma plataforma online, voltada para IoT (Internet das Coisas) que permite ao desenvolvedor construir sistemas embarcados para diversos microcontroladores. Ela foi desenvolvida baseada no NodeJS e seu intuito é permitir que o usuário escolha opções pré-definidas através de um painel da plataforma e ligue como uma espécie de fio essas opções (KIYOSHI, 2017, p. 16). A plataforma torna a programação para microcontroladores um trabalho mais simples e rápido, pois ele usa bloco de códigos predefinidos para construir o sistema, esses blocos de códigos são conhecidos como “nodes”. Para construir um fluxo é utilizado um node entrada, node de processamento e node de saída (KIYOSHI, 2017, p. 34). Uma das características do Node-Red é o fato de o usuário não necessitar ter grande conhecimento em programação, pois a plataforma interativa com o usuário baseia-se em escolher as opções no painel e ligar os blocos de código. Entretanto, devido a sua singela forma de programar, a ferramenta não permite construir sistemas grandes e robustos. 13 4.1.8 Kotlin Devido ao crescente uso de dispositivos móveis foi necessário criar uma linguagem para facilitar o desenvolvimento de aplicativos. O Kotlin foi escolhido com a ideia de corrigir alguns problemas do Java trazendo para o desenvolvedor uma linguagem mais moderna e concisa (HENRIQUE, 2019, p. 6). Apesar de Kotlin e Java serem linguagens diferentes, o Kotlin é executado utilizando a JVM (Java Virtual Machine). Ela é capaz de identificar possíveis objetos nulos, tornando mais eficaz a verificação de erros, diferente do Java, onde são criados trechos grandes de código e não é possível detectar se há algum objeto nulo que esteja causando erro na compilação do programa (HENRIQUE, 2019, p. 7 e 8). Para expressar um possível objeto nulo dentro do código Kotlin é utilizado o ponto de interrogação na invocação de um objeto. Por exemplo: var cliente Cliente ?: = null. A linguagem Kotlin também é caracterizada por utilizar elementos visuais através da linguagem de marcação XML, através da criação de uma página XML é possível referencial a classe Kotlin e tornar os componentes visuais aparentes ao front-end do sistema (HENRIQUE, 2019, p. 9). 4.1.9 Android-Studio O Android-Studio é uma ferramenta utilizada para criação de aplicativos móveis, nele é possível construir interfaces visuais, códigos e realizar configurações com as três camadas da aplicação Android, sendo eles: Android, Kernel e Framework. Ele permite testar o desempenho da aplicação, ambientes de desenvolvimento robustos e assertivos, e modelos de elementos comuns encontrados em qualquer aplicativo de plataforma mobile para Android (ROGERIO, 2017).