Paso 6: Software de gráfica y matemática, Oh mi!
La caja es conducida por el código de Python disponible en un repositorio git del https://github.com/kmkingsbury/raspberrypi-data-ac...
Python collectdata.py es el principal caballo de batalla y tiene varias opciones.
El config.ini define los pines GPIO utilizados por los distintos componentes, si sigues los cables en el esquema de Fritzing luego los valores fijados en el config.ini son correctos.
El wifi.py es un sencillo script que he puesto en marcha en el arranque de la PI que solo imprime la dirección IP de wifi por lo que puedo SSH en a la Pi, un ejemplo de esto es en las imágenes.
Para cada uno ejecuta un archivo de datos y metadatos de un archivo se crea por defecto que esto va para /media/usb0 y se escribirá en una memoria USB conectada a la Pi (siempre configurar usbmount). El archivo de datos tiene el datetime y las lecturas del sensor. El archivo de metadatos contiene los parámetros utilizados (cuántos canales, con qué frecuencia de muestra, etc.) así como estadísticas sobre los datos (max, min, promedio, número de muestras recogidas). Finalmente el archivo de metadatos también registra los eventos de los botones superiores. Los botones superiores así como el botón de navegación de 5 direcciones hacen funciones específicas pero usted puede modificar para cualquier otra funcionalidad que desee:
4 en la parte superior se utilizan para marcar eventos críticos durante una corrida de datos, yo uso de esos para cosas como el inicio de un evento diferente, marcando la transformación del estado (ahora hierve un líquido), o incluso errores como topar un sensor, de tener que salir a la superficie que mide, etc.
El botón de navegación de 5 vías en el frente se utiliza para manipular los datos que se muestran en la pantalla LCD. Por defecto la pantalla muestra los valores de cada sensor, entonces usar:
- un empuje hacia arriba para cambiar la pantalla para mostrar el valor máximo para un sensor de
- hacia abajo para mostrar el valor mínimo para un sensor de
- derecho para mostrar el valor medio de un sensor
- a la izquierda para mostrar la desviación del valor actual del valor promedio.
- Centro de empuje para volver a la pantalla predeterminada regular.
Las imágenes muestran algunos ejemplos de ello.
Parcelas se hacen usando la herramienta GNUPlot.
El repositorio de github contiene una carpeta de conjuntos de datos de muestra que contiene dos juegos de muestra para la referencia y para ayudarle a comenzar con el suyo propio.
- Una temperatura de un frasco de agua de 1000ml se calienta a ebullición y luego deja enfriar.
- Lecturas de los 4 sensores cuando no hay nada conectado. Cuando esto ocurre, el pin se encuentra en un estado "flotante", y la salida no es previsible. Está en un estado indefinido, que no es ni 0 ni 1. En electrónica, esto se conoce como el tercer Estado, circuito abierto o cable flotante.
Las parcelas para ambas muestras están en las imágenes.