Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ODROID Magazine 201605 Espanol
ODROID Magazine 201605 Espanol
ODROID
Año Tres
Num. #29
May 2016
Magazine
LAPROFUNDA
INTERNET
• CONFIGURA UN REPETIDOR TOR EN TU ODROID
• CONOCE LA INYECCION DE CODIGO INALAMBRICA
• Reproduce • Crea tu propio
tu música con smart car con
Cherry Music un ODROID-XU4
Qué defendemos...
Nos esmeramos en presentar una tecnología punta,
futura, joven, técnica y para la sociedad de hoy.
Dirección: Max-Pollin-Straße 1
85104 Pförring Alemania
PRODUCCION DE ODROID - 9
CHERRY MUSIC - 10
INYECCION INALAMBRICA - 12
REALIDAD AUMENTADA - 19
CAR PC - 36
CONOCIENDO A UN ODROIDIAN - 40
REPETIDOR TOR
convierte tu ODROID
en un repetidor Tor
Protegiendo a la vez la libertad de un ODROID
por David Gabriel
T
Aunque los servicios de Internet de las grandes empresas son
or es un software gratuito que permite acceder a una
muy buenos, en algunos se cuelan intrusos impertinentes, Tor
red abierta muy útil en comunicaciones anónimas. El permite crear un repetidor de acceso libre de miradas indiscretas.
nombre deriva de las siglas del proyecto original, The
Onion Router. Protege tu privacidad redireccionando el tráfi-
co de Internet a una red de miles de repetidores, y evita las uti- zado utilizando los siguientes comandos:
lidades que supervisan redes y analizan el tráfico recopilando
datos mientras navegas. En otras palabras, te hace “invisible”, $ sudo apt-get update
de modo que los sitios web no saben tu ubicación por la direc- $ sudo apt-get upgrade
ODROID MAGAZINE 6
REPETIDOR TOR
Si instalas la aplicación Arm opcional, debes añadir las siguientes líneas de con-
figuración en el archivo que hemos mencionando anteriormente:
A continuación, reinicia Tor para que la nueva configuración tenga efecto, para
ello usa el siguiente comando:
ODROID MAGAZINE 7
REPETIDOR TOR
Ten en cuenta que si tu red está protegida por un cortafuegos, tendrás que
configurarlo para que permita peticiones entrantes en los puertos, 9030 (para
el servicio de directorios) y 9001 (para el funcionamiento del repetidor). Puede
que tengas que recurrir a la Guía del usuario de tu cortafuegos para configurar
esta opción. Si has instalado Arm, puedes iniciarlo con el comando:
$ sudo arm
Aunque hay muchas opciones que se pueden configurar, las más interesantes
están relacionadas con los gráficos que puedes generar para monitorizar todo
el tráfico que pasa a través de tu repetidor. Consulta la ayuda de la aplicación
Arm, para obtener más información sobre cómo aprovechar todo su potencial.
Por defecto, Tor también soporta el protocolo Socket Secure (SOCKS), so-
bre el puerto 9050. Puedes configurar tu navegador para que sea un cliente Tor
y redirija todas las conexiones a través de repetidores Tor protegiendo así tu
privacidad y manteniendo el anonimato. En Firefox, por ejemplo, puedes ir a
Opciones> Avanzado> Red> Configuración, cambia la configuración del proxy
a manual y añade 127.0.0.1 con el puerto 9050 a la línea de “Servidor SOCKS”
y pincha en “Aceptar” para confirmar.
Para comprobar tu configuración, visita el sitio web del proyecto Tor http://
bit.ly/1oh1f82 usando un navegador. Te darás cuenta que la dirección IP públi-
ca que aparece en esta página será diferente a tu dirección IP real. Este es el
nodo de salida de tu petición, el cual garantiza que no se rastrea tu ubicación
o se muestra información personal. Ten en cuenta que los datos sólo se cifran
cuando estos pasan por la red Tor. Los datos se enviarán tal como están, así que
cualquier cosa que haya sido encriptada desde el principio seguirá estando así,
tras dejar el nodo de salida.
Si deseas desactivar esta función SOCKS y mantener tu ODROID sólo
como repetidor, agrega la siguiente línea al archivo /etc/tor/torrc y reinicia el
servicio Tor:
References
http://bit.ly/1cqlVa3 http://bit.ly/1PvVIqy
http://bit.ly/1U9oXqa http://bit.ly/1U9pgkM
http://bit.ly/19QYR47 http://bit.ly/1MOsQPE
http://bit.ly/1nBUETC
ODROID MAGAZINE 8
PRODUCCION ODROID
La Produccion de ODROID
Una retrospectiva De los Primeros Años de Hardkernel
editado por Rob Roy
P
or casualidad te ha preguntado alguna vez cómo se ha-
cen los ODROIDs. Aunque el proceso ha ido cambi-
ando con los años, aquí tienes un interesante análisis
de cómo era la primera línea de productos de Hardkernel, el
ODROID-X y el ODROID-Q, fabricados en julio de 2012.
ODROID MAGAZINE 9
CHERRY MUSIC
CherryMusic
Tu propio sistema streaming de
musica privado
por @synportack24
C
herryMusic es un servidor de streaming de música basado en CherryPy y
jPlayer. Reproduce archivos de música almacenados en tu PC, teléfono in-
teligente, tablet, ODROID o cualquier dispositivo que tenga instalado un
navegador compatible con HTML 5. CherryMusic está basado en AJAX, de modo
que no requiere actualizaciones de página, haciendo que sea muy rápido. La interfaz
de usuario basada en navegador funciona en cualquiera dispositivo móvil o de escri-
torio. Con multitud de funciones y características permite crear listas de reproduc-
ción, navegar por la música, configurar múltiples cuentas de usuario y mucho más.
Requisitos previos
Primero, debes reunir las siguientes dependencias de software:
Instalación
La instalación es simple y fácil. En primer lugar, accede al terminal (ssh o local) Página web de escritorio
del dispositivo que contiene los archivos de música. Luego, instala CherryMusic u-
sando los siguientes comandos:
$ cd ~
$ git clone -b master \
ODROID MAGAZINE 10
CHERRY MUSIC
https://github.com/devsnd/cherrymusic.git
El entorno de trabajo CherryPy incluye un servidor web, que se utiliza para eje-
cutar la interfaz de usuario basada en navegador. Si el puerto 8080 ya es utilizado por
otra aplicación, puedes seleccionar otro puerto cambiándolo en el anterior comando.
Puede que se te solicite descargar cherrypy, así que presiona “Y”. La insta-
lación finalizará cuando aparezca un prompt. Tu pantalla debería ser similar a la
siguiente Figura, momento en el que debes pulsar Ctrl + A + D para asegurarte de
que CherryMusic se está ejecutando en segundo
plano.
Abre un navegador, ya sea en el dispositivo que
tienes instalado CherryMusic, o en un disposi-
tivo conectado a la red e introduce la siguiente
dirección. Ten en cuenta que es necesario utilizar
el puerto HTTP correcto si no es el 8080:
https://<hostname-of-cherrymusic-de-
vice>:8080
Lecturas recomendadas
GitHub de CherryMusic Página de CherryPy
http://bit.ly/1NCqFtb http://bit.ly/1NlW5t3
ODROID MAGAZINE 11
INYECCION INALAMBRICA
Inyeccion inalambrica
Una manera practica de conocer 802.11
por Adrian Popa
E
n mi anterior artículo, aprendimos cómo configurar los
diferentes módulos WiFi ODROID en modo monitor,
lo cual nos permitía escuchar el tráfico inalámbrico me-
diante Kismet. En este artículo, probaremos la inyección de
tráfico y analizaremos redes abiertas que utilizan diversos méto-
dos de protección incluida la encriptación. Terminaremos con
algunos ataques que no implican romper el cifrado de la red.
Aunque este artículo es de carácter técnico, su objetivo es el
de mostrarte cómo funcionan las redes inalámbricas. No está
Las pruebas de inyección pueden ayudarte a mantener tu red
diseñado para convertirte en un “script kiddie” que no entienda segura de intrusos desconocidos
lo que están haciendo. Si no has leído el artículo sobre Kismet
de ODROID Magazine del mes pasado, disponible en http:// Al mismo tiempo, cualquier PA identificado a través de un
bit.ly/20YG7Yg, hazlo ahora, ya que vamos a partir de esa ex- paquete beacon también es añadido a la lista de puntos de ac-
periencia previa. Como siempre, penetrar en la red de alguien ceso para ser procesado posteriormente. Si un PA específico
sin su consentimiento está totalmente prohibido, de modo que es añadido por línea de comandos, BSSID y SSID, también
sólo hacer esto con tus propias redes. se agrega a la lista. Despues, para cada punto de acceso de la
lista, se envían 30 peticiones de sondeo directas. Una petición
Preparación de sondeo directa siempre será dirigida a un punto de acceso
El término “inyección” se utiliza para indicar que se está específico. El número de respuestas de sondeo recibidas más el
generando tráfico inalámbrico, basado en paquetes especial- porcentaje aparecen en pantalla, esto te indica si puedes comu-
mente diseñados que pasan por alto el tráfico regular de Inter- nicarte con el PA y a qué nivel.
net del adaptador inalámbrico. Esto significa que un programa
es capaz de generar paquetes con determinados campos y en-
viarlos al controlador a través de la interfaz de monitor, incluso
los envía aunque no sean compatible con el protocolo utilizado.
Para hacer nuestra primera prueba de inyección, necesita-
remos una interfaz de monitor y aireplay-ng, el cual cubrimos
en el anterior artículo sobre Kismet. Opcionalmente, puedes
especificar el canal en el que quieres operar cuando crees la in-
terfaz mon0:
ODROID MAGAZINE 12
INYECCION INALAMBRICA
el siguiente comando, se supone que tu interfaz de monito- pruebas realizadas, el módulo 0 WiFi parecía tener un menor
rización ya está activada: número de paquetes perdidos. No obstante, las pruebas fueron
realizadas en la misma habitación en la que estaba el punto
$ sudo airodump-ng mon0 de acceso, de modo que no puedo hacer comentarios sobre el
nivel que puedas conseguir.
Debería ver una lista de redes con sus ESSIDs, nombre de la
red, BSSID y las direcciones MAC del PA, junto con su poten- Guardé una captura de paquetes, está disponible en GitHub
cia, tipo de cifrado y el canal. En este caso, queremos capturar en http://bit.ly/242cdEq. Si la analizas la captura en Wire-
todo el tráfico de la red con el ESSID “NASA-HQ-Guests”, shark, te darás cuenta de lo siguiente:
que tiene el correspondiente BSSID “9C:C1:72:3A:5F:E” y
que opera en el canal 1: • Los paquetes 254, 256 y 258 representan el tráfico de aso-
ciación y autenticación de IEEE 802.11.
$ sudo airodump-ng --write open-network-NASAHQ --out- • Una vez asociado, el cliente realiza peticiones DHCP para ob-
put-format pcap --bssid 9C:C1:72:3A:5F:E1 --channel 1 tener una dirección IP: paquetes 268, 269. La operación DHCP
mon0
completa no está capturada.
• Tráfico ARP para detectar la dirección MAC de la puerta de
enlace: paquetes 431, 435.
Para mis pruebas, tuve un cliente, mi smartphone conecta-
• Peticiones Echo ICMP a 8.8.8.8, paquetes 437. Como puedes
do a la red inalámbrica, ejecuté los siguientes comandos:
observar se enviaron tres pings, pero sólo fuimos capaces de
capturar una solicitud y sin respuesta.
$ ping -c 3 8.8.8.8 • Respuesta DNS para una petición a www.google.com: paquete
$ ping -c 3 www.google.com 484.
$ ping -c 3 www.hardkernel.com • Respuesta Echo ICMP para un ping a Google, paquete 486 y
$ wget -p http://www.hardkernel.com/main/main.php la segunda petición, 616, seguida poco después por la tercera
petición: paquetes 627-629. Puedes observar que los paquetes
Los comandos realizan algunas pruebas básicas de conectivi- de peticiones han sido retransmitidos varias veces por la capa
dad y simulan un navegador cargando la página de Hardker- MAC. Esto es transparente para los protocolos de capa 3, pero
nel, suponiendo que no está almacenada en caché. Lo mejor de puede introducir latencia y ruido adicional.
todo, es que se puede repetir y genera unos 10 MB de tráfico. • Petición DNS para www.hardkernel.com, retransmitida 4 vec-
Si echas un vistazo a la captura de paquetes, quizás observes es: paquetes 638-641
• Petición Echo ICMP a la IP de Hardkernel, dos paquetes de
uno de estos dos escenarios.
tres: 728, 737, 738.
• Por último, una consulta DNS y la respuesta de www.hardker-
Escenario 1: verás un montón de tráfico de gestión, pero
nel.com, esta vez nos pide 8.8.8.8: paquetes 814, 816.
poco o nada de tráfico de datos. Esto me pasó la primera vez • Tráfico HTTP, empezando con un triple handshake - sólo dos
que lo probé y me esforcé bastante en intentar comprender la paquetes capturados: paquetes 818, 824, y un HTTP GET, pa-
causa. Sospeché problemas con la modulación, las interferen- quete 825.
cias de los vecinos, las transmisiones direccionales y de trayec- • Tráfico HTTP con una gran cantidad de retransmisiones, como
toria múltiple, aliens, ¡lo que fuese! Tras varias pruebas en el por ejemplo los paquetes: 925, 927, 929, 931.
ODROID-C1 con el Módulo 3 Wifi, realice la misma prueba • Desvinculación con la red Wi-Fi: paquetes 27219, 27223.
en un PC con la misma tarjeta wifi y fue capaz de capturar
el tráfico milagrosamente. Esto significa que posiblemente el Para hacer el análisis HTTP en Wireshark, puede buscar
problema estaba en la combinación del kernel y el driver. He peticiones GET y utilizar la opción “Follow TCP Stream”, o
ejecutado el kernel estándar en el C1 y he vuelto a hacer las bien puedes hacer un tratamiento en masa de todo el tráfico
pruebas, pero sigo sin tener resulados. El Módulo 0 y el Módu- HTTP entrando en File -> Export Objects -> HTTP. Aquí
lo 4 Wiffi no tienen estos problemas y permiten capturar el puede ver todas las consultas realizadas y puedes potencial-
tráfico en el C1 sin problemas. mente extraer datos, como las imágenes. Por desgracia, si in-
tentas guardar los datos del sitio, te darás cuenta que la mayoría
Escenario 2: verás un montón de tráfico de gestión y algo de las imágenes están dañadas y el texto está cortado. Esto se
de tráfico de datos. La cantidad de tráfico de datos que ves pue- debe a que el receptor no fue capaz de capturar todo el tráfico
de variar en función de la posición de la antena, en relación del medio inalámbrico. Esto es muy diferente en la captura de
con el punto de acceso y el cliente, su patrón de interferencia paquetes en Ethernet, donde se evitan las colisiones y el me-
inalámbrica actual, además de otros factores. Basándome en las dio generalmente es muy fiable. El análisis resumido del tráfico
ODROID MAGAZINE 13
INYECCION INALAMBRICA ANDROID DEVELOPMENT
capturado te puede mostrar las limitaciones a las que te en- Cómo es la asociación de red
frentas cuando intentas capturar tráfico cifrado, de modo que La asociación a una red inalámbrica conlleva básicamente
puedes hacerte una idea del resultado final. dos pasos, como se muestra a continuación:
Si escuchas una red abierta que no tenga tráfico activo, Una estación móvil envía peticiones de sondeo para descu-
posiblemente veas cosas interesantes de las estaciones acti- brir las redes 802.11 de sus proximidades. Estas solicitudes de
vas de la red. Por ejemplo, observarás algo de tráfico ARP, sondeo anuncian la tasa de datos soportada por las estaciones
transmisiones de NetBIOS de hosts Windows, paquetes móviles y sus capacidades 802.11 tales como 802.11n. Puesto
multidifusión UPnP/SSDP de dispositivos DLNA, como que la solicitud de sondeo se envía desde la estación móvil a la
reproductores multimedia o routers e incluso DNS multidi- dirección de destino de capa 2 y BSSID ff:ff:ff:ff:ff:ff, a veces
fusión (puerto 5353) de hosts Linux y Apple que anuncian representado como “Broadcast”, todos los PA que la reciban
sus capacidades. responderán.
Incluso si consigues pocos datos, todavía pueden serte Los PA que reciben la petición de sondeo la examinan para
útiles ya que puedes analizar las peticiones de usuario y re- ver si la estación móvil tiene al menos una tasa de datos com-
copilar contraseñas sin cifrar y cookies enviadas con las peti- patible. Si es así, se envía una respuesta de sondeo con el SSID,
ciones POST. Te animo a que analices mis datos capturados, nombre de la red inalámbrica, tasas de datos soportadas, tipos
de cifrado si se requiere y otras capacidades 802.11 del PA.
Una estación móvil elige las redes compatibles a partir de
las respuestas de sondeo que recibe. Además, la compatibilidad
también se puede basar en el tipo de cifrado. Una vez descubi-
ertas redes compatibles, la estación móvil intentará la autenti-
cación 802.11 de bajo nivel con los puntos de acceso compati-
bles. Recuerda que el mecanismo de autenticación 802.11 no
es igual que el WPA2 o el 802.1X, que se lleva a cabo una vez
que la estación móvil se autentifica y se asocia. Originalmente,
la autenticación 802.11 fue diseñada para el cifrado WEP, sin
embargo, se ha demostrado que este sistema de seguridad es
inseguro y por lo tanto esta en desuso. Por esto, los cuadros de
autenticación 802.11 están abiertos y casi siempre tienen éxito.
Una estación móvil envía un cuadro de autenticación
Figura 2 – Análisis de una red abierta 802.11 de bajo nivel a un PA, cambia la autenticación a a-
bierta y la secuencia a 0x0001.
o intentar capturar tus propios datos en una red abierta. El PA recibe la información de autenticación y responde a
¡Recuerda lo que puedes llegar a ver la próxima vez que te la estación móvil con el cuadro de autentificación fijando en
conectes a una red abierta en un restaurante o aeropuerto! abierto indicando una secuencia de 0x0002.
Si un punto de acceso recibe cualquier dato que no sea una
petición de sondeo o autentificación desde una estación móvil,
ésta no será autentificada. Entonces, responderá con una desau-
tentificación colocando a la estación móvil en un estado de no
autentificada y no vinculada. La estación tendrá que iniciar el
proceso de asociación desde el paso de autentificación de bajo
nivel. Llegado a este punto, la estación móvil se encuentra auten-
ticada pero no vinculada todavía. Algunos funciones 802.11 per-
miten que una estación móvil tenga autentificados de bajo nivel a
múltiples puntos de acceso. Esto acelera el proceso de asociación
cuando nos movemos entre varios puntos de acceso, conocido
como “roaming”. Una estación móvil puede estar autentificada
802.11 por múltiples puntos de acceso. Sin embargo, sólo puede
estar vinculada de un modo activo y transfiriendo datos a un
único punto de acceso a la vez.
ODROID MAGAZINE 14
ANDROID DEVELOPMENT INYECCION INALAMBRICA
Una vez que una estación móvil determina a qué PA desea Vamos a configurar nuestra red en modo no radiodifusión
asociarse, envía una solicitud de asociación al PA. La solicitud de y vamos a tener airodump-ng escuchando el tráfico, sólo para
asociación contiene los tipos de cifrado elegidos si fuera necesario redes abiertas en nuestro caso. Te darás cuenta que las redes
y otras funciones 802.11 compatibles. Si un punto de acceso re- ocultas aparecen generalmente como “< length: xx >” en lugar
cibe un cuadro de una estación móvil que está autentificada, pero
aún no asociada, responderá con un cuadro de desvinculación,
que coloca a la estación en un estado de autentificada pero no
vinculada.
Si los elementos de la petición de asociación se ajustan a las
características del PA, el AP crear un ID de asociación para la
estación móvil y responderá con una respuesta de asociación que
contiene un mensaje de éxito permitiendole el acceso a la red.
La estación móvil entonces se asociará con éxito al PA y la
transferencia de datos podrá empezar.
En WPA, WPA2 o 802.1x, se toman medidas adicionales
después de la fase de asociación y antes de que los datos empie-
cen a transmitirse.
Incluso después de que un cliente se conecte a un PA, éste
continúa enviando peticiones de sondeo, tanto “dirigidas”
como por radiodifusión, con el fin de descubrir nuevos y poten-
cialmente mejores puntos de acceso en sus inmediaciones. Las
solicitudes de sondeo dirigidas contienen el SSID de los puntos
de acceso conocidos por el cliente con la esperanza de que éstos
estén cerca. Alguien que esté escuchando en el medio inalám-
brico puede utilizar esto para obtener una lista de SSIDs fiables
de un cliente y utilizarlos para seguirles la pista, o simplemente
para crear puntos de acceso “dobles malicioso”. Puedes encon-
trar un video sobre este tema en http://bit.ly/1WLAkVH.
Figura 5 - Análisis de paquetes de una conexión con SSID oculto
SSIDs ocultos
Una forma de intentar proteger una red es ocultando su de SSID. Tan pronto como un cliente se encuentre en las
SSID. La mayoría de los routers tienen una opción para que inmediaciones, ni siquiera necesita conectarse ya que emitirá
puedas configurar tu SSID en modo “no-radiodifusión”. Esto peticiones de sondeo dirigidas, airodump mostrará el nombre
significa que el router emite señales, pero éstas contendrán un de la red. Es muy fácil, lo único que tienes que hacer es esperar.
SSID en blanco. Los clientes que deseen conectarse a la red
necesitan conocer el SSID de antemano y enviar peticiones de $ sudo airodump-ng -t OPN --channel 1 mon0
sondeo. En teoría, esto es genial, ya que el atacante tendría que
adivinar un SSID posiblemente complicado. Sin embargo, en Puedes ver cómo funciona esto echando un vistazo a la cap-
la práctica ofrece muy poca protección. tura de paquetes (figura 5). Para tu comodidad, la captura está
Cuando un cliente envía una petición de sondeo, éste re- disponible en http://bit.ly/1U9L2F4.
transmite los SSIDs que conoce. Esta transmisión también in-
cluye los SSIDs de los puntos de acceso ocultos. Cualquiera que Listas de acceso MAC
escuche pueden recopilarlos, ya que están sin cifrar incluso en Otra forma muy común de aumentar la seguridad en las
redes encriptadas. Ni siquiera es complicado revelar las redes redes es usar una lista de acceso MAC en el punto de acceso.
ocultas, airodump-ng lo hace por defecto. Esta lista especifica qué dispositivos pueden conectarse a la red.
Puesto que la dirección MAC es única y no cambia, permite al
administrador controlar los dispositivos que pueden unirse a
la red. Un atacante tendría que encontrar una dirección MAC
válida dentro de esa lista, y luego reemplazar su propia MAC
por una de la lista para poder unirse a la red.
Figura 4 - airodump completa el SSID cuando lo escucha
ODROID MAGAZINE 15
INYECCION INALAMBRICA ANDROID DEVELOPMENT
Si esto fuera un juego de adivinanzas, en el peor de los casos echar fuera a un usuario real, mediante el envío de un montón
el atacante tendría que pasar por las 2^48 direcciones, aunque de paquetes de desautenticación, como veremos más adelante.
en términos de probabilidad sería suficiente la mitad. Si se tar- Sin embargo, Conocer una MAC autorizada y contar con
un dispositivo con esa Mac en concreto son cosas diferentes.
Por suerte, es posible cambiar la dirección MAC de un adap-
tador WiFi, con NetworkManager o a través de macchanger:
$ sudo apt-get install macchanger
$ ifconfig wlan0
$ sudo macchanger --mac 88:30:8a:3f:44:b7 wlan0
$ ifconfig wlan0
Tabla 1 - Tiempo de búsqueda máximo en años para unos proveedores Hasta aquí mayoritariamente hemos analizado conceptos
teóricos de las redes inalámbricas. Estos te ayudarán a conver-
da 2 segundos en probar una dirección, serian necesarios unos tirte en un buen ingeniero de redes, pero aún no eres un “hax-
17 millones de años para pasar por todos ellas. Si el atacante tor”. Estudiada la teoría podemos pasar a la parte “133t”.
no está dispuesto a esperar tanto tiempo, podría probar con las
MAC de un proveedor en particular, como Apple, Samsung, Paquetes de desautentificación
HTC, etc, con la esperanza de conseguirla de un modo más Existe una forma sencilla y eficaz de causar problemas en tu
rápido. Los tres primeros bytes, 24 bits, de una dirección MAC sistema inalámbrico: inundar la red con paquetes de desauten-
representan el ID del proveedor, se puede consguir una lista de ticación. Estas señales dirigidas al punto de acceso provocarán
proveedores desde IEEE en http://bit.ly/1Idlxf2. que un cliente abandone la red. No existe ningún mecanismo
$ wget standards-oui.ieee.org/oui.txt de protección e encriptación alrededor de los paquetes de datos,
$ grep ‘(hex)’ oui.txt | grep -i Samsung | wc -l por lo que cualquier persona con un transmisor potente puede
suplantar estos paquetes y hacen que los clientes se desconec-
Incluso si aún sigue siendo demasiado tiempo, escanear un ten. Hay algunos casos legítimos en los que conviene hacerlo:
OUI, 24 bits, requiere algo más de 6 meses. Si aceleramos el Los sistemas de prevención de intrusiones inalámbricas
proceso usando múltiples tarjetas, la búsqueda se reduce con- (WIPS) envían paquetes de desautenticación falsos para desco-
siderablemente. Se podría llevar a cabo un ataque que podría nectar clientes conectados a otros puntos de acceso. Esto se hace
tener éxito en unos cuantos meses. para obligar a determinadas empresas o agencias gubernamen-
Es evidente que esta forma no es la usada por los hackers tales a conectarse a una serie de PA dentro de un área geográfica
para entrar en tu sistema. Vamos a ver una opción mucho más específica, tal como se describe en http://bit.ly/1T5lNi6.
rápida, escuchar una dirección MAC que ya tiene acceso. El Expulsar a tu suegra o al niño de la red. Probablemente
modo más simple para escuchar una red y ver qué clientes están sea más sencillo desde el propio punto de acceso, pero técnica-
asociados a ella es utilizar Kismet. Si hay poca actividad, ten- mente no es ilegal con los paquetes de desautenticación.
drás que esperar un tiempo, pero si estamos ante un punto de
acceso concurrido, los clientes se darán a conocer al instante. Existen algunos casos ilegítimos para usar los paquetes de de-
Disponer de una lista de clientes conectados significa tener una sautenticación:
lista de direcciones MAC autorizadas, de modo que puedes dar • Para revelar los SSID ocultos
por finalizada tu búsqueda rápidamente. Sin embargo, tener • Para capturar datos WPA y WPA2, obligando a los clientes a
dos dispositivos con la misma MAC en la misma LAN es un volver a conectarse
• Llevar a cabo ataques de Denegación de Servicio
gran problema, de modo que para entrar en la red tienes que
Para enviar un paquete desautentificación necesitas aireplay-ng:
ODROID MAGAZINE 16
ANDROID DEVELOPMENT INYECCION INALAMBRICA
ODROID MAGAZINE 17
INYECCION INALAMBRICA ANDROID DEVELOPMENT
Esto significa que el GPS debe estar apagado o no tener satélites Por lo tanto, coge tu ODROID, conéctalo a una batería,
GPS a la vista. Si el dispositivo está en modo de avión, ayudará inicia mdk3 y mételo en el microondas junto con un teléfono.
a mantener el bloqueo más tiempo, pero no es obligatorio. El ¿Suena como si fuera una historia de terror? ¡No te alarmes,
Wifi tiene que estar encendido y la víctima tiene que ser capaz aunque asegúrate de desconectar el microondas!
de acceder a Internet para poder comunicarse con el servicio de Dejé el teléfono y el ODROID en el interior durante unos
localización por red. Una típica víctima podría ser una tablet minutos y no pasó nada. Todavía tenía la misma ubicación en
sin conexión de datos 3G. el mapa. Sin embargo, cuando prácticamente me había rendido
y abrí la puerta del microondas, la ubicación cambio rápida-
Para empezar emitir redes con mdk3, utiliza el siguiente comando: mente a la sede de Hardkernel. Entonces, ¿qué había ocurrido?
Resulta que la conexión de datos inalámbrica que estaba us-
$ sudo mdk3 mon0 b -v\ ando había fallado, la señal no se recibía y el teléfono no podía
hardkernel-small-ssid.txt -g -t ponerse en contacto con el proveedor de ubicación. Sin embar-
go, mientras se encontraba en el microondas, había recopilado
Debería ver las redes que van apareciendo en tu lista de re- sufiencientes puntos de acceso coreanos como para pensar
des, pero si esperas y esperas un poco más ... parece que no firmemente que se encontraba en otra ubicación. Más inte-
sucede nada. Tuve que abrir Google Maps en mi teléfono y resante aún, el teléfono mantuvo su ubicación incluso cuando
apenas se movió. Esto ocurría porque las nuevas redes entraban se saco de la jaula de Faraday. Todavía podía ver los mismos
en conflicto en términos de ubicación, con las redes actuales de puntos de acceso y estaba algo confundido con el resto de su
mi zona y el servicio de ubicación no se aclaraba. En este estado alrededor, prefirió guardar la ubicación hasta que el ODROID
de “confusión”, el servicio de localización prefería mantener la dejó de transmitir.
ubicación actual original. Si no tienes muchas redes inalámbri-
cas a tu alrededor, puedes omitir el siguiente paso. Conclusión
En vista de las pruebas que hemos realizado, podemos ver
que 802.11 está muy lejos de ser seguro incluso cuando se
utiliza la robusta encriptación AES. Un atacante puede fácil-
mente desconectar cualquier objetivo, y con suficientes in-
tentos de desconexión puede forzar al objetivo a conectarse
a un punto de acceso diferente. El atacante puede realizar
ahora ataques man-in-the-middle contra la víctima, sin que la
víctima lo sepa. Un mecanismo de defensa contra algunos de
estos ataques es el estándar 802.11w (http://bit.ly/1rrivQh)
que añade cuadros de gestión protegida, pero no suele ser
compatible por todos los clientes.
En términos de privacidad, las redes inalámbricas son horri-
bles. Cada dispositivo transmite sus redes conocidas cada pocos
segundos, incluso si ya está conectado. Para solucionar esto, se
puede eliminar las redes conocidas de la configuración inalám-
brica o mantener el wifi apagado cuando no se esté utilizando.
Las redes ocultas y listas de acceso MAC sólo son eficaces
Figura 9 - Experimentando con la ubicación si a la red que estás intentando asegurar sólo se accede en raras
ocasiones. Por ejemplo, la wifi de tu casa de vacaciones. De lo
Para silenciar las redes de mi alrededor necesitamos algo más contrario, estas medidas se pueden considerar poco eficaces, ya
drástico - una jaula de Faraday. Se trata de una jaula metálica que se pueden evitar con muy poco esfuerzo.
que protege de las ondas electromagnéticas y puede eliminar Los servicios basados en puntos de acceso inalámbricos,
redes inalámbricas y datos 3G. ¿Cómo se construye una jaula tales como la ubicación son poco fiables ya que pueden ser en-
de Faraday casera? Probé con papel de aluminio, pero no fun- gañados con facilidad. Por ejemplo, si el teléfono de tu objetivo
cionaba. Necesitaba algo más robusto, como un microondas. tiene programas como Tasker que ejecuta acciones basándose
Si pongo mi teléfono en el interior del microondas, con la ali- en datos de localización, como desbloquear el teléfono cuando
mentación desconectada y cierro la puerta, puedo comprobar está cerca de un punto de acceso específico, puedes utilizar un
que la señal de la red de los puntos de acceso wifi disponibles ataque inalámbrico para abrir nuevas vías de ataque. Si tiene
disminuía significativamente. preguntas, comentarios y deseas más información, visita el hilo
de soporte en http://bit.ly/1r7wLNv.
ODROID MAGAZINE 18
REALIDAD AUMENTADA
realidad aumentada
Usando la oCam y el ODROID-XU4
por nowdac@withrobot.com
L
a realidad aumentada o RA, es y la orientación del mismo. Usando estos Empieza introduciendo el siguiente
una parte de la realidad virtual, datos, podremos colocar un personaje comando, que nos asegura que conta-
RV que se han convertido en algo virtual en la posición y postura correctas. mos con el último listado de paquetes:
muy de moda hoy día. En pocas pa- Para el marcador especial, utiliza-
labras, La RA superpone objetos artifi- remos ArUco que es una parte de la li- $ sudo apt-get update
ciales o información sobre una imagen breria OpenCV. Para más detalles sobre
real. A pesar de que ha existido desde ArUCO, puedes consultar documen- Prepara un directorio “Project” para
hace mucho tiempo, la RA se ha hecho tación en http://goo.gl/Ao6hBg. Para gestionar el código de ejemplo para
muy popular con el tan reciente y am- crear el personaje animado, usaremos ArUco y Ogre3D introduciendo los
plio uso de los dispositivos móviles. siguientes comandos:
En este tutorial mostraremos código
de ejemplo, lo compilaremos y lo eje- $ cd ~
cutaremos. La aplicación intentará colo- $ mkdir Project
car un curioso personaje animado sobre $ cd Project
un marcador especial.
Figura 2 - Principio de funcionamiento Después, instala la última versión de
de RA (Fuente: ARToolkit) OpenCV, que es la 2.4.9:
ODROID MAGAZINE 19
REALIDAD AUMENTADA
ODROID MAGAZINE 20
REALIDAD AUMENTADA
ODROID MAGAZINE 21
JUEGOS LINUX
JUEGOS Linux
Atari Jaguar
SOBRE ODROID-XU3/XU4
por Tobias Schaaf
R
ecientemente, he trabajado mucho en mis imágenes, es-
pecialmente con los emuladores. Intenté mejorar el ren-
dimiento y realice un montón de pruebas. Durante las
pruebas, conversé con @ptitSeb de los foros OpenPandora, y
hablamos del núcleo Virtual Jaguar del proyecto libretro, el cual
es bastante lento en todos los dispositivos ODROID, incluso
en los potentes ODROID-XU3 / XU4. Me comento que ellos
utilizan el emulador independiente Virtual Jaguar para ejecutar
juegos de Atari Jaguar en OpenPandora, que es una placa ARM
de un sólo núcleo con una CPU Cortex-A8 a 1 GHz. Según él,
debería funcionar mucho mejor en placas como el ODROID-
XU3 / XU4 de lo que ya lo hace en OpenPandora. Revisamos Nuestro editor artístico, Bruno, trabajo de adolescente en una
el código juntos, y con algunos parches creados por @ptitSeb tienda de juegos y tuvo el sospechoso privilegio de poder jugar
para OpenPandora, fuimos capaces de exportar el emulador con una Jaguar, de modo que no tuvo que comprarla realmente.
independiente Virtual Jaguar a ODROID usando QT5 para fueron liberados por la propia Atari. Aunque sólo hay unos
poder activar la aceleración OpenGL ES. Después realicé un cuantos juegos con licencia para la consola, a finales de 1990,
montón de pruebas para ver de lo que realmente era capaz este la consola paso a ser de dominio público y fue declarada como
emulador y qué tal funcionaba en los ODROIDs, precisamente una plataforma abiert. Algunos de los nuevos juegos fueron
es de lo que voy a hablar en este artículo. desarrollaron como juegos caseros, creados por aficionados y
expertos. Incluso hoy en día, aparecen nuevos juegos de vez en
Introducción cuando, como Alice’s Mom’s Rescue para la Jaguar CD, que fue
La Atari Jaguar fue la última consola de Atari, se comercia- lanzado para Atari Jaguar en 2015.
lizó como una consola de 64 bits para competir con las consolas Aunque la biblioteca de Atari Jaguar es bastante limitada,
de 16 y 32 bits ya existentes, como la SNES, la Sega Genesis, tiene algunos títulos muy buenos, como Raiden, Rayman,
o la 3DO. Fue lanzada en noviembre de 1993 en América del Pitfall y Cannon Fodder, que también son conocidos en otras
Norte, y más tarde en Europa y Japón. Contaba con múlti- consolas.
ples procesadores para diferentes tareas y era bastante rápida
(13.295MHz) en comparación con una SNES (3,58 MHz) o
Sega Genesis (7.6MHz). Más tarde, se le añadió un CD y unos
cascos de RV a modo de complemento. Aunque no es una mala
consola, dejo de fabricarse en 1996, ni siquiera llego a los 3
añosde vida tras su aparición. Una de las razones de sus bajas
ventas podría estar relacionada con el mando que presentaba un
aspecto algo extraño, no estaba bien diseñado.
Juegos
El diseño de la Atari Jaguar con diferentes chips para dife-
rentes tareas hace que sea muy difícil desarrollar juegos para la
consola, debido al hecho de que Atari realmente no impulso su
desarrollo, sólo se publicaron 67 títulos bajo licencia para la
Atari Jaguar. El complemento CD de Jaguar consiguió otros 15 El juego de plataformas 2D Alice’s Mom’s Rescue lanzado en
títulos llegando a un total de 82 juegos, la mayoría de los cuales 2015 para Atari Jaguar CD
ODROID MAGAZINE 22
JUEGOS LINUX
Soporte ODROID
Entonces, ¿Qué tal se ejecuta la Atari Jaguar sobre los
ODROIDs? Me temo que en realidad no es compatible. Hay
un núcleo libretro para Virtual Jaguar que se puede utilizar con
retroarch, pero me pareció muy lento y muy pocos juegos llega-
ron a funcionar. Algunos se ejecutaban casi a plena velocidad
en un XU3 / XU4 como Cannon Fodder, pero estos juegos
son muy raros. Otros juegos como Pitfall o Alien vs Predator
funcionar con una velocidad de fotogramas muy baja (por de-
bajo de 30 FPS) y muchos otros no funcionan para nada. Por
ejemplo, Rayman no se inicia con el núcleo libretro.
La alternativa es un emulador independiente. El emula-
dor Virtual Jaguar funciona bien, pero no lo suficientemente
como para ejecutarse en todos los ODROIDs. El C1 nunca
será capaz de ejecutar un juego con fluidez. No estoy seguro
El mando de Atari Jaguar no estaba bien diseñado, y era tan
si funcionará con el C2 ya que no sé si incluso se ejecutaría
malo que incluso si eras secuestrado durante mucho tiempo,
sin drivers X11. Ni tampoco conozco la calidad de los drivers,
no llegarías a desarrollar el síndrome de Estocolmo
ya que en el momento en el que escribí este artículo no exis-
La Atari Jaguar CD añadió más juegos a la biblioteca que tian todavía drivers X11 para el C2. El U3, aunque es el doble
fueron mejorados con escenas de películas, mejores gráficos y de rápido que el C1, probablemente también sea demasiado
mejor sonido. Sin embargo, sólo se publicaron unos cuantos lento para muchos juegos. Algunos juegos como Cannon Fod-
títulos, de modo la Atari Jaguar CD no podía competir con la der podrían funcionar, pero por lo general yo no contaría con
Playstation 1 o la Sega Saturn. ello. Eso significa que Atari Jaguar probablemente esté limitada
únicamente al XU3/XU4. El emulador de hecho cuenta con
un filtro que te permite utilizar el filtrado bilineal para gráficos,
pudiendo aumentar en gran medida la calidad de la imagen:
Me llevo un tiempo probar los 56 ROMs diferentes para
Atari Jaguar y confeccionar una lista de compatibilidad para
todos ellos. Me gustaría destacar algunos de los juegos y co-
mentar un poco lo que pienso de ellos.
Cannon Fodder
Cannon Fodder es un juego de acción estratégica en el que
envías un pequeño grupo de soldados a la batalla para luchar
contra otros soldados y destruir edificios. El juego es muy di-
vertido, y aunque el juego original se controlaba con el ratón,
como en Amiga, funciona sorprendentemente bien en Atari
Jaguar. El ratón virtual es muy sensible utilizando el mando, y
puesto que sólo necesitas dos botones para controlar el juego es
ODROID MAGAZINE 23
JUEGOS LINUX
A nice arctic level on Cannon Fodder where you fight with your
soldier
ODROID MAGAZINE 24
JUEGOS LINUX
Raiden para Atari Jaguar es muy divertido, permite 2 jugadores Reflesiones generales
En general, Atari Jaguar es una buena consola similar a la
de Atari, aún así un es gran juego sin importar el sistema desde Sega Génesis o la SNES. Por desgracia, sólo hay algunos juegos
el cual los ejecutes. disponibles y no todos llegan a funcionar. Sólo el XU3 y el
También hay algunos shooters arcade muy buenos para Atari XU4 son actualmente capaces de ejecutar Atari Jaguar a una
Jaguar, por ejemplo Raiden y Tempest 2000. Raiden de hecho velocidad aceptable. El núcleo Libretro de Virtual Jaguar no
tiene unos gráficos bastante pulidos y una música muy buena, funciona bien y son muy pocos los juegos que llegan a funcio-
se puedo decir que me gusta bastante. El sistema de juego por nar. El emulador independiente funciona bastante mejor.
el contrario, es algo difícil, al menos para mí. Hay algunos po- Muchos de los juegos son en realidad versiones de otras
tenciadores repartidos por todo el nivel, aunque son poco fre- consolas y son igual de buenos en Atari o incluso mejor, por lo
cuentes y si mueres, los pierdes todos y tienen que empezar de que merece la pena probar estas versiones para ver las diferen-
nuevo a recopilarlos, lo cual no significa que vayas a conseguir- cias. Muchos de los juegos que conozco de Amiga son mejores
los todos de nuevo en el mismo nivel. Sin potenciadores serás en su versión original. Otros juegos como Pitfall, también e-
extremadamente débil. Incluso te llevará mucho tiempo matar xisten para otras consolas menos exigentes, como la Sega 32X,
a los enemigos “midbos”, sino cuentas con ningún potenciador de modo que se pueden ejecutar en más dispositivos aparte del
para tus armas, lo cual hace que el juego sea muy difícil en mi XU3/XU4. Los juegos de Atari Jaguar CD parecen no funcio-
opinión. Haces muy poco daño y sin bombas las posibilidades nar, así que ni siquiera se pueden probar. Afortunadamente,
de matar a un enemigo se reducen bastante. Aún así, el juego es ahora es posible jugar con mandos como el de la Xbox 360 en
muy divertido y supongo que el modo multijugador es la mejor lugar de usar ese mando tan poco elegante de la Atari Jaguar.
forma de pasarse el juego. Configurar el mando es muy fácil gracias a la interfaz gráfica
Tempest 2000 es muy interesante, aunque no lo parece de- de usuario basada en QT5 y los drivers SDL2 para soporte de
masiado al primero, de hecho es bastante divertido. Tiene una joystick.
Es una consola interesante para el XU4, aunque no es un
problema si tu ODROID no es capaz de ejecutar algunos
juegos, ya que probablemente existan versiones de éstos para
otras consolas. Si deseas probar Atari Jaguar en tu ODROID
XU3/XU4 puedes descargarlo desde mi repositorio. Espero
que pases un buen rato con este trozo de historia de los video-
juegos en tu ODROID.
ODROID MAGAZINE 25
JUEGOS LINUX
ODROID MAGAZINE 26
JUEGOS LINUX
ODROID MAGAZINE 27
DESARROLLO ANDROID
desarRoLlo Android
Android Support Library
por Nanik Tolaram
U
n problema muy común relacio- este artículo vamos a echar un vistazo a
nado con el desarrollo de apli- esta librería y cómo utilizarla.
caciones Android es la cantidad
de diferentes versiones de Android que Configuración
necesitan soporte, lo cual puede resultar Lo primero que debemos hacer es
desalentador en muchas ocasiones. En asegurarnos de que tienes la librería ins-
los primeros días de Android, la ma- talada en Android Studio. Utiliza la apli-
yoría de los desarrolladores se esforzaban cación “android” que se encuentra den-
en asegurarse de que sus apps pudieran tro del directorio <android_sdk_folder>/
ejecutarse en la versión anterior de An- tools. En la sección Extras, selecciona
droid. Con el paso del tiempo, Google “Android Support Library” para descar-
publico una librería para facilitar el de- garla en tu SDK. Consulta la Figura 2
sarrollo de aplicaciones. En los últimos para ver cómo debería verse tu directorio
años, Google está animando encarecida- SDK una vez descargada la librería.
mente a los desarrolladores a usar An-
droid Support Library. El objetivo final Versiones de librería
de la librería es reducir el nivel de có- Como puedes ver en la Tabla 1, exis-
digo necesario para que las aplicaciones ten varias librerías disponibles, pero sólo
puedan ejecutarse en las diferentes ver- tendrás que utilizar la correcta para tu
siones de Android. Google ha ido publi- proyecto. El directorio que aparece en
cando constantemente cambios en esta la tabla contiene todos los archivos im-
librería. Gracias a Android Support Li- portantes, como son el código fuente, los
brary, los desarrolladores sólo tienen que recursos y los archivos de configuración
centrarse en escribir sus aplicaciones, de- de la librería.
jando el trabajo duro de la portabilidad Si miras la tabla, podrás comprobar
de la versión de Android a la librería. En que la mayoría de las librerías están rela-
ODROID MAGAZINE 28
DESARROLLO ANDROID
ODROID MAGAZINE 29
DESARROLLO ANDROID ANDROID DEVELOPMENT
ODROID MAGAZINE 30
DESARROLLO ANDROID JUEGOS LINUX
tionView.
Hay 2 parámetros en el interior del nuevo widget:
Battle for
app:headerLayout y app:menu. Estos apuntan a los archivos
res/layout/nav_header.xml y res/layout/drawer_view.xml. El
the Solar System:
drawer_view contiene el texto del submenú junto con los ico- Pandoran War
nos mientras que nav_header contiene la parte superior de la
vista. En la Figura 7, es el texto “Username”.
Un divertido shooter especial
La otra vista personalizada utilizada es un droid.support. 2D basado en misiones
v4.widget.DrawerLayout que es el diseño principal para toda la
porTobias Schaaf
aplicación agrupando el android.support.design.widget.Navi-
gationView. La vista DrawerLayout conoce que vista activar
E
basándose en el siguiente código: l Pandoran War ofrece una experiencia de juego muy
simple para tu ODROID. El juego es un sistema
switch (item.getItemId()) { de misiones no lineales, lo que significa que simple-
case android.R.id.home: mente tienes que elegir una de la docena de misiones que
mDrawerLayout.openDrawer(GravityCompat. más te interese a lo largo de todo el juego. Tiene lugar entre
START);
los libros 2 y 3 de la trilogía, por lo que podría valer la pena
leer algunas de las muestras gratuitas en la página web de
return true;
Pandoran War en http://bit.ly/1YRi6Rj, para conocer me-
}
jor la historia del juego. El juego se ejecuta sobre SDL2 y
OpenGL ES, por lo que se aprovecha de la GPU Mali y los
El GravityCompat.START le dice a la librería qué buscar potentes procesadores de 4 o 8 núcleos disponible en dis-
dentro de la vista DrawerLayout para iterar hasta sus vistas hi- positivos como el ODROID-XU4 o ODROID-C2.
jas para encontrar qué vista ha fijado el layout_gravity como
“start”, la cual se define dentro de activity_main.xml en el Instalación
Para instalar Pandoran War, tienes que añadir el repositorio
NavigationView
de @meveric a tu distribución, si aún no lo has hecho:
Esto debería darte una visión general sobre el uso de An-
droid Support Library. Veremos más a fondo la librería de so- $ su
porte en futuros artículos. # cd /etc/apt/sources.list.d/
# wget http://oph.mdrjr.net/meveric/\
sources.lists/meveric-all-main.list
Recursos # wget -O- http://oph.mdrjr.net/meveric/meveric.asc
| apt-key add -
Características de Android Support Library
http://bit.ly/1ei6hQ5 Luego, simplemente instálalo como los haría con cual-
quier otro juego o aplicación a través de apt-get:
Android Support Library
http://bit.ly/1qIpxiK $ apt-get update
$ apt-get install tbftss-odroid
ODROID MAGAZINE 31
BABY NAP
S
er padre por primera vez es un tación del bebé, y un micrófono para fil- /NFC
gran reto. Tener un bebé llorando trar el ruido del bebé y determinar, si los • http://bit.ly/1WXBrSi
y no saber cómo calmarlo rápida- padres están cantando una nana, cómo • Sensor Adafruit TSL2561 Digi-
mente puede ser extremadamente agota- de efectivo es poner al bebé a dormir, etc. tal Luminosity/Lux/Light
dor, especialmente en los casos de padres Con una función lambda AWS y un • http://bit.ly/1rFj0WX
trabajadores que se turnan para cuidar al panel de control con las lecturas de los • Sensor de movimiento PIR
bebé. Espero que el Programa de Activi- sensores, los padres pueden sacar conclu- (Ebay)
dad Nocturna (Baby NAP) ayude a los siones muy interesantes sobre las prefe- • Detector de sonido Sparkfun
padres con esta difícil situación. rencias de sueño de su bebé, tales como: • http://bit.ly/1HZN6Y1
Imagina una cuna con un sensor de • ¿Tiene preferencia por un deter- • Almohadilla de Presión PM1
presión en forma de almohadilla que iría minada luz ambiental? (Ebay)
debajo del niño. Un Lector de identifi- • ¿Le gusta que lo mezan cuando se
cación por radiofrecuencia (RFID) co- va a dormir? Conexiones de
nectado a la cuna, combinado con unas • ¿Se duerme más rápido cuando le hardware
pulseras o anillos RFID para los padres, cantamos una nana? El ODROID C1 tiene un conector
puede determinar cuando el bebé esta • ¿Suele despertarse cuando hay de 40 pines que en su mayor parte es
reclinado, por cuánto tiempo y qué pa- luz en la habitación? compatible con el conector de 40 pines
dre lo hace. Se puede utilizar un sensor Los padres también pueden compro- de la Raspberry Pi (excepto las 2 entra-
de sonido para registrar la amplitud del bar el tiempo que pasan por la noche con das analógicas), de modo que vamos a
sonido del bebé y determinar si el bebé el bebé, y así saber rápidamente a quien utilizar un Pi Cobbler+ con los esquemas
está llorando, por cuánto tiempo y lo le toca dormir al bebé. Aunque este que incluye este artículo. Existen 2 railes
fuerte que es el llanto. Se pueden utilizar proyecto no pretende sustituir un moni- de alimentación en la placa, uno para
un sensor de infrarrojos (pasivo) piro- tor de bebé, podría enviar notificaciones 5V (cables rojos) y otro de 3,3V (cables
eléctrico (PIR) y un sensor de luz para a los padres si el bebé empieza a llorar
registrar el movimiento y la luz ambien- usando Amazon Simple Notification Figura 1 - Primer paso de la instalación
tal. Todos estos sensores se pueden co- Service (SNS).
nectar a su vez a un ordenador de placa
reducida (SBC) como el ODROID C1 Componentes usados
/C1 +. Esta placa puede subir los datos • ODROID C1/C1+
de los sensores a un servicio basado en • Placa controlador Adafruit
la nube como los Amazon Web Services PN532 NFC/RFID
(AWS), para tu posterior tratamiento. • http://bit.ly/1O0wK30
Para aquellos que quieran ampliar • Pulsera Adafruit RFID de 13,56
esta configuración, pueden por ejemplo, MHz/NFC
utilizar una bombilla Philips Hue para • http://bit.ly/1pP4Q3G
controlar el color de la luz de la habi- • Anillo inteligente Adafruit RFID
ODROID MAGAZINE 32
BABY NAP
naranja). También hay 2 railes para la sayo y error, ajusté el potenciómetro para
toma a tierra (cables negros) a cada lado enviar 1 para una duración de detección
de la placa. Vamos a utilizar algunos pro- de 10 segundos. La Figura 2 muestra la
gramas de prueba para cada sensor escri- sección correspondiente del circuito.
tos en Python y la librería WiringPi2, El programa de pruebas utilizado es
disponibles para ODROID en http:// un simple script Python que sondea la
bit.ly/23Rwf7T. El mapeo GPIO de entrada GPIO cada segundo:
WiringPi para el C1 está disponible en
http://bit.ly/1Ejubsm. La figura 1 mues- import wiringpi2 as wpi
tra el circuito utilizado. import time
También es posible utilizar los com- wpi.wiringPiSetup()
ponentes del kit Tinkering C1 de Hard- # GPIO pin setup Figura 3 - Tercer paso de la instalación
kernel (http://bit.ly/1YNPN6k). Si uti- wpi.pinMode(2, wpi.GPIO.INPUT)
lizamos este kit, tenemos que prestar while True: de tierra (cable negro), lo que significa
atención a la asignación de pines en el i=wpi.digitalRead(2) que cuando el interruptor este abierto
PCB TBreakout y modificar la infor- if i==0: habrá acceso a tierra y el GPIO leerá
mación correspondiente para que coin- print “no motion “, i 0. Cuando se presione la alfombrilla, el
cida con los cambios. elif i==1: pin conectado a 3.3V abrirá una ruta de
print “motion detected “, i menor a mayor resistencia y el GPIO
Sensor de time.sleep(1) leerá 1. Vamos a utilizar también una
movimiento PIR resistencia limitadora de corriente 1k en
El sensor de movimiento PIR tiene Ejecutando el programa y movién- el cable de datos, para asegurarnos de
3 pines: VCC, que va en el raíl de 5V, dose cerca del sensor debería aparecer que la placa controla la corriente cuando
GND y DATA (cable amarillo). Vamos a un resultado similar al siguiente: el interruptor este en ON. La Figura 3
utilizar el cabezal #13 para el pin DATA, muestra esta configuración.
exportado por WiringPi como GPIO 2. # python pir.py El programa de pruebas utilizado
La entrada de datos desde el sensor PIR no motion 0 aquí también es muy simple:
será 1 cuando haya movimiento y 0 en no motion 0
caso contrario. El sensor tiene 2 poten- no motion 0 import wiringpi2 as wpi
ciómetros, uno para la sensibilidad y motion detected 1 import time
motion detected 1 wpi.wiringPiSetup()
motion detected 1 # GPIO pin setup
motion detected 1 wpi.pinMode(3, 0)
motion detected 1
motion detected 1 Figura 4 - Cuarto paso de la instalación
motion detected 1
motion detected 1
motion detected 1
no motion 0
no motion 0
Almohadilla de
presión
La Almohadilla de presión actúa
como un interruptor: cuando se pre-
siona, el interruptor se enciende. Hay
Figura 2 - Segundo paso de la instalación 2 cables a conectar, - uno a 3,3V (cable
naranja) y el otro al pin de entrada #15
otro para el tiempo (el tiempo tras el cual GPIO (GPIO 3 WiringPi, cable mora-
es detectado el movimiento - la salida de do). Utilizaremos una resistencia de 10k
DATA será 1). Usando el método de en- para conectar el cable de datos a la toma
ODROID MAGAZINE 33
BABY NAP
ODROID MAGAZINE 34
BABY NAP
ODROID MAGAZINE 35
CAR PC CAR PC
S
oy un ingeniero de electrónica funcionase. La pantalla táctil china de 7 para Android, además de una mejor cali-
que trabaja además como inge- pulgadas que encontré tenían una reso- dad de imagen en general.
niero de sistemas informáticos, y lución de 1280x800, y el ODROID- Cuando la pantalla táctil llegó, me di
estoy certificado en el Reino Unido por U3 sólo podía manejar una resolución cuenta que el marco de la pantalla táctil
la asociación de servicios electrónicos en de 1920x1080 o de 1280x720, creando de 7 pulgadas de Chalkboard era muy
el nivel tres. Me he sentido atraído por una imagen distorsionada. También tuve grande. Además hay que tener en cuenta
la electrónica desde que mi padre mon- algunos problemas con la pantalla táctil que está invertida, con las conexiones en
tara un televisor en color desde cero en cuando intentaba conseguir posiciones la parte superior, en lugar de la parte in-
su tiempo libre. Este proyecto pretende precisas con el controlador táctil. Supuso ferior como era de esperar en otras pan-
llevar el potencial de un ODROID-XU4 un reto aún mayor hacerlo con Android, tallas. Esto es algo a tener muy presente
a tu coche añadiéndole más funcionali- donde lo primero que esperas es una a la hora de diseñar tu propio proyecto
dades y características. Esta es mi aven- pantalla capacitiva.
tura de empezar un proyecto y conseguir Necesitaba algo que simplemente
que todo funcione correctamente. funcionase con esta pantalla táctil, de
Siempre he querido construir un PC modo que investigué una alternativa,
para usarlo en mi coche. Es algo que he incluyendo el XU3. El XU3 parecía en-
visto con mucho potencial desde que los cajar muy bien por su mayor compatibi-
MP3s se hicieron digitales y pueden re- lidad para resoluciones y otras caracter-
producirse desde un PC, llevando la posi- ísticas, pero era muy caro. Pero cuando
bilidad de escuchar música y otras carac- el ODROID-XU4 apareció a un precio Car PC, ya que necesitarás aproximada-
terísticas a mi coche. He hecho pruebas mejor, pude finalmente costearme un mente 7 mm de espacio en la parte supe-
en el pasado, pero la mayoría de los dis- dispositivo que cubriera mis necesidades. rior cuando montes la pantalla.
positivos simplemente no cumplían con Me di cuenta de que el firmware que
mis necesidades. Las máquinas basadas Buscando un viene con esta pantalla táctil emula un
en x86 que utilicé eran demasiado len- dispositivo visual puntero de ratón, en lugar de una expe-
tas, y el ordenador Android que probé Tras recibir mi ODROID-XU4 dos riencia táctil que cabría esperar de una
no podía utilizar una pantalla táctil o semanas más tarde, seguí adelante y em- tablet o dispositivo Android similar. De
el GPS para lo que quería. También lo pecé con una imagen de Android sobre esta forma el dispositivo registra un salto
intente con un Nook HD, que parecía mi eMMC. Afortunadamente Android cuando deslizas el dedo, más que mover
prometedor, pero su batería me dio un arranco y la pantalla táctil llego a fun- un cursor de ratón sobre la pantalla. E-
montón de problemas. cionar en el acto. Sin embargo, todavía xiste otro firmware diferente que necesi-
no estaba contento con la calidad de la taremos grabar en esta pantalla táctil
Ensayo y error imagen y la pantalla táctil, de modo que para conseguir que funcione, según la
Todas estas cuestiones me llevaron a decidí ver qué más había por ahí. Mien- documentación que he leído.
probar este proyecto con un ODROID. tras tanto, descubrí la pantalla táctil de
Mi primer ODROID fue el U3, y me 7 pulgadas que ofrecía Chalkboard Elec-
lo compré con el objeto de no tener que tronics. Me proporcionaba la experien-
hacer demasiado para lograr que todo cia multi-táctil capacitiva que necesitaba
ODROID MAGAZINE 36
CAR PC
Actulizar el firmware til de alta calidad Chalkboard. También RTC, así la hora no se perdería cada vez
de la pantalla táctil utilice un Denison Gateway Pro para que el dispositivo se desconectara de la
Para este proyecto con mi programar los botones y funciones de mi alimentación. Contaba con una batería
ODROIDXU4, utilicé CyanogenMod coche con la pantalla a medida y XU4 de repuesto y simplemente hice algo
12 de @voodik, con Android 5.1.1 instalados. Esto me proporcionó una muy similar a lo que Hardkernel ofrece
(http://bitly/1VyXFKW.). Lo mejor es conexión Bluetooth para el manos libres en su página web. También descubrí una
empezar con un sistema pre-configurado y poder escuchar música usando los al- forma curiosa de apagar el XU4 a través
e ir añadiendo características a medida tavoces del coche. del conector PIO de la placa.
que vas consiguiendo que el hardware En lugar de utilizar un módulo GPS
básico funcione. Tras encontrar el dri- ODROID, acabé usando un módulo Un percance menor
ver correcto para actualizar el firmware, GPS chino sin marca, conectado a una Mientras trabajaba en conseguir que
necesitas utilizar un PC con Windows antena 4-en-1 para ahorrar espacio y el conector PIO pudiera apagar cor-
para actualizar el firmware de la pantalla rectamente mi XU4, terminé acciden-
táctil y así poder trabajar bien con este talmente ocasionando un cortocircuito
proyecto. Puedes encontrar instrucciones en la línea de 5V, dejando inservible mi
detalladas de este proceso en el sitio web XU4 y con el LED parpadeando. Por si
de Chalkboard Electronics en http://bit. alguien se lo está preguntando, fui capaz
ly/1MULs0y. Una vez que termines con de solucionarlo provocando un corto-
la actualización del firmware, deberías circuito en los circuitos de protección
ser capaz de usar la función de zoom y (ICs). Si alguna vez cometes este error,
otras funciones intuitivas que haran que facilitar las cosas. Todo esto estaba co- puede hacer esto para intentar resucitar
este proyecto sea fácil de instalar y usar nectado a mi XU4 con un adaptador a tu XU4.
en tu coche. serie a USB. El objetivo era utilizar una Este percance provoco que arruinase
única antena con la que poder manejar mi circuito RTC, de modo que la ba-
Conseguir que el no sólo mi GPS, sino también mi cone- tería quedaba inservible. Tras realizar
GPS funcione xión de radio DAB, AM, FM, a través de
Para que este proyecto tuviera éxito, este conector de antena 4-en-1. Terminé
tenía que conseguir también que funcio- colocando la antena cerca del espejo
nara el GPS para la navegación por sa- retrovisor después de experimentar con
télite. Esto era algo que aún no tenía en varios sistemas de antenas, incluyendo
mi Citroen C4 Coupe. Intenté sin éxito una potente antena GPS que no llego a
incluir la navegación por satélite usando funcionar con mi configuración actual.
otros métodos de terceros, la tecnología El software GPS que solía usar en
GPS del fabricante era demasiado cara y WinCE se llamaba iGO Primo. Pero una búsqueda en Plays Store, encontré
no valía la pena instalarla en mi coche. ahora que estoy usando Android, todo una aplicación llamada “Smart Time
Antes de empezar con este proyecto, se puede manejar usando una app de Sync” (http://bit.ly/1rw76yA), que usa
tenía entre otros proyectos, conseguir un el GPS para fijar la hora y ajustar el reloj
dispositivo WinCE que funcionase con de Android después de cada arranque.
una unidad GPS de 7 pulgadas junto Puede serte útil si no quieres usar una
con un sistema de entretenimiento Blue- batería, o no puedes por haber tenido un
tooth conectado todo a un cuadro de tropiezo como el mío. Esta app también
mandos. Pero tras varios fallos, errores y es muy útil para aquellos interesados en
un bajo rendimiento en general, decidí que su XU4 funcione con un GPS en
que ya era hora de pasar a mi nuevo XU4 Android.
con su potente procesador de 8 núcleos y Play Store, que incluye numerosas apli-
el sistema operativo Android. caciones GPS offline, así como también Lograr que la radio
Cuando cambié al XU4, arroje a la Google Maps. Sin embargo, había una funcione
basura la vieja pantalla china integrada última cuestión con el GPS, asegurar que ¿Qué es un coche sin radio? Puesto
en el dispositivo WinCE, en su lugar el reloj de tiempo real pudiera sincroni- que el objetivo es crear una única expe-
utilice el marco y el cuadro de mandos zar con los satélites GPS para la precisión riencia desde mi XU4, también quería
para encajarlos en mi nueva pantalla tác- horaría, lo cual requería de una batería lograr que funcionase la radio con ayuda
ODROID MAGAZINE 37
CAR PC CAR PC
Poniéndolo todo
junto
A medida que continuaba realizando
ODROID MAGAZINE 38
CAR
CARPCPC
ya que tienen protecciones integradas También hay un desajuste de impedan- que mejore la visibilidad. Recomiendo
para prevenir cortocircuitos. cia en la clavija de audio de mi Denison usar una cámara SDI-HD, que conver-
En este momento, todo se inicia Gateway Pro, provocando una especie de tirá la señal HD compuesta del cable
cuando arrancamos el coche. Esta es la sonido metálico muy fino. Continuare coaxial al convertidor, que a su vez se
forma en la que todo está configurado investigando esta cuestión a medida que conecta a la pantalla táctil Chalkboard.
actualmente, aunque espero que cambiar vaya retocando mi Car PC. Esto te permitirá obtener resoluciones
esto con un temporizador para los casos hasta UHD 4K con un único cable coa-
en los que apague rápidamente el coche Otros cambios xial con conectores BNC, junto con un
para hacer una parada o repostar com- Hay una serie de pequeñas modifica- enchufe de alimentación DC de 12V, y
bustible. El USB será la clave, aunque ciones que he llevado a cabo para poner a no tendrás problemas de relación de as-
me llevará algún tiempo entender todo punto este proyecto. Esto incluye el uso pecto. Esto continúa estando en desarro-
esto y efectivamente controlar la forma de un Dremel para perforar la pantalla llo, ya que estoy actualmente montando
en que el dispositivo recibe alimentación táctil Chalkboard, de manera que en- un circuito que detectará la marcha atrás
de la batería incluso cuando el coche no cajara en el marco y en el salpicadero del del coche y hará que cambie la pantalla
esté arrancado. coche. También he añadido un nuevo Chalkboard del XU4 automáticamente.
Mientras tanto, instale cuidadosa- conector al XU4 para poder añadir en
mente todos los componentes en el panel el futuro un botón de encendido usando Software
de instrumentos de mi coche, asegurán- controles externos sobre una placa de cir- Lista de todo el software usado:
dome de que funcionaba todos los bo- cuitos. El objetivo es tener soporte para • CyanogenMod 12.1 de Voodik
futuros joysticks USB y otras conexiones que ejecuta An-
sin tener que abrirlo todo de nuevo. droid 5.1.1
Para este proyecto, terminé usando • App de Google
una tarjeta SD de gran tamaño para dis- incluyendo el
poner de una mayor y más barata capa- Google Play Store
cidad de almacenamiento. Esto necesito • Smart Time Sync
una alargadera debido al limitado espa- Pro
cio entre el marco y al conector HDMI • Google Chrome, Firefox no fun-
tones y componentes una vez instalado. que bloqueaba el lugar donde tenía que ciona bien en el XU4 y necesita
Conseguir que el ir mi SD. ser activado con el botón de en-
audio funcione Otra idea innovadora que tenía en cendido
Lograr que el audio funcionara en mente era utilizar una cámara trasera. El • iGo GPS, aunque existen mu-
esta nueva configuración Car PC con mi sistema GPS chino que utilicé soportaba chas aplicaciones GPS offline
XU4 fue mucho más difícil de lo que se una cámara trasera, aunque no había • Autorun (FIT009C Soft Tools)
esperaba. Había un montón ruido a cau- manera de conectarla directamente a mi • K@mail, recibirás un error de
sa de la conexión a tierra utilizando las pantalla táctil Chalkboard. La cámara certificado de correo electrónico
salidas normales por defecto. La solución funciona detectando una señal de vídeo que debe pasar por alto, debido a
pasaba por utilizar un extractor de audio compuesto y reenviándola a la pantalla, Smart Time Sync Pro
HDMI para evitar todo el ruido que de la cual se podía convertir a la entrada • Google Maps/Google Streetview
otro modo tendría que oír al reproducir HDMI de Chalkboard. El único pro-
música o escuchar la radio. blema es que la señal compuesta se veía Para aquellos que lo necesiten,
Llegue a probar diferentes opciones, realmente mal y tenía una relación de as- aquí teneis los cambios que rea-
incluyendo un controlador de audio pecto muy pobre sobre la pantalla. licé en mi archivo build.prop:
digital USB en lugar de un extractor de La solución era doble. En primer
audio HDMI, pero el objetivo era que lugar, era necesario instalar un converti- config.disable_bluetooth=false
este nuevo Car PC podíera soportar cu- dor para llevar la señal compuesta hasta wlan.modname=8192cu
alquier dispositivo de audio, como un una señal HDMI adecuada y sin prob- ro.kernel.android.gps=ttyUSB0
iPod, una llamada con el manos libres lemas de relación de aspecto. Sin em- ro.kernel.android.gps.speed=9600
de mi smartphone o el sistema de nave- bargo, esto añadiría otro periférico a tu
gación GPS. Todo el proceso sigue estan- coche. También tendrá que buscar una Gracias por acompañarme en mi via-
do en desarrollo con planes de comprar cámara que sea lo suficientemente buena je para montar un Car PC, ¡Y diviértete
una mejor DAC con un amplificador. para conseguir una señal de calidad HD experimentado!
ODROID MAGAZINE 39
CONOCIENDO A UN ODROIDIAN
CONOCIENDO
Miltiadis Melissas
UN ODROIDian
editado por Rob Roy
ODROID MAGAZINE 40
CONOCIENDO A UN ODROIDIAN
por streaming, así como ver los canales de YouTube, películas, Además, me encanta leer libros de educación y filosofía, y ver
canales de TV en vivo y programas de todo el mundo. Por otro películas en blanco y negro del viejo cine estadounidense. Tam-
lado, mi ODROID-C1 se encuentra en mi escritorio ejecutando bién suelo tomar fotos durante mis caminatas diarias por la ciu-
“Pocket Rocket II: Android 4.4.4 KitKat” con todos los extras dad. Me he redescubierto mi propia ciudad después de 25 años
que este sistema operativo nos ofrece. El XU4 es mi PC de es- viviendo, con paseos y actividades que he ido realizando. Tam-
critorio principal y francamente, han pasado varios meses desde bién estoy pensando seriamente en comprarme una bicicleta.
que abrí por última vez mi PC Windows. El XU4 satisface la ma-
yoría de, si no todas, mis necesidades como estación de trabajo ¿Qué consejo le daría a alguien que quiere aprender a programar?
e incluso puedo ejecutar juegos con la excelente imagen Game- La programación es como aprender un nuevo idioma.
Station Turbo proporcionada por @meveric, otro ODROIDian. Siempre lleva su tiempo. Es más, puede verse como una curva
El emulador PPSSPP funciona muy bien en esta imagen, y la personal de aprendizaje, ya que cada uno aprendemos y com-
mayoría de los juegos de PSP se ejecuta a 60 fps sin problema. prendes el conocimiento de un modo diferente. Ha habido
Por último, he creado mi propio entorno de escritorio basado períodos en los que yo aprendía a pasos agigantados, y otros
en Arch Linux, e instalé el escritorio Mate como interfaz gráfica en los que avanzaba muy lentamente. Empecé con BASIC
de usuario. No hay duda que detrás de este excelente entorno de hace mucho tiempo en el Commodore 64. BASIC me ayudó
escritorio hay mucho trabajo realizado. Sorprendentemente, esta a entender los fundamentos de la programación estructurada.
imagen no tiene el error de la pantalla en negro y el error de los ico- Continué con Visual Basic en el año 2000 sumergiéndome en
nos de la suite LibreOffice, todo parece funcionar a la perfección. el conocimiento de la programación óptica, un lenguaje de
Con suerte, pronto publicaré una guía en el foro para todo aquel programación que todavía uso con fines educativos. Hace unos
que desee tener el mismo tipo de entorno. El ODROID-XU4 es diez años, realice el “gran salto” a la programación orientada a
una verdadera joya, y si estos usos no son suficientes, mi segundo objetos usando Python. Me encanta Python porque es un len-
XU4 lo utilizo como servidor. Las posibilidades son infinitas. guaje de programación educativo, versátil y de aplicación gen-
eral, con una gran librería de código y una vasta comunidad.
¿Qué innovaciones te gustaría en futuros productos Hardkernel? Aconsejo empezar con la programación estructurada, y poco
No debería ser difícil para Hardkernel incluir un circuito wifi a poco pasar a la programación orientada a objetos. Python
y bluetooth en su próxima placa de desarrollo. Por otro lado, creo (http://bit.ly/1oDM6iq) es un lenguaje de programación que
que existe mucho margen para el desarrollo de software de las te permite trabajar de un modo rápido e integrar sistemas con
placas. Por supuesto, el sistema operativo Android está bastante mayor eficacia. Proporciona una sintaxis limpia y una estruc-
pulido para la línea C de productos (es decir, C1, C1 + C2), así tura fácil de aprender. Animo a mis estudiantes de secundaria
como el XU4, aunque el sistema operativo Linux es probable que a que aprendan Python y a tomarlo como un conjunto básico
evolucione en los próximos años para ofrecer más y mejores po- de habilidades. El entorno de programación Python se puede
sibilidades. Más aún, el reciente desarrollo de sistemas operativos instalar con facilidad en todos los equipos Linux ODROID,
como “Remix OS” parece muy prometedor, aunque aún no está lo cual minimiza en gran medida el coste de implementación.
implementado en la línea de productos de la Hardkernel, y no sé Además, existen muchos cursos gratuitos en línea ofrecidos por
si alguna vez se podrá instalar en los ODROIDs. Por último, algo diversos desarrolladores. Otros recursos online incluyen Cour-
de memoria (RAM) adicional podría añadirse a todas las placas, sera (http://bit.ly/18HdJkD), Edx (http://bit.ly/1bxqyhn), y
por supuesto con el inevitable coste adicional que supone. No Udacity (http://bit.ly/1dy71Lz). Como digo a mis alumnos,
creo que añadir 1 o 2 GB de RAM extra suponga un incremento con ODROID, la World Wide Web y Python, el cielo es el
del coste de 100 dólares, incluso para el ODROID más caro. límite y las posibilidades son infinitas.
ODROID MAGAZINE 41