lunes, noviembre 09, 2015

El Internet de tus cosas con Edison y Sinfonier (I de III)

El pasado 26 y 27 de Octubre tuvo lugar en Madrid un hackaton organizado por MovilForum en colaboración con otras empresas. El objetivo era presentar el Reto Edison y mostrar las posibilidades que ofrece la placa Intel Edison para la realización de un prototipo funcional para cualquier proyecto de IoT (Internet of Things) que se nos pueda ocurrir, como por ejemplo una migración del proyecto de control del timbre de nuestro compañero Jorge Rivera. El reto, como la mayoría de los hackatones, está muy orientado a encontrar emprendedores con ideas innovadoras, en este caso en el mundo del IoT.

Figura 1: El Internet de tus cosas con Sinfonier & Intel Edison (Parte I de III)

La placa Intel Edison es un diminuto ordenador diseñado para eliminar las barreras de acceso a la creación de prototipos y la producción de los dispositivos conectados. En definitiva se trata de una plataforma que permite llevar a cabo aquellas ideas "locas" que nos rondan por la cabeza sin necesidad de tener amplios conocimientos del mundo hardware, todo ello facilitado con el uso de la placa de expansión Arduino, que también permite a aquellos usuarios del ya más que popular Arduino utilizar sus desarrollos anteriores.

Figura 2: Una placa Intel Edison que utilizaremos en esta serie

El objetivo de esta serie de posts es mostrar lo sencillo que puede ser pasar de un hardware como Intel Edison a un sistema complejo donde nuestra placa sea una más de una serie de elementos que interactúan entre sí orquestados por una tecnología de procesamiento en tiempo real, en este caso nuestro querido Sinfonier. Vamos a aprovechar esta serie para daros ideas en el mundo del IoT que podáis implementar y presentar si queréis a los concursos de integraciones de Latch o de topologías y bolts de Sinfonier que hemos lanzando desde Eleven Paths.


Figura 3: Proyecto de control de un timbre con Arudino y
Latch que podría ser migrado a Intel Edison.

Pero entremos más en detalle de lo que nos ofrece esta plataforma. Por un lado es destacable su alto rendimiento, ya que posee una CPU de doble núcleo y un microcontrolador de un sólo núcleo para admitir la recopilación de datos complejos en un encapsulado de bajo consumo. Por otro lado, cabe destacar su conectividad, ya que está dotada de WiFi y de Bluetooth. Estas características le proporcionan una fácil conexión y la posibilidad de conectarse a la red de nuestro hogar sin problemas.

Además de la placa Intel Edison, para poder crear prototipos, existen en el mercado una amplia colección de sensores que se pueden conectar directamente a la placa de expansión Arduino. Durante el hackaton proporcionaron el kit de sensores Grove Starter Kit Plus, que cuenta con los sensores necesarios para llevar a cabo las primeras pruebas y construir algunos prototipos modelo.

Cómo abordar la primera interacción con la placa Intel Edison

Lo primero será proceder a conectarla con un PC para poder configurarla. Se puede conectar tanto a ordenadores con sistema operativo Linux, Windows e incluso OS X, y lo único que necesitamos para la primera configuración es disponer de dos puertos USB libres. Vamos a explicar cómo configurar la placa en los distintos sistemas operativos.

Linux:
1) Conectar la alimentación y puerto serie de la placa. Se puede ver que la placa de extensión Arduino tiene dos conexiones de tipo micro usb, la que se encuentra en la esquina de la placa se corresponde con la alimentación de la misma, mientras que la otra se corresponde con el puerto serie que nos permitirá llevar a cabo la configuración.
2) Comprobar que el PC ha detectado correctamente que la placa Intel Edison está conectada. Para ello abrir una terminal y comprobar que al ejecutar ls /dev aparece en el listado ttyUSB0.
3) Ahora es el momento de conectarse con la placa Intel Edison a través de su interfaz serie, para lo que hay que ejecutar el siguiente comando:
sudo screen /dev/ttyUSB0 115200 -L
4) La primera vez que nos conectamos a la placa, esta no tendrá configurada ninguna contraseña de acceso, y por defecto el usuario para hacer el login es root.
Windows:
1) Para configurar la placa desde Windows, al igual que en Linux, lo primero que tenemos que hacer es conectar los dos cables micro UDB a dos puertos libres de nuestro PC. 
2) A continuación hay que instalar los drivers USB y FTDI para que funcionen estos puertos. Los drivers pueden descargarse de las siguientes direcciones respectivamente:
https://software.intel.com/es-es/iot/hardware/edison/downloads
http://www.ftdichip.com/Drivers/D2XX.htm
3) Para comprobar que la instalación se ha completado correctamente podemos acceder a Panel de control -> Administrador de dispositivos -> Puertos y comprobar que se han instalado los controladores deseados.
Figura 4: Placa Intel Edison reconocida como USB Serial Port (COM7)
4) Para conectarnos con la placa a la línea de comandos desde Windows utilizaremos PuTTY, donde seleccionaremos una conexión tipo serial, una velocidad de 115200 y el nombre del puerto serial donde hayamos conectado la placa como se ilustra en la siguiente imagen.
Figura 5: Conexión Putty a una placa Intel Edison
Para conectarnos al Yocto Linux de la placa el usuario por defecto es “root” y viene sin password configurada.
OS X:
1) Como en los casos anteriores, lo primero es conectar ambos cables USB de la placa al ordenador.  
2) Abrir una sesión Terminal 
3) En la ventana del Terminal introducir el comando: 
ls /dev/cu.usbserial-*
4) Buscar en la lista de dispositivos conectados un dispositivo que contenga cu.usbserial. Por ejemplo: /dev/cu.usbserial-A402YSYU. Si tu dispositivo no está en la lista, verifica que tu placa está encendida y conectada a tu sistema. 
5) Para conectarse a la placa a través del USB serial, desde el Terminal introduciremos el siguiente comando: screen /dev/xx.usbserial-XXXXXXXX 115200 –L, donde /dev/xx.usbserial-XXXXXXXX es reemplazado por el nombre de tu dispositivo. Una vez introducido el comando ya estaríamos dentro de la placa y podríamos comenzar su configuración.
Configuración de la placa:

Para configurar la placa Intel Edison lo más sencillo es ejecutar el siguiente comando:
 root@edison:~# configure_edison --setup
Se iniciará una configuración guiada en la que se establecerá el nombre del dispositivo, la contraseña para el usuario root y se conectará la placa a una de las WiFi disponibles, proporcionando las credenciales para la misma.

Al terminar la configuración se mostrará un mensaje indicando la dirección IP que se le ha asignado a la placa, mediante la cual se podrán realizar conexiones a la misma desde cualquier otro dispositivo que esté en la misma red mediante una conexión ssh. También se puede comprobar la IP que tiene asignada el dispositivo mediante el comando “ifconfig”. A continuación se muestra una captura del mensaje que nos aparece cuando se ha configurado correctamente el dispositivo, al acceder a su IP a través de un navegador web.

Figura 6: Panel de información del placa Intel Edison 

Una vez se tiene configurada la placa Intel Edison y conectada a una red WiFi se puede comenzar a trabajar con ella. Los diferentes lenguajes de programación que admite son C, C++, Python, Node.js y Javascript. Desde Intel se proporcionan algunos entornos de desarrollo como Arduino, Eclipse, Wyliodrin e Intel XDK.
● Para JavaScript y Node.js Intel® XDK IoT Edition
● Para C/C++ Eclipse*
● Para Arduino descarga el IDE oficial de Arduino e instala el “Intel i686 Boards by Intel” a través del menú Herramientas -> Placas -> Boards Manager
● Python instalado de forma nativa, no dispone de IDE como tal.
Con el objetivo de facilitar esta integración hardware-software, en nuestro caso nos decidimos a crear un API REST en Python que permitiera interactuar con los diferentes sensores del Grove Starter Kit Plus que acompañaban a la placa mediante simples consultas, de esto os hablaremos en siguientes artículos.


Figura 7: Proyecto de visualización de redes WiFi inseguras con
Sinfonier realizado en el Hackaton de la Campus Party México 2014

Además como hemos comenzado diciendo pretendemos ir más allá y completar la integración de la placa Intel Edison con Sinfonier permitiendo realizar una programación visual para interactuar con los diferentes sensores en tiempo real y sin necesidad de amplios conocimientos de hardware ni software. Nos vemos en la siguiente entrega y recordad que nuestro compañero Jorge Riverá dará un taller en el hackaton del 19 de Noviembre en Madrid sobre IoT y Latch. Más información en el libro de Sinfonier.

- El Internet de tus cosas con Edison y Sinfonier (I de III)
- El Internet de tus cosas con Edison y Sinfonier (II de III)
- El Internet de tus cosas con Edison y Sinfonier (III de III)

Autores:
Eva Suárez (@EvaSuarez22)
Pedro Jesús Martínez (@pejema44)

5 comentarios:

Anónimo dijo...

Y cual es la diferencia entre un Rasperberry?

prueba dijo...

Una alternativa más, nadie se quiere quedar fuera, del internet de las cosas, pero me quedo con proyectos, como Rasperberry o arduino, aunque esta placa parece más potente, bq creo que también había diseñado una placa para estos menesteres.

Anónimo dijo...

Aquí en méxico, su precio es mas alto que las demás placas.

Anónimo dijo...

La diferencia entre una Raspberry y esta placa, según he leído en la web, es que la primera está pensada como un ordenador low cost, mientras que la Edison está enfocada al mundo IoT y en ella prima el tema de la conectividad sin necesidad de añadirle módulos permitiendo así integrarla dentro de otras cosas, como por ejemplo también dispositivos wearables.

Daniel Roman dijo...

Teniendo en cuenta que es un Linux.... ¿Que tal se lleva con el tema de apagarlo de golpe?

Lo bueno de Arduino es que es un controlador sin SO con lo que es muy útil en entornos donde se puede apagar y encender en segundos.

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares