Índice:

Armazene e represente graficamente os dados EC / pH / ORP com o TICK Stack e a plataforma NoCAN: 8 etapas
Armazene e represente graficamente os dados EC / pH / ORP com o TICK Stack e a plataforma NoCAN: 8 etapas

Vídeo: Armazene e represente graficamente os dados EC / pH / ORP com o TICK Stack e a plataforma NoCAN: 8 etapas

Vídeo: Armazene e represente graficamente os dados EC / pH / ORP com o TICK Stack e a plataforma NoCAN: 8 etapas
Vídeo: Cálculo da Variação de Entalpia: Calor de Formação. 2024, Novembro
Anonim
Armazene e represente graficamente dados EC / pH / ORP com a plataforma TICK Stack e NoCAN
Armazene e represente graficamente dados EC / pH / ORP com a plataforma TICK Stack e NoCAN

Isso explicará como usar a plataforma NoCAN da Omzlo e os sensores uFire para medir EC, pH e ORP. Como o site deles diz, às vezes é mais fácil apenas passar algum cabo para seus nós sensores. O CAN tem a vantagem de comunicação e alimentação em um cabo para que o sinal e a bateria não sejam problemas. O firmware dos nós pode ser mais simples; sem se preocupar com modos de hibernação ou configuração de WiFi, por exemplo. A plataforma NoCAN também possui alguns recursos excelentes, como a programação de nós no barramento CAN.

A plataforma NoCAN usa um Raspberry Pi, então tudo o que puder fazer estará disponível. Vamos tirar vantagem disso instalando a pilha TICK. Isso nos permitirá usar o InfluxDB para armazenar medições. É um banco de dados baseado em séries temporais feito especificamente para esse tipo de coisa. Ele também vem com o Chronograf para fazer painéis e exibir todos os dados que vamos pegar. OT e K representam Telegraf e Kapacitor. O Telegraf fica entre os dados que você está enviando e o banco de dados Influx. Kapacitor é o mecanismo de eventos. Quando algo acontece, ele pode enviar uma notificação por meio de vários métodos. E, só porque gosto mais dele do que do Chronograf, vou instalar o Grafana para painéis.

Etapa 1: Preparando o Raspberry Pi

Vá para a página de download do Rasbian e baixe a imagem com a área de trabalho e o software recomendado e, em seguida, atualize-a em um cartão SD.

Depois que a imagem estiver em seu cartão SD, você deve ter dois volumes, root e boot. Abra um terminal na inicialização e digite:

toque ssh

Isso habilitará o SSH.

Em seguida, digite:

nano wpa_supplicant.conf

E copie / cole o seguinte depois de modificá-lo para suas configurações de condado e WiFi:

país = EUA

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 rede = {ssid = "NETWORK-NAME" psk = "NETWORK-PASSWORD"}

Os códigos dos países vêm daqui.

Habilitar SPI:

echo "dtparam = spi = on" >> config.txt

Coloque o cartão SD no seu Raspberry Pi, espere um pouco e digite:

ssh [email protected]

Você deve estar no prompt de login. A senha é framboesa.

Etapa 2: Configurando o NoCAN

Omzlo fornece um guia de instalação completo. Mas decidi tornar mais fácil para mim e aprender um pouco sobre scripts Bash. Portanto, ligue o Raspberry Pi e conecte-o com SSH ou terminal serial.

Aprendi que para criar um bom script Bash pode ser necessário tanto tempo de desenvolvimento quanto o que quer que você esteja tentando instalar. Existem 1000 maneiras de fazer algo, algumas mais simples de entender ou executar do que outras. No final, não fiz muito. Se você executar:

wget https://ufire.co/nocan.sh && chmod + x nocan.sh && sudo./nocan.sh

No terminal do seu Raspberry Pi, ele fará o download e executará o script.

Então isso:

  1. Baixa o daemon Omzlo NoCAN e o instala em / usr / bin para fácil acesso, cria uma pasta ~ /.nocand e grava um arquivo de configuração muito básico com a senha definida como 'senha'. Você provavelmente deve alterá-lo para outra coisa, está em ~ /.nocand / config.
  2. Faz o download do cliente Omzlo NoCAN e o copia em / usr / bin e cria um arquivo de configuração básica com a mesma senha definida. Ele está em ~ /.nocanc.conf.
  3. Configura um serviço Systemd que mantém o daemon NoCAN em execução.
  4. Grava um arquivo python em ~ /.nocand, nocan_ufire.py. Ele se comunicará com o firmware do nó NoCAN e fará medições de EC, pH e ORP, analisará os resultados e os adicionará ao banco de dados InfluxDB.
  5. Adiciona o repositório do InfluxData ao apt e instala a pilha TICK. E como eu prefiro o Chronograf, ele também instala o Grafana.
  6. Cria um banco de dados Influx vazio

Algumas pegadinhas que você pode encontrar:

  • Sua localidade pode não estar configurada, então execute dpkg-reconfigure locales
  • A instalação do Grafana pode travar, então tente novamente.
  • O daemon de influxo pode não ser iniciado a tempo para que o script inclua o banco de dados, digite

    curl -i -XPOST https:// localhost: 8086 / query --data-urlencode "q = CRIAR BANCO DE DADOS nocan"

  • Este script funciona apenas como o usuário pi padrão. Você precisará alterar pi para seu nome de usuário quando apropriado, se estiver sob um usuário diferente.

A última coisa é adicionar um cron job. Não consegui encontrar uma maneira muito boa de fazer o script deste, então digite 'crontab -e' para editar manualmente e adicione '* * * * * python /home/pi/.nocand/nocan_ufire.py'.

Depois de fazer tudo isso, você pode verificar se tudo está configurado e funcionando como deveria. Grafana mora em https:// [Endereço de Raspberry Pi]: 3000 /. Você deverá ver uma página de login, admin / admin é o padrão.

O Chronograf pode ser encontrado em https:// [Endereço do Raspberry Pi]: 8888 /

Etapa 3: Juntar o hardware UFire

Juntando o Hardware UFire
Juntando o Hardware UFire

Antes de montarmos o hardware, há uma coisa a ser resolvida. A placa uFire ISE pode ser usada para medir pH e ORP. O hardware é o mesmo, mas o software é diferente. Como o hardware é o mesmo, isso significa que o endereço I2C é, por padrão, o mesmo. E os sensores se comunicam por meio do I2C, portanto, um deles precisará ser alterado. Para este projeto, vamos escolher uma das placas ISE e usá-la para medir o ORP. Seguindo as etapas aqui, altere o endereço para 0x3e.

Agora que o endereço foi alterado, montar o hardware é fácil. Esta configuração é baseada no trabalho anterior que faz basicamente a mesma coisa, mas usando BLE em vez de CAN para transmitir dados. Você pode ler sobre isso no hub do projeto Arduino. Todos os dispositivos sensores usam o sistema de conexão Qwiic, então basta conectar tudo em uma cadeia, só há uma maneira de inserir os fios Qwiic nos Qwiic. Você precisará de um fio Qwiic para Macho para conectar um dos sensores ao nó CANZERO. Os fios são consistentes e codificados por cores. Conecte preto ao GND do nó, vermelho ao pino + 3,3 V ou + 5 V, azul ao pino SDA que é D11 e amarelo ao pino SCL em D12.

Para este projeto, espera-se que as informações de temperatura venham do sensor EC, portanto, certifique-se de anexar um sensor de temperatura à placa EC. Porém, todas as placas têm a capacidade de medir a temperatura. Não se esqueça de conectar as sondas EC, pH e ORP aos sensores apropriados. Eles são facilmente conectados com conectores BNC. Se você tem um gabinete, colocar tudo isso dentro seria uma boa ideia, especialmente considerando que haverá água envolvida.

Etapa 4: O Hardware NoCAN

O Hardware NoCAN
O Hardware NoCAN

Montar o hardware NoCAN também é fácil. Conecte o PiMaster ao Raspberry Pi e encontre uma fonte de alimentação adequada para ele.

Siga as instruções da Omzlo sobre como fazer cabos para o seu projeto.

Implante seu nó e encontre um lugar para o PiMaster.

Etapa 5: programe o nó CANZERO

Programe o nó CANZERO
Programe o nó CANZERO

Uma das melhores coisas sobre essa configuração é que você pode acessar os nós mesmo depois de implantados. Eles são programados através do fio CAN, então você pode reprogramá-los sempre que quiser.

Para isso, você precisará do IDE do Arduino instalado, do PiMaster na sua rede e do seu nó conectado ao barramento CAN. Você também precisará de um programa chamado nocanc instalado no computador de desenvolvimento. Tudo isso está descrito na página de instalação do Omzlo.

Visite o GitHub e copie o código em um novo esboço do IDE do Arduino. Mude a placa para Omzlo CANZERO e selecione o nó no menu 'Porta'. Em seguida, basta clicar em upload normalmente. Se tudo correu conforme o planejado, você deve ter um nó programado pronto para fazer algumas medições.

Etapa 6: Como tudo isso se conecta?

Como tudo isso se conecta?
Como tudo isso se conecta?

Agora que todo o software e hardware estão configurados, vamos tirar um momento para falar sobre como tudo isso realmente funcionará. E mostre minhas habilidades no GIMP …

Resumindo:

  1. O nó CANZERO está conectado ao PiMaster e implantado em algum lugar
  2. A cada minuto, um trabalho Cron é executado no PiMaster. Ele executará um script python.
  3. O script python enviará um comando para o nó dizendo-lhe para fazer uma medição ou alguma outra ação.
  4. O nó executará o que o comando era e retornará um resultado no formato JSON.
  5. O script python receberá esse resultado, analisará e atualizará um InfluxDB com ele.

A última etapa é observar a coleta de dados em alguns gráficos de boa aparência.

Etapa 7: Configurando Chronograf ou Grafana

Configurando Chronograf ou Grafana
Configurando Chronograf ou Grafana

A última coisa a fazer é configurar alguns gráficos no Chronograf ou Grafana.

Você precisará configurar a fonte de dados. Os padrões para InfluxDB estão bem. O endereço para ele é 'https:// localhost: 8086' e não há nome de usuário ou senha.

Ambos são semelhantes no sentido de que são organizados em painéis com qualquer número de gráficos dentro deles. Ambos têm uma área de exploração que permite ver as medidas e criar gráficos interativamente. Lembre-se de que o nome do banco de dados é 'nocan' e está organizado em várias medidas com um valor.

Como mencionei, prefiro o Grafana porque é mais configurável do que o Chronograf. Também é compatível com dispositivos móveis, onde o Chronograf não. Os gráficos são facilmente incorporados e compartilhados

Etapa 8: algumas melhorias

  • Você pode definir o nome do host de seu Raspberry Pi para acessá-lo mais facilmente em sua rede. Você pode fazer isso no raspi-config. Mudei o meu para nocan, então fui capaz de ir para nocan.local para acessá-lo (não funciona no Android).
  • Você pode instalar um programa como o ngrok para acessar o Raspberry Pi fora da rede.
  • Use um dos métodos fornecidos pelo Kapacitor para fornecer notificações.
  • Adicione mais sensores, é claro.

Recomendado: