Codebox: Guarda los datos del sensor en Google Spreadsheets - 💡 Fix My Ideas

Codebox: Guarda los datos del sensor en Google Spreadsheets

Codebox: Guarda los datos del sensor en Google Spreadsheets


Autor: Ethan Holmes, 2019

La sección "Hola Arduino" en el Capítulo 11 de Procedimientos iniciales con el procesamiento muestra cómo leer los datos en Procesamiento desde Arduino. En pocas palabras, el código Arduino (ejemplo 11-6 en el libro) lee los datos de un sensor de luz y los escribe en el puerto serie. La sección luego describe una serie de bocetos cada vez más sofisticados que recuperan y visualizan los datos del sensor utilizando la biblioteca Serial de Processing.

Este Codebox le muestra cómo guardar los datos de este sensor en una hoja de cálculo de Google. Lo bueno es que luego puedes usar cualquiera de los beneficios que Google proporciona (gráficos, gadgets, mapas, etc.) directamente con tus datos. Si bien el sensor de luz es bastante básico, puede usar esta configuración básica para registrar datos de sensores más sofisticados, como un módulo receptor Parallax GPS en Google Spreadsheets, y luego crear un mapa de dónde ha estado que podría publicar como un artilugio.

El boceto se basa en la biblioteca de cliente API de Google para Java, que es un conjunto de bibliotecas de códigos para interactuar con varios servicios de Google (no solo hojas de cálculo). Al investigar este artículo, encontré que el artículo Open Science, H1N1, Processing y el API de Google Spreadsheet de Jer Thorpe fue una gran inspiración. Si bien se basa en una versión anterior de la API (versión 1.0, mientras que las API están ahora en la versión 3.0), es una excelente introducción a la interacción con Google. Gracias, Jer!

Crea tu hoja de cálculo

El primer paso en el proyecto es configurar una hoja de cálculo de Google. Para hacer esto, necesitarás una cuenta de Google (¡obviamente!). Inicie sesión y luego ingrese a los documentos para crear una nueva hoja de cálculo llamada "registro de sensores". Luego, agregue las siguientes columnas en la primera fila: "fecha", "hora" y "lectura". Como veremos en breve, estas los encabezados de columna se utilizan en su código para interactuar con los datos en la hoja de cálculo. A continuación, guarde la hoja de cálculo. (Dejalo abierto, sin embargo.)

Configurar el boceto

A continuación, un poco de limpieza. Las bibliotecas del cliente de datos de Google utilizan genéricos y otras mejoras introducidas en Java 1.5, por lo que es posible que deba actualizar su versión de Processing a la versión 0136 o superior. Si no estás seguro de qué versión tienes, descarga la última versión de Processing para asegurarte. De lo contrario, estás en un montón de rascarse la cabeza.

Una vez que haya confirmado que está en la versión 0136+, descargue la biblioteca del cliente de Java gdata-samples.java-1.40.0.zip. [NB: esta es una versión un poco más antigua de las bibliotecas: hay algunos problemas con la versión más reciente que cuelga de una Mac, por lo que la gente recomienda bajar de categoría hasta que Google solucione el problema.] También necesitará Guava, la biblioteca de Google Collection.

Una vez que haya descargado y descomprimido los archivos, inicie el proceso y pegue google_spreadsheet_writer.pde en el área de boceto:

A continuación, agregue los siguientes cuatro archivos a su proyecto desde las bibliotecas que descargó anteriormente (use el elemento Sketch -> Agregar archivos):

directorio gdata descomprimido/java/java/lib/gdata-client-1.0.jar

directorio gdata descomprimido/java/java/lib/gdata-core-1.0.jar

directorio gdata descomprimido/java/java/lib/gdata-spreadsheet-3.0.jar

directorio de guayaba descomprimido/guava-r07.jar

Finalmente, deberá actualizar algunas variables en el boceto para establecer su nombre de usuario, contraseña; También deberás asegurarte de ingresar el nombre * exacto * de la hoja de cálculo que creaste al inicio del proyecto. Aquí están las líneas que necesitas modificar:

String uname = "[ingrese su cuenta de google aquí]"; // El nombre de usuario de su cuenta de Google String pwd = "[ingrese aquí la contraseña de su cuenta de Google]"; // La contraseña de su cuenta de Google Cadena spreadsheet_name = "registro del sensor"; // Nombre de la hoja de cálculo en la que desea escribir los datos. Debe coincidir exactamente, incluido el caso.

Una vez que hayas terminado, enciende el boceto. Suponiendo que está ejecutando el código Arduino del Ejemplo 11-6 de Procedimientos iniciales con el procesamiento, debe comenzar a ver que su hoja de cálculo se llena con datos del sensor cada 2 segundos.

Discusión

Seré honesto: la parte más difícil de este proyecto es configurar correctamente todas las bibliotecas. Una vez que lo haces, realmente no hay mucho en el código en sí. La Guía del desarrollador: la documentación de Java hace un buen trabajo al describir la mayor parte de lo que necesita saber. (Tenga en cuenta que esta es una versión anterior de la documentación. Lo encontré mucho más claro que la versión más reciente, que puede encontrar en la Guía del desarrollador (v3.0)).

Como verás en el preparar() Método, el boceto comienza con la autenticación de sus credenciales. Suponiendo que se retira, luego se extrae una lista de todas sus hojas de cálculo y se encuentra la que tiene el mismo título que el definido en la spreadsheet_name variable. Finalmente, saca la primera hoja de trabajo (estas son las distintas pestañas de la hoja de cálculo) y la guarda para uso futuro. A partir de ahí, el croquis cae en el dibujar() método, que utiliza un temporizador para llamar periódicamente al transmitir() función.

transmitir() Es donde ocurre la mayor parte del trabajo. Comienza creando un par de cadenas que contienen la fecha actual y la hora, y luego crea una nueva ListEntry, que es la clase de datos primaria utilizada para interactuar con las hojas de trabajo. El método de clase getCustomElements (). setValueLocal () se utiliza para asignar las variables de Procesamiento a los nombres de columna en la hoja de trabajo, como se muestra en la siguiente figura:

Una vez que comiences a trabajar este boceto, las posibilidades son infinitas. Bueno, está bien, no son infinitas. Son finitos Pero, hay muchas posibilidades, sin embargo.

¡Disfrutar!

Más: Todas las columnas de Codebox se pueden encontrar aquí

En el cobertizo del fabricante:


Comenzando con el procesamiento Aprenda a programar computadoras de manera fácil con Processing, un lenguaje simple que le permite usar código para crear dibujos, animaciones y gráficos interactivos. Los cursos de programación generalmente comienzan con la teoría, pero este libro te permite saltar directamente a proyectos creativos y divertidos. Es ideal para cualquier persona que quiera aprender programación básica y sirve como una simple introducción a los gráficos para personas con algunas habilidades de programación.



Puede Que Le Interesen

Inspiración para acolchar en el Día Nacional del Acolchado

Inspiración para acolchar en el Día Nacional del Acolchado


En el cobertizo del fabricante: Geiger Counter Kit

En el cobertizo del fabricante: Geiger Counter Kit


Flashback: bricolaje de plumas y tocados de brocado

Flashback: bricolaje de plumas y tocados de brocado


Un paseo por el proyecto de los creadores

Un paseo por el proyecto de los creadores






Mensajes Recientes