Taula de continguts:

Emmagatzemeu i dibuixeu dades EC / pH / ORP amb la plataforma TICK Stack i la plataforma NoCAN: 8 passos
Emmagatzemeu i dibuixeu dades EC / pH / ORP amb la plataforma TICK Stack i la plataforma NoCAN: 8 passos

Vídeo: Emmagatzemeu i dibuixeu dades EC / pH / ORP amb la plataforma TICK Stack i la plataforma NoCAN: 8 passos

Vídeo: Emmagatzemeu i dibuixeu dades EC / pH / ORP amb la plataforma TICK Stack i la plataforma NoCAN: 8 passos
Vídeo: Section 9 2024, Juliol
Anonim
Emmagatzemeu i dibuixeu dades EC / pH / ORP amb la plataforma TICK Stack i NoCAN
Emmagatzemeu i dibuixeu dades EC / pH / ORP amb la plataforma TICK Stack i NoCAN

Això explicarà com utilitzar la plataforma NoCAN d'Omzlo i els sensors uFire per mesurar EC, pH i ORP. Tal com diu el seu lloc web, de vegades és més fàcil fer passar algun cable als nodes del sensor. CAN té l'avantatge de comunicar-se i alimentar-se en un cable, de manera que el senyal i la bateria no són problemes. El firmware dels nodes pot ser més senzill; per exemple, no us molesteu en els modes de repòs ni en la configuració de WiFi. La plataforma NoCAN també té algunes funcions fantàstiques com la programació dels nodes a través del bus CAN.

La plataforma NoCAN utilitza un Raspberry Pi, de manera que tot el que pugui fer estarà disponible. Ho aprofitarem instal·lant la pila TICK. Això ens permetrà utilitzar InfluxDB per emmagatzemar mesures. És una base de dades basada en timeseries feta específicament per a aquest tipus de coses. També ve amb Chronograf per fer panells de control i mostrar totes aquestes dades que anem a prendre. La T i la K representen Telegraf i Kapacitor. Telegraf es troba entre les dades que envieu i la base de dades d’afluència. Kapacitor és el motor d'esdeveniments. Quan passa alguna cosa, us pot enviar una notificació mitjançant diversos mètodes. I, només perquè m’agrada més que Chronograf, instal·laré Grafana per a taulers.

Pas 1: preparació del Raspberry Pi

Aneu a la pàgina de descàrrega de Rasbian i descarregueu la imatge amb l’escriptori i el programari recomanat i, a continuació, feu-la passar per una targeta SD.

Quan la imatge estigui a la targeta SD, haureu de tenir dos volums, root i boot. Obriu un terminal a l'arrencada i escriviu:

toca ssh

Això permetrà SSH.

A continuació, escriviu:

nano wpa_supplicant.conf

I copieu / enganxeu el següent després de modificar-lo per a la vostra configuració de comtat i WiFi:

país = EUA

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

Els codis de país provenen d’aquí.

Activa SPI:

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

Introduïu la targeta SD al vostre Raspberry Pi, espereu una mica i escriviu:

ssh [email protected]

Hauríeu d’estar a l’indicatiu d’inici de sessió. La contrasenya és gerd.

Pas 2: Configuració de NoCAN

Omzlo proporciona una guia completa d’instal·lació. Però vaig decidir fer-ho més fàcil i aprendre una mica sobre els scripts de Bash. Per tant, inicieu el vostre Raspberry Pi i utilitzeu el terminal SSH o serial.

Vaig aprendre que es pot dedicar tant temps de desenvolupament a crear un bon script Bash com el que vulgueu instal·lar. Hi ha 1.000 maneres de fer alguna cosa, algunes més senzilles d’entendre o executar que d’altres. Al final, en realitat no vaig fer gran cosa. Si executeu:

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

Al terminal de Raspberry Pi, descarregarà i executarà l'script.

Llavors:

  1. Descarrega el dimoni Omzlo NoCAN i l’instal·la a / usr / bin per facilitar-ne l’accés, crea una carpeta ~ /.nocand i escriu un fitxer de configuració molt bàsic amb la contrasenya configurada a “contrasenya”. Probablement hauríeu de canviar-lo per una altra cosa, es troba a ~ /.nocand / config.
  2. Descarrega el client Omzlo NoCAN i el copia a / usr / bin i crea un fitxer de configuració bàsic amb el mateix conjunt de contrasenyes. Es troba a ~ /.nocanc.conf.
  3. Configura un servei Systemd que manté el dimoni NoCAN en execució.
  4. Escriu un fitxer python a ~ /.nocand, nocan_ufire.py. Parlarà amb el firmware del node NoCAN i prendrà mesures EC, pH i ORP, analitzarà els resultats i els afegirà a la base de dades InfluxDB.
  5. Afegeix la reposició d’InfluxData a apt i instal·la la pila TICK. I, com que ho prefereixo més que Chronograf, també instal·la Grafana.
  6. Crea una base de dades d'afluència en blanc

Alguns problemes que us podeu trobar:

  • És possible que la vostra configuració regional no estigui configurada, així que executeu dpkg-reconfigure locales
  • És possible que la instal·lació de Grafana estigui penjada, així que intenteu-ho de nou.
  • És possible que el dimoni d'afluència no s'iniciï a temps perquè el script afegeixi la base de dades, escriviu

    curl -i -XPOST https:// localhost: 8086 / query --data-urlencode "q = CREATE DATABASE nocan"

  • Aquest script només funciona com a usuari pi predeterminat. Haureu de canviar pi al vostre nom d'usuari, si escau, si teniu un usuari diferent.

L'últim és afegir un treball cron. No he trobat una manera molt bona d’escriure aquest script, així que escriviu 'crontab -e' per editar manualment i afegiu '* * * * * python /home/pi/.nocand/nocan_ufire.py'.

Un cop fet això, podeu verificar que tot estigui configurat i funcionant com hauria de ser. Grafana viu a https:// [Adreça de Raspberry Pi]: 3000 /. Hauríeu de veure una pàgina d’inici de sessió, per defecte administrador / administrador.

El cronògraf es pot trobar a https:// [Adreça de Raspberry Pi]: 8888 /

Pas 3: ajuntar el maquinari UFire

Posar en comú el maquinari UFire
Posar en comú el maquinari UFire

Abans de muntar el maquinari, hi ha una cosa a tractar. La placa uFire ISE es pot utilitzar per mesurar tant el pH com la ORP. El maquinari és el mateix, però el programari és diferent. Com que el maquinari és el mateix, això significa que l'adreça I2C també és, per defecte, la mateixa. I els sensors es comuniquen mitjançant I2C, de manera que caldrà canviar-ne un. Per a aquest projecte, escollirem una de les taules ISE i la farem servir per mesurar la ORP. Seguint els passos indicats aquí, canvieu l'adreça a 0x3e.

Ara que s’ha canviat l’adreça, és fàcil muntar el maquinari. Aquesta configuració es basa en treballs anteriors que fan bàsicament el mateix, però que utilitzen BLE en lloc de CAN per transmetre dades. Podeu llegir-ne a l’Arduino Project Hub. Tots els dispositius de sensor fan servir el sistema de connexió Qwiic, de manera que només cal connectar-ho tot en una cadena; només hi ha una manera d’inserir els cables Qwiic a Qwiic. Necessitareu un cable Qwiic a Male per connectar un dels sensors al node CANZERO. Els cables són consistents i estan codificats per colors. Connecteu negre al GND del node, vermell al pin + 3,3 V o + 5 V, blau al pin SDA que és D11 i groc al pin SCL de D12.

Per a aquest projecte, s'espera que la informació de temperatura provingui del sensor EC, així que assegureu-vos de connectar un sensor de temperatura a la placa EC. Totes les plaques tenen la capacitat de mesurar la temperatura. No oblideu fixar les sondes EC, pH i ORP als sensors adequats. Es connecten fàcilment amb connectors BNC. Si teniu un recinte, posar-hi tot això seria una bona idea, sobretot tenint en compte que hi haurà aigua.

Pas 4: el maquinari NoCAN

El maquinari NoCAN
El maquinari NoCAN

Muntar el maquinari NoCAN també és fàcil. Connecteu el PiMaster al Raspberry Pi i trobeu-ne una font d’alimentació adequada.

Seguiu les instruccions d'Omzlo per fabricar cables per al vostre projecte.

Desplegueu el vostre node i cerqueu un lloc per al PiMaster.

Pas 5: programa el node CANZERO

Programa el node CANZERO
Programa el node CANZERO

Una de les coses fantàstiques d’aquesta configuració és que podeu accedir als nodes fins i tot després de desplegar-los. Es programen mitjançant el cable CAN, de manera que podeu tornar a programar-los quan vulgueu.

Per a això, necessitareu l’IDE Arduino instal·lat, el PiMaster de la vostra xarxa i el node connectat al bus CAN. També necessitareu un programa anomenat nocanc instal·lat al vostre equip de desenvolupament. Tot això es descriu a la pàgina d’instal·lació d’Omzlo.

Visiteu GitHub i copieu el codi en un nou esbós ID Arduino. Canvieu el tauler a Omzlo CANZERO i seleccioneu el node al menú "Port". A continuació, feu clic a Puja com de costum. Si tot anava segons el pla, hauríeu de tenir un node programat a punt per fer algunes mesures.

Pas 6: Com es relaciona tot això?

Com es relaciona tot això?
Com es relaciona tot això?

Ara que tot el programari i maquinari està configurat, dediquem-nos un moment a parlar de com funcionarà tot això i mostrarà les meves habilitats de GIMP …

En resum:

  1. El node CANZERO està connectat al PiMaster i es desplega en algun lloc
  2. Cada minut s’executa una tasca Cron al PiMaster. Executarà un script Python.
  3. L'escriptura python enviarà una ordre al node indicant-li que faci una mesura o alguna altra acció.
  4. El node executarà el que era l'ordre i retornarà un resultat en format JSON.
  5. L'escriptura python rebrà aquest resultat, analitzarà i actualitzarà un InfluxDB amb ell.

L’últim pas és veure com es recullen les dades en alguns gràfics d’aspecte agradable.

Pas 7: Configuració de Chronograf o Grafana

Configuració de Chronograf o Grafana
Configuració de Chronograf o Grafana

L’últim que cal fer és configurar alguns gràfics a Chronograf o Grafana.

Haureu de configurar la font de dades. Els valors predeterminats per a InfluxDB estan bé. L'adreça és "https:// localhost: 8086" i no hi ha cap nom d'usuari ni contrasenya.

Tots dos són similars pel fet d’organitzar-se en taulers de control que contenen un nombre de gràfics al seu interior. Tots dos tenen una àrea Explorar que us permet veure les mesures i crear gràfics de manera interactiva. Recordeu que el nom de la base de dades és "nocan" i està organitzat en diverses mesures amb un valor.

Com he esmentat, prefereixo Grafana perquè és més configurable que Chronograf. També és mòbil, on Chronograf no ho és. Els gràfics s’incorporen i es comparteixen fàcilment

Pas 8: algunes millores

  • Podeu configurar el nom d'amfitrió del vostre Raspberry Pi per accedir-hi més fàcilment a la vostra xarxa. Podeu fer-ho a raspi-config. He canviat el meu per nocan, de manera que he pogut anar a nocan.local per accedir-hi (no funciona a Android).
  • Podeu instal·lar un programa com ngrok per accedir al vostre Raspberry Pi fora de la vostra xarxa.
  • Utilitzeu un dels mètodes que Kapacitor proporciona per proporcionar notificacions.
  • Afegiu més sensors, és clar.

Recomanat: