Taula de continguts:
- Pas 1: preparació del Raspberry Pi
- Pas 2: Configuració de NoCAN
- Pas 3: ajuntar el maquinari UFire
- Pas 4: el maquinari NoCAN
- Pas 5: programa el node CANZERO
- Pas 6: Com es relaciona tot això?
- Pas 7: Configuració de Chronograf o Grafana
- Pas 8: algunes millores
Vídeo: Emmagatzemeu i dibuixeu dades EC / pH / ORP amb la plataforma TICK Stack i la plataforma NoCAN: 8 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
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:
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:
- 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.
- 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.
- Configura un servei Systemd que manté el dimoni NoCAN en execució.
- 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.
- 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.
- 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
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
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
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ò?
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:
- El node CANZERO està connectat al PiMaster i es desplega en algun lloc
- Cada minut s’executa una tasca Cron al PiMaster. Executarà un script Python.
- L'escriptura python enviarà una ordre al node indicant-li que faci una mesura o alguna altra acció.
- El node executarà el que era l'ordre i retornarà un resultat en format JSON.
- 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
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:
Feu parcel·les precioses a partir de dades Arduino en viu (i deseu les dades a Excel): 3 passos
Feu gràfics bonics a partir de dades Arduino en viu (i deseu les dades a Excel): a tots ens agrada jugar amb la nostra funció de loteria P … a l’IDE Arduino. Tot i que, si bé pot ser útil per a aplicacions bàsiques, les dades s’esborren com més s’afegeixen punts i no resulta especialment agradable als ulls. El traçador IDE Arduino no
Com fer un registre de dades en temps real de la humitat i la temperatura amb Arduino UNO i targeta SD - Simulació de registre de dades DHT11 a Proteus: 5 passos
Com fer un registre de dades en temps real d’humitat i temperatura amb Arduino UNO i targeta SD | Simulació de registre de dades DHT11 a Proteus: Introducció: hola, aquest és Liono Maker, aquí teniu l'enllaç de YouTube. Estem fent un projecte creatiu amb Arduino i treballem en sistemes incrustats
Plataforma IoT Base amb RaspberryPi, WIZ850io: controlador de dispositiu de plataforma: 5 passos (amb imatges)
Plataforma base IoT amb RaspberryPi, WIZ850io: Plataforma Controlador de dispositiu: conec la plataforma RaspberryPi per a IoT. Recentment WIZ850io ha anunciat per WIZnet. Així que vaig implementar una aplicació RaspberryPi mitjançant la modificació Ethernet SW perquè puc gestionar un codi font fàcilment. Podeu provar el controlador de dispositiu de plataforma mitjançant RaspberryPi
Adquisició de dades i sistema de visualització de dades per a una moto de carreres elèctrica MotoStudent: 23 passos
Adquisició de dades i sistema de visualització de dades per a una moto de carreres elèctrica MotoStudent: un sistema d’adquisició de dades és una col·lecció de maquinari i programari que treballa junts per tal de recopilar dades de sensors externs, emmagatzemar-les i processar-les després perquè es puguin visualitzar gràficament i analitzar. permetent als enginyers fer
Registreu dades i dibuixeu un gràfic en línia mitjançant NodeMCU, MySQL, PHP i Chartjs.org: 4 passos
Registreu dades i dibuixeu un gràfic en línia mitjançant NodeMCU, MySQL, PHP i Chartjs.org: aquest manual descriu com podem utilitzar la placa Node MCU per recopilar dades de diversos sensors, enviar aquestes dades a un fitxer PHP allotjat que després afegeix les dades a una base de dades MySQL. Les dades es poden veure en línia com a gràfic, mitjançant chart.js.A ba