Squink, imprime tu circuito antes de mandarlo a producción.

La impresión 3D ha cambiado la forma en que se hace un prototipo de hardware permitiendo bajar el tiempo de prototipado y sus costos. ¿Pero te imaginas poder imprimir circuitos de una manera sencilla?

Botfactory quiere cambiar este paradigma y es por eso que han fabricado Squink, una pequeña fabrica de circuitos impresos que permitirán imprimir tu circuito de manera rápida y por un precio al rededor de los $2.00 dlls. por impresión. El circuito es fácilmente diseñado a traves de una aplicación web. La impresora aplica pequeños puntos de pegamento conductivo que permite pegar los componentes a la tarjeta.

El objetivo de Squink no es reemplazar el proceso de fabricación de una tablilla electrónica sino ser una prueba antes de mandar tus circuitos a producción sin crear un retraso en el proceso creativo. Actualemente pueder ver su campaña en Kickstarter y conocer más acerca de este increible proyecto.

 

 

Raspberry Pi B+ agrega más puertos y caracteristicas consumiendo menos energía

Hoy por la mañana fue presentado el nuevo modelo Raspberry Pi B+ de la mano de Eben Upton (CEO de Raspberry Pi Foundation). Este nuevo modelo incorpora grander mejoras al modelo B del cual todos estamos enamorados. Este nuevo modelo integra el mismo procesador BCM2835 como su antecesor, corre el mismo software y mantiene sus 512 MB de RAM. Entre las mejoras de este modelo se encuentran las siguientes:

  • Más puertos GPIO: Este “header” ha crecido un poco ya que ahora cuenta con 40 pines manteniendo el mismo pinout de los 26 pines que tiene el modelo B.
  • Más puertos USB: Ahora contamos con 4 puertos USB 2.0 comparados con los 2 puertos del modelo anterior. Al parecer no habrá problemas de corriente al conectar 4 dispositivos a estos puertos.
  • Micro SD: El socket de la tarjeta SD fue remplazado por un comodo socket push-push micro SD.
  • Menos consumo de energía: Mediante la sustitución de reguladores lineales se ha reducido el consumo de energía entre 0.5 W y 1.0 W.
  • Mejor Audio: El circuito de audio incorpora una fuente de alimentación de bajo ruido por lo que esto no afectará la calidad de audio.

Al parecer las mejoras son significativas auque nos hubiera gustado ver mejoras más internas tanto de procesador como de memoria RAM. Raspberry Pi Foudation ha hecho una buena jugada ya que empezaban a aparecer muy buenos competidores. Esperaremos un poco antes de tener la nuestra.

 

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.

 

Arduino Zero, resultado de la colaboración entre Arduino y Atmel

Hace algunos días se presento el nuevo Arduino Zero, el cual es el resultado entre la colaboración directa entre Arduino y Atmel. Este nuevo integrante tiene la cualidad de contar con un procesador de 32 bits, cosa que lo pone por delante de su hermano, el Arduino UNO, el cual cuenta con un microcontrolador de 8 bits. Esto hace a este Arduino una plataforma más poderosa lista para los retos actuales: dispositivos IoT, automatización, robots o cosas que aún ni nos imaginamos.

Entre las caracteristicas con las que cuenta esta nueva tarjeta es que cuenta con un MCU SAMD21 de Atmel que cuenta con un ARM Cortex® M0+. Además de eso se integra un sistema de depuración completa a nivel de hardware el cual será muy útil en proyectos más complejos. Otra caracteristica que nos gusto pero que se nos hizo insuficiente es la salida análoga con la que cuenta ya que es un compelto DAC. Las caracteristicas tecnicas de esta tarjeta son:

Microcontroller ATSAMD21G18, 48pins LQFP
Operating Voltage 3.3V
Digital I/O Pins 14, with 12 PWM and UART
Analog Input Pins 6, 12-bit ADC channels
Analog Output Pins 1, 10-bit DAC
DC Current per I/O Pin 7 mA
Flash Memory 256 KB
SRAM 32 KB
EEPROM up to 16KB by emulation
Clock Speed 48 MHz

En verdad este Arduino es una verdadera joya que permitirá desarrollar aplicaciones de 32 bits. Esperamos tener pronto nuestro Arduino Zero.