Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Este instrutível mostrará como monitorar pH, ORP e temperatura de uma piscina ou spa e fazer o upload dos dados para o serviço de visualização e armazenamento do ThingsBoard.io.
Etapa 1: Coisas que você precisa
- Qualquer placa de desenvolvimento ESP32. Este parece razoável, mas qualquer um funcionará.
- Uma placa de interface de sonda ISE isolada e uma sonda de pH. Você pode obter os dois em ufire.co.
- Uma placa de interface de sonda ISE isolada e uma sonda ORP também de ufire.co.
- Algumas bugigangas, como fios ou fios qwiic e cabos USB.
Etapa 2: o software
- Presumo que você esteja familiarizado com o Arduino, o IDE do Arduino, e já o tenha instalado. Caso contrário, siga os links.
- O próximo passo é instalar a plataforma ESP32. Por algum motivo, isso não foi simplificado pelos recursos de gerenciamento de plataforma disponíveis que o IDE tem a oferecer, então você precisará ir para a página do github e seguir as instruções de instalação apropriadas.
-
Agora, para as bibliotecas: no IDE do Arduino, vá para Sketch / Include Library / Manage Libraries …
- Procure e instale o 'ArduinoJson' versão 5.13.2.
- Procure e instale 'PubSubClient'.
- Procure e instale a 'Interface de sonda ISE isolada'.
Etapa 3: Configurar dispositivos UFire
Como os dispositivos uFire se comunicam por meio de I2C, eles precisam de endereços exclusivos. A sonda ISE que estamos usando para medir o pH e o ORP são os mesmos, portanto, por padrão, eles vêm com o mesmo endereço. O endereço pode ser alterado e é isso que faremos agora.
No IDE do Arduino, vá para 'Files / Example / ISE Probe Interface' e selecione 'Shell'. Esta é uma interface semelhante ao shell conveniente de usar para usar e configurar dispositivos uFire. Ele funciona melhor em um dispositivo ATMega simples como um Uno, Mini ou Nano. Atualmente, ele trava em um ESP32. Carregue o esboço para o seu dispositivo, certifique-se de que um dos dispositivos uFire esteja conectado e execute o seguinte comando.
i2c 3e
Isso deveria ter alterado o endereço I2C do dispositivo permanentemente para hex 0x3E. Agora você pode endereçar os dois dispositivos com um endereço exclusivo.
Etapa 4: Fazendo conexões
O ESP32 que estamos usando tem interfaces WiFi e BLE, então só precisa de uma fonte de alimentação. Você provavelmente vai querer um cabo USB para fornecer energia, mas uma bateria é outra opção. Muitos ESP32s podem ser comprados com circuitos de carregamento de bateria já na placa.
Os dispositivos uFire que iremos medir pH, ORP e temperatura se conectam ao ESP32 pelo barramento I2C. Com o ESP32, você pode escolher quaisquer dois pinos para I2C. Ambos os dispositivos estarão no mesmo barramento, portanto, os pinos SCL e SDA serão os mesmos. Se você olhar o código (próxima etapa), verá essas duas linhas.
ISE_pH pH (19, 23);
ISE_ORP ORP (19, 23, 0x3E);
Decidi usar o pino 19 para SDA e o pino 23 para SCL. Portanto, conecte os 3,3 V do ESP32 (ou qualquer outro pino que possa ser chamado em sua placa em particular) ao pino de 3,3 / 5 V do primeiro dispositivo uFire, GND ao GND, 19 ao SDA e 23 ao SCL.
A pinagem em seu ESP32 pode ser diferente da imagem.
Etapa 5: Faça o ThingsBoard funcionar
ThingsBoard é um serviço online que, entre outras coisas, recebe dados de sensores e os visualiza na forma de tabelas e gráficos. Existem várias opções de instalação. Para isso, será possível usar uma instalação local rodando em um computador dedicado.
Visite as instruções de instalação do ThingsBoard.io e escolha a instalação apropriada para você.
Instalei a imagem Docker que me permitiu acessar a instalação em https:// localhost: 8080 /.
Conforme descrito aqui, o nome de usuário e senha de login padrão é [email protected] e tenant.
Etapa 6: configurar um dispositivo
- Depois de fazer login no ThingsBoard, clique em 'Dispositivos'.
- Na próxima página, você verá um '+' laranja no canto inferior direito, clique nele e a caixa de diálogo 'Adicionar dispositivo' aparecerá. Preencha o campo 'Nome' com o nome que deseja chamar de nosso dispositivo. Em seguida, em 'Tipo de dispositivo', digite 'ESP32', embora possa ser qualquer coisa. Clique em 'Adicionar'.
- Clique na entrada do dispositivo recém-criado na lista e você verá muitas informações sobre ele. Deixe esta tela aberta e vá para a próxima etapa.
Etapa 7: esboço
Você pode dar uma olhada na fonte aqui.
- Copie os arquivos em um projeto Arduino.
-
Edite Watson.h.
- Altere o SSID e a senha para as informações da sua rede sem fio.
- Na tela aberta da etapa anterior, clique em 'COPY DEVICE ID' e altere a variável 'char device ' para os valores copiados. Faça o mesmo para 'COPY ACCESS TOKEN' para a variável 'char token '.
- Finalmente, altere a variável 'char server ' para o endereço IP do computador que está executando o ThingsBoard. O meu era '192.168.2.126'. Sem 'http', barras ou qualquer outra coisa, apenas o endereço IP.
- Faça o upload para o seu ESP32 e dê uma olhada na guia 'ÚLTIMA TELEMETRIA'. Deve mostrar a você seus dados chegando.
Etapa 8: configurar um painel
Na guia 'ÚLTIMA TELEMETRIA', você deve ver nossos três pontos de dados, C, mV e pH. Se você clicar na caixa de seleção à esquerda de cada item, poderá clicar em 'MOSTRAR NO WIDGET'. Você verá várias opções de gráficos. Escolha o que você gosta e clique em 'ADICIONAR AO PAINEL'.
ThingsBoard fornece muitas opções a partir deste ponto, então vou deixar isso para você explorar.