Tabla de contenido:
- Paso 1: Preparar la Raspberry Pi
- Paso 2: Configurar NoCAN
- Paso 3: Montaje del hardware UFire
- Paso 4: El hardware NoCAN
- Paso 5: Programe el nodo CANZERO
- Paso 6: ¿Cómo se relaciona todo esto?
- Paso 7: Configuración de Chronograf o Grafana
- Paso 8: algunas mejoras
Video: Almacene y grafique datos de EC / pH / ORP con TICK Stack y la plataforma NoCAN: 8 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Aquí se explicará cómo usar la plataforma NoCAN de Omzlo y los sensores uFire para medir la CE, el pH y el ORP. Como dice su sitio web, a veces es más fácil conectar un cable a los nodos de sus sensores. CAN tiene la ventaja de la comunicación y la alimentación en un solo cable, por lo que la señal y la batería no son problemas. El firmware de los nodos puede ser más sencillo; sin molestarse con los modos de suspensión o la configuración de WiFi, por ejemplo. La plataforma NoCAN también tiene algunas características excelentes, como programar los nodos a través del bus CAN.
La plataforma NoCAN utiliza una Raspberry Pi, por lo que todo lo que pueda hacer estará disponible. Vamos a aprovecharlo instalando la pila TICK. Eso nos permitirá usar InfluxDB para almacenar medidas. Es una base de datos basada en series temporales diseñada específicamente para este tipo de cosas. También viene con Chronograf para hacer cuadros de mando y mostrar todos estos datos que vamos a tomar. La T y K significan Telegraf y Kapacitor. Telegraf se encuentra entre los datos que está enviando y la base de datos de Influx. Kapacitor es el motor de eventos. Cuando sucede algo, puede enviarle una notificación a través de una variedad de métodos. Y, solo porque me gusta más que Chronograf, instalaré Grafana para paneles.
Paso 1: Preparar la Raspberry Pi
Dirígete a la página de descarga de Rasbian y descarga la imagen con el escritorio y el software recomendado, luego actualízala a una tarjeta SD.
Una vez que la imagen esté en su tarjeta SD, debe tener dos volúmenes, root y boot. Abra una terminal en el arranque y escriba:
toque ssh
Eso habilitará SSH.
Luego escriba:
nano wpa_supplicant.conf
Y copie / pegue lo siguiente después de haberlo modificado para su propio condado y la configuración de WiFi:
país = EE. UU.
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "NETWORK-NAME" psk = "NETWORK-PASSWORD"}
Los códigos de país provienen de aquí.
Habilitar SPI:
echo "dtparam = spi = on" >> config.txt
Coloque la tarjeta SD en su Raspberry Pi, espere un poco y escriba:
Debería estar en el indicador de inicio de sesión. La contraseña es frambuesa.
Paso 2: Configurar NoCAN
Omzlo proporciona una guía de instalación completa. Pero decidí hacérselo más fácil y aprender un poco sobre las secuencias de comandos de Bash. Así que inicie su Raspberry Pi y SSH o terminal serial en él.
Aprendí que se puede dedicar tanto tiempo de desarrollo a la creación de un buen script Bash como lo que sea que estés intentando instalar. Hay 1000 formas de hacer algo, algunas más sencillas de comprender o ejecutar que otras. Al final, en realidad no hice mucho. Si ejecuta:
wget https://ufire.co/nocan.sh && chmod + x nocan.sh && sudo./nocan.sh
En la terminal de su Raspberry Pi, descargará y ejecutará el script.
Entonces eso:
- Descarga el demonio Omzlo NoCAN y lo instala en / usr / bin para facilitar el acceso, crea una carpeta ~ /.nocand y escribe un archivo de configuración muy básico con la contraseña establecida en 'contraseña'. Probablemente debería cambiarlo a otra cosa, está en ~ /.nocand / config.
- Descarga el cliente Omzlo NoCAN y lo copia en / usr / bin y crea un archivo de configuración básica con la misma contraseña. Está en ~ /.nocanc.conf.
- Configura un servicio Systemd que mantiene el demonio NoCAN en ejecución.
- Escribe un archivo de Python en ~ /.nocand, nocan_ufire.py. Se comunicará con el firmware del nodo NoCAN y tomará medidas de EC, pH y ORP, analizará los resultados y los agregará a la base de datos de InfluxDB.
- Agrega el repositorio de InfluxData a apt e instala la pila TICK. Y como lo prefiero a Chronograf, también instala Grafana.
- Crea una base de datos de Influx en blanco
Algunas trampas con las que puede encontrarse:
- Es posible que su configuración regional no esté configurada, así que ejecute dpkg-reconfigure locales
- Es posible que la instalación de Grafana se bloquee, así que inténtelo de nuevo.
- Es posible que el demonio influx no se inicie a tiempo para que el script agregue la base de datos, escriba
curl -i -XPOST https:// localhost: 8086 / query --data-urlencode "q = CREATE DATABASE nocan"
- Este script solo funciona como usuario pi predeterminado. Deberá cambiar pi por su nombre de usuario cuando corresponda si está bajo un usuario diferente.
Lo último es agregar un trabajo cron. No pude encontrar una muy buena manera de escribir este script, así que escriba 'crontab -e' para editar manualmente y agregar '* * * * * python /home/pi/.nocand/nocan_ufire.py'.
Una vez hecho todo, puede verificar que todo esté configurado y funcionando como debería. Grafana vive en https:// [Dirección de Raspberry Pi]: 3000 /. Debería ver una página de inicio de sesión, admin / admin es el predeterminado.
Chronograf se puede encontrar en https:// [Dirección de Raspberry Pi]: 8888 /
Paso 3: Montaje del hardware UFire
Antes de que podamos ensamblar el hardware, hay una cosa que abordar. La placa uFire ISE se puede utilizar para medir tanto el pH como el ORP. El hardware es el mismo, pero el software es diferente. Debido a que el hardware es el mismo, eso significa que la dirección I2C es, por defecto, la misma también. Y los sensores se comunican a través de I2C, por lo que será necesario cambiar uno. Para este proyecto, elegiremos una de las placas ISE y la usaremos para medir el ORP. Siguiendo los pasos aquí, cambie la dirección a 0x3e.
Ahora que se cambió la dirección, armar el hardware es fácil. Esta configuración se basa en un trabajo anterior que hacía básicamente lo mismo pero usando BLE en lugar de CAN para transmitir datos. Puede leer sobre esto en Arduino Project Hub. Todos los dispositivos de sensor usan el sistema de conexión Qwiic, así que simplemente conecte todo en una cadena, solo hay una forma de insertar los cables Qwiic a Qwiic. Necesitará un cable Qwiic a macho para conectar uno de los sensores al nodo CANZERO. Los cables son consistentes y están codificados por colores. Conecte el negro al GND del nodo, el rojo al pin + 3.3V o + 5V, el azul al pin SDA que es D11 y el amarillo al pin SCL en D12.
Para este proyecto, esperará que la información de temperatura provenga del sensor EC, así que asegúrese de conectar un sensor de temperatura a la placa EC. Sin embargo, todas las tablas tienen la capacidad de medir la temperatura. No olvide conectar las sondas de CE, pH y ORP a los sensores adecuados. Se conectan fácilmente con conectores BNC. Si tiene un cerramiento, poner todo esto adentro sería una buena idea, especialmente considerando que el agua estará involucrada.
Paso 4: El hardware NoCAN
El montaje del hardware NoCAN también es sencillo. Conecte el PiMaster a la Raspberry Pi y busque una fuente de alimentación adecuada para él.
Siga las instrucciones de Omzlo sobre cómo hacer cables para su proyecto.
Implemente su nodo y encuentre un lugar para PiMaster.
Paso 5: Programe el nodo CANZERO
Una de las mejores cosas de esta configuración es que puede acceder a los nodos incluso después de su implementación. Están programados a través del cable CAN, por lo que puede reprogramarlos cuando lo desee.
Para eso, necesitará el IDE de Arduino instalado, el PiMaster en su red y su nodo conectado al bus CAN. También necesitará un programa llamado nocanc instalado en su computadora de desarrollo. Todo eso se describe en la página de instalación de Omzlo.
Visite GitHub y copie el código en un nuevo boceto IDE de Arduino. Cambie la placa a Omzlo CANZERO y seleccione el nodo en el menú 'Puerto'. Luego, simplemente haga clic en cargar como de costumbre. Si todo salió según lo planeado, debe tener un nodo programado listo para tomar algunas medidas.
Paso 6: ¿Cómo se relaciona todo esto?
Ahora que todo el software y hardware está configurado, dediquemos un momento a hablar sobre cómo funcionará realmente todo y mostrar mis habilidades en GIMP …
En resumen:
- El nodo CANZERO está conectado al PiMaster y se implementa en algún lugar
- Cada minuto se ejecuta un trabajo Cron en el PiMaster. Ejecutará un script de Python.
- El script de Python enviará un comando al nodo indicándole que tome una medida o alguna otra acción.
- El nodo ejecutará lo que era el comando y devolverá un resultado en formato JSON.
- El script de Python recibirá ese resultado, lo analizará y actualizará un InfluxDB con él.
El último paso es observar la recopilación de datos en algunos gráficos atractivos.
Paso 7: Configuración de Chronograf o Grafana
Lo último que debe hacer es configurar algunos gráficos en Chronograf o Grafana.
Deberá configurar la fuente de datos. Los valores predeterminados de InfluxDB están bien. La dirección es 'https:// localhost: 8086' y no hay nombre de usuario ni contraseña.
Ambos son similares en el sentido de que están organizados en paneles que tienen cualquier número de gráficos dentro de ellos. Ambos tienen un área de exploración que le permite ver las medidas y crear gráficos de forma interactiva. Recuerde que el nombre de la base de datos es 'nocan' y está organizado en varias medidas con un valor.
Como mencioné, prefiero Grafana porque es más configurable que Chronograf. También es compatible con dispositivos móviles, donde Chronograf no lo es. Los gráficos se integran y comparten fácilmente
Paso 8: algunas mejoras
- Puede configurar el nombre de host de su Raspberry Pi para acceder a él más fácilmente en su red. Puede hacerlo en raspi-config. Cambié el mío a nocan, así que pude ir a nocan.local para acceder a él (no funciona en Android).
- Puede instalar un programa como ngrok para acceder a su Raspberry Pi fuera de su red.
- Utilice uno de los métodos que proporciona Kapacitor para proporcionar notificaciones.
- Agregue más sensores, por supuesto.
Recomendado:
Haga hermosos gráficos a partir de datos de Arduino en vivo (y guarde los datos en Excel): 3 pasos
Cree hermosos gráficos a partir de datos de Arduino en vivo (y guarde los datos en Excel): a todos nos gusta jugar con nuestra función P … lotter en el IDE de Arduino. Sin embargo, si bien puede ser útil para aplicaciones básicas, los datos se borran a medida que aumenta se añaden puntos y no es particularmente agradable a la vista. El trazador Arduino IDE no
Cómo hacer un registrador de datos en tiempo real de humedad y temperatura con Arduino UNO y tarjeta SD - Simulación del registrador de datos DHT11 en Proteus: 5 pasos
Cómo hacer un registrador de datos en tiempo real de humedad y temperatura con Arduino UNO y tarjeta SD | Simulación del registrador de datos DHT11 en Proteus: Introducción: hola, soy Liono Maker, aquí está el enlace de YouTube. Estamos haciendo un proyecto creativo con Arduino y trabajamos en sistemas embebidos. Data-Logger: Un registrador de datos (también registrador de datos o registrador de datos) es un dispositivo electrónico que registra datos a lo largo del tiempo w
Enviar datos a la plataforma AskSensors IoT desde el navegador web: 6 pasos
Enviar datos a la plataforma AskSensors IoT desde el navegador web: Recientemente publiqué un instructivo que muestra una guía paso a paso para conectar un MCU de nodo ESP8266 a la plataforma AskSensors IoT. Recibí algunos comentarios de personas más interesadas en la plataforma AskSensors, pero no tienen un MCU de nodo en la mano. Este yo
Plataforma base de IoT con RaspberryPi, WIZ850io: Controlador de dispositivo de plataforma: 5 pasos (con imágenes)
Plataforma base de IoT con RaspberryPi, WIZ850io: Controlador de dispositivo de plataforma: conozco la plataforma RaspberryPi para IoT. Recientemente, WIZ850io fue anunciado por WIZnet. Así que implementé una aplicación RaspberryPi mediante la modificación del SW de Ethernet porque puedo manejar un código fuente fácilmente. Puede probar el controlador de dispositivo de plataforma a través de RaspberryPi
Cómo obtener datos de una base de datos de Firebase en NodeMCU: 7 pasos
Cómo obtener datos de una base de datos de Firebase en NodeMCU: para este instructable, obtendremos datos de una base de datos en Google Firebase y los obtendremos usando un NodeMCU para su análisis posterior.REQUISITOS DEL PROYECTO: 1) NodeMCU o controlador ESP8266 2) G-Mail cuenta para crear una base de datos de Firebase. 3) Descargue el