Arduino y Atmel lanzan el nuevo Arduino Wi-Fi Shield 101

Hace pocos días el equipo de Arduino junto con Atmel anunciaron su nueva colaboración, el Arduino Wi-Fi Shield 101. Este nuevo shield permite el prototipado rápido para aplicaciones “Internet of things” integradas directamento a Arduino.

Entre las caracteristicas con las que cuenta este nuevo shield es la capacidad de desarrollar aplicaciones más seguras ya que cuenta con CryptoAuthentication device que permite a los usuarios incorporar fácilmente capacidad de autenticación de hardware en su diseño. Además cuenta con un chip Atmel que es parte de SmartConnect family

Arduino Wi-Fi Shield 101 es compatible con Arduino Uno R3. Aún desconocemos el precio exacto de este Shield pero esperamos tenerlo pronto en nuestras manos.

Advertisements

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.