Índice:
- Etapa 1: Preparando o Raspberry Pi
- Etapa 2: Configurando o NoCAN
- Etapa 3: Juntar o hardware UFire
- Etapa 4: O Hardware NoCAN
- Etapa 5: programe o nó CANZERO
- Etapa 6: Como tudo isso se conecta?
- Etapa 7: Configurando Chronograf ou Grafana
- Etapa 8: algumas melhorias
Vídeo: Armazene e represente graficamente os dados EC / pH / ORP com o TICK Stack e a plataforma NoCAN: 8 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
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:
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:
- 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.
- 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.
- Configura um serviço Systemd que mantém o daemon NoCAN em execução.
- 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.
- 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.
- 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
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
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
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?
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:
- O nó CANZERO está conectado ao PiMaster e implantado em algum lugar
- A cada minuto, um trabalho Cron é executado no PiMaster. Ele executará um script python.
- O script python enviará um comando para o nó dizendo-lhe para fazer uma medição ou alguma outra ação.
- O nó executará o que o comando era e retornará um resultado no formato JSON.
- 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
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:
Faça lindos gráficos a partir de dados do Arduino ao vivo (e salve os dados no Excel): 3 etapas
Faça lindos gráficos a partir de dados do Arduino ao vivo (e salve os dados no Excel): Todos nós gostamos de brincar com nossa função P … lotter no IDE do Arduino. No entanto, embora possa ser útil para aplicativos básicos, os dados são apagados conforme mais pontos são adicionados e não é particularmente agradável aos olhos. A plotadora IDE Arduino não
Como fazer um gravador de dados em tempo real de umidade e temperatura com o Arduino UNO e o cartão SD - Simulação de registrador de dados DHT11 em Proteus: 5 etapas
Como fazer um gravador de dados em tempo real de umidade e temperatura com o Arduino UNO e o cartão SD | Simulação DHT11 Data-logger em Proteus: Introdução: oi, aqui é Liono Maker, aqui está o link do YouTube. Estamos fazendo projetos criativos com Arduino e trabalhamos em sistemas embarcados.Data-Logger: Um data logger (também data-logger ou gravador de dados) é um dispositivo eletrônico que grava dados ao longo do tempo w
Representando graficamente a mudança de temperatura a partir da mudança climática em Python: 6 etapas
Traçando um gráfico da mudança de temperatura a partir da mudança climática em Python: A mudança climática é um grande problema. E muitas pessoas não sabem o quanto aumentou. Neste instrutível, vamos representar graficamente a mudança de temperatura no clima devido à mudança climática. Para uma folha de dicas, você pode ver o arquivo python abaixo
Envie dados para a plataforma AskSensors IoT a partir do navegador da web: 6 etapas
Envie dados para a plataforma AskSensors IoT a partir do navegador da Web: Eu postei recentemente um instrutível mostrando um guia passo a passo para conectar um nó ESP8266 MCU à plataforma AskSensors IoT. Recebi alguns comentários de pessoas mais interessadas na plataforma AskSensors, mas eles não têm um nó MCU em mãos. Isso eu
Como buscar dados de um banco de dados Firebase no NodeMCU: 7 etapas
Como buscar dados de um banco de dados Firebase no NodeMCU: para isso, vamos buscar dados de um banco de dados no Google Firebase e buscá-los usando um NodeMCU para análise posterior. REQUISITOS DO PROJETO: 1) NodeMCU ou ESP8266 Controller2) G-Mail conta para a criação de um banco de dados Firebase.3) Baixe o