Raspberry Pi – Asignando un dominio .local

Es muy probable que ha estas altura estemos bien familiarizados con el comando ifconfig, un comando que nos permite conocer la dirección IP que se le ha asignado a nuestra Raspberry Pi y que sirve de referencia para muchas de las actividades que podemos hacer con ella, acceso SSH, VNC, Web, etc.

¿Pero que sucede cuando por alguna razon olvidamos la IP, o reiniciamos el Router y le asigna una dirección diferente a la Raspi?, en el mejor de los casos tenemos el teclado y monitor conectados para ver en pantalla la nueva IP, pero, ¿y si no es así? estoy seguro que para muchos esto ha sido un gran dolor de cabeza.

Una de las maneras mas fáciles y rápidas de darle solución a este problema, es aplicando una técnica conocida como mDNS o Multicasting Domain Name Servicing, que básicamente consiste en tener un pequeño servicio (demonios en linux) en nuestra Raspi que le permita ser descubierta por cualquier equipo en la red a través de un nombre de dominio.

domain name

Antes de empezar con la instalación es importante tener las referencias y el software de nuestra Raspi actualizado, esto básicamente es una costumbre a considerar para mantener al día nuestro software y reducir al máximo los posibles bugs entre versiones. Para hacerlo solo ejecutamos:

sudo apt-get update

sudo apt-get upgrade

En caso de que aparezca algún tipo de mensaje solo tecleamos “Y” para que continue con la instalación. Posteriormente instalaremos “Avahi”, el servicio que mantendrá nuestra tarjeta visible en la red:

sudo apt-get install avahi-daemon

Prácticamente con esto seria suficiente, pero podemos mejorarlo aun mas definiendo algún nombre de dominio único que podamos recordar con facilidad y que suele ser de gran ayuda para cuando tenemos mas de una Raspberry Pi conectada a la misma red.

Para lograr este ultimo paso editamos los archivos:

sudo nano /etc/hosts

Y cambiamos la palabra “raspberrypi” de la ultima linea por el nombre que queramos asignarle, “robotcos” en mi caso. Y del mismo modo el archivo:

sudo nano /etc/hostname

reiniciamos para terminar y deberíamos poder acceder de la manera que queramos (SSH, VNC, Web) con el nombre que asignamos de la siguiente manera:

ssh pi@robotcos.local

.local es una extension reservada para LANs, por lo que al ser interpretada por un router automáticamente hace una búsqueda en la red local.

Simple no!? y mucho mas fácil de recordar que una dirección IP.

 

Raspberry Pi – Drivers TL-WN725N

Como ya hemos hablado en este blog, una de las maneras mas practicas de conectar nuestra Raspberry a la red y a internet es mediante WiFi, ya que así tenemos esa libertad de movernos sin problemas de cables. Existe muy poca variedad de adaptadores USB compatibles con el sistema de nuestra tarjeta y es probable que algunos de estos no los encontremos ni en la tienda mas popular de nuestra ciudad, por lo que recurrimos a comprar cualquier modelo que al llegar a casa no nos servirá.

En esta entrega veremos como agregar algunos drivers, para lograr expandir la compatibilidad de nuestra Raspi, específicamente para TL-WN725N de TP-LINK, que suele ser uno de los mas fáciles de encontrar.

c26-TL-WN723N-1-l

El primer paso es revisar la version de Linux que tenemos instalada, el comando uname -a devuelve una descripción similar a:

Linux raspberrypi 3.12.28+ #709 PREEMPT Mon Sep 8 15:28:00 BST 2014 armv6l GNU/Linux

De esta información lo que tomaremos para mas adelante es la parte 3.12.28+ #709, tengamos en cuenta que este dato puede variar para cualquiera.

En el siguiente paso debemos conectar el adaptador y mostrar el listado de los dispositivos conectados con el comando lsusb, encontraremos la descripción similar a:

Bus 001 Device 005: ID 0bda:8179 Realtek Semiconductor Corp.

Que corresponde al index y ID del adaptador USB que conectamos, el driver que instalaremos esta limitado a dispositivos con los siguientes IDs:

ID 2001:3310
ID 2001:330F
ID 07B8:8179
ID 0BDA:0179
ID 0BDA:8179

y para versiones de linux superiores a  3.12.28:

ID 056E:4008
ID 2001:3311
ID 0DF6:0076

Una vez que se tenga esta información tendremos que encontrar la relación con el archivo que tenemos que instalar en el siguiente listado:

Para mi caso  3.12.28+ #709, #710 – 8188eu-20140908.tar.gz hace match con la version de linux que tengo instalada por lo que 8188eu-20140908.tar.gz es el archivo que tendré que instalar.

La serie de comandos anteriores indica la forma de descargar e instalar, recuerden cambiar 8188eu-201xyyzz.tar.gz por el del archivo correcto para su version, 8188eu-20140908.tar.gz en mi caso.

Si llegamos hasta aquí sin ningún problema, solo restaría configurar las credenciales de nuestra red como hemos visto anteriormente (WiFi Setup) y reiniciar la Raspberry Pi, espero les sirva :).

Referencia: Raspberrypi.org (ingles)

Raspberry Pi – Multiples redes WiFi

En uno de nuestros post anteriores hablamos de como configurar nuestra Raspi para conectarse de manera automática a la red utilizando un adaptador USB-WiFi (ver aqui), así como hablamos de acceder de manera remota desde otro equipo utilizando herramientas como VNC o SSH (ver aqui), lo cual nos facilita la vida al no tener que comprar un monitor y accesorios solo para usarlos con nuestra tarjeta.

Hasta aquí todo es felicidad, la Raspi se conecta al iniciar, entramos a ella por SSH o al modo gráfico por VNC y trabajamos en casa u oficina sin ningún problema, pero ¿que pasa cuando me tengo que mover? si necesito conexión tengo que volver a configurar la raspberry para la nueva red ¿cierto? y ocupare monitor y accesorios nuevamente, ¿tendré que llevarlo conmigo a todo lados?.

Bueno pues una de las soluciones mas simples y rápidas es configurar nuestra tarjeta para que recuerde el mayor numero de redes o puntos de acceso a los que posiblemente se podría conectar, la casa, la oficina, la escuela, la casa de un amig@, etc.

Para que esto funcione el primer archivo a editar es:

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

y tendríamos que dejarlo similar a:

como vemos tenemos que crear un objeto “network” por cada red que nuestra Raspi recordara, así como un alias para cada una dentro del parametro id_str.

Y el segundo archivo es:

sudo nano /etc/network/interfaces

y tendría que quedar como sigue:

es muy similar al que teníamos anteriormente la única diferencia es que se agrega la referencia al archivo donde configuramos los datos de acceso y como manejara cada una de las redes. Y eso es todo! en teoría cada que nuestra Raspi encienda tratara de conectarse a cada una de las redes que hayamos listado en el archivo en el mismo orden en el que se pusieron, Red1, Red2, etc. hasta que logre una conexión. Sin duda para nosotros ha sido de gran ayuda puesto que ya no necesitamos de monitor y accesorios cada que hay que moverse, procuramos llevar listadas todas las posibles redes para conectarnos sin problema, incluso la de nuestro telefono para cuando las redes fallan y tenemos que compartir el internet, ojala les sirva tambien :)

 

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.

Codebender, programa Arduino desde la web

Sin duda los web IDE’s se han vuelto muy populares hoy en día y para Arduino no pudo ser la excepción. En esta ocasión te presentamos Codebender, una plataforma (no oficial de Arduino) con la cual podrás programar casí cualquier Arduino desde la web, y digo casí por que estoy seguro que abarca 99% de toda la famila Arduino.

Codebender se describe bajo el moto de “code fast, code easy” (programa rápido, programa fácil) y realmente es que están haciendo un gran trabajo estos chicos. Esta plataforma nos permite escribir código, compilarlo, mandarlo a nuestro Arduino y además compartir nuestro código.

Screen Shot 2014-09-18 at 4.15.25 PM

Codebender fue inspirado en todas aquellas personas nuevas con Arduino y que tienen que gastar mucho de su tiempo descargando/configurando su IDE de Arduino. Con esta plataforma se vuelve todo más simple, solo tienes que crear una cuenta, descargar un par de drivers para tu browser y listo, puedes programar tu Arduino. Las ventajas de esto es que todo vive en la web al igual que tus proyectos así que no tienes que preocuparte por tus archivos nunca más. El problema de los drivers y sistemas operativos está resuelto, solo necesitas un web browser y ya (te recomiendo Google Chrome o Mozilla Firefox).

Prueba esta plataforma y también tu quedarás enamorado. Es muy sencilla de configurar, la misma aplicación web te va ayudando.

 

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.

123D Circuits, simula Arduino desde la web

En esta ocasión te vamos a presentar 123D Circuits, una excelente herramienta para aprender a programar Arduino de una manera virtual. Esta App nos permite crear circuitos, programar Arduino y simular nuestro proyecto.

 

123D circuits está pensado para la colaboración y fabricación de PCB’s. El mismo simulador contiene una sección donde podemos diseñar el PCB del circuito contando con la opción de descargar los archivos para fabricar nosotros mismos el circuito o mandarlo fabricar con ellos.

Screen Shot 2014-08-16 at 5.56.15 PM

Simulador
En esta sección puedes diseñar tu circuito con Arduino, es tan sencillo como en la vida real ya que contiene una gran cantidad de componentes tanto de entrada como de salida. Aquí mismo es donde puedes poner a correr tu código y ver funcionar tu proyecto.
Screen Shot 2014-08-16 at 5.34.36 PM
Diseño de PCB
123D circuits está preparado para que acomodes tus componentes y crees el diseño del PCB. Una vez que hayas terminado tu proyecto puedes descargar los archivos para que fabriques tu propio circuito o lo puedes mandar fabricar con alguno de los proveedores.

 

Screen Shot 2014-08-16 at 5.49.19 PM

No importa si ya tienes o no experiencia con Arduino, está App resultará ser demasiado útil para ti y también para las personas que se adentran al mundo de Arduino. Haz tu cuenta de 123d Circuits.