jueves, 28 de enero de 2016

Compartiendo Wifi con Netduino Plus 2

Después de tener todo listo para empezar, hay algo obviamente que en nuestra ruta falta y es darle salida a internet a nuestro Netduino, de todas las primera aventuras esta fue para mi la más complicada, la información está en todos los foros, pero al ser conversaciones y reportes de errores es un poco demorado entender a que se refieren.

Por otro lado mi PC tiene algo en particular y es que debido a que uso varias máquinas virtuales para trabajar con dispositivos móviles, me todo un ratito entender que era lo que debia configurar para poder usar la Wifi en casa con mi Netduino.

Los tradicional es conectar desde tu modem de internet un cable a tu netduino, sin embargo si como en mi caso eso significa cablear tu casa, este post podría ser también tu solución. Esto además de que al irse de casa a hacer un demo, depender de la red de cada lugar es una mala idea y a mano solo tenemos el plan de datos del móvil o bien la conexión de nuestro portatil a alguna red por ahí.

Lo primero que necesitas es un cable cruzado, reconocerlo es tan simple como comparar sus extremos, si la distribución de colores es diferente, ya lo tienes.

Ahora vamos a entrar a las opciones de red de nuestro Panel de Control y buscar la configuración de los adaptadores de red.

Este era el escenario al que me enfrentaba en mi PC


Lo primero es claramente identificar la red a compartir, en mi caso no era la Wifi directamente si no el Virtual Switch que tiene el nombre de mi conexión de red en casa (Yadira). Debes dar click derecho y entrar a las propiedades, y allí ingresar a la pestaña de compartir.

En mi caso debía seleccionar tambien el Virtual Switch de mi Ethernet y no la Ethernet directamente, que de hecho ni aparece. Después de eso la red aparece como compartida, tu internet debe seguir funcionando normalmente.


Ahora viene la parte que en realidad cuesta un poco poner a punto, pero que es necesario memorizar debido a que cada vez que desconectemos nuestras redes todo volverá a sus valores por defecto.

Después decodificar las recomendaciones en los foros estos fueron los pasos que realicé y únicos que me funcionaron, no desesperes, la red puede morir, enloquecer, vuelve al punto cero e inicia de nuevo, no pierdas la cabeza.

Ejecuta el comando IPCONFIG en la Consola de Comandos


Esto es importante pues necesitamos saber cual es el Gateway de nuestra Wifi. Ahora buscamos el Virtual Switch al cual le compartimos la Wifi e ingresamos a sus propiedades

Dentro de las propiedades editamos la configuración de IPv4


Allí configuramos una IP para nuestra subred, y configuramos el Gateway de la Wifi manualmente.


Ahora como vimos antes, entramos a nuestra configuración de red del Netduino y configuramos la IP teniendo en cuenta que el Gateway en este caso será la IP estática que asignamos a nuestro adaptador de red Ethernet en el paso anterior.

En este punto si quieres validar que todo va bien, presiona el botón de la board para resetear el Netduino y entonces deberás ver como muestra la IP que tiene asignada al iniciarse.


Como último paso de verificación, haz un ping a las IP estáticas que configuraste y si todo va bien, ambas responderán correctamente.



Para terminar de validar que nuestro Netduino tiene salida a internet debemos hacer un proyecto y probarlo, pero eso será en el siguiente post.


Fuente de la imagen de la cabecera: https://ciscoccvp.wordpress.com/2009/06/02/t1-crossover-cable/

jueves, 14 de enero de 2016

.NET Micro Framework

.NET Micro Framework es una plataforma de código abierto que permite escribir aplicaciones de código administrado C# utilizando Visual Studio para dispositivos embebidos. El proyecto es liderado por Microsoft Open Source Technologies. Su comunidad y código puede ser encontrada en Github http://netmf.github.io/


Para empezar con nuestro Netduino o cualquier otro dispositivo que soporte .NET Micro Framework debemos descargarlo e instalarlo. Su última versión estable a la fecha es SDK v4.3 (QFE2-RTM). La instalación queda en la ruta C:\Program Files (x86)\Microsoft .NET Micro Framework si no la hemos cambiado y allí podemos ver el soporte que tiene a las versiones anteriores.

La herramienta más importante del .NET Micro Framework es el Deployment Tool el cual nos permite realizar varias acciones en nuestro dispositivo, que iremos viendo en este post.
Para detectar nuestro Netduino, debemos seleccionar USB en la zona de Device y aparecerá nuestro dispositivo conectado. La primera que deberíamos probar es Device Capabilites que nos mostrará que versión de Firmware tiene nuestra board. La podemos encontrar en el menú Target:


Podremos ver entonces una información similar a la siguiente imagen: 


El botón Ping nos mostrará si nuestro Netduino está respondiendo correctamente, con lo que debieramos recibir una respuesta similar a esta de la imagen o minimo "Pinging TinyCLR"


Otra de las opciones que más usaremos es la configuración de red que tambien puede encontrarse en el menú Target.


En ella podremos configurar nuestra MAC Address y tambien la IP de nuestra red, un proceso que veremos en detalle en otro post.


Esta herramienta tiene muchas más opciones, las iremos descubriendo de forma contextual y según en uso que le demos en los siguientes post.

El anuncio oficina con más detalles se encuentra en Channel 9.


Para terminar, te recomiendo instalar el .NET Micro Framework Toolbox, ya que más adelante lo estaremos usando para los labs de este blog.

miércoles, 6 de enero de 2016

Conociendo Netduino

Como saben quienes me conocen, mi lenguaje de programación es C# razón por la cual para incursionar en el Internet de las cosas mi alternativa obvia era busca un dispositivo que lo soportara, y que afortunadamente existe. Mi elección fue Netduino. En este microcontrolador podemos programar con C# usando .NET Microframework, del cual hablaremos más adelante, por ahora conozcamos Netduino y sus diferentes opciones.

Netduino 1 y 2:
Netduino Plus 1 y 2: 

Netduino GO

Cada una de estas opciones difiere en sus diferentes capacidades. El Netduino 1 y 2 no tienen conexión a red a diferencia del el Netduino Plus 1 y 2. El Netduino GO permite conectar módulos extra y tampoco cuenta con conexión a red.

Como pueden ver en la última fotografía, el cable de conexión al PC es un cable Micro USB, los típicos que usamos para conectar nuestros celulares, a diferencia del Arduino que se conecta con un cable para impresora.

La comparación entre todos ellos más detallada la puedes encontrar directamente en el Wiki de Netduino.


Una de las más bonitas y grandes ventajas de las comunidades Open Source de Hardware y Software es como todos se ayudan unos a otros y Netduino no es la excepción. La fuente oficial de todos los recursos son los foros y el wiki donde todos los pertenecientes a la comunidad nos dirigimos a compartir o encontrar soluciones a los problemas y a realizar las descargas oficiales de recursos.

Aunque en los foros, wiki y montones de blogs y libros se encuentra muchos recursos mi intención con el blog es contarles y ponerles de forma concreta y corta algunas de las instrucciones para las aventuras típicas y que la verdad cuesta un poco de dificultad encontrar en tantos recursos dispersos.

El Netduino que usare para mis demos es el Netduino Plus 2. Las especificaciones oficiales están en el sitio de Netduino


A continuación les comparto un esquema que me gusto mucho para empezar a conocer el Netduino aquellos que no somos tan cercanos a los temas de la electrónica.


La idea es que vamos paso a paso, sobre todo por que mi blog está enfocado más a devs que a electrónicos y más a entender como podemos darle sentido y generar ecosistemas de soluciones que involucren Apps, Cloud e IoT, que al reto de describir el proceso de crear robots elaborados o cubrir temas de electrónica. 

Lo que haré será de hecho irles referenciando los recursos que yo misma voy usando para recordar todos esos temas, que hace más de 10 años ni tocaba pero que me tienen feliz aprendiendo.

Para empezar les recomiendo un par de libros en inglés Getting Started with Netduino y Getting Started with the Internet of Things. Y si prefieres leer en Español, el señor Carlos Navarro tiene su libro sobre Netduino 2

Instalación de herramientas
Luego de comprar el software habrá que instalar todo lo necesario. Recuerda que si tienes versiones del .NET Microframework o el SDK de Netduino instaladas ya, lo mejor es desinstalarlas.


Compatibilidad con Arduino
Muchos de los componentes tradicionales del Arduino pueden usarse para empezar, otros más complejos necesitan que existan los drivers correctos y a veces sencillamente no están o no hay compatibilidad. La comunidad si bien es grande es mucho más pequeña que la de Arduino, sin embargo con Netduino y otras boards que soportan .NET Micro Framework es seguro que seguirá creciendo.

:) Con esto estamos listos para empezar. En el siguiente post veremos como actualizar el Firmware de nuestro Netduino para comenzar con todas las de la ley.