{"id":4978,"date":"2020-03-14T01:33:53","date_gmt":"2020-03-14T04:33:53","guid":{"rendered":"https:\/\/www.usinainfo.com.br\/blog\/?p=4978"},"modified":"2021-03-23T17:42:48","modified_gmt":"2021-03-23T20:42:48","slug":"esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi","status":"publish","type":"post","link":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/","title":{"rendered":"ESP32 Projeto com Sensor de Fluxo de \u00c1gua para Monitoramento via WiFi"},"content":{"rendered":"<p>O ESP32 Projeto com Sensor de Fluxo \u00e9 um sistema de verifica\u00e7\u00e3o desenvolvido com o intuito de analisar o fluxo de \u00e1gua em um determinado local em espec\u00edfico e possibilitar a sua verifica\u00e7\u00e3o atrav\u00e9s de uma conex\u00e3o WiFi entre o seu celular e o ESP32, por exemplo.<\/p>\n<div id=\"attachment_4989\" style=\"width: 858px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/esp32-projeto-com-sensor-de-fluxo-de-agua.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4989\" class=\"wp-image-4989 size-large\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/esp32-projeto-com-sensor-de-fluxo-de-agua-1024x620.jpg\" alt=\"Sistema de monitoramento de dados ESP32 com Sensor de Fluxo\" width=\"848\" height=\"513\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/esp32-projeto-com-sensor-de-fluxo-de-agua-1024x620.jpg 1024w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/esp32-projeto-com-sensor-de-fluxo-de-agua-300x182.jpg 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/esp32-projeto-com-sensor-de-fluxo-de-agua-768x465.jpg 768w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/esp32-projeto-com-sensor-de-fluxo-de-agua.jpg 1280w\" sizes=\"auto, (max-width: 848px) 100vw, 848px\" \/><\/a><p id=\"caption-attachment-4989\" class=\"wp-caption-text\">Sistema de monitoramento de dados ESP32 com Sensor de Fluxo<\/p><\/div>\n<p>A f\u00e1cil visualiza\u00e7\u00e3o dos dados proporciona al\u00e9m de tudo um melhor controle do consumo de \u00e1gua em resid\u00eancias e ind\u00fastrias, evitando gastos excessivos e nos policiando cotidianamente quanto a nossa utiliza\u00e7\u00e3o deste bem t\u00e3o precioso que \u00e9 a \u00e1gua.<\/p>\n<p>Al\u00e9m de podermos visualizar os dados atrav\u00e9s da tela de smartphones, tamb\u00e9m \u00e9 poss\u00edvel abrir junto ao computador um arquivo .txt criado junto ao micro cart\u00e3o SD incluso no projeto, o qual salva os dados e evita que estes precisam ser salvos na EEPROM.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>ESP32 NodeMCU<\/strong><\/h2>\n<p>O ESP32 \u00e9 um Microcontrolador cada vez mais presente na maioria dos projetos e que se diferencia dos tradicionais Arduinos principalmente na sua tens\u00e3o de n\u00edvel l\u00f3gico, j\u00e1 que seu n\u00edvel l\u00f3gico \u00e9 de 3,3V e n\u00e3o 5V como no Arduino.<\/p>\n<div id=\"attachment_4981\" style=\"width: 664px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ESP32-NodeMCU-e-Arduino.jpg\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4981\" class=\"wp-image-4981 \" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ESP32-NodeMCU-e-Arduino-1024x512.jpg\" alt=\"ESP32 NodeMCU e Arduino\" width=\"654\" height=\"327\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ESP32-NodeMCU-e-Arduino-1024x512.jpg 1024w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ESP32-NodeMCU-e-Arduino-300x150.jpg 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ESP32-NodeMCU-e-Arduino-768x384.jpg 768w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ESP32-NodeMCU-e-Arduino.jpg 1200w\" sizes=\"auto, (max-width: 654px) 100vw, 654px\" \/><\/a><p id=\"caption-attachment-4981\" class=\"wp-caption-text\">ESP32 NodeMCU e Arduino<\/p><\/div>\n<p>Como a maioria dos sensores s\u00e3o produzidos para funcionar com tens\u00f5es de 5V, muitas vezes \u00e9 necess\u00e1ria a inclus\u00e3o de um divisor de tens\u00e3o ou de um Conversor de N\u00edvel L\u00f3gico para o perfeito funcionamento do projeto.<\/p>\n<p>Podendo conectar-se com outros dispositivos tanto atrav\u00e9s de uma rede sem fio WiFi quanto atrav\u00e9s do Bluetooth, o ESP32 \u00e9 um produto que expande bastante a sua capacidade de aplica\u00e7\u00e3o nos mais diversificados projetos.<\/p>\n<p>O ESP32 \u00e9 o chip base que controla o funcionamento do m\u00f3dulo NodeMCU, uma placa respons\u00e1vel pela expans\u00e3o dos pinos de sa\u00edda atrav\u00e9s das barras de pino, uma conex\u00e3o direta junto ao computador via cabo atrav\u00e9s do conector Micro USB e possibilidade de alimenta\u00e7\u00f5es superiores aos 3,3V padr\u00e3o atrav\u00e9s de reguladores de tens\u00e3o.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Existe diferen\u00e7a entre o ESP32 e o ESP32 Nodemcu?<\/strong><\/h3>\n<p>Sim, esta diferen\u00e7a \u00e9 simples de explicar, o ESP32 \u00e9 o chip controlador que possibilita as comunica\u00e7\u00f5es sem fio e comuta\u00e7\u00e3o de dados enquanto que o ESP32 Nodemcu \u00e9 o m\u00f3dulo que se baseia neste chip controlador e agrega algumas fun\u00e7\u00f5es a mais citadas anteriormente.<\/p>\n<div id=\"attachment_4982\" style=\"width: 661px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ESP32-x-ESP32-NodeMCU.jpg\" data-rel=\"lightbox-image-2\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4982\" class=\"wp-image-4982 \" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ESP32-x-ESP32-NodeMCU.jpg\" alt=\"ESP32 x ESP32 NodeMCU\" width=\"651\" height=\"456\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ESP32-x-ESP32-NodeMCU.jpg 1000w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ESP32-x-ESP32-NodeMCU-300x210.jpg 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ESP32-x-ESP32-NodeMCU-768x538.jpg 768w\" sizes=\"auto, (max-width: 651px) 100vw, 651px\" \/><\/a><p id=\"caption-attachment-4982\" class=\"wp-caption-text\">ESP32 x ESP32 NodeMCU<\/p><\/div>\n<p>&nbsp;<\/p>\n<h2><strong>ESP32 Projeto \u2013 Sensor de Fluxo de \u00c1gua<\/strong><\/h2>\n<p>O sensor de Fluxo de \u00c1gua com Arduino \u00e9 um produto bastante utilizado nas mais diversas aplica\u00e7\u00f5es de sistemas de monitoramento para controle de gastos, por exemplo, e pode ser empregado tanto em ambientes industriais quanto residenciais.<\/p>\n<p>Maiores informa\u00e7\u00f5es sobre o funcionamento do sensor de fluxo de \u00e1gua voc\u00ea encontra no artigo que segue abaixo:<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"nubmdVbFIc\"><p><a href=\"https:\/\/www.usinainfo.com.br\/blog\/sensor-de-fluxo-de-agua-arduino-como-sensor-de-vazao-para-projetos\/\">Sensor de Fluxo de \u00c1gua Arduino como Sensor de Vaz\u00e3o para Projetos<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;Sensor de Fluxo de \u00c1gua Arduino como Sensor de Vaz\u00e3o para Projetos&#8221; &#8212; Blog Usinainfo\" src=\"https:\/\/www.usinainfo.com.br\/blog\/sensor-de-fluxo-de-agua-arduino-como-sensor-de-vazao-para-projetos\/embed\/#?secret=nubmdVbFIc\" data-secret=\"nubmdVbFIc\" width=\"600\" height=\"338\" style=\"border: none\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<p>Normalmente, o Sensor de Fluxo de \u00c1gua possui especifica\u00e7\u00f5es de uso pr\u00f3ximas aos 5V, por\u00e9m para a realiza\u00e7\u00e3o deste projeto verificamos a fundo o seu sistema de funcionamento e atrav\u00e9s da necessidade de utilizar um n\u00edvel l\u00f3gico de 3,3V descobrimos que ele \u00e9 compat\u00edvel tamb\u00e9m com tens\u00f5es menores de 4,5V.<\/p>\n<p>Ao estudar a fundo o sistema de funcionamento do Sensor de Efeito Hall, verificou-se a sua alimenta\u00e7\u00e3o poderia trabalhar com tens\u00f5es de aproximadamente 3V, o que possibilitaria trabalharmos com o sensor de Fluxo de \u00e1gua atrav\u00e9s dos 3,3V necess\u00e1rios para leitura do ESP32.<\/p>\n<p>Ap\u00f3s submeter ambos os produtos a um teste de funcionamento verificou-se a possibilidade de realizar tal procedimento.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>ESP32 Projeto &#8211;\u00a0<\/strong><strong>M\u00f3dulo Rel\u00f3gio Tempo Real RTC DS1307<\/strong><\/h2>\n<p>Utilizado como ferramenta para verifica\u00e7\u00e3o de dados referente \u00e0 data e o hor\u00e1rio, o M\u00f3dulo RTC proporciona ao seu projeto uma estabilidade de informa\u00e7\u00f5es quanto a estas duas vari\u00e1veis. Maiores informa\u00e7\u00f5es quanto a utiliza\u00e7\u00e3o do M\u00f3dulo RTC DS1307 voc\u00ea encontra no Artigo abaixo:<\/p>\n<blockquote class=\"wp-embedded-content\" data-secret=\"v1ypiiFkVr\"><p><a href=\"https:\/\/www.usinainfo.com.br\/blog\/modulo-rtc-ds1307-com-display-16x2-i2c-relogio-arduino-com-despertador\/\">M\u00f3dulo RTC DS1307 com Display 16&#215;2 I2C \u2013 Rel\u00f3gio Arduino com Despertador<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;M\u00f3dulo RTC DS1307 com Display 16&#215;2 I2C \u2013 Rel\u00f3gio Arduino com Despertador&#8221; &#8212; Blog Usinainfo\" src=\"https:\/\/www.usinainfo.com.br\/blog\/modulo-rtc-ds1307-com-display-16x2-i2c-relogio-arduino-com-despertador\/embed\/#?secret=v1ypiiFkVr\" data-secret=\"v1ypiiFkVr\" width=\"600\" height=\"338\" style=\"border: none\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/p>\n<p>Como j\u00e1 expresso anteriormente, a necessidade de utilizar 5V de alguns produtos \u00e9 ineg\u00e1vel e nestes casos ao utiliz\u00e1-los no ESP32 \u00e9 necess\u00e1ria a inclus\u00e3o de um conversor. Ao utilizarmos o M\u00f3dulo RTC DS1307, por\u00e9m nos deparamos com uma caracter\u00edstica diferenciada pr\u00f3pria da comunica\u00e7\u00e3o I2C que \u00e9 a sua capacidade de trabalho com tens\u00f5es tamb\u00e9m de 3,3V.<\/p>\n<p>Desta maneira, podemos utilizar o M\u00f3dulo RTC diretamente no ESP32 sem problema, por\u00e9m mesmo que o sinal l\u00f3gico fique nos 3,3V do ESP, a alimenta\u00e7\u00e3o do m\u00f3dulo ainda deve ser feita atrav\u00e9s dos 5V do Microcontrolador, obtidos atrav\u00e9s da porta Vin.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>ESP32 Projeto &#8211;\u00a0<\/strong><strong>Mini SD Card Arduino para Cart\u00e3o Micro SD<\/strong><\/h2>\n<p>O m\u00f3dulo Mini SD Card \u00e9 o respons\u00e1vel pela leitura do cart\u00e3o SD, produto o qual armazenar\u00e1 as informa\u00e7\u00f5es do projeto, as datas e fluxo total por dia, tudo isto atrav\u00e9s de um Arquivo txt.<\/p>\n<p>Diferente dos demais componentes elencados anteriormente, o M\u00f3dulo Leitor de Cart\u00e3o Micro SD possui uma alimenta\u00e7\u00e3o e um n\u00edvel l\u00f3gico estabilizado nos 3,3V, sendo desenvolvido para uso espec\u00edfico em microcontroladores com esta tens\u00e3o de comunica\u00e7\u00e3o e funcionamento.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Pinos do Mini SD Card<\/strong><\/h3>\n<p>A conex\u00e3o e a pinagem do M\u00f3dulo para Cart\u00e3o Micro SD \u00e9 bastante simples e conta com apenas 6 conex\u00f5es, das quais duas s\u00e3o para a alimenta\u00e7\u00e3o de 3,3V. Veja um pouco mais sobre os pinos que constituem este produto:<\/p>\n<div id=\"attachment_4986\" style=\"width: 513px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/sd-card-pinos.jpg\" data-rel=\"lightbox-image-3\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4986\" class=\"wp-image-4986 \" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/sd-card-pinos.jpg\" alt=\"Pinos de conex\u00e3o do Mini SD Card\" width=\"503\" height=\"503\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/sd-card-pinos.jpg 600w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/sd-card-pinos-300x300.jpg 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/sd-card-pinos-150x150.jpg 150w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/sd-card-pinos-83x83.jpg 83w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/sd-card-pinos-111x111.jpg 111w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/sd-card-pinos-65x65.jpg 65w\" sizes=\"auto, (max-width: 503px) 100vw, 503px\" \/><\/a><p id=\"caption-attachment-4986\" class=\"wp-caption-text\">Pinos de conex\u00e3o do Mini SD Card<\/p><\/div>\n<p>3,3V \u2013 Fornece energia ao m\u00f3dulo e deve ser conectado ao pino 3,3V no ESP.<\/p>\n<p>CS \u2013 O Pino CS (Slave Select) \u00e9 utilizado pelo ESP32 para ativar e desativar dispositivos espec\u00edficos junto ao barramento SPI.<\/p>\n<p>MOSI \u2013 O pino MOSI (Master Out Slave In) \u00e9 o pino de entrada SPI do Mini SD Card.<\/p>\n<p>CLK \u2013 O Serial Clock \u00e9 utilizado para sincronizar a transmiss\u00e3o de dados entre o ESP e o M\u00f3dulo atrav\u00e9s dos pulsos de clock.<\/p>\n<p>MISO &#8211; O pino MISO (Master In Slave Out) \u00e9 o pino de sa\u00edda SPI do Mini SD Card.<\/p>\n<p>GND \u2013 Deve ser conectado ao terra do ESP.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Preparando o Cart\u00e3o Micro SD<\/strong><\/h3>\n<p>Antes de utilizarmos o Cart\u00e3o Micro SD e inseri-lo no M\u00f3dulo para comunica\u00e7\u00e3o junto ao ESP \u00e9 necess\u00e1rio realizar a formata\u00e7\u00e3o do mesmo para os formatos FAT16 ou FAT32.<\/p>\n<p>Caso tenha comprado um cart\u00e3o SD recentemente \u00e9 poss\u00edvel que este j\u00e1 esteja pr\u00e9-formatado com um sistema de arquivo FAT, por\u00e9m \u00e9 recomendado que se fa\u00e7a a formata\u00e7\u00e3o assim mesmo, at\u00e9 se existir um cart\u00e3o antigo que j\u00e1 esteja neste formato.<\/p>\n<p>Para realizar a formata\u00e7\u00e3o do Cart\u00e3o, recomenda-se a utiliza\u00e7\u00e3o do aplicativo oficial da Associa\u00e7\u00e3o SD, dispon\u00edvel para Download AQUI.<\/p>\n<div id=\"attachment_4979\" style=\"width: 560px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/area-de-formata\u00e7\u00e3o-do-software-SD-card-formater.fw_.png\" data-rel=\"lightbox-image-4\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4979\" class=\"wp-image-4979 \" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/area-de-formata\u00e7\u00e3o-do-software-SD-card-formater.fw_.png\" alt=\"\u00c1rea de Trabalho do Software SD Card Formatter\" width=\"550\" height=\"600\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/area-de-formata\u00e7\u00e3o-do-software-SD-card-formater.fw_.png 600w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/area-de-formata\u00e7\u00e3o-do-software-SD-card-formater.fw_-275x300.png 275w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><p id=\"caption-attachment-4979\" class=\"wp-caption-text\">\u00c1rea de Trabalho do Software SD Card Formatter<\/p><\/div>\n<p>Ap\u00f3s formatar o cart\u00e3o SD precisamos criar um arquivo txt para salvar os dados lidos pelo Sensor de Fluxo de \u00c1gua e para ser aberto atrav\u00e9s do software para isto. Caso opt\u00e1ssemos por criar um arquivo via c\u00f3digo sempre que reiniciasse o sistema seria criado outro arquivo e consequentemente sobreposto.<\/p>\n<p>&nbsp;<\/p>\n<h3><strong>Como criar um arquivo txt?<\/strong><\/h3>\n<p>Para criar um arquivo txt, vamos entrar na pasta do cart\u00e3o SD e ao clicarmos com o bot\u00e3o direito em qualquer lugar dentro da pasta iremos at\u00e9 o item Novo e ao lado em Documento de Texto como mostra na imagem abaixo.<\/p>\n<div id=\"attachment_4980\" style=\"width: 611px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/como-criar-aqrquivo-txt.fw_.png\" data-rel=\"lightbox-image-5\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4980\" class=\"wp-image-4980 \" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/como-criar-aqrquivo-txt.fw_.png\" alt=\"Como criar arquivo txt do ESP32 Projeto com Sensor de Fluxo\" width=\"601\" height=\"515\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/como-criar-aqrquivo-txt.fw_.png 700w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/como-criar-aqrquivo-txt.fw_-300x257.png 300w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/a><p id=\"caption-attachment-4980\" class=\"wp-caption-text\">Como criar arquivo txt do ESP32 Projeto com Sensor de Fluxo<\/p><\/div>\n<p>Ap\u00f3s isto e com o arquivo criado vamos alterar este para o mesmo nome citado no c\u00f3digo Arduino, que no nosso caso \u00e9 o seguinte:<\/p>\n<div id=\"attachment_4985\" style=\"width: 795px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/nome-do-arquivo-txt-do-ESP32-Projeto-Sensor-de-Fluxo.fw_.png\" data-rel=\"lightbox-image-6\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4985\" class=\"wp-image-4985 size-full\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/nome-do-arquivo-txt-do-ESP32-Projeto-Sensor-de-Fluxo.fw_.png\" alt=\"Nome do Arquivo txt do ESP32 Projeto com Sensor de Fluxo\" width=\"785\" height=\"250\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/nome-do-arquivo-txt-do-ESP32-Projeto-Sensor-de-Fluxo.fw_.png 785w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/nome-do-arquivo-txt-do-ESP32-Projeto-Sensor-de-Fluxo.fw_-300x96.png 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/nome-do-arquivo-txt-do-ESP32-Projeto-Sensor-de-Fluxo.fw_-768x245.png 768w\" sizes=\"auto, (max-width: 785px) 100vw, 785px\" \/><\/a><p id=\"caption-attachment-4985\" class=\"wp-caption-text\">Nome do Arquivo txt do ESP32 Projeto com Sensor de Fluxo<\/p><\/div>\n<p>Com todos estes passos prontos, partimos para o desenvolvimento el\u00e9trico e posteriormente ao desenvolvimento do software do ESP32 Projeto com Sensor de Fluxo.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Produtos Utilizados no ESP32 Projeto Sensor de Fluxo<\/strong><\/h2>\n<p>&#8211; <a href=\"https:\/\/www.usinainfo.com.br\/nodemcu\/nodemcu-esp32-iot-com-wifi-e-bluetooth-38-pinos-5346.html\" target=\"_blank\" rel=\"noopener noreferrer\">NodeMCU ESP32 Iot com WiFi e Bluetooth &#8211; 38 Pinos<\/a>;<\/p>\n<p>&#8211; <a href=\"https:\/\/www.usinainfo.com.br\/sensor-de-fluxo-arduino\/sensor-de-fluxo-de-agua-g-12-1-30-lmin-2578.html\" target=\"_blank\" rel=\"noopener noreferrer\">Sensor de Fluxo de \u00c1gua G 1\/2 1-30 l\/min;<\/a><\/p>\n<p>&#8211; <a href=\"https:\/\/www.usinainfo.com.br\/rtc-arduino\/modulo-relogio-tempo-real-rtc-compacto-ds1307-2638.html\" target=\"_blank\" rel=\"noopener noreferrer\">M\u00f3dulo Rel\u00f3gio Tempo Real RTC &#8211; DS1307;<\/a><\/p>\n<p>&#8211; <a href=\"https:\/\/www.usinainfo.com.br\/outros-modulos-arduino\/mini-sd-card-arduino-mini-leitor-micro-sd-card-5051.html\" target=\"_blank\" rel=\"noopener noreferrer\">Mini SD Card Arduino \/ Mini Leitor Micro SD Card;<\/a><\/p>\n<p>&#8211; <a href=\"https:\/\/www.usinainfo.com.br\/protoboard-e-jumpers\/protoboard-830-pontos-para-montagem-de-projetos-3733.html\" target=\"_blank\" rel=\"noopener noreferrer\">Protoboard 830 pontos para montagem de projetos;<\/a><\/p>\n<p>&#8211; <a href=\"https:\/\/www.usinainfo.com.br\/protoboard-e-jumpers-345\" target=\"_blank\" rel=\"noopener noreferrer\">Jumpers.<\/a><\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Esquema de Liga\u00e7\u00e3o do ESP32 Projeto com Sensor de Fluxo<\/strong><\/h2>\n<p>O esquema de liga\u00e7\u00e3o do ESP32 Projeto com Sensor de Fluxo conta com a inclus\u00e3o de um Mini SD Card e de um M\u00f3dulo RTC. Lembrando que para a utiliza\u00e7\u00e3o do Mini SD Card \u00e9 necess\u00e1rio tamb\u00e9m a inclus\u00e3o de um Micro Cart\u00e3o SD junto ao mesmo.<\/p>\n<p>Vale diferenciar apenas a alimenta\u00e7\u00e3o do M\u00f3dulo RTC que deve ser feita atrav\u00e9s do pino 5V e os pinos de ambos os m\u00f3dulos que devem ser feitas nos espec\u00edficos pinos de comunica\u00e7\u00e3o.<\/p>\n<div id=\"attachment_4983\" style=\"width: 858px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/esquema-de-ligacao-esp32-projeto-sensor-fluxo.fw_.png\" data-rel=\"lightbox-image-7\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4983\" class=\"wp-image-4983 size-large\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/esquema-de-ligacao-esp32-projeto-sensor-fluxo.fw_-1024x612.png\" alt=\"Esquema de Liga\u00e7\u00e3o ESP32 Projeto com Sensor de Fluxo\" width=\"848\" height=\"507\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/esquema-de-ligacao-esp32-projeto-sensor-fluxo.fw_-1024x612.png 1024w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/esquema-de-ligacao-esp32-projeto-sensor-fluxo.fw_-300x179.png 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/esquema-de-ligacao-esp32-projeto-sensor-fluxo.fw_-768x459.png 768w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/esquema-de-ligacao-esp32-projeto-sensor-fluxo.fw_.png 1132w\" sizes=\"auto, (max-width: 848px) 100vw, 848px\" \/><\/a><p id=\"caption-attachment-4983\" class=\"wp-caption-text\">Esquema de Liga\u00e7\u00e3o ESP32 Projeto com Sensor de Fluxo<\/p><\/div>\n<p>Com o esquema de liga\u00e7\u00e3o montado, chegou a hora de programarmos o ESP32 com o c\u00f3digo desenvolvido abaixo.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>C\u00f3digo de Funcionamento do <\/strong><strong>ESP32 Projeto com Sensor de Fluxo<\/strong><\/h2>\n<p>O c\u00f3digo de funcionamento do ESP32 Projeto com Sensor de Fluxo foi projeto para realizar a verifica\u00e7\u00e3o em tempo real do fluxo de l\u00edquidos e envi\u00e1-los via sistema WiFi para a tela do celular.<\/p>\n<p>Com um sistema de funcionamento continuado e atrav\u00e9s do M\u00f3dulo RTC, sempre chegar \u00e0s 23:59:59 o valor total de \u00e1gua que passou pelo Sensor ser\u00e1 gravado no Arquivo txt e ser\u00e1 reinicializada a contagem.<\/p>\n<p>Al\u00e9m de salvar os valores no cart\u00e3o de mem\u00f3ria, o valor total consumido por dia tamb\u00e9m ser\u00e1 exibido na tela do dispositivo WiFi conectado. Por\u00e9m vale ter cuidado com um detalhe, sempre que o ESP32 se reinicializar, os valores obtidos pela leitura do Sensor de Fluxo do dia em quest\u00e3o ser\u00e3o zerados.<\/p>\n<p>O c\u00f3digo completo do ESP32 Projeto com Sensor de Fluxo voc\u00ea encontra abaixo:<\/p>\n<pre class=\"lang:c# decode:true\">\/************************************************************\r\n--------------\u00a0 Autor: Gustavo R Stroschon\u00a0 -----------------\r\n-----------------\u00a0\u00a0 Data: 05\/03\/2020\u00a0 -----------------------\r\n----------------- Fun\u00e7\u00e3o do programa: -----------------------\r\n-Automatizar o monitoramento de consumo de agua pelo celular-\r\n*************************************************************\/\r\n\r\n#include &lt;Wire.h&gt;\r\n#include \"RTClib.h\"\r\n#include \"FS.h\"\r\n#include \"SD.h\"\r\n#include \"SPI.h\"\r\n#include &lt;WiFi.h&gt;\r\n#include &lt;WiFiClient.h&gt;\r\n#include &lt;WiFiAP.h&gt;\r\n\r\nvoid salvar_dados();\r\nfloat MiliLitros = 0;\r\n\r\n\/\/ Defina o nome da rede e a senha a qual voce deseja gerar\r\n#define ssid \"Sensor_de_Fluxo\"\r\n#define password\u00a0 \"12345678\"\r\n\r\nWiFiServer server(80);\r\n\r\nRTC_DS1307 rtc;\r\n\r\n#define portaVazao GPIO_NUM_25\r\n\r\nvolatile int pulsos_vazao = 0;\r\nfloat vazao = 0;\r\n\r\nunsigned long ultimo_valor_salvo = 0;\r\n\r\nfloat vazao_somando;\r\n\r\nvoid IRAM_ATTR Interrupcao(void* arg) { \/\/ fun\u00e7ao chamada cada vez que o sensor de fluxo mandar um pulso\r\n\u00a0 pulsos_vazao++;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/soma a variavel de contagem de pulsos do sensor de fluxo de agua\r\n\u00a0 portYIELD_FROM_ISR();\r\n}\r\n\r\nvoid Configurar_interrupcao(gpio_num_t Port) {\r\n\u00a0 pinMode(portaVazao, INPUT_PULLUP);\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/configura pino como entrada\r\n\u00a0 gpio_set_intr_type(Port, GPIO_INTR_NEGEDGE);\u00a0 \/\/tipo de interrup\u00e7ao\r\n\u00a0 gpio_intr_enable(Port);\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ativa a porta\r\n\u00a0 gpio_install_isr_service(0);\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/instala a interrup\u00e7ao\r\n\u00a0 gpio_isr_handler_add(Port, Interrupcao, (void*) Port); \/\/ oque fazer ao detectar a interup\u00e7ao\r\n}\r\n\r\nvoid setup() {\r\n\r\n  Wire1.begin(); \/\/inicia protocolo de comunica\u00e7ao\r\n\u00a0 rtc.begin();\/\/inicia a comunica\u00e7ao com o rtc\r\n\r\n\u00a0 Serial.begin(115200);\r\n\r\n  if (!SD.begin()) { \/\/ caso o cartao nao tenha iniciado\r\n\u00a0\u00a0\u00a0 Serial.println(\"Erro ao iniciar a comunicacao com o cartao SD...\");\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 ESP.restart();\r\n\u00a0 }\r\n\r\n\u00a0 DateTime now = rtc.now();\u00a0 \/\/cria um objeto com as informa\u00e7oes de data e hora\r\n\r\n\u00a0 Configurar_interrupcao((gpio_num_t) portaVazao); \/\/chama a fun\u00e7ao que ira configurar a interrup\u00e7ao\r\n\r\n\u00a0 Serial.println(\"Configurando o ponto de acesso wifi...\");\r\n\r\n  \/\/ caso voce queira retirar o parametro de password sua rede ficara livre(sem senha para se conectar nela)\r\n\u00a0 WiFi.softAP(ssid, password);\r\n\u00a0 IPAddress myIP = WiFi.softAPIP();\r\n\u00a0 Serial.print(\"O ip que voce deve digitar para acessar as informa\u00e7oes \u00e9 : \");\r\n\u00a0 Serial.println(myIP);\r\n\u00a0 server.begin();\r\n\r\n\u00a0 Serial.println();\r\n\u00a0 Serial.println(\"Servidor iniciado com sucesso!!!\");\r\n}\r\n\r\nvoid loop() {\r\n\u00a0 salvar_dados();\u00a0\u00a0 \/\/faz\u00a0 verifica\u00e7ao e salvamento dos dados\r\n\r\n\u00a0 WiFiClient client = server.available();\u00a0\u00a0 \/\/ armazena as informacoes do cliente a qual se conectou a rede\r\n\r\n\u00a0 if (client) {\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ se alguem se conectar a rede\r\n\u00a0\u00a0\u00a0 Serial.println(\"Novo cliente conectado as informacoes sobre o fluxo da agua.\");\r\n\u00a0\u00a0\u00a0 String currentLine = \"\";\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ variavel com algumas informa\u00e7oes adicionais sobre o cliente\r\n\u00a0\u00a0\u00a0 while (client.connected()) {\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ enquando alguem estiver conectado...\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 if (client.available()) {\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ e se ele carregar o ip\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 char c = client.read();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if (c == '\\n') {\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ quando carregar a pagina mostre....\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if (currentLine.length() == 0) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 salvar_dados();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \r\n            \/\/ mande as informacoes abaixo para o navegador do cliente\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 client.println(\"HTTP\/1.1 200 OK\");\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 client.println(\"Content-type:text\/html\");\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 client.println();\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 client.print(\"&lt;p&gt;O valor atual do consumo do dia em litros:\");\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 client.print(vazao_somando);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 client.print(\"&lt;\/p&gt;&lt;br&gt;\");\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 client.print(\"&lt;p&gt; Os valores diarios estao abaixo: &lt;br&gt;\");\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Serial.printf(\"Lendo o arquivo: %s\\n\", \"\/Fluxo_de_agua.txt\");\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 File file = SD.open(\"\/Fluxo_de_agua_dia.txt\"); \/\/ abre o arquivo para a leitura\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if (!file) { \/\/caso o arquivo nao tenha sido iniciado ou aberto\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Serial.println(\"Erro ao abrir arquivo para a leitura\");\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 while (file.available()) { \/\/se tiver dados pra ler...\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 client.write(file.read()); \/\/mostre ao navegador do cliente\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 file.close(); \/\/ fecha o arquivo\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 client.print(\"&lt;\/p&gt;&lt;br&gt;\");\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 client.println();\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 break;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ apos isso as informacoes ja foram enviadas , sai do laco while\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 } else {\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/ se a pagina for recarregada\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 currentLine = \"\";\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 } else if (c != '\\r') {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 currentLine = \"\";\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 \/\/ fecha a conexao\r\n\u00a0\u00a0\u00a0 client.stop();\r\n\u00a0\u00a0\u00a0 Serial.println(\"Cliente desconectou.\");\r\n\u00a0 }\r\n}\r\n\r\nvoid salvar_dados() {\r\n\u00a0 if ((millis() - ultimo_valor_salvo) &gt; 1000) { \/\/ caso ja tenha passado 1 segundo do ultimo dado aferido e salvo\r\n\u00a0\u00a0\u00a0 ultimo_valor_salvo = millis();\r\n\r\n\u00a0\u00a0\u00a0 DateTime now = rtc.now(); \/\/guarda as informa\u00e7oes de data e tempo no objeto now\r\n\r\n\u00a0\u00a0\u00a0 \/\/converte a quantia de pulsos que o sensor mandou para a vazao da agua em litros por minuto\r\n\u00a0\u00a0\u00a0 vazao = pulsos_vazao \/ 5.5;\r\n\u00a0\u00a0\u00a0 pulsos_vazao = 0;\r\n\u00a0\u00a0\u00a0 MiliLitros = vazao \/ 60;\r\n\u00a0\u00a0\u00a0 vazao_somando = vazao_somando + MiliLitros; \/\/ calcula a vazao total do dia\r\n\u00a0\u00a0\u00a0 if(now.hour() == 23 &amp;&amp; now.minute() == 59 &amp;&amp; now.second() == 59){ \/\/ caso ja seja 23:59:59 vamos salvar os dados no cartao sd\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Serial.println(\" ---------------------------------- \");\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Serial.println(vazao_somando);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Serial.println(\" ---------------------------------- \");\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 String dataMessage = String(now.day()) + \"\/\" + String(now.month()) + \"\/\" + String(now.year()) + \" ---\u00a0 \" + String(vazao_somando) + \" L\/dia &lt;br&gt; \\n \"; \/\/ cria a string que sera salva no cartao sd\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Serial.println(dataMessage);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 EditarArquivo(SD, \"\/Fluxo_de_agua_dia.txt\", dataMessage.c_str());\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 vazao_somando = 0; \/\/ reinicia a contagem de vazao de agua diarios\r\n\u00a0\u00a0\u00a0 }\r\n\r\n\u00a0\u00a0\u00a0 \/\/ mostra o valor da leitura do sensor\r\n\u00a0\u00a0\u00a0 Serial.print(\" Sensor de Vazao esta registrando \"); Serial.print(MiliLitros); Serial.println(\" litros\/Segundo\");\r\n\r\n\u00a0 }\r\n}\r\n\r\nvoid EditarArquivo(fs::FS &amp;fs, const char * local, const char * mensagem) {\r\n\u00a0 Serial.printf(\"editando o arquivo: %s\\n\", local);\r\n\r\n\u00a0 File file = fs.open(local, FILE_APPEND);\r\n\u00a0 if (!file) {\r\n\u00a0\u00a0\u00a0 Serial.println(\"Falha ao abrir o arquivo para editar\");\r\n\u00a0\u00a0\u00a0 return;\r\n\u00a0 }\r\n\u00a0 file.print(mensagem);\r\n\u00a0 file.close();\r\n}<\/pre>\n<p>Com o c\u00f3digo acima, conseguimos ent\u00e3o, realizar a leitura dos dados referentes ao sensor de fluxo e visualiz\u00e1-los atrav\u00e9s de um IP junto ao Navegador. Para descobrirmos qual o IP espec\u00edfico iremos digitar no navegador seguiremos os seguintes passos:<\/p>\n<p>Ap\u00f3s conectar o ESP32 ao computador e gravarmos o c\u00f3digo, iremos abrir o monitor serial e verificar que este estar\u00e1 exibindo valores dos litros por segundo que passam pelo sistema naquele exato momento, normalmente ser\u00e3o valores zerados.<\/p>\n<p>Ap\u00f3s, \u00e9 necess\u00e1rio realizar um reset no ESP32 atrav\u00e9s do bot\u00e3o EN localizado em sua parte superior, por vezes ir\u00e1 aparecer o seguinte erro:<\/p>\n<pre class=\"lang:c# decode:true\">rst:0x1 (POWERON_RESET),boot:0x0 (DOWNLOAD_BOOT(UART0\/UART1\/SDIO_FEI_FEO_V2))\r\n\r\nwaiting for download<\/pre>\n<p>Este \u00e9 um erro de inicializa\u00e7\u00e3o devido ao alto fluxo de dados, por\u00e9m pode ser resolvido dando reset novamente junto ao ESP32 NodeMCU, com o \u00eaxito deste passo poderemos visualizar as seguinte informa\u00e7\u00f5es:<\/p>\n<div id=\"attachment_4984\" style=\"width: 858px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ip-para-acesso-de-dados-esp32.fw_.png\" data-rel=\"lightbox-image-8\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4984\" class=\"wp-image-4984 size-large\" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ip-para-acesso-de-dados-esp32.fw_-1024x553.png\" alt=\"Tela de inicializa\u00e7\u00e3o do ESP32 Projeto com Sensor de Fluxo\" width=\"848\" height=\"458\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ip-para-acesso-de-dados-esp32.fw_-1024x553.png 1024w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ip-para-acesso-de-dados-esp32.fw_-300x162.png 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ip-para-acesso-de-dados-esp32.fw_-768x415.png 768w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/ip-para-acesso-de-dados-esp32.fw_.png 1096w\" sizes=\"auto, (max-width: 848px) 100vw, 848px\" \/><\/a><p id=\"caption-attachment-4984\" class=\"wp-caption-text\">Tela de inicializa\u00e7\u00e3o do ESP32 Projeto com Sensor de Fluxo<\/p><\/div>\n<p>Nesta tela podemos observar circulado o IP e o local o qual pode-se observ\u00e1-lo. Com este link, iremos abrir o navegador e digitar no local de acesso do mesmo. Ao acessar o IP j\u00e1 teremos o retorno de fluxo total de l\u00edquidos que circulou no Sensor de Fluxo de \u00c1gua desde a inicializa\u00e7\u00e3o, veja um print da tela do navegador:<\/p>\n<div id=\"attachment_4987\" style=\"width: 611px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/tela-do-navegador-para-captura-de-dados.fw_.png\" data-rel=\"lightbox-image-9\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4987\" class=\"wp-image-4987 \" title=\"\" src=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/tela-do-navegador-para-captura-de-dados.fw_-1024x567.png\" alt=\"Tela do navegador com dados do Sensor de Fluxo\" width=\"601\" height=\"333\" srcset=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/tela-do-navegador-para-captura-de-dados.fw_-1024x567.png 1024w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/tela-do-navegador-para-captura-de-dados.fw_-300x166.png 300w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/tela-do-navegador-para-captura-de-dados.fw_-768x425.png 768w, https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/tela-do-navegador-para-captura-de-dados.fw_.png 1080w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/a><p id=\"caption-attachment-4987\" class=\"wp-caption-text\">Tela do navegador com dados do Sensor de Fluxo<\/p><\/div>\n<p>Agora basta ficar de olho nos dados e verificar o consumo de l\u00edquidos de sua resid\u00eancia em tempo real.<\/p>\n<p>&nbsp;<\/p>\n<h2><strong>Conclus\u00e3o<\/strong><\/h2>\n<p>O ESP32 Projeto com Sensor de Fluxo \u00e9 uma excelente solu\u00e7\u00e3o para quem deseja monitorar a quantidade de \u00e1gua que se gasta em sua resid\u00eancia ou empresa diretamente do seu smartphone ou computador, evitando problemas de vazamento, gastos excessivos ou at\u00e9 mesmo a falta de \u00e1gua em sistemas hidr\u00e1ulicos.<\/p>\n<p>Atrav\u00e9s do presente projetos muitas a\u00e7\u00f5es podem ser desenvolvidas, pode-se incluir uma rel\u00e9 para acionamento e desligamento de v\u00e1lvulas solenoides assim como tamb\u00e9m \u00e9 poss\u00edvel acionar sistemas secund\u00e1rios de fornecimento de \u00e1gua caso esta acabe.<\/p>\n<p>N\u00e3o esque\u00e7a de deixar o seu coment\u00e1rio abaixo com as experi\u00eancias obtidas no desenvolvimento deste projeto, suas dificuldades e melhorias desenvolvidas.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O ESP32 Projeto com Sensor de Fluxo \u00e9 um sistema de verifica\u00e7\u00e3o desenvolvido com o intuito de analisar o fluxo de \u00e1gua em um determinado local em espec\u00edfico e possibilitar a sua verifica\u00e7\u00e3o atrav\u00e9s de uma conex\u00e3o WiFi entre o seu celular e o ESP32, por exemplo. A f\u00e1cil visualiza\u00e7\u00e3o dos dados proporciona al\u00e9m de tudo um melhor controle do consumo de \u00e1gua em resid\u00eancias e ind\u00fastrias, evitando gastos excessivos e nos policiando cotidianamente quanto a nossa utiliza\u00e7\u00e3o deste bem t\u00e3o precioso que \u00e9 a \u00e1gua. Al\u00e9m de podermos visualizar os dados atrav\u00e9s da tela de smartphones, tamb\u00e9m \u00e9 poss\u00edvel abrir junto ao computador um arquivo .txt criado junto ao micro cart\u00e3o SD incluso no projeto, o qual salva os [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":5370,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[215,214,142],"class_list":["post-4978","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-esp32","tag-esp32","tag-esp32-projeto","tag-sensor-de-fluxo-de-agua"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ESP32 Projeto Sensor de Fluxo + Monitoramento WiFi - Blog Usinainfo<\/title>\n<meta name=\"description\" content=\"O ESP32 Projeto com Sensor de Fluxo \u00e9 um recurso bastante importante para quem deseja um sistema de controle WiFi cont\u00ednuo. Veja mais no Blog Usinainfo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ESP32 Projeto Sensor de Fluxo + Monitoramento WiFi - Blog Usinainfo\" \/>\n<meta property=\"og:description\" content=\"O ESP32 Projeto com Sensor de Fluxo \u00e9 um recurso bastante importante para quem deseja um sistema de controle WiFi cont\u00ednuo. Veja mais no Blog Usinainfo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Usinainfo\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/pt-br.facebook.com\/faceusinainfo\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-14T04:33:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-03-23T20:42:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/IMG_5560-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1623\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matheus Gebert Straub\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matheus Gebert Straub\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutos\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ESP32 Projeto Sensor de Fluxo + Monitoramento WiFi - Blog Usinainfo","description":"O ESP32 Projeto com Sensor de Fluxo \u00e9 um recurso bastante importante para quem deseja um sistema de controle WiFi cont\u00ednuo. Veja mais no Blog Usinainfo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/","og_locale":"pt_BR","og_type":"article","og_title":"ESP32 Projeto Sensor de Fluxo + Monitoramento WiFi - Blog Usinainfo","og_description":"O ESP32 Projeto com Sensor de Fluxo \u00e9 um recurso bastante importante para quem deseja um sistema de controle WiFi cont\u00ednuo. Veja mais no Blog Usinainfo.","og_url":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/","og_site_name":"Blog Usinainfo","article_publisher":"https:\/\/pt-br.facebook.com\/faceusinainfo\/","article_published_time":"2020-03-14T04:33:53+00:00","article_modified_time":"2021-03-23T20:42:48+00:00","og_image":[{"width":1623,"height":1080,"url":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/IMG_5560-scaled.jpg","type":"image\/jpeg"}],"author":"Matheus Gebert Straub","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Matheus Gebert Straub","Est. tempo de leitura":"14 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/","url":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/","name":"ESP32 Projeto Sensor de Fluxo + Monitoramento WiFi - Blog Usinainfo","isPartOf":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/#primaryimage"},"image":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/#primaryimage"},"thumbnailUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/IMG_5560-scaled.jpg","datePublished":"2020-03-14T04:33:53+00:00","dateModified":"2021-03-23T20:42:48+00:00","author":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/22905ec7c8d47a176b7c2320b66cd075"},"description":"O ESP32 Projeto com Sensor de Fluxo \u00e9 um recurso bastante importante para quem deseja um sistema de controle WiFi cont\u00ednuo. Veja mais no Blog Usinainfo.","breadcrumb":{"@id":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/#primaryimage","url":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/IMG_5560-scaled.jpg","contentUrl":"https:\/\/www.usinainfo.com.br\/blog\/wp-content\/uploads\/2020\/03\/IMG_5560-scaled.jpg","width":1623,"height":1080},{"@type":"BreadcrumbList","@id":"https:\/\/www.usinainfo.com.br\/blog\/esp32-projeto-com-sensor-de-fluxo-de-agua-para-monitoramento-via-wifi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.usinainfo.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"ESP32 Projeto com Sensor de Fluxo de \u00c1gua para Monitoramento via WiFi"}]},{"@type":"WebSite","@id":"https:\/\/www.usinainfo.com.br\/blog\/#website","url":"https:\/\/www.usinainfo.com.br\/blog\/","name":"Blog Usinainfo","description":"Usinainfo","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.usinainfo.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/22905ec7c8d47a176b7c2320b66cd075","name":"Matheus Gebert Straub","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.usinainfo.com.br\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/04cea122706965cd2cb1d4f867fae66443684a4df025a4ba047491d6fad7c05e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/04cea122706965cd2cb1d4f867fae66443684a4df025a4ba047491d6fad7c05e?s=96&d=mm&r=g","caption":"Matheus Gebert Straub"},"description":"Mec\u00e2nico de Manuten\u00e7\u00e3o com Experi\u00eancia em Sistemas Embarcados, Automa\u00e7\u00e3o e Desenvolvimento de Projetos; Graduado nos Cursos de Matem\u00e1tica - URI e F\u00edsica - UFFS.","url":"https:\/\/www.usinainfo.com.br\/blog\/author\/matheus\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/4978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/comments?post=4978"}],"version-history":[{"count":8,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/4978\/revisions"}],"predecessor-version":[{"id":6513,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/posts\/4978\/revisions\/6513"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/media\/5370"}],"wp:attachment":[{"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/media?parent=4978"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/categories?post=4978"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.usinainfo.com.br\/blog\/wp-json\/wp\/v2\/tags?post=4978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}