Editing Termómetro conectado online
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
== Termómetro conectado online == | == Termómetro conectado online == | ||
− | ESTADO: | + | ESTADO: Verisón Inicial |
− | + | ||
Miembros: [[User:Tumaku]] | Miembros: [[User:Tumaku]] | ||
− | |||
=== Objetivo === | === Objetivo === | ||
Publicar online la temperatura de un térmometro a través de los servidores en la nube de electricImp, Carriots y Ducksboard | Publicar online la temperatura de un térmometro a través de los servidores en la nube de electricImp, Carriots y Ducksboard | ||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Motivación === | === Motivación === | ||
− | Empezar a trabajar sobre un proyecto real con las muestras que | + | Empezar a trabajar sobre un proyecto real con las muestras que electric imp ha donado a Makespace. |
Si se instala en el espacio, el proyecto permite consultar desde interner la temperatura real de Makespace Madrid | Si se instala en el espacio, el proyecto permite consultar desde interner la temperatura real de Makespace Madrid | ||
Line 46: | Line 39: | ||
El sensor de temperatura DHT11 es muy sencillo de utilizar pero no es "compatible" con el HW del imp debido a su protocolo "propietario" para leer la temperatura y a su alimentación a 5V (el imp sólo funciona a 3.3V). En el propio foro de electricImp recomiendan utilizar un micro intermedio (arduino) para leer la temperatura y pasar esa lectura al imp a través de una conexión serie [http://forums.electricimp.com/discussion/comment/7224#Comment_7224] | El sensor de temperatura DHT11 es muy sencillo de utilizar pero no es "compatible" con el HW del imp debido a su protocolo "propietario" para leer la temperatura y a su alimentación a 5V (el imp sólo funciona a 3.3V). En el propio foro de electricImp recomiendan utilizar un micro intermedio (arduino) para leer la temperatura y pasar esa lectura al imp a través de una conexión serie [http://forums.electricimp.com/discussion/comment/7224#Comment_7224] | ||
− | Para leer la temperatura del sensor DHT11 desde Arduino nos basamos en la librería y el skecth de Rob Tilliart en [http://arduino-info.wikispaces.com/DHT11-Humidity-TempSensor]. El enlace describe como instalar y utilizar la | + | Para leer la temperatura del sensor DHT11 desde Arduino nos basamos en la librería y el skecth de Rob Tilliart en [http://arduino-info.wikispaces.com/DHT11-Humidity-TempSensor]. El enlace describe como instalar y utilizar la librería desde el IDE de Arduino. |
'''Nota:''' La foto del sensor DHT11 en el enlace anterior muestra que tiene 4 PINes en su parte inferior. Sin embargo, el sensor montado sobre una pequeña place PCB vendido en DealeXtreme [http://dx.com/p/arduino-digital-temperature-humidity-sensor-module-121350] sólo expone 3 PINes. La siguiente foto describe la función de cada uno de esots PINes: | '''Nota:''' La foto del sensor DHT11 en el enlace anterior muestra que tiene 4 PINes en su parte inferior. Sin embargo, el sensor montado sobre una pequeña place PCB vendido en DealeXtreme [http://dx.com/p/arduino-digital-temperature-humidity-sensor-module-121350] sólo expone 3 PINes. La siguiente foto describe la función de cada uno de esots PINes: | ||
Line 103: | Line 96: | ||
'''Importante:''' La conexión serie del Arduino utiliza los pines 7 y 8 (no los pines 0 y 1) | '''Importante:''' La conexión serie del Arduino utiliza los pines 7 y 8 (no los pines 0 y 1) | ||
− | |||
− | |||
− | |||
==== 3er Paso: Crear una cuenta y un dispositivo en el servidor de Carriots ==== | ==== 3er Paso: Crear una cuenta y un dispositivo en el servidor de Carriots ==== | ||
Line 118: | Line 108: | ||
* Sensor: Temperature | * Sensor: Temperature | ||
* Enabled: Seleccionado (Carriots descarta las medidas recibidas del dispositivo si no está marcado como "Enabled") | * Enabled: Seleccionado (Carriots descarta las medidas recibidas del dispositivo si no está marcado como "Enabled") | ||
− | |||
− | |||
==== 4º Paso: Recepción de la temperatura por el 'imp' y subida a la nube de Carriots ==== | ==== 4º Paso: Recepción de la temperatura por el 'imp' y subida a la nube de Carriots ==== | ||
En el proyecto [[Hola Mundo eImp]] ya se explicó que electricImp permite programar tanto una aplicación local en el dispositivo 'imp' como un "agente" en la nube en el servidor de electricImp. Esta doble posibilidad facilita la implementación de servicios en Internet y la vamos a utilizar para enviar al servidor de Carriots los datos de temperatura recibidos desde Arduino. | En el proyecto [[Hola Mundo eImp]] ya se explicó que electricImp permite programar tanto una aplicación local en el dispositivo 'imp' como un "agente" en la nube en el servidor de electricImp. Esta doble posibilidad facilita la implementación de servicios en Internet y la vamos a utilizar para enviar al servidor de Carriots los datos de temperatura recibidos desde Arduino. | ||
Se recomienda repasar la sección "2º Paso: Cargar la aplicación Hola Mundo" del proyecto [[Hola Mundo eImp]] antes de seguir con este paso. | Se recomienda repasar la sección "2º Paso: Cargar la aplicación Hola Mundo" del proyecto [[Hola Mundo eImp]] antes de seguir con este paso. | ||
− | |||
− | |||
* Hacer login en la página de electric imp para acceder al IDE | * Hacer login en la página de electric imp para acceder al IDE | ||
Line 247: | Line 233: | ||
Las medidas recibidas por el servidor de Carriots se pueden ver seleccionando la opción "Data streams" dentro de "Data management" en el menú de la izquierda del panel de control [https://cpanel.carriots.com/stream/] | Las medidas recibidas por el servidor de Carriots se pueden ver seleccionando la opción "Data streams" dentro de "Data management" en el menú de la izquierda del panel de control [https://cpanel.carriots.com/stream/] | ||
− | ==== 5º Paso: | + | ==== 5º Paso: Publicación de los datos de temperatura en Ducksboard desde el servidor de Carriots ==== |
− | Se utiliza Ducksboard en el proyecto como una plataforma en la nube que permite visualizar "en vivo" medidas de sensores sin | + | Se utiliza Ducksboard en el proyecto como una plataforma en la nube que permite visualizar "en vivo" medidas de sensores sin necesiada de desplegar o codificar un servidor propio. |
El primer paso es crear una cuenta en el servidor de Ducksboard [https://app.ducksboard.com/signup/] (la cuenta es gratuita por un mes pero luego hay que pagar una subscripción si se quiere mantener el servicio). | El primer paso es crear una cuenta en el servidor de Ducksboard [https://app.ducksboard.com/signup/] (la cuenta es gratuita por un mes pero luego hay que pagar una subscripción si se quiere mantener el servicio). | ||
Line 254: | Line 240: | ||
Tras crear la cuenta, el siguiente paso es personalizar un panel o "dashboard". Utilizaremos el "Main dashboard" que se genera por defecto al crear la cuenta. Vamos a añadir dos "widgets" o ventanas al dashboard. En una de ellas simplemente mostraremos el último valor de temperatura recibido. En el otro, mostraremos una lista o "timeline" de los últimos valores reportados. | Tras crear la cuenta, el siguiente paso es personalizar un panel o "dashboard". Utilizaremos el "Main dashboard" que se genera por defecto al crear la cuenta. Vamos a añadir dos "widgets" o ventanas al dashboard. En una de ellas simplemente mostraremos el último valor de temperatura recibido. En el otro, mostraremos una lista o "timeline" de los últimos valores reportados. | ||
− | + | Para definir un nuevo widget, pulsar el botón '+' en la esquina superior izquierda del dashboard. En la siguiente página, pulsar "Show your own data" en la parte inferior de la pantalla. | |
− | + | El primer widget se crea seleccionando la opción "your own Numbers" y después "Counters". Pulsar sobre el botón "add this widget". Este widget presenta un contador con el último valor recibido. De fondo, también se incluye una gráfica de la evolución histórica de los valores recibidos. | |
− | + | ||
− | El primer widget se crea seleccionando la opción " | + | |
Ahora se pueden personalizar los parámetros de visualización del widget: | Ahora se pueden personalizar los parámetros de visualización del widget: | ||
* Name: La cadena de texto que se muestra para identificar la ventana del widget | * Name: La cadena de texto que se muestra para identificar la ventana del widget | ||
− | * Color: El color que se utiliza para | + | * Color: El color que se utiliza para representar el valor del sensor |
− | * Timeframe: La escala que se | + | * Timeframe: La escala que se utilizará para represntar la gráfica de evolución del sensor (horas, días, semanas...) |
Elegir los valores deseados y seleccionar "save preferences for this widget" en la parte de abajo de la pantalla. | Elegir los valores deseados y seleccionar "save preferences for this widget" en la parte de abajo de la pantalla. | ||
− | Una vez creado el widget, Ducksboard permite definir alarmas, hacer "pull" de medidas, recibir medidas en modo "push" desde el dispositivo o un servidor,... En nuestro caso sólo necesitamos implementar la funcionalidad "push" (el servidor de Carriots se encargará de enviar a Ducksboard los nuevos datos de temperatura tan pronto como estén disponibles | + | Una vez creado el widget, Ducksboard permite definir alarmas, hacer "pull" de medidas, recibir medidas en modo "push" desde el dispositivo o un servidor,... En nuestro caso sólo necesitamos implementar la funcionalidad "push" (el servidor de Carriots se encargará de enviar a Ducksboard los nuevos datos de temperatura tan pronto como estén disponibles. Para ello es necesario que nos fijemos en dos valores disponibles en la pestaña "DATA&API" del widget: |
* PUSH DATA TO THIS URL: es la dirección a la que Carriots enviará los datos de temperatura | * PUSH DATA TO THIS URL: es la dirección a la que Carriots enviará los datos de temperatura | ||
− | * YOUR API KEY: valor | + | * YOUR API KEY: valor utiliza en la cabecera de la petición http e identifica al cliente que envía el dato |
En el siguiente paso se utilizarán estos dos valores. | En el siguiente paso se utilizarán estos dos valores. | ||
− | + | El segundo widget presentará el "timeline" de los últimos valores de temperatura recibidos en Ducksboard. En la patall principal del "Main dashboard" volver a pulsar el botón '+' y luego 'Show your own data'. Ahora seleccionar "Your own text", elegir la opción "Timelines" y en ella la opción "Size: 1 column/2 rows". Como el widget anterior, utilizaremos los valores PUSH DATA TO THIS URL y YOUR API KEY en el siguiente paso. | |
− | + | ||
− | El segundo widget presentará el "timeline" de los últimos valores de temperatura recibidos en Ducksboard. En la | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
=== Enlaces === | === Enlaces === | ||
* Ducksboard público del sensor de Temperatura utilizado para construir el ejemplo: [https://public.ducksboard.com/YBhxqTLwFOJA-D8OtZeE/] | * Ducksboard público del sensor de Temperatura utilizado para construir el ejemplo: [https://public.ducksboard.com/YBhxqTLwFOJA-D8OtZeE/] | ||
− | + | * Repositorio en github con todo el código fuente: | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |