EzTemp&RH: Easy Temperature and Humidity for Raspberry Pi

Nos gustaría mucho compartir esta campaña de indiegogo que nos parecio muy interesante. Se trata de un sensor de temperatura y humedad digital diseñado para Raspberry Pi. Este proyecto está siendo desarrollado por unos increibles Hackers del sur de España y se trata de EzTemp&RH.

Dicho sensor no solo es compatible con Raspberry Pi sino que cuenta con un puerto serial que lo hace compatible con más tarjetas de desarrollo. El dispositivo ha sido diseñado con un sensor de humedad HIH5030 de Honeywell el cual es muy popular en usos industriales, además cuenta con un termistor para medir la temperatura. Si bien existen otros sensores que hace lo mismo pero de una forma análoga o con protocolo propio, al parecer este sensor tiene mucha más estabilidad que los otros.

Este proyecto es Open Source y puedes ver los archivos en Github. Te invitamos a apoyar esta campaña en Indiegogo.

Electric Imp – Lección 3 – Agents (Agentes)

Una parte muy importante en el #IoT es la comunicación con el resto de Internet y para eso Electric Imp utiliza Agents o Agentes. En la lección anterior explicamos un poco acerca de que son los agentes y su proposito. En esta lección vamos a crear un poco de código para el Agente y para hablar con nuestro imp desde el browser.

Circuito

Vamos a utilizar el mismo circuito que utilizamos en la lección anterior:

  • Nuestro Electric Imp con su breakout
  • Resistencia de 330 Ohms
  • LED

Y Conectamos el circuito de la siguiente  manera:

Código

En esta ocasión y en las siguientes empezaremos a utilizar dos códigos, uno para el agente y otro para el dispositivo. Nuestro código tiene como objetivo encender y apagar nuestro LED utilizando una URL que podrá ser ejecutada desde nuestro browser.

Dispositivo

Si ejecutamos nuestro código hasta este punto no va a suceder nada interesante. Lo que es realmente importante es lo que sucede en la linea que dice:

agent.on("led", setLed);

Esta función está escuchando mensajes desde el agente. Cuando el agente envie un mensaje llamado “led” al dispositivo la función setLed será ejecutada. Este es un ejemplo de “Programación orientada a eventos” que implementa Electric Imp.

Agente

En el código del Agente registramos un handler HTTP. Este handler será ejecutado a la vez que se pida a traves del URL del browser. El URL correcto para nuestro imp se generará desde la consola del Web IDE. En el código del agente revisamos si se recibe como parametro “led”, de ser así obtenemos el valor del parametro. El valor que se recibe desde la URL es enviado al dispositivo (imp) gracias a la siguiente función:

device.send("led", ledState);

El cual habla directo con la función antes descrita en el código del dispositivo y lleva como parametro el estado del LED que obtuvimos del URL.

Para probar este código podemos obteter el URL de nuestro dispositivo desde la consola. Vemos que tenemos dos URL’s, uno es para encender el LED y el otro es para apagarlo. Podemos pegar cada uno desde nuestro browser y Boom! la magia del #IoT hará de las suyas.

Cualquier duda dejanos un comentario y con gusto te podremos ayudar.

 

 

 

Electric Imp – Lección 2 – Hello World!

Esta nueva lección te ayudará a conocer como es que se programa el imp. Es bueno que nos vayamos familiarizando con el lenguaje de programación, el IDE y el Blink Up. El objetivo de la lección es hacer un pequeño “Hello World” al estilo Hardware Hacking Mx, es decir vamos a hacer un Blink LED.

Blink Up

Blink Up es una tecnología que esta siendo patentada por Electric Imp y se utiliza para poner en linea los imps, es decir, para conectar el imp a la red de Wi-Fi. La forma en que se hace esto nos ha parecido bastante sorprendete ya que el imp cuenta con un fototransitor que recibe una secuencia de parpadeos de luces y en esta secuencia se envian todos los datos necesarios (como nombre de red y contraseña) para que el imp se conecte a la red inalámbrica, sorpendente ¿verdad?. Para usar el Blink Up necesitaremos realizar los siguientes pasos:

  • Crear una cuenta en el sitio de Electric Imp.
  • Conecta tu imp el cable USB para energizarlo, recuerda solo es para energía no para datos.
  • Bajar la App a tu dispositivo
  • Abre la App en tu dispositivo, inicia sesión y selecciona la red a la que te quieres conectar. Ingresa también la contraseña de la red (si es que tiene) y listo, presiona el boton de Blink Up y acerca la pantalla de tu dispositivo al imp. En el video de abajo se aprecia más esto que te hemos explicado.

Si todo salio bien el LED de tu imp debe de estar parpadeando color amarillo, esto significa que está conectado a la Red. En caso de parpadear color rojo significa que aún no se ha conectado a la red.

 Web IDE

Una vez que dimos de alta nuestro imp vamos a ingresar a nuestro web IDE donde vamos a ver que ya esta dado de alta un imp pero con un código extraño.

Electric_Imp_IDE1

Al poner el cursor sobre el dispositivo veremos como se dibuja un pequeño engrane.

Electric_Imp_IDE2

Al dar click sobre el engrane podemos cambiar el nombre de nuestro imp, en nuestro ejemplo le nombramos Johny1. Debajo podemos crear un nuevo modelo o “proyecto” o bien asignarlo a un proyecto que ya hayamos creado antes. Para nuestro ejemplo creamos un nuevo proyecto que se llama “Hello World HHMX”.

Electric_Imp_IDE3

Una vez que hicimos esto nuestro nuevo modelo aparecera en “Active Models”. Ahí mismo va a aparecer nuestro IDE en blanco donde pondremos nuestro código.

Electric_Imp_IDE4

Circuito

Para nuestro “Hello World” vamos a armar un pequeño circuito para lo cual necesitaremos:

  • Nuestro Electric Imp con su breakout
  • Resistencia de 330 Ohms
  • LED

Conectamos el circuito de la siguiente  manera:

Código

Antes de explicar el código necesitamos explicarte un par de conceptos. Si ves en el editor de código tienes dos ventanas, una es para el código del agente y la otra es para el código del dispositivo.

  • Agent (Agent): El agente es el código que se corre en la nube de Electric Imp, le permiten hacer procesamiento pesado, realizar y procesar solicitudes HTTP y almacenar pequeñas solicitudes de datos.
  • Device (Dispositivo): El dispositivo en sí es el imp, el código que se ponga en el editor de device se corre en el imp. Para este ejemplo solo correremos código en el device.

Pegamos el código en nuestra ventana de device, escogemos a nuestro dispositivo y damos “Build and Run”. Listo, veremos parpadear nuestro LED y habremos hecho nuestro primer proyecto con Electric Imp.

Electric_Imp_IDE53

Electric Imp – Lección 1 – Primeros pasos

Antes de empezar a trabajar y desarrollar proyectos con el “Imp” (Es como nos gusta apodarlo) tienes que familiarizarte primero con algunos conceptos básicos pero muy importantes. Estos conceptos hacen referencia a todas las cosas que necesitas para empezar a trajar con el Imp, tales como: la tarjeta de desarrollo, el IDE, etc. Pero mejor vamos a detallar cada uno.

El Imp

A primera vista pareciera ser una tarjeta SD para una camara fotográfica pero no es así. Esa tarjeta que ves aquí contiene adentro un procesador Cortex M3 y además un modulo de wifi. Sí, todo dentro de esa pequeña tarjeta. En esta tajeta es donde sucede toda la magia.

El “breakout board”

Esta tarjeta es un PCB que contiene la electrónica necesaria para suministrar la energía electrica y además cuenta con el header que ayudarán a conectar todo tipo de sensores o componentes electrónicos para tu proyecto. Además cuenta con un pequeño puerto USB, no es para transferencia de datos sino que es para alimentar de energía al Imp.

iPhone o Dispositivo Android

Sonará muy curioso que necesites un dispositivo de estos pero realmente es necesario para conectar tu Electric Imp a tu red Wi-Fi. Electric Imp utiliza una tecnología llamada BlinkUpTM la cual utiliza una secuencia de encendido y apagado de luces para pasar toda la información de la Red a tu Imp. En las siguientes lecciones detallaremos más a fondo esta tecnología y acabaras de entender de que estamos hablando pero consigue uno de estos dos dispositivos.

Web IDE

Como todo hardware programabe necesitamos un ambiente de desarrollo, en el caso de Electric Imp se usa un web IDE. El web IDE solo corre en tu browser y es por eso el nombre. Con este IDE podrás ver todos tus Imp’s que esten dados de alta, y podrás programar tu Imp de manera remota. Sí, podrías tener un Imp en tu casa y podrías actualizar tu proyecto desde la oficina o cualquier otro lugar con acceso a Internet.

webIDE

Lenguaje de programación

Electric Imp utiliza un curioso pero sencillo lenguaje de programación llamado Squirrel. A nuestro punto de vista este lenguaje parece una combinación de C/C++ y JavaScript además que es muy fácil de aprender si es que ya sabes programar desde antes.

Está fue una rápida pero importante introducción que te ayudarán a conocer más esta excelente plataforma para Internet of Things.

 

Lección 0 – Electric Imp – ¿Qué es y qué puedo hacer? [Imptroducción]

La plataforma Electric Imp es la solución completa para conectar (casi) cualquier dispositivo a Internet. Electric Imp pareciera ser una tarjeta SD común y corriente pero en realidad solo es un disfraz ya que integra de manera sorprendente una combinación de un microprocesador y un modulo Wi-Fi. Gracias a su simplicidad Electric Imp es una gran plataforma lista para desarrollar proyectos y/o productos que formen parte de la revolución del “Internet of Things”.

Pero esta plataforma no solo está conformada por Hardware, sino que su parte más sorprendente es que tienen su propio servicio en la nube que hace aún más fácil hacer dispositivs IoT, practicamente está todo listo para empezar a desarrollar. Esta solución tiene como objetivo disminuir drámaticamente el costo y tiempo de comecialización, ser confiable y seguro, potenciar a los fabricantes/makers/hackers escalar rápidamente sus productos y servicios conectados a millones de usuarios.

¿Qué podría hacer con Electric Imp?

Al igual que con Arduino, Raspberry Pi, etc. podríamos hacer una infinidad de proyectos de hardware que nunca antes nos hubieramos imaginado. La diferencia es que el Imp está listo para ser conectado a Internet gracias a su modulo Wi-Fi. Pero, ¿Qué cosas se podrían conectar a Internet y para qué?, pues veamos algunos ejemplos, algunos ya son productos comerciales.

TempBug: un termometro conectado a Internet

Solo es necesario un pequeño termometro analogo, electric imp y algunos servicios web para conocer en tiempo real la temperatura de tu casa, oficina, escuela, etc. Con este proyecto podrás visualizar la información de temperatura, graficarla y recolectarla para su analisis.

nextWave

Un microondas conectado a Internet el cual calienta con el tiempo exacto tu comida. Este fue desarrollado en un Hackathon por unos jovenes ingenieros, dicho “hack” es muy interesante por la forma en que se comunica en móvil con el microondas ya que todo es por Wi-Fi.

Lockitron

Este es un dispositivo que se puede conectar/adaptar a las chapas de las puertas para habilitar/deshabilitar las cerraduras y tener un control de acceso a tu hogar.

Aros

Un apararto de aire acondicionado inteligente que aprende de su presupuesto, localización, el horario y el uso para mantener automáticamente la temperatura perfecta y maximizar el ahorro para su hogar. Puede ser controlado desde cualquier lugar mediante la aplicación Wink en su dispositivo móvil.

 

Internet of Things, cuando las cosas conocieron Internet

Hoy en día la tecnología avanza y pareciera que nuestro vocabulario aumenta. Cada vez hay más palabras que parecieran que son una “moda” impuesta por las nuevas tendencias del mundo y a la vez otras palabras mueren. “Internet of things” o en español “Internet de las cosas” es un conjunto de palabras nuevo y que están moviendo al mundo a un lugar donde estará todo completamente conectado gracias a Internet. Muchas películas de ciencia ficción predecían un futuro donde nuestras ropas serán diferentes, los autos volarán y todos viviremos en plena armonía. Tal vez muchas de estas predicciones no se han hecho realidad o no en su mayoría pero la predicción que poco a poco se va haciendo realidad es que las posibilidades de que hablemos con nuestras cosas y electrodomésticos es cada vez más real gracias al “Internet of Things”.

“Internet of Things” también llamado “IoT” describe a un mundo interconectado no solo de personas sino también de dispositivos y no es algo que pasará en el futuro sino que está sucediendo en estos momentos. Y bien, IoT está creciendo cada ves más y más, pareciera que es inevitable y que mientras formemos parte de esta tierra seremos parte de esto y no podremos escapar. Cada vez existen más dispositivos electrónicos con capacidades y tecnologías Wi-Fi, Bluetooth y RFID. Estos dispositivos están siendo utilizados para recolectar datos, llevarlos a internet, analizarlos y tomar decisiones.

Internet of Things no es más que el siguiente paso lógico en la evolución de la conectividad masiva, pasando de conectar no solo personas sino también cosas. Y como no podemos escapar de esto sería mejor que entendamos mejor el concepto y veamos la forma en que esto nos afectará o nos beneficiará.

¿Qué es exactamente “Internet of Things”?

En estos momentos Internet es una plataforma en la cual millones de personas interactúan unas con otras en tiempo real, es decir Internet es una plataforma usada por humanos, personas que a diario quieren saber más, conocer su entorno, compartir ideas o simplemente hablar con una persona al otro lado del mundo. Sin duda hay demasiadas computadoras, cables, routers y más “cosas” que hacen posible esta comunicación pero al final del día la información es enviada y recibida por humanos.

Reflexionando un poco, ¿qué sería internet si humanos?, es decir, un periódico en linea sin editores, redes sociales sin usuarios, videojuegos sin gamers, Youtube sin creadores ni consumidores de contenido. Es casi imposible imaginar esa cantidad de Petabytes de datos siendo transmitidos de casi todo el mundo. Internet of Things crea un concepto aún más diferente, según CISCO el IoT hace referencia al punto en que hay más “cosas” u “objetos” que personas conectadas a Internet y como dato curioso esto sucedió en el 2008. Internet of Things también hace referencia a una red donde múltiples objetos están interconectados unos con otros e interactúan entre ellos sin la participación de humanos. Este tipo de comunicación dispositivo-dispositivo involucra una recolección de información, procesamiento y la toma de decisiones dependiendo de esta información.

Es importante recordar que casi cualquier objeto en el mundo genera información y la mayoría de esta información no es recolectada. Además no olvidemos de que todo puede ser medido: temperatura, luz, humedad, masa, velocidad, distancia, frecuencia, etc. Estos datos generan a su vez información y con esta información se puede generar conocimiento lo que crea mejor tecnología para mejorar nuestra calidad de vida.

¿Cómo funciona todo esto?

Bueno imagina que vas llegando a tu casa de la oficina o del trabajo, tu termostato inteligente detecta que vas a llegar a casa dentro de 10 minutos y hace mucho calor en tu habitación, en eso enciende el aire acondicionado para que cuando llegues este una temperatura adecuada. O imagina otro escenario, donde saliste con mucha prisa de tu casa y dejaste la luz prendida, pero gracias a que tus apagadores tienen conexión a internet podrás recibir una notificación a tu teléfono diciéndote que dejaste la luz prendida y podrás apagarla de manera remota. Imagina además miles de sensores de temperatura conectados a Internet, recolectando información certera e instantánea, toda esa información sería capaz de ser transmitida a centros de investigación donde se podrán utilizar para su análisis. ¿Ahora te das cuenta del impacto que esto tiene?

Además en la actualidad y en los próximos años podremos encontrar herramientas que nos ayuden a crear prototipos electrónicos conectados a Internet hechos por empresas que hace algunos años no existían y no había sospecha de ellos. Algunos ejemplos de estas plataformas de desarrollo son “Electric Imp” y “Spark” core, las cuales son pequeñas tarjetas de desarrollo que cuentan con un microcontrolador y antena Wi-Fi. Así que si quieres que tus proyectos tengan Wi-Fi puedes investigar más acerca de estas tarjetas de desarrollo las cuales (en mi humilde opinión) se harán muy populares en los próximos años.

Aún no conocemos realmente el impacto que todo esto tiene o que llegará a tener, un mundo de personas y dispositivos interconectados, cambiando grandes cantidades de infamación en instantes de tiempo para poder así tomar las decisiones más adecuadas. Bienvenido al internet de las cosas, no te sorprenda que ahora podrás compras una cafetera con Wi-Fi y no solo tu teléfono o computadora. Solo esperemos que todo esto se use de manera adecuada y para el beneficio de la humanidad.