Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía...

34
Time Año Dos Mum. #19 Jul 2015 Diet Pi ODROID Magazine • Atril Electrónico ODROID-C1 • Control Pines GPIO C1 Popcorn Disfruta de películas y programas de TV al instante con tu ODROID Liviana distribución para tu ODROID Scripts kernel Linux • Desarrollo Android • Juegos raros en linux

Transcript of Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía...

Page 1: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

Time

Antildeo DosMum 19Jul 2015

Diet Pi

ODROIDMagazine

bull Atril Electroacutenico ODROID-C1 bull Control Pines GPIO C1

PopcornDisfruta depeliacuteculas yprogramas de TVal instantecon tuODROID

Liviana distribucioacuten para tu ODROID

Scripts kernel Linux bull Desarrollo Android bull Juegos raros en linux

Queacute defendemosNos esmeramos en presentar una tecnologiacutea punta futura joven teacutecnica y para la sociedad de hoy

Nuestra filosofiacutea se basa en los desarrolladores Con-tinuamente nos esforzamos por mantener estrechas relaciones con eacutestos en todo el mundo

Por eso siempre podraacutes confiar en la calidad yexperiencia que representa la marca distintiva de nuestros productos

Ahora estamos enviando losdispositivos ODROID U3 a lospaiacuteses de la UE Ven y visita nuestra tienda online

Direccioacuten Max-Pollin-Straszlige 1 85104 Pfoumlrring Alemania

Teleacutefono amp Faxtelf +49 (0) 8403 920-920email servicepollinde

Nuestros productos ODROID se pueden encon-trar en httpbitly1tXPXwe

EDITORIAL

ODROID Magazine que se publica mensualmente en httpmagazineodroidcom es la fuente de todas las cosas ODROIDianas bull Hard Kernel Ltd bull 704 Anyang K-Center Gwanyang Dongan Anyang Gyeonggi South Korea 431-815 bull fabricantes de la familia ODROID de placas de desarrollo quad-core y la primera arquitectura ARM ldquobigLITTLErdquo del mundo basada en una uacutenica placa

Uacutenete a la comunidad ODROID con miembros en maacutes de 135 paiacuteses en httpforumodroidcom y explora las nuevas tecnologiacuteas que te ofrece Hardkernel en httpwwwhardkernelcom

Uno de los usos maacutes comunes de ODROID es emplearlo como centro multimedia y Popcorn Time es un software todo-en-uno que puede reproducir casi cualquier tipo de

peliacutecula o programa de televisioacuten Funciona muy bien en el U3 convirtieacutendolo en un dispositivo muy uacutetil y barato que puedes

colocar sobre el televisorComo siempre contamos con diver-tidos artiacuteculos sobre juegos para la plataforma ODROID coacutemo crear

tus propios videojuegos para un claacutesico ordenador Amstrad jugar al Millenia

Altered Destinies y disfrutar de Nubsrsquo Adventure y Kung Fury para Android Para los apasionados de Android Nanik continuacutea su se-

rie de Desarrollo Android con una guiacutea para compilar Android Studio un entorno de desarrollo interactivo de Java

Para los amantes al bricolaje Ivaacuten presenta su innovador Atril electroacutenico que utiliza como muacutesico profesional para acceder a sus partituras de muacutesica y tomar notas con una moderna interfaz con pantalla taacutectil Tambieacuten detallamos coacutemo acceder a los pines GPIO de un ODROID-C1 usando una libreriacutea Java llamada jOdro analizamos una liviana distribucioacuten llamada DietPi y aprenderemos coacutemo compilar un kernel Linux para ODROID usando scripts automatizados

PERSONAL

ODROIDMagazine

Rob Roy Editor Jefe

Soy un programa-dor informaacutetico

que vive y trabaja en San Francisco CA en

el disentildeo y desarrollo de aplicacio-nes web para clients locales sobre mi cluster ODROID Mis principales lenguajes son jQuery angular JS y HTML5CSS3 Tambieacuten desarrollo SO precompilados Kernels perso-nalizados y aplicaciones optimizadas para ODROID basadas en las ver-siones oficiales de Hardkernel por los cuales he ganado varios Premios Utilizo mi ODROIDs para diversos fines como centro multimedia ser-vidor web desarrollo de aplicaciones estacioacuten de trabajo y como plataforma de juegos Puedes echar un vistazo a mi coleccioacuten de 100 GB de software ODROID kernel precompilados e imaacutegenes en httpbitly1fsaXQs

Robert Cleere Editor

Soy un disentildeador de hardware y software

que actualmente vive en Huntsville Alabama

Aunque semi-retirado del disentildeo de los sistemas integrados incluyendo maacutes de una deacutecada trabajando en el programa del transbordador espacial continuacuteo disentildeando productos de software y hardware y me interesa la produccioacuten de audiovideo y las obras de arte Mis lenguajes de programacioacuten son Java C y C ++ y tengo experiencia con bas-tantes sistemas operativos integrados Actualmente mis proyectos principales son los sistemas navales de seguimiento y control monitoreo ambiental y la energiacutea solar Actualmente estoy tra-bajando con varios procesadores ARM Cortex pero mi ODROID-C1 es en gran medida el maacutes poderoso de todos

Bruno Doiche Editor Atistico Senior

Date prisa Bruno ten-emos que empaquetar la revista para enviaacuterselas a nuestros lectores Piensa en algo divertido podamos incluir aquiacute iexclraacutepidoiexclLo tengoldquoNo me considero una persona fea sino maacutes bien un mono muy guapordquoAdemaacutesldquoLa gente dice que el dinero no es la clave de la felicidad pero siempre penseacute si tienes suficiente dinero puede tener una marca claverdquo

Manuel Adamuz EditorEspantildeol

Tengo 31 antildeos y vivo en Sevilla Espantildea

y naciacute en Granada Estoy casado con una mujer maravillosa y tengo un hijo Hace unos antildeos trabajeacute como teacutecnico informaacutetico y programador pero mi trabajo actual estaacute relacionado con la gestioacuten de calidad y las tecnologiacuteas de la informacioacuten ISO 9001 ISO 27001 ISO 20000 Soy un apasionado de la informaacutetica especialmente de los microordenadores como el ODROID Raspberry Pi etc Me encanta experi-mentar con estos equipos y traducir ODROID Magazine Mi esposa dice que estoy loco porque soacutelo pienso en ODROID Mi otra aficioacuten es la bici-cleta de montantildea a veces participo en competiciones semiprofesionales

Nicole Scott Editor Artistico

Soy una experta en Produccioacuten Trans-

media y Estrategia Digital especializa en la optimizacioacuten online y estrategias de marketing administracioacuten de medios sociales y produccioacuten multimedia impresa web viacutedeo y cine Gestiono muacuteltiples cuentas con agencias y productores de cine desde Analytics y Adwords a la edicioacuten de viacutedeo y maquetacioacuten DVD Tengo un ODROID-U3 que utilizo para ejecutar un servidor web sandbox Vivo en el aacuterea de la Bahiacutea de California y disfruta haciendo senderismo acampada y tocando muacutesica Visita mi web en httpwwwnicolecscottcom

JamesLeFevour Editor Artiacutestico

Soy un especialista en medios digitales que dis-

fruta trabajando como freelance en mar-keting de redes sociales y administracioacuten de sitios web Cuanto maacutes aprendo so-bre las posibilidades de ODROID maacutes me ilusiona probar cosas nuevas con eacutel Me traslade a San Diego desde el Medio Oeste de los EEUU Todaviacutea estoy bas-tante enamorado de muchos aspectos que la mayoriacutea de la gente de la Costa Oeste ya da por sentado Vivo con mi encantadora esposa y nuestro adorable conejo mascota el cual mantiene mis libros y material informaacutetico en con-stante peligro

INDICEAMstrAD - 6

DEsArrOLLO AnDrOiD - 16

GEnErADOr DE rUiDO BLAnCO - 20

DiEt pi - 25

JUEGOs AnDrOiD nUBsrsquo ADvEntUrE- 9

kErnEL LinUx - 8

JUEGOs AnDrOiD kUnG fUry - 15

JAvA GpiO - 19

MUsiCA ODrOiD - 21

pOpCOrn tiME - 30

COnOCiEnDO A Un ODrOiDiAn - 32

JUEGOs LinUx MiLLEniUM - 10

Su desarrollador principal es Francisco Gallego (frangal-legobr) un ingeniero informaacutetico desarrollador de videojuegos y profesor de la Universidad de Alicante en Espantildea Si quieres profundizar en este entorno de trabajo puedes consultar los enlaces que aparecen al final de este artiacuteculo

Instalando CPCteleraEn primer lugar necesitas descargar el coacutedigo fuente para

compilarlo en tu placa Para ello descarga la versioacuten estable como lo hice yo o si eres atrevido puedes utilizar la uacuteltima versioacuten de GitHub

$ wget httpbitly1MMdUMA ampamp

unzip -nq $(basename $_) ampamp

rm $(basename $_) ampamp

cd cpctelera-11

or use the last commit

$ git clone httpbitly1IPxMOf ampamp

cd $(basename $_)

Para los que no lo sepan el Amstrad CPC era un ordena-dor de 8 bits que fue muy popular entre 1984 y 1990 CPCtelera es un motor que ha sido publicado reciente-

mente en su primera versioacuten estable la cual facilita la creacioacuten de juegos para Amstrad usando coacutedigo ensamblador o C

Presentando CPCteleraCPCtelera es un entorno de desarrollo integrado que premite

crear contenido y juegos para Amstrad CPC y que incluye

bull Una libreriacutea de bajo nivel con soporte para graacuteficos au-dio teclado firmware cadenas de caracteres tratamiento de hardware de viacutedeo y gestioacuten de memoria

bull Una Api para desarrollar juegos y software en C y ensam-blador

bull Herramientas para la creacioacuten de contenido (edicioacuten de nivel graacuteficos y audio)

bull Multiplataforma funciona con los sistemas Operativos Windows Ubuntu Debian Arch y Manjaro

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

AMSTRAD

AMstrAD CpC es una de esas re-liquias de 8 bits que siempre ocu-paraacute un sitio en nuestros corazones

ODROID MAGAZINE 6

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

Ejecutandosetupsh tras resolver las dependencias

AMSTRAD

Dispones de muchos ejemplos para aprender scanlines junto a la mejor nostalgia iexclprepaacuterate para trepar

A continuacioacuten tenemos que instalar las dependencias que faltan algunas de las cuales ya pueden estar instaladas

$ sudo apt-get install -y build-essential libboost-

dev flex bison

Luego activa el script de instalacioacuten ejecutando el archivo setup

$ sudo setupsh

Se te advertiraacute de los paquetes necesarios y prepararaacute tu sistema para ejecutar el motor En un ODROID-C1 la compi-lacioacuten suele tardar unos 20 minutos

Iniciando el MotorSi navegamos por los directorios podemos ver algunas

carpetas interesantes como docs que contiene el manu-al de referencia o tools que se utiliza para hacer sprites componer bandas sonoras convertidores de formatos y mucho maacutes Algunas de estas herramientas solo estaacuten dis-ponibles para Windows

Para crear un nuevo proyecto Bash escribe lo siguiente

$ cpct_mkproject [folder_project]

Navega por el directorio y veraacute dos subdirectorios

bull src con el coacutedigo fuente (la primera vez soacutelo tenemos un mainc) puede crear archivos y directorios de tu juego aquiacute

bull cfg contiene los paraacutemetros necesarios para compilar el juego a traveacutes del archivo build_configmk

Tambieacuten hay ejemplos que puedes analizar Simplemente ve al directorio ejecuta make y se crearaacuten automaacuteticamente los archivos CDT y DSK iexclIncreible iquestno

Platform ClimberCPCtelera incluye un completo juego de ejemplo llamado

Platform Climber En primer lugar necesitas un emulador de Amstrad CPC No he encontrado ninguno que estuviese pre-compilado para ODROID asiacute que tuve que descargar y com-pilar uno por miacute mismo No te preocupes es faacutecil

iexclAmstrad BAsiC es hora de desempolvar unos cuantos manuales

ODROID MAGAZINE 7

$ wget httpbitly1U2RrjZ

$ unzip caprice

$ make -f makefileunix

RELEASE=TRUE

En un minuto conseguiraacutes un bi-nario llamado cap32 El uso es muy sencillo utilizando cualquier archivo BAS o DSK Para cargar el juego Platform Climber ejecuta el emulador seguido de la ruta del archivo DSK

$ cap32 cpctelera-11

examplesgamesplatformClimber

pclimberdsk

iexclAhora ya estaacute dentro de AM-STRAD iquestSientes la magia Escribe cat para ver los archivos del disco montado previamente Luego ejecuta el juego

cat

runrdquogame_nameextension

Observa que las comillas no se cier-ran Por ejemplo para ejecutar Plat-form Climber escribe lo siguiente

runrdquopclimberbin

ConclusioacutenAhora es tu turno Te recomiendo

que empieces a estudiar los ejemplos de exampleseasysrc luego modifiacute-calos y compiacutelalos Debajo tienes un enlace al manual de referencia con toda la informacioacuten que necesitas so-bre funciones y meacutetodos disponibles Si sabes algo de SDL todo te seraacute un poco maacutes faacutecil

iexclFeliz codificacioacuten

Maacutes Referenciashttpbitly1IPxMOf

httpbitly1IpjQvV

httpbitly1FMAkrQ

httpbitly1IILeAT

AMSTRAD KERNEL LINUX

Para hacer que la compilacioacuten del kernel Linux sea maacutes sencilla he escrito un conjunto de scripts

BASH que permiten descargar la uacuteltima versioacuten de cualquier kernel almacenado en la seccioacuten GitHub de Hardkernel compilar el coacutedigo fuente y empaquetar el kernel terminado en un paquete que pueda distribuirse Los scripts guardan el kernel original en la maacutequina de com-pilacioacuten de forma que el kernel para un dispositivo ODROID se puede compi-lar en un ODROID distinto

El paquete resultante incluye un script de instalacioacuten de un solo clic pu-ede ser compartido con otros instalarlo en cualquier ODROID compatible o antildeadirlo a un repositorio para su distri-bucioacuten viacutea apt-get Los scripts dan indi-caciones a lo largo del proceso lo cual es ideal para usuarios que no tienen ex-periencia en la compilacioacuten de kernels

Informacioacuten generalLos scripts se encuentran en http

bitly1U6kQcU y se puenden descargar usando wget desde la liacutenea de comandos o desde cu-alquier navegador web Descomprime el paquete tras navegar a la carpeta de descargas

$ wget

httpbitly1U6kQcU

$ tar -xvzf buildtgz

La carpeta ldquobuildrdquo resultante contiene los siguientes scripts

downloadsh es usado para descargar una seccioacuten concreta del repositorio de Hardkernel

buildsh se utiliza para poner en mar-cha el proceso de compilacioacuten del kernel

installsh se copia en el paquete de instalacioacuten del kernel resultante para poder instalar el kernel en cualquier dis-positivo ODROID

Script DownloadEl script ldquodownloadshrdquo se puede

utilizar para descargar cualquier moacutedu-lo disponible del repositorio GitHub de Hardkernel especificaacutendolo como primer argumento Por ejemplo para descargar la versioacuten maacutes reciente de la seccioacuten ODROID-310y navega a la carpeta ldquobuildrdquo y escribe lo siguiente

$ sh downloadsh odroidc-310y

Para obtener una lista completa de todas las secciones visita httpbit

ly1NvVQa1 y abre el menuacute desplegable ldquobranchrdquo como muestra la imagen

Tras completarse el script download los archivos ldquodownloadshrdquo y ldquoinstallshrdquo se copiaraacuten automaacuteticamente al directo-

SCRIpTS pARA EL KERnEL DE LInux RETOCA Tu SISTEMApor rob roy

El lugar donde obtener el kernel maacutes actualizado es el menuacute desplegable de la seccioacuten correspondiente dentro del repositorio GitHub de Hardkernel

ODROID MAGAZINE 8

KERNEL LINUX

rio de la seccioacuten descargada Ahora pasa-mos al siguiente paso

Script BuildUna vez descargado la seccioacuten ve al

directorio en cuestioacuten y busca el archivo en el directorio archarmconfigs cor-respondiente a la plataforma ODROID que utilizaraacute el kernel

$ cd odroidc-310y

$ ls archarmconfigsodroid

Por ejemplo si seleccionas la sec-cioacuten odroid-310y los archivos de configuracioacuten estaacuten disponibles para usarse con ODROID-Q ODROID-Q2 ODROID-X ODROID-X2 y ODROID-U2 como muestra la imagen anterior Otras secciones pueden incluir archivos de configuracioacuten para otros dis-positivos ODROID tales como el XU y XU3 Si compilas un kernel para el ODROID-U2U3 usando odroid-310y el archivo de configuracioacuten de destino deberiacutea ser odroidu2_ubuntu_mali_ def-config que es incluido como argumento principal en el script ldquobuildshrdquo Cualquier cambio en el archivo de configuracioacuten se debe hacer antes de lanzar el script build Yo prefiero editar el archivo con un edi-tor de texto pero tambieacuten se puede usar ldquomake menuconfigrdquo

El siguiente comando inicia el pro-ceso de compilacioacuten usando el archivo de configuracioacuten seleccionado Requi-ere privilegios de superusuario ya que necesita tener acceso a ciertos directorios del sistema para poder empaquetar los archivos del kernel Aseguacuterate de reem-plazar el nombre del archivo de configu-racioacuten de destino por el argumento

$ sudo sh

buildsh

odroidc_ubun-

tu_mali_def-

config

La compilacioacuten puede tardar de 10 a 30 minutos el resultado es una es-tructura de carpeta con los recursos de instalacioacuten del ker-nel Esta estructura

estaacute incluida en una subcarpeta bajo la nueva ldquoversioacutenrdquo usando el nombre del archivo de configuracioacuten El proceso de compilacioacuten no instala el kernel en lo-cal sino que crea un paquete portaacutetil que despueacutes se puede ejecutar en el disposi-tivo ODROID que elijas

Para instalar el kernel en un equipo copia la nueva estructura de directorios al ODROID Luego ve al subdirectorio que lleva el nombre del archivo de con-figuracioacuten seleccionado En este ejemplo el script de instalacioacuten se puede ejecutar escribiendo los siguientes comandos

$ cd release

odroidc_ubuntu_mali_defconfig

$ sudo sh installsh

Este proceso puede tardar de 3 a 10 minutos tras lo cual el nuevo kernel es-taraacute listo Reinicia el equipo para usar el kernel actualizado Una backup del ker-nel original se guarda tal y como se indica en el resultado del script de instalacioacuten de modo que la actualizacioacuten del kernel se puede invertir si fuera necesario

Si tiene preguntas comentarios o su-gerencias sobre los scripts por favor crea un nuevo hilo en los foros ODROID en httpforumodroidcom

Divisionesodroid-30y Q U2 U3 X X2odroid-38y U2 U3 X X2odroid-313y XUodroidx-310y C1 C1+odroidw-312y Wodroidxu3-310y XU3odroidxu-34y XUodroidxu4-v42-rc1 XU3 XU4

selecciona tus archivos de configuracioacuten para la mejor compilacioacuten

LINUX GAMINGJUEGOS ANDROID

nubSrsquo ADvEnTuREDESAfIAnTE juEGO DE pLATAfORMAS 2Dpor Bruno Doiche

Lo que no echamos en fal-ta en ODROID

Magazine son los juegos de plataformas en 2D con los que disfrutamos bastante Despueacutes de todo emulamos todo tipo de consolas de 8 y 16 bits Pero a menu-do me pongo con una distro Android en mi U3 conectado a mi lapdock en busca de una nueva experiencia Y para mi agrado me las ingenieacute para dar con Nubsrsquo Adventure un juego de platafor-mas muy ameno que me trasladoacute a in-creiacutebles mundos de la mejor versioacuten de lsquoMetroidvaniarsquo Gran disentildeo de niveles jefes desafiantes y excelentes puzles para mantenerte con ganas de jugar maacutes de lo que esperas inicialmente iexclDisfruta

httpsplaygooglecomstore

appsdetailsid=nubsadventure

ODROID MAGAZINE 9

laxia Echelon asiacute como ayudarles a pros-perar hasta que sean lo suficientemente fuertes como para defenderse de los Mi-croids y por lo tanto salvar la galaxia Esto ademaacutes te interesa no soacutelo porque no quieres que ataquen nuestra galaxia sino porque en el momento en que em-piezas en la galaxia Echelon 10000 antildeos atraacutes en el pasado la tecnologiacutea necesaria para traerte de vuelta ya no existe ya que fue creada por las cuatro especies que se supone que vas ayudas a desarrollar Asiacute que lo que tienes que hacer es volver a tu propia eacutepoca y galaxia para ayudar a desarrollar las cuatro especies hasta que sean capaces de construir las partes que faltan de tu nave y ayudarles a defen-derse de los Microids

El juego tiene aspectos muy buenos como el uso de voz a traveacutes de tu orde-nador y AI Agnis diferentes escenas de peliacutecula accioacuten de combate espacial y mucho maacutes Por lo que yo seacute este juego no es muy conocido realmente es muy inusual por su estilo uacutenico y jugabilidad Definitivamente vale la pena probarlo y sin duda deberiacuteas darle una oportunidad

Instalacioacuten y puesta en marcha

Dado que eacuteste es un juego para DOS y no estaacute hecho para Linux no puedes simplemente descargarlo y ejecutarlo Useacute DOSBox para iniciar el juego y con-figureacute algunas opciones para que fun-

Quisiera presentar algunos de mis juegos favoritos que probable-mente no todo el mundo conoz-

ca pero que son muy interesantes y di-vertidos Espero que disfruteacuteis con los que elegido y os animo a que probeacuteis y jugueacuteis a algunos de los juegos maacutes raros e inusuales de la historia de los juegos

Millennia ndash Altered Destinies

Este juego es muy singular Eres el pi-loto de un carguero en su viaje de 6 me-ses a la Tierra desde Juacutepiter Al tiempo que te das cuenta de que podriacutea ser una mala idea hablar en voz alta en tu primer diacutea de viaje eres de repente ldquosecuestra-dordquo por una especie alieniacutegena Te expli-can que estaacutes en una especie de estasis temporal y que son una especie llamada Hood Son guardianes del tiempo que necesitan tu ayuda en su eacutepoca y galaxia

Una galaxia llamada Echelon que estaacute actualmente invadida por una especie llamada Microids Esta especie es muy agresiva y la galaxia de los guardianes de tiempo estaacute a punto de ser invadida y la proacutexima seraacute ldquonuestrardquo galaxia es por eso que se supone que debemos solucionar este conflicto Te ofrecen una nueva nave espacial que no soacutelo puede viajar en el es-pacio sino tambieacuten en el tiempo y eres enviado de vuelta a 10000 antildeos atraacutes a la galaxia Echelon donde el sistema este-lar soacutelo estaacute ocupado por Microids

El objetivo es establecer las cuatro especies originales que vivieron en la ga-

juEGOSLInux LAS jOyAS DE LOS juEGOS RAROS pARTE 1por tobias schaaf

JUEGOS LINUX

cionase correctamente En primer lugar necesitas el CD o un rip del mismo aunque te aconsejo utilizar la versioacuten del CD para una mejor experiencia

Aquiacute tienes una pequentildea guiacutea de coacutemo instalar e iniciar el juego basada en mi imagen ODROID GameStation Tur-bo aunque deberiacutea funcionar con la im-agen de Ubuntu de HardKernel si tienes activadas mis listas de paquetes alltest-ing y allmain Escribe lo siguiente para instalar los requisitos para DOSBox

$ sudo apt-get install dosbox-

odroid libgl-odroid

Configurar DOSBoxInicia DOSBox para crear el archivo

de configuracioacuten por defecto luego salte de inmediato Abre homeodroiddosboxdosbox-SVNconf con un editor de texto y cambia las siguientes liacuteneas

[sdl]

fullscreen=true

fullresolution=1920x1080

output=opengl

[render]

frameskip=3

[cpu]

core=dynamic

cputype=pentium_slow

cycles=5000

Esta es la versioacuten orginal en CD-rOM de Millenia - Altered Destinies

ODROID MAGAZINE 10

lo cual te ayudaraacute a entenderlo mejorTienes que utilizar las capacidades de

tu nave para viajar en el tiempo y en el espacio y asiacute poder solucionar los pro-blemas de las cuatro especies que debes proteger y ayudarles a evolucionar ha-cia una civilizacioacuten avanzada que pueda ayudarte a salir de la galaxia asiacute como defenderse de los Microids Para ello tienes que entender y controlar tu nave para completar todas las tareas que tienes por delante

La naveDentro de tu nave puedes ver Agnis

el ordenador de la nave y IA que te ayudara en tu tarea Actuacutea de traductor cuando hablas con las diferentes espe-cies Puede darte consejos y hacer co-mentarios sobre tus acciones De hecho su ldquoyo estoy a tu servicio humanordquo fue el sonido de inicio de mi maacutequina Win-dows durante mucho tiempo

La mayoriacutea de las pantallas de la nave se asemejan Tienes un panel de nave-gacioacuten en el lado izquierdo que se pue-de controlar pulsando y manteniendo el botoacuten derecho del ratoacuten y movieacutendote sobre los diferentes botones Un clic con el botoacuten izquierdo selecciona el sistema que quieres visitar una especie de ascen-sor que llega a tu cabina te lleva a la es-tacioacuten seleccionada A la derecha tienes los botones de accioacuten de su estacioacuten ac-tual Simplemente mueve el ratoacuten hacia el botoacuten deseado y pulsa el botoacuten izqui-erdo del ratoacuten para activar la accioacuten

En la vista principal puedes ver in-formacioacuten sobre el planeta actual que estaacute visitando El nombre del planeta y el

JUEGOS LINUX

antildeo se muestra sobre la cruz del escaacutener En el lado derecho puedes encontrar in-formacioacuten sobre el planeta y sus habitan-tes Aquiacute podemos ver la especie (Rap-toids) su calificacioacuten IQ actual (80) y un siacutembolo del evento actual (war) En la parte superior de la pantalla vemos de nuevo un pequentildeo panel de informacioacuten con el nombre del planeta la especie y un reloj El antildeo 1600 es el siglo actual y el siacutembolo 11713 es en realidad un reloj del tiempo de juego que tiene un for-mato muy extrantildeo Cuenta en segundos pero llega a 100 antes de que el nuacutemero anterior a los decimales cambie

La vista principal soacutelo permite iniciar un viaje al siguiente siglo o a un lugar diferente en la galaxia Soacutelo puedes ini-ciar los motores desde esta pantalla Otra cosa que soacutelo puedes hacer desde la pan-talla principal es el combate espacial De vez en cuando tienes que defenderte y defender a los habitantes del planeta frente a los enemigos invasores Dado que este juego gira en torno al tiempo esto en alguacuten momento puede llegar a ser algo confuso ya que en realidad po-driacuteas terminar luchando contra tu otro yo en una liacutenea temporal diferente pero tambieacuten podriacuteas luchar contra Microids que tratan de invadir el espacio donde se asienta tu raza Los Hoods a menudo tratan de atacar la raza que creaste desde una liacutenea de tiempo diferente y una de las otras razas incluso podriacutea tratar de invadir el planeta mientras trata de ex-pandir su territorio Por eso tu nave estaacute equipada con algunas armas e incluso se puede modificar con algunos de los in-ventos que obtienes a partir de las razas que has creado

vista principal de tu nave espacial des-de donde comienzas tu trabajo

figura 2 - Luchando contra tu otro yo en Milenios

cycleup=200

cycledown=200

En primer lugar he creado una car-peta donde quiero colocar mis juegos

$ mkdir DOS

Tambieacuten he copiado la ISO que he creado desde mi juego Millennia ndash Al-tered Destinies y la coloqueacute en una carpeta llamada CDs en mi ODROID Para facilitar las cosas he antildeadido las siguientes liacuteneas al final del archivo de configuracioacuten de DOSBox asiacute no necesito escribirlas cada vez que quiera ejecutar el juego

[autoexec]

mount c homeodroidDOS

c

imgmount d homeodroidCDs

Miliso -t iso

Ahora el sistema estaacute preparado para lanzar el emulador La carpeta DOS se monta automaacuteticamente como mi uni-dad C y el CD seraacute montado como D como una unidad de CD-ROM In-stala el juego como siempre bajo DOS e iniciarlo La introduccioacuten puede ser un poco lenta pero en general con los ajustes mencionados deberiacuteas ser capaz de ejecutar el juego a toda velocidad

Para ejecutar el juego lanza DOS-Box de nuevo con el siguiente comando para que DOSbox utilice glshim (libglo-droid) y asiacute poder activar la aceleracioacuten OpenGL

$ LD_LIBRARY_PATH=usrlocallib

dosbox

Los inicios del juegoTras la introduccioacuten te encontraraacutes

en una galaxia muy muy lejana (te suena familiar iquestno) El juego no viene con un tutorial lo que significa que tendraacutes mucha accioacuten sin saber lo que debes o puedes hacer Por eso voy a intentar ex-plicarte las cuestiones baacutesicas del juego

ODROID MAGAZINE 11

gran plan Sabe que puedes alterar los acontecimientos en el tiempo y es por ello que puede ver lo que sucederaacute en el futuro Auacuten asiacute el Agent es parte de la raza que estaacutes desarrollando y tendraacute creencias y necesidades similares lo que los hace a veces difiacutecil de tratar y cada uno requiere de una forma de persuasioacuten distinta

Si haces clic en el botoacuten que mira ha-cia el oeste en la barra de navegacioacuten su-perior te llevaraacute al centro de comunica-ciones Aquiacute puedes ponerse en contacto con tus agentes e intentar solventar sus problemas Agnis te ayudaraacute a traducir lo que tus agentes te esteacuten diciendo Pue-des ver las pequentildeas peliacuteculas de viacutedeo de los agentes cuando hablan contigo haciendo que parezca una transmisioacuten de viacutedeo Con la ayuda de Agnis inten-tas resolver sus problemas Esto incluye temas como la poliacutetica donde tienes que elegir quieacuten debe ser el liacuteder de una raza planificar asesinatos de liacutederes rebeldes con el fin de evitar levantamientos o de-cidir si ayudas a los rebeldes con el fin de matar a un emperador tirano

Por otro lado tambieacuten tienes que dar consejos sobre coacutemo protegerse ante un duro invierno coacutemo evitar que to-men decisiones equivocadas que lue-go puedan conducirles a cataacutestrofes o

antildeos atraacutes en el pasado soacutelo existe un planeta habitado con Microids ninguacuten otro con otra especie Tienes que elegir un planeta en el que quieres desarrollar las cuatro razas diferentes Cada una re-quiere de un haacutebitat distinto

Desde aquiacute puedes fijar una ruta a traveacutes del espacio y el tiempo con el fin de ayudar a las especies en su desar-rollo Sugerencia Viajar en el tiempo y el espacio consume combustible y soacutelo pue-des recargar combustible en los gi-

gantes gaseosos Por lo que es buena idea que crees tu raza en un planeta que se encuentre cerca de un gigante gaseoso Hay un botoacuten que activa o desactiva los planetas que no tienen gigantes gaseosos

En la esquina inferior derecha de esta pantalla puedes ver el botoacuten del histo-grama tu mejor amigo En el histograma ves todos los eventos que tienen lugar y cada paso representa 100 antildeos de desar-rollo Los nuevos inventos estaacuten marca-dos con un borde verde los bordes rojos indica crisis

Aquiacute es donde el juego se complica Tienes que ayudar a la raza a pasar las crisis o incluso prevenir que las crisis lleguen a producirse A menudo hay diferentes soluciones a un problema con diferentes resultados y aquiacute es donde el juego tambieacuten se vuelve interesante

Tienes diferentes formas de interac-cioacuten para desarrollar una raza y la forma maacutes comuacuten es la de comunicarte con un representante de la especie Este repre-sentante es conocido como Agent que es un ser modificado de las especies que ayudas Soacutelo eacutel sabe de tu existencia y del

Para luchar contra los enemigos manteacuten pulsado el botoacuten derecho del ratoacuten y mueacutevelo en la direccioacuten que desees Un pequentildeo punto rojo indica la ubicacioacuten del enemigo maacutes cercano Pulsa el botoacuten izquierdo para disparar a tu enemigo

La lucha contra tu otro yo es bas-tante faacutecil y normalmente escapas tras un par de golpes El combate contra los otros enemigos es algo maacutes difiacutecil ya que a menudo son maacutes numerosos y mien-tras luchas contra uno otro puede venir por detraacutes y atacarte El panel de infor-macioacuten de color rojo en la parte superior se convierte en un ldquoespejo retrovisorrdquo que muestra los enemigos que te atacan por detraacutes Ademaacutes tu nave puede da-ntildearse y si la averiacutea es demasiado grande huiraacutes automaacuteticamente de la escena y te dirigiraacutes al centro del universo al uacutenico planeta donde no se puede crear ninguna especie Asiacute que en realidad nunca pu-edes morir

A la vista principal se puede llegar a traveacutes del botoacuten que apunta hacia el norte en la parte superior izquierda de la barra de navegacioacuten La navegacioacuten es probablemente el sistema maacutes impor-tante que tienes Si hace clic en el botoacuten

que mira hacia el este en el panel de navegacioacuten superior se puedes ir al mapa de la galaxia y al sistema de navegacioacuten

En el sistema de navegacioacuten recopi-las toda la informacioacuten que necesitas para planificar tu proacuteximo paso El mapa de galaxia te muestra lo que se ve en la galaxia y coacutemo se distribuyen las diferen-tes especies Puesto que empiezas 10000

Mapa de la galaxia del sistema de nave-gacioacuten no soacutelo para moverte en el espacio sino tambieacuten para viajar en el tiempo

El histograma que muestra todos los even-tos importantes del desarrollo de las razas es una herramienta muy importante

Dos de las diferentes especies con las que tienes que lidiar en el juego los in-sectos Entomon y los reptiles reptoides

JUEGOS LINUX

ODROID MAGAZINE 12

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 2: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

Queacute defendemosNos esmeramos en presentar una tecnologiacutea punta futura joven teacutecnica y para la sociedad de hoy

Nuestra filosofiacutea se basa en los desarrolladores Con-tinuamente nos esforzamos por mantener estrechas relaciones con eacutestos en todo el mundo

Por eso siempre podraacutes confiar en la calidad yexperiencia que representa la marca distintiva de nuestros productos

Ahora estamos enviando losdispositivos ODROID U3 a lospaiacuteses de la UE Ven y visita nuestra tienda online

Direccioacuten Max-Pollin-Straszlige 1 85104 Pfoumlrring Alemania

Teleacutefono amp Faxtelf +49 (0) 8403 920-920email servicepollinde

Nuestros productos ODROID se pueden encon-trar en httpbitly1tXPXwe

EDITORIAL

ODROID Magazine que se publica mensualmente en httpmagazineodroidcom es la fuente de todas las cosas ODROIDianas bull Hard Kernel Ltd bull 704 Anyang K-Center Gwanyang Dongan Anyang Gyeonggi South Korea 431-815 bull fabricantes de la familia ODROID de placas de desarrollo quad-core y la primera arquitectura ARM ldquobigLITTLErdquo del mundo basada en una uacutenica placa

Uacutenete a la comunidad ODROID con miembros en maacutes de 135 paiacuteses en httpforumodroidcom y explora las nuevas tecnologiacuteas que te ofrece Hardkernel en httpwwwhardkernelcom

Uno de los usos maacutes comunes de ODROID es emplearlo como centro multimedia y Popcorn Time es un software todo-en-uno que puede reproducir casi cualquier tipo de

peliacutecula o programa de televisioacuten Funciona muy bien en el U3 convirtieacutendolo en un dispositivo muy uacutetil y barato que puedes

colocar sobre el televisorComo siempre contamos con diver-tidos artiacuteculos sobre juegos para la plataforma ODROID coacutemo crear

tus propios videojuegos para un claacutesico ordenador Amstrad jugar al Millenia

Altered Destinies y disfrutar de Nubsrsquo Adventure y Kung Fury para Android Para los apasionados de Android Nanik continuacutea su se-

rie de Desarrollo Android con una guiacutea para compilar Android Studio un entorno de desarrollo interactivo de Java

Para los amantes al bricolaje Ivaacuten presenta su innovador Atril electroacutenico que utiliza como muacutesico profesional para acceder a sus partituras de muacutesica y tomar notas con una moderna interfaz con pantalla taacutectil Tambieacuten detallamos coacutemo acceder a los pines GPIO de un ODROID-C1 usando una libreriacutea Java llamada jOdro analizamos una liviana distribucioacuten llamada DietPi y aprenderemos coacutemo compilar un kernel Linux para ODROID usando scripts automatizados

PERSONAL

ODROIDMagazine

Rob Roy Editor Jefe

Soy un programa-dor informaacutetico

que vive y trabaja en San Francisco CA en

el disentildeo y desarrollo de aplicacio-nes web para clients locales sobre mi cluster ODROID Mis principales lenguajes son jQuery angular JS y HTML5CSS3 Tambieacuten desarrollo SO precompilados Kernels perso-nalizados y aplicaciones optimizadas para ODROID basadas en las ver-siones oficiales de Hardkernel por los cuales he ganado varios Premios Utilizo mi ODROIDs para diversos fines como centro multimedia ser-vidor web desarrollo de aplicaciones estacioacuten de trabajo y como plataforma de juegos Puedes echar un vistazo a mi coleccioacuten de 100 GB de software ODROID kernel precompilados e imaacutegenes en httpbitly1fsaXQs

Robert Cleere Editor

Soy un disentildeador de hardware y software

que actualmente vive en Huntsville Alabama

Aunque semi-retirado del disentildeo de los sistemas integrados incluyendo maacutes de una deacutecada trabajando en el programa del transbordador espacial continuacuteo disentildeando productos de software y hardware y me interesa la produccioacuten de audiovideo y las obras de arte Mis lenguajes de programacioacuten son Java C y C ++ y tengo experiencia con bas-tantes sistemas operativos integrados Actualmente mis proyectos principales son los sistemas navales de seguimiento y control monitoreo ambiental y la energiacutea solar Actualmente estoy tra-bajando con varios procesadores ARM Cortex pero mi ODROID-C1 es en gran medida el maacutes poderoso de todos

Bruno Doiche Editor Atistico Senior

Date prisa Bruno ten-emos que empaquetar la revista para enviaacuterselas a nuestros lectores Piensa en algo divertido podamos incluir aquiacute iexclraacutepidoiexclLo tengoldquoNo me considero una persona fea sino maacutes bien un mono muy guapordquoAdemaacutesldquoLa gente dice que el dinero no es la clave de la felicidad pero siempre penseacute si tienes suficiente dinero puede tener una marca claverdquo

Manuel Adamuz EditorEspantildeol

Tengo 31 antildeos y vivo en Sevilla Espantildea

y naciacute en Granada Estoy casado con una mujer maravillosa y tengo un hijo Hace unos antildeos trabajeacute como teacutecnico informaacutetico y programador pero mi trabajo actual estaacute relacionado con la gestioacuten de calidad y las tecnologiacuteas de la informacioacuten ISO 9001 ISO 27001 ISO 20000 Soy un apasionado de la informaacutetica especialmente de los microordenadores como el ODROID Raspberry Pi etc Me encanta experi-mentar con estos equipos y traducir ODROID Magazine Mi esposa dice que estoy loco porque soacutelo pienso en ODROID Mi otra aficioacuten es la bici-cleta de montantildea a veces participo en competiciones semiprofesionales

Nicole Scott Editor Artistico

Soy una experta en Produccioacuten Trans-

media y Estrategia Digital especializa en la optimizacioacuten online y estrategias de marketing administracioacuten de medios sociales y produccioacuten multimedia impresa web viacutedeo y cine Gestiono muacuteltiples cuentas con agencias y productores de cine desde Analytics y Adwords a la edicioacuten de viacutedeo y maquetacioacuten DVD Tengo un ODROID-U3 que utilizo para ejecutar un servidor web sandbox Vivo en el aacuterea de la Bahiacutea de California y disfruta haciendo senderismo acampada y tocando muacutesica Visita mi web en httpwwwnicolecscottcom

JamesLeFevour Editor Artiacutestico

Soy un especialista en medios digitales que dis-

fruta trabajando como freelance en mar-keting de redes sociales y administracioacuten de sitios web Cuanto maacutes aprendo so-bre las posibilidades de ODROID maacutes me ilusiona probar cosas nuevas con eacutel Me traslade a San Diego desde el Medio Oeste de los EEUU Todaviacutea estoy bas-tante enamorado de muchos aspectos que la mayoriacutea de la gente de la Costa Oeste ya da por sentado Vivo con mi encantadora esposa y nuestro adorable conejo mascota el cual mantiene mis libros y material informaacutetico en con-stante peligro

INDICEAMstrAD - 6

DEsArrOLLO AnDrOiD - 16

GEnErADOr DE rUiDO BLAnCO - 20

DiEt pi - 25

JUEGOs AnDrOiD nUBsrsquo ADvEntUrE- 9

kErnEL LinUx - 8

JUEGOs AnDrOiD kUnG fUry - 15

JAvA GpiO - 19

MUsiCA ODrOiD - 21

pOpCOrn tiME - 30

COnOCiEnDO A Un ODrOiDiAn - 32

JUEGOs LinUx MiLLEniUM - 10

Su desarrollador principal es Francisco Gallego (frangal-legobr) un ingeniero informaacutetico desarrollador de videojuegos y profesor de la Universidad de Alicante en Espantildea Si quieres profundizar en este entorno de trabajo puedes consultar los enlaces que aparecen al final de este artiacuteculo

Instalando CPCteleraEn primer lugar necesitas descargar el coacutedigo fuente para

compilarlo en tu placa Para ello descarga la versioacuten estable como lo hice yo o si eres atrevido puedes utilizar la uacuteltima versioacuten de GitHub

$ wget httpbitly1MMdUMA ampamp

unzip -nq $(basename $_) ampamp

rm $(basename $_) ampamp

cd cpctelera-11

or use the last commit

$ git clone httpbitly1IPxMOf ampamp

cd $(basename $_)

Para los que no lo sepan el Amstrad CPC era un ordena-dor de 8 bits que fue muy popular entre 1984 y 1990 CPCtelera es un motor que ha sido publicado reciente-

mente en su primera versioacuten estable la cual facilita la creacioacuten de juegos para Amstrad usando coacutedigo ensamblador o C

Presentando CPCteleraCPCtelera es un entorno de desarrollo integrado que premite

crear contenido y juegos para Amstrad CPC y que incluye

bull Una libreriacutea de bajo nivel con soporte para graacuteficos au-dio teclado firmware cadenas de caracteres tratamiento de hardware de viacutedeo y gestioacuten de memoria

bull Una Api para desarrollar juegos y software en C y ensam-blador

bull Herramientas para la creacioacuten de contenido (edicioacuten de nivel graacuteficos y audio)

bull Multiplataforma funciona con los sistemas Operativos Windows Ubuntu Debian Arch y Manjaro

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

AMSTRAD

AMstrAD CpC es una de esas re-liquias de 8 bits que siempre ocu-paraacute un sitio en nuestros corazones

ODROID MAGAZINE 6

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

Ejecutandosetupsh tras resolver las dependencias

AMSTRAD

Dispones de muchos ejemplos para aprender scanlines junto a la mejor nostalgia iexclprepaacuterate para trepar

A continuacioacuten tenemos que instalar las dependencias que faltan algunas de las cuales ya pueden estar instaladas

$ sudo apt-get install -y build-essential libboost-

dev flex bison

Luego activa el script de instalacioacuten ejecutando el archivo setup

$ sudo setupsh

Se te advertiraacute de los paquetes necesarios y prepararaacute tu sistema para ejecutar el motor En un ODROID-C1 la compi-lacioacuten suele tardar unos 20 minutos

Iniciando el MotorSi navegamos por los directorios podemos ver algunas

carpetas interesantes como docs que contiene el manu-al de referencia o tools que se utiliza para hacer sprites componer bandas sonoras convertidores de formatos y mucho maacutes Algunas de estas herramientas solo estaacuten dis-ponibles para Windows

Para crear un nuevo proyecto Bash escribe lo siguiente

$ cpct_mkproject [folder_project]

Navega por el directorio y veraacute dos subdirectorios

bull src con el coacutedigo fuente (la primera vez soacutelo tenemos un mainc) puede crear archivos y directorios de tu juego aquiacute

bull cfg contiene los paraacutemetros necesarios para compilar el juego a traveacutes del archivo build_configmk

Tambieacuten hay ejemplos que puedes analizar Simplemente ve al directorio ejecuta make y se crearaacuten automaacuteticamente los archivos CDT y DSK iexclIncreible iquestno

Platform ClimberCPCtelera incluye un completo juego de ejemplo llamado

Platform Climber En primer lugar necesitas un emulador de Amstrad CPC No he encontrado ninguno que estuviese pre-compilado para ODROID asiacute que tuve que descargar y com-pilar uno por miacute mismo No te preocupes es faacutecil

iexclAmstrad BAsiC es hora de desempolvar unos cuantos manuales

ODROID MAGAZINE 7

$ wget httpbitly1U2RrjZ

$ unzip caprice

$ make -f makefileunix

RELEASE=TRUE

En un minuto conseguiraacutes un bi-nario llamado cap32 El uso es muy sencillo utilizando cualquier archivo BAS o DSK Para cargar el juego Platform Climber ejecuta el emulador seguido de la ruta del archivo DSK

$ cap32 cpctelera-11

examplesgamesplatformClimber

pclimberdsk

iexclAhora ya estaacute dentro de AM-STRAD iquestSientes la magia Escribe cat para ver los archivos del disco montado previamente Luego ejecuta el juego

cat

runrdquogame_nameextension

Observa que las comillas no se cier-ran Por ejemplo para ejecutar Plat-form Climber escribe lo siguiente

runrdquopclimberbin

ConclusioacutenAhora es tu turno Te recomiendo

que empieces a estudiar los ejemplos de exampleseasysrc luego modifiacute-calos y compiacutelalos Debajo tienes un enlace al manual de referencia con toda la informacioacuten que necesitas so-bre funciones y meacutetodos disponibles Si sabes algo de SDL todo te seraacute un poco maacutes faacutecil

iexclFeliz codificacioacuten

Maacutes Referenciashttpbitly1IPxMOf

httpbitly1IpjQvV

httpbitly1FMAkrQ

httpbitly1IILeAT

AMSTRAD KERNEL LINUX

Para hacer que la compilacioacuten del kernel Linux sea maacutes sencilla he escrito un conjunto de scripts

BASH que permiten descargar la uacuteltima versioacuten de cualquier kernel almacenado en la seccioacuten GitHub de Hardkernel compilar el coacutedigo fuente y empaquetar el kernel terminado en un paquete que pueda distribuirse Los scripts guardan el kernel original en la maacutequina de com-pilacioacuten de forma que el kernel para un dispositivo ODROID se puede compi-lar en un ODROID distinto

El paquete resultante incluye un script de instalacioacuten de un solo clic pu-ede ser compartido con otros instalarlo en cualquier ODROID compatible o antildeadirlo a un repositorio para su distri-bucioacuten viacutea apt-get Los scripts dan indi-caciones a lo largo del proceso lo cual es ideal para usuarios que no tienen ex-periencia en la compilacioacuten de kernels

Informacioacuten generalLos scripts se encuentran en http

bitly1U6kQcU y se puenden descargar usando wget desde la liacutenea de comandos o desde cu-alquier navegador web Descomprime el paquete tras navegar a la carpeta de descargas

$ wget

httpbitly1U6kQcU

$ tar -xvzf buildtgz

La carpeta ldquobuildrdquo resultante contiene los siguientes scripts

downloadsh es usado para descargar una seccioacuten concreta del repositorio de Hardkernel

buildsh se utiliza para poner en mar-cha el proceso de compilacioacuten del kernel

installsh se copia en el paquete de instalacioacuten del kernel resultante para poder instalar el kernel en cualquier dis-positivo ODROID

Script DownloadEl script ldquodownloadshrdquo se puede

utilizar para descargar cualquier moacutedu-lo disponible del repositorio GitHub de Hardkernel especificaacutendolo como primer argumento Por ejemplo para descargar la versioacuten maacutes reciente de la seccioacuten ODROID-310y navega a la carpeta ldquobuildrdquo y escribe lo siguiente

$ sh downloadsh odroidc-310y

Para obtener una lista completa de todas las secciones visita httpbit

ly1NvVQa1 y abre el menuacute desplegable ldquobranchrdquo como muestra la imagen

Tras completarse el script download los archivos ldquodownloadshrdquo y ldquoinstallshrdquo se copiaraacuten automaacuteticamente al directo-

SCRIpTS pARA EL KERnEL DE LInux RETOCA Tu SISTEMApor rob roy

El lugar donde obtener el kernel maacutes actualizado es el menuacute desplegable de la seccioacuten correspondiente dentro del repositorio GitHub de Hardkernel

ODROID MAGAZINE 8

KERNEL LINUX

rio de la seccioacuten descargada Ahora pasa-mos al siguiente paso

Script BuildUna vez descargado la seccioacuten ve al

directorio en cuestioacuten y busca el archivo en el directorio archarmconfigs cor-respondiente a la plataforma ODROID que utilizaraacute el kernel

$ cd odroidc-310y

$ ls archarmconfigsodroid

Por ejemplo si seleccionas la sec-cioacuten odroid-310y los archivos de configuracioacuten estaacuten disponibles para usarse con ODROID-Q ODROID-Q2 ODROID-X ODROID-X2 y ODROID-U2 como muestra la imagen anterior Otras secciones pueden incluir archivos de configuracioacuten para otros dis-positivos ODROID tales como el XU y XU3 Si compilas un kernel para el ODROID-U2U3 usando odroid-310y el archivo de configuracioacuten de destino deberiacutea ser odroidu2_ubuntu_mali_ def-config que es incluido como argumento principal en el script ldquobuildshrdquo Cualquier cambio en el archivo de configuracioacuten se debe hacer antes de lanzar el script build Yo prefiero editar el archivo con un edi-tor de texto pero tambieacuten se puede usar ldquomake menuconfigrdquo

El siguiente comando inicia el pro-ceso de compilacioacuten usando el archivo de configuracioacuten seleccionado Requi-ere privilegios de superusuario ya que necesita tener acceso a ciertos directorios del sistema para poder empaquetar los archivos del kernel Aseguacuterate de reem-plazar el nombre del archivo de configu-racioacuten de destino por el argumento

$ sudo sh

buildsh

odroidc_ubun-

tu_mali_def-

config

La compilacioacuten puede tardar de 10 a 30 minutos el resultado es una es-tructura de carpeta con los recursos de instalacioacuten del ker-nel Esta estructura

estaacute incluida en una subcarpeta bajo la nueva ldquoversioacutenrdquo usando el nombre del archivo de configuracioacuten El proceso de compilacioacuten no instala el kernel en lo-cal sino que crea un paquete portaacutetil que despueacutes se puede ejecutar en el disposi-tivo ODROID que elijas

Para instalar el kernel en un equipo copia la nueva estructura de directorios al ODROID Luego ve al subdirectorio que lleva el nombre del archivo de con-figuracioacuten seleccionado En este ejemplo el script de instalacioacuten se puede ejecutar escribiendo los siguientes comandos

$ cd release

odroidc_ubuntu_mali_defconfig

$ sudo sh installsh

Este proceso puede tardar de 3 a 10 minutos tras lo cual el nuevo kernel es-taraacute listo Reinicia el equipo para usar el kernel actualizado Una backup del ker-nel original se guarda tal y como se indica en el resultado del script de instalacioacuten de modo que la actualizacioacuten del kernel se puede invertir si fuera necesario

Si tiene preguntas comentarios o su-gerencias sobre los scripts por favor crea un nuevo hilo en los foros ODROID en httpforumodroidcom

Divisionesodroid-30y Q U2 U3 X X2odroid-38y U2 U3 X X2odroid-313y XUodroidx-310y C1 C1+odroidw-312y Wodroidxu3-310y XU3odroidxu-34y XUodroidxu4-v42-rc1 XU3 XU4

selecciona tus archivos de configuracioacuten para la mejor compilacioacuten

LINUX GAMINGJUEGOS ANDROID

nubSrsquo ADvEnTuREDESAfIAnTE juEGO DE pLATAfORMAS 2Dpor Bruno Doiche

Lo que no echamos en fal-ta en ODROID

Magazine son los juegos de plataformas en 2D con los que disfrutamos bastante Despueacutes de todo emulamos todo tipo de consolas de 8 y 16 bits Pero a menu-do me pongo con una distro Android en mi U3 conectado a mi lapdock en busca de una nueva experiencia Y para mi agrado me las ingenieacute para dar con Nubsrsquo Adventure un juego de platafor-mas muy ameno que me trasladoacute a in-creiacutebles mundos de la mejor versioacuten de lsquoMetroidvaniarsquo Gran disentildeo de niveles jefes desafiantes y excelentes puzles para mantenerte con ganas de jugar maacutes de lo que esperas inicialmente iexclDisfruta

httpsplaygooglecomstore

appsdetailsid=nubsadventure

ODROID MAGAZINE 9

laxia Echelon asiacute como ayudarles a pros-perar hasta que sean lo suficientemente fuertes como para defenderse de los Mi-croids y por lo tanto salvar la galaxia Esto ademaacutes te interesa no soacutelo porque no quieres que ataquen nuestra galaxia sino porque en el momento en que em-piezas en la galaxia Echelon 10000 antildeos atraacutes en el pasado la tecnologiacutea necesaria para traerte de vuelta ya no existe ya que fue creada por las cuatro especies que se supone que vas ayudas a desarrollar Asiacute que lo que tienes que hacer es volver a tu propia eacutepoca y galaxia para ayudar a desarrollar las cuatro especies hasta que sean capaces de construir las partes que faltan de tu nave y ayudarles a defen-derse de los Microids

El juego tiene aspectos muy buenos como el uso de voz a traveacutes de tu orde-nador y AI Agnis diferentes escenas de peliacutecula accioacuten de combate espacial y mucho maacutes Por lo que yo seacute este juego no es muy conocido realmente es muy inusual por su estilo uacutenico y jugabilidad Definitivamente vale la pena probarlo y sin duda deberiacuteas darle una oportunidad

Instalacioacuten y puesta en marcha

Dado que eacuteste es un juego para DOS y no estaacute hecho para Linux no puedes simplemente descargarlo y ejecutarlo Useacute DOSBox para iniciar el juego y con-figureacute algunas opciones para que fun-

Quisiera presentar algunos de mis juegos favoritos que probable-mente no todo el mundo conoz-

ca pero que son muy interesantes y di-vertidos Espero que disfruteacuteis con los que elegido y os animo a que probeacuteis y jugueacuteis a algunos de los juegos maacutes raros e inusuales de la historia de los juegos

Millennia ndash Altered Destinies

Este juego es muy singular Eres el pi-loto de un carguero en su viaje de 6 me-ses a la Tierra desde Juacutepiter Al tiempo que te das cuenta de que podriacutea ser una mala idea hablar en voz alta en tu primer diacutea de viaje eres de repente ldquosecuestra-dordquo por una especie alieniacutegena Te expli-can que estaacutes en una especie de estasis temporal y que son una especie llamada Hood Son guardianes del tiempo que necesitan tu ayuda en su eacutepoca y galaxia

Una galaxia llamada Echelon que estaacute actualmente invadida por una especie llamada Microids Esta especie es muy agresiva y la galaxia de los guardianes de tiempo estaacute a punto de ser invadida y la proacutexima seraacute ldquonuestrardquo galaxia es por eso que se supone que debemos solucionar este conflicto Te ofrecen una nueva nave espacial que no soacutelo puede viajar en el es-pacio sino tambieacuten en el tiempo y eres enviado de vuelta a 10000 antildeos atraacutes a la galaxia Echelon donde el sistema este-lar soacutelo estaacute ocupado por Microids

El objetivo es establecer las cuatro especies originales que vivieron en la ga-

juEGOSLInux LAS jOyAS DE LOS juEGOS RAROS pARTE 1por tobias schaaf

JUEGOS LINUX

cionase correctamente En primer lugar necesitas el CD o un rip del mismo aunque te aconsejo utilizar la versioacuten del CD para una mejor experiencia

Aquiacute tienes una pequentildea guiacutea de coacutemo instalar e iniciar el juego basada en mi imagen ODROID GameStation Tur-bo aunque deberiacutea funcionar con la im-agen de Ubuntu de HardKernel si tienes activadas mis listas de paquetes alltest-ing y allmain Escribe lo siguiente para instalar los requisitos para DOSBox

$ sudo apt-get install dosbox-

odroid libgl-odroid

Configurar DOSBoxInicia DOSBox para crear el archivo

de configuracioacuten por defecto luego salte de inmediato Abre homeodroiddosboxdosbox-SVNconf con un editor de texto y cambia las siguientes liacuteneas

[sdl]

fullscreen=true

fullresolution=1920x1080

output=opengl

[render]

frameskip=3

[cpu]

core=dynamic

cputype=pentium_slow

cycles=5000

Esta es la versioacuten orginal en CD-rOM de Millenia - Altered Destinies

ODROID MAGAZINE 10

lo cual te ayudaraacute a entenderlo mejorTienes que utilizar las capacidades de

tu nave para viajar en el tiempo y en el espacio y asiacute poder solucionar los pro-blemas de las cuatro especies que debes proteger y ayudarles a evolucionar ha-cia una civilizacioacuten avanzada que pueda ayudarte a salir de la galaxia asiacute como defenderse de los Microids Para ello tienes que entender y controlar tu nave para completar todas las tareas que tienes por delante

La naveDentro de tu nave puedes ver Agnis

el ordenador de la nave y IA que te ayudara en tu tarea Actuacutea de traductor cuando hablas con las diferentes espe-cies Puede darte consejos y hacer co-mentarios sobre tus acciones De hecho su ldquoyo estoy a tu servicio humanordquo fue el sonido de inicio de mi maacutequina Win-dows durante mucho tiempo

La mayoriacutea de las pantallas de la nave se asemejan Tienes un panel de nave-gacioacuten en el lado izquierdo que se pue-de controlar pulsando y manteniendo el botoacuten derecho del ratoacuten y movieacutendote sobre los diferentes botones Un clic con el botoacuten izquierdo selecciona el sistema que quieres visitar una especie de ascen-sor que llega a tu cabina te lleva a la es-tacioacuten seleccionada A la derecha tienes los botones de accioacuten de su estacioacuten ac-tual Simplemente mueve el ratoacuten hacia el botoacuten deseado y pulsa el botoacuten izqui-erdo del ratoacuten para activar la accioacuten

En la vista principal puedes ver in-formacioacuten sobre el planeta actual que estaacute visitando El nombre del planeta y el

JUEGOS LINUX

antildeo se muestra sobre la cruz del escaacutener En el lado derecho puedes encontrar in-formacioacuten sobre el planeta y sus habitan-tes Aquiacute podemos ver la especie (Rap-toids) su calificacioacuten IQ actual (80) y un siacutembolo del evento actual (war) En la parte superior de la pantalla vemos de nuevo un pequentildeo panel de informacioacuten con el nombre del planeta la especie y un reloj El antildeo 1600 es el siglo actual y el siacutembolo 11713 es en realidad un reloj del tiempo de juego que tiene un for-mato muy extrantildeo Cuenta en segundos pero llega a 100 antes de que el nuacutemero anterior a los decimales cambie

La vista principal soacutelo permite iniciar un viaje al siguiente siglo o a un lugar diferente en la galaxia Soacutelo puedes ini-ciar los motores desde esta pantalla Otra cosa que soacutelo puedes hacer desde la pan-talla principal es el combate espacial De vez en cuando tienes que defenderte y defender a los habitantes del planeta frente a los enemigos invasores Dado que este juego gira en torno al tiempo esto en alguacuten momento puede llegar a ser algo confuso ya que en realidad po-driacuteas terminar luchando contra tu otro yo en una liacutenea temporal diferente pero tambieacuten podriacuteas luchar contra Microids que tratan de invadir el espacio donde se asienta tu raza Los Hoods a menudo tratan de atacar la raza que creaste desde una liacutenea de tiempo diferente y una de las otras razas incluso podriacutea tratar de invadir el planeta mientras trata de ex-pandir su territorio Por eso tu nave estaacute equipada con algunas armas e incluso se puede modificar con algunos de los in-ventos que obtienes a partir de las razas que has creado

vista principal de tu nave espacial des-de donde comienzas tu trabajo

figura 2 - Luchando contra tu otro yo en Milenios

cycleup=200

cycledown=200

En primer lugar he creado una car-peta donde quiero colocar mis juegos

$ mkdir DOS

Tambieacuten he copiado la ISO que he creado desde mi juego Millennia ndash Al-tered Destinies y la coloqueacute en una carpeta llamada CDs en mi ODROID Para facilitar las cosas he antildeadido las siguientes liacuteneas al final del archivo de configuracioacuten de DOSBox asiacute no necesito escribirlas cada vez que quiera ejecutar el juego

[autoexec]

mount c homeodroidDOS

c

imgmount d homeodroidCDs

Miliso -t iso

Ahora el sistema estaacute preparado para lanzar el emulador La carpeta DOS se monta automaacuteticamente como mi uni-dad C y el CD seraacute montado como D como una unidad de CD-ROM In-stala el juego como siempre bajo DOS e iniciarlo La introduccioacuten puede ser un poco lenta pero en general con los ajustes mencionados deberiacuteas ser capaz de ejecutar el juego a toda velocidad

Para ejecutar el juego lanza DOS-Box de nuevo con el siguiente comando para que DOSbox utilice glshim (libglo-droid) y asiacute poder activar la aceleracioacuten OpenGL

$ LD_LIBRARY_PATH=usrlocallib

dosbox

Los inicios del juegoTras la introduccioacuten te encontraraacutes

en una galaxia muy muy lejana (te suena familiar iquestno) El juego no viene con un tutorial lo que significa que tendraacutes mucha accioacuten sin saber lo que debes o puedes hacer Por eso voy a intentar ex-plicarte las cuestiones baacutesicas del juego

ODROID MAGAZINE 11

gran plan Sabe que puedes alterar los acontecimientos en el tiempo y es por ello que puede ver lo que sucederaacute en el futuro Auacuten asiacute el Agent es parte de la raza que estaacutes desarrollando y tendraacute creencias y necesidades similares lo que los hace a veces difiacutecil de tratar y cada uno requiere de una forma de persuasioacuten distinta

Si haces clic en el botoacuten que mira ha-cia el oeste en la barra de navegacioacuten su-perior te llevaraacute al centro de comunica-ciones Aquiacute puedes ponerse en contacto con tus agentes e intentar solventar sus problemas Agnis te ayudaraacute a traducir lo que tus agentes te esteacuten diciendo Pue-des ver las pequentildeas peliacuteculas de viacutedeo de los agentes cuando hablan contigo haciendo que parezca una transmisioacuten de viacutedeo Con la ayuda de Agnis inten-tas resolver sus problemas Esto incluye temas como la poliacutetica donde tienes que elegir quieacuten debe ser el liacuteder de una raza planificar asesinatos de liacutederes rebeldes con el fin de evitar levantamientos o de-cidir si ayudas a los rebeldes con el fin de matar a un emperador tirano

Por otro lado tambieacuten tienes que dar consejos sobre coacutemo protegerse ante un duro invierno coacutemo evitar que to-men decisiones equivocadas que lue-go puedan conducirles a cataacutestrofes o

antildeos atraacutes en el pasado soacutelo existe un planeta habitado con Microids ninguacuten otro con otra especie Tienes que elegir un planeta en el que quieres desarrollar las cuatro razas diferentes Cada una re-quiere de un haacutebitat distinto

Desde aquiacute puedes fijar una ruta a traveacutes del espacio y el tiempo con el fin de ayudar a las especies en su desar-rollo Sugerencia Viajar en el tiempo y el espacio consume combustible y soacutelo pue-des recargar combustible en los gi-

gantes gaseosos Por lo que es buena idea que crees tu raza en un planeta que se encuentre cerca de un gigante gaseoso Hay un botoacuten que activa o desactiva los planetas que no tienen gigantes gaseosos

En la esquina inferior derecha de esta pantalla puedes ver el botoacuten del histo-grama tu mejor amigo En el histograma ves todos los eventos que tienen lugar y cada paso representa 100 antildeos de desar-rollo Los nuevos inventos estaacuten marca-dos con un borde verde los bordes rojos indica crisis

Aquiacute es donde el juego se complica Tienes que ayudar a la raza a pasar las crisis o incluso prevenir que las crisis lleguen a producirse A menudo hay diferentes soluciones a un problema con diferentes resultados y aquiacute es donde el juego tambieacuten se vuelve interesante

Tienes diferentes formas de interac-cioacuten para desarrollar una raza y la forma maacutes comuacuten es la de comunicarte con un representante de la especie Este repre-sentante es conocido como Agent que es un ser modificado de las especies que ayudas Soacutelo eacutel sabe de tu existencia y del

Para luchar contra los enemigos manteacuten pulsado el botoacuten derecho del ratoacuten y mueacutevelo en la direccioacuten que desees Un pequentildeo punto rojo indica la ubicacioacuten del enemigo maacutes cercano Pulsa el botoacuten izquierdo para disparar a tu enemigo

La lucha contra tu otro yo es bas-tante faacutecil y normalmente escapas tras un par de golpes El combate contra los otros enemigos es algo maacutes difiacutecil ya que a menudo son maacutes numerosos y mien-tras luchas contra uno otro puede venir por detraacutes y atacarte El panel de infor-macioacuten de color rojo en la parte superior se convierte en un ldquoespejo retrovisorrdquo que muestra los enemigos que te atacan por detraacutes Ademaacutes tu nave puede da-ntildearse y si la averiacutea es demasiado grande huiraacutes automaacuteticamente de la escena y te dirigiraacutes al centro del universo al uacutenico planeta donde no se puede crear ninguna especie Asiacute que en realidad nunca pu-edes morir

A la vista principal se puede llegar a traveacutes del botoacuten que apunta hacia el norte en la parte superior izquierda de la barra de navegacioacuten La navegacioacuten es probablemente el sistema maacutes impor-tante que tienes Si hace clic en el botoacuten

que mira hacia el este en el panel de navegacioacuten superior se puedes ir al mapa de la galaxia y al sistema de navegacioacuten

En el sistema de navegacioacuten recopi-las toda la informacioacuten que necesitas para planificar tu proacuteximo paso El mapa de galaxia te muestra lo que se ve en la galaxia y coacutemo se distribuyen las diferen-tes especies Puesto que empiezas 10000

Mapa de la galaxia del sistema de nave-gacioacuten no soacutelo para moverte en el espacio sino tambieacuten para viajar en el tiempo

El histograma que muestra todos los even-tos importantes del desarrollo de las razas es una herramienta muy importante

Dos de las diferentes especies con las que tienes que lidiar en el juego los in-sectos Entomon y los reptiles reptoides

JUEGOS LINUX

ODROID MAGAZINE 12

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 3: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

EDITORIAL

ODROID Magazine que se publica mensualmente en httpmagazineodroidcom es la fuente de todas las cosas ODROIDianas bull Hard Kernel Ltd bull 704 Anyang K-Center Gwanyang Dongan Anyang Gyeonggi South Korea 431-815 bull fabricantes de la familia ODROID de placas de desarrollo quad-core y la primera arquitectura ARM ldquobigLITTLErdquo del mundo basada en una uacutenica placa

Uacutenete a la comunidad ODROID con miembros en maacutes de 135 paiacuteses en httpforumodroidcom y explora las nuevas tecnologiacuteas que te ofrece Hardkernel en httpwwwhardkernelcom

Uno de los usos maacutes comunes de ODROID es emplearlo como centro multimedia y Popcorn Time es un software todo-en-uno que puede reproducir casi cualquier tipo de

peliacutecula o programa de televisioacuten Funciona muy bien en el U3 convirtieacutendolo en un dispositivo muy uacutetil y barato que puedes

colocar sobre el televisorComo siempre contamos con diver-tidos artiacuteculos sobre juegos para la plataforma ODROID coacutemo crear

tus propios videojuegos para un claacutesico ordenador Amstrad jugar al Millenia

Altered Destinies y disfrutar de Nubsrsquo Adventure y Kung Fury para Android Para los apasionados de Android Nanik continuacutea su se-

rie de Desarrollo Android con una guiacutea para compilar Android Studio un entorno de desarrollo interactivo de Java

Para los amantes al bricolaje Ivaacuten presenta su innovador Atril electroacutenico que utiliza como muacutesico profesional para acceder a sus partituras de muacutesica y tomar notas con una moderna interfaz con pantalla taacutectil Tambieacuten detallamos coacutemo acceder a los pines GPIO de un ODROID-C1 usando una libreriacutea Java llamada jOdro analizamos una liviana distribucioacuten llamada DietPi y aprenderemos coacutemo compilar un kernel Linux para ODROID usando scripts automatizados

PERSONAL

ODROIDMagazine

Rob Roy Editor Jefe

Soy un programa-dor informaacutetico

que vive y trabaja en San Francisco CA en

el disentildeo y desarrollo de aplicacio-nes web para clients locales sobre mi cluster ODROID Mis principales lenguajes son jQuery angular JS y HTML5CSS3 Tambieacuten desarrollo SO precompilados Kernels perso-nalizados y aplicaciones optimizadas para ODROID basadas en las ver-siones oficiales de Hardkernel por los cuales he ganado varios Premios Utilizo mi ODROIDs para diversos fines como centro multimedia ser-vidor web desarrollo de aplicaciones estacioacuten de trabajo y como plataforma de juegos Puedes echar un vistazo a mi coleccioacuten de 100 GB de software ODROID kernel precompilados e imaacutegenes en httpbitly1fsaXQs

Robert Cleere Editor

Soy un disentildeador de hardware y software

que actualmente vive en Huntsville Alabama

Aunque semi-retirado del disentildeo de los sistemas integrados incluyendo maacutes de una deacutecada trabajando en el programa del transbordador espacial continuacuteo disentildeando productos de software y hardware y me interesa la produccioacuten de audiovideo y las obras de arte Mis lenguajes de programacioacuten son Java C y C ++ y tengo experiencia con bas-tantes sistemas operativos integrados Actualmente mis proyectos principales son los sistemas navales de seguimiento y control monitoreo ambiental y la energiacutea solar Actualmente estoy tra-bajando con varios procesadores ARM Cortex pero mi ODROID-C1 es en gran medida el maacutes poderoso de todos

Bruno Doiche Editor Atistico Senior

Date prisa Bruno ten-emos que empaquetar la revista para enviaacuterselas a nuestros lectores Piensa en algo divertido podamos incluir aquiacute iexclraacutepidoiexclLo tengoldquoNo me considero una persona fea sino maacutes bien un mono muy guapordquoAdemaacutesldquoLa gente dice que el dinero no es la clave de la felicidad pero siempre penseacute si tienes suficiente dinero puede tener una marca claverdquo

Manuel Adamuz EditorEspantildeol

Tengo 31 antildeos y vivo en Sevilla Espantildea

y naciacute en Granada Estoy casado con una mujer maravillosa y tengo un hijo Hace unos antildeos trabajeacute como teacutecnico informaacutetico y programador pero mi trabajo actual estaacute relacionado con la gestioacuten de calidad y las tecnologiacuteas de la informacioacuten ISO 9001 ISO 27001 ISO 20000 Soy un apasionado de la informaacutetica especialmente de los microordenadores como el ODROID Raspberry Pi etc Me encanta experi-mentar con estos equipos y traducir ODROID Magazine Mi esposa dice que estoy loco porque soacutelo pienso en ODROID Mi otra aficioacuten es la bici-cleta de montantildea a veces participo en competiciones semiprofesionales

Nicole Scott Editor Artistico

Soy una experta en Produccioacuten Trans-

media y Estrategia Digital especializa en la optimizacioacuten online y estrategias de marketing administracioacuten de medios sociales y produccioacuten multimedia impresa web viacutedeo y cine Gestiono muacuteltiples cuentas con agencias y productores de cine desde Analytics y Adwords a la edicioacuten de viacutedeo y maquetacioacuten DVD Tengo un ODROID-U3 que utilizo para ejecutar un servidor web sandbox Vivo en el aacuterea de la Bahiacutea de California y disfruta haciendo senderismo acampada y tocando muacutesica Visita mi web en httpwwwnicolecscottcom

JamesLeFevour Editor Artiacutestico

Soy un especialista en medios digitales que dis-

fruta trabajando como freelance en mar-keting de redes sociales y administracioacuten de sitios web Cuanto maacutes aprendo so-bre las posibilidades de ODROID maacutes me ilusiona probar cosas nuevas con eacutel Me traslade a San Diego desde el Medio Oeste de los EEUU Todaviacutea estoy bas-tante enamorado de muchos aspectos que la mayoriacutea de la gente de la Costa Oeste ya da por sentado Vivo con mi encantadora esposa y nuestro adorable conejo mascota el cual mantiene mis libros y material informaacutetico en con-stante peligro

INDICEAMstrAD - 6

DEsArrOLLO AnDrOiD - 16

GEnErADOr DE rUiDO BLAnCO - 20

DiEt pi - 25

JUEGOs AnDrOiD nUBsrsquo ADvEntUrE- 9

kErnEL LinUx - 8

JUEGOs AnDrOiD kUnG fUry - 15

JAvA GpiO - 19

MUsiCA ODrOiD - 21

pOpCOrn tiME - 30

COnOCiEnDO A Un ODrOiDiAn - 32

JUEGOs LinUx MiLLEniUM - 10

Su desarrollador principal es Francisco Gallego (frangal-legobr) un ingeniero informaacutetico desarrollador de videojuegos y profesor de la Universidad de Alicante en Espantildea Si quieres profundizar en este entorno de trabajo puedes consultar los enlaces que aparecen al final de este artiacuteculo

Instalando CPCteleraEn primer lugar necesitas descargar el coacutedigo fuente para

compilarlo en tu placa Para ello descarga la versioacuten estable como lo hice yo o si eres atrevido puedes utilizar la uacuteltima versioacuten de GitHub

$ wget httpbitly1MMdUMA ampamp

unzip -nq $(basename $_) ampamp

rm $(basename $_) ampamp

cd cpctelera-11

or use the last commit

$ git clone httpbitly1IPxMOf ampamp

cd $(basename $_)

Para los que no lo sepan el Amstrad CPC era un ordena-dor de 8 bits que fue muy popular entre 1984 y 1990 CPCtelera es un motor que ha sido publicado reciente-

mente en su primera versioacuten estable la cual facilita la creacioacuten de juegos para Amstrad usando coacutedigo ensamblador o C

Presentando CPCteleraCPCtelera es un entorno de desarrollo integrado que premite

crear contenido y juegos para Amstrad CPC y que incluye

bull Una libreriacutea de bajo nivel con soporte para graacuteficos au-dio teclado firmware cadenas de caracteres tratamiento de hardware de viacutedeo y gestioacuten de memoria

bull Una Api para desarrollar juegos y software en C y ensam-blador

bull Herramientas para la creacioacuten de contenido (edicioacuten de nivel graacuteficos y audio)

bull Multiplataforma funciona con los sistemas Operativos Windows Ubuntu Debian Arch y Manjaro

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

AMSTRAD

AMstrAD CpC es una de esas re-liquias de 8 bits que siempre ocu-paraacute un sitio en nuestros corazones

ODROID MAGAZINE 6

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

Ejecutandosetupsh tras resolver las dependencias

AMSTRAD

Dispones de muchos ejemplos para aprender scanlines junto a la mejor nostalgia iexclprepaacuterate para trepar

A continuacioacuten tenemos que instalar las dependencias que faltan algunas de las cuales ya pueden estar instaladas

$ sudo apt-get install -y build-essential libboost-

dev flex bison

Luego activa el script de instalacioacuten ejecutando el archivo setup

$ sudo setupsh

Se te advertiraacute de los paquetes necesarios y prepararaacute tu sistema para ejecutar el motor En un ODROID-C1 la compi-lacioacuten suele tardar unos 20 minutos

Iniciando el MotorSi navegamos por los directorios podemos ver algunas

carpetas interesantes como docs que contiene el manu-al de referencia o tools que se utiliza para hacer sprites componer bandas sonoras convertidores de formatos y mucho maacutes Algunas de estas herramientas solo estaacuten dis-ponibles para Windows

Para crear un nuevo proyecto Bash escribe lo siguiente

$ cpct_mkproject [folder_project]

Navega por el directorio y veraacute dos subdirectorios

bull src con el coacutedigo fuente (la primera vez soacutelo tenemos un mainc) puede crear archivos y directorios de tu juego aquiacute

bull cfg contiene los paraacutemetros necesarios para compilar el juego a traveacutes del archivo build_configmk

Tambieacuten hay ejemplos que puedes analizar Simplemente ve al directorio ejecuta make y se crearaacuten automaacuteticamente los archivos CDT y DSK iexclIncreible iquestno

Platform ClimberCPCtelera incluye un completo juego de ejemplo llamado

Platform Climber En primer lugar necesitas un emulador de Amstrad CPC No he encontrado ninguno que estuviese pre-compilado para ODROID asiacute que tuve que descargar y com-pilar uno por miacute mismo No te preocupes es faacutecil

iexclAmstrad BAsiC es hora de desempolvar unos cuantos manuales

ODROID MAGAZINE 7

$ wget httpbitly1U2RrjZ

$ unzip caprice

$ make -f makefileunix

RELEASE=TRUE

En un minuto conseguiraacutes un bi-nario llamado cap32 El uso es muy sencillo utilizando cualquier archivo BAS o DSK Para cargar el juego Platform Climber ejecuta el emulador seguido de la ruta del archivo DSK

$ cap32 cpctelera-11

examplesgamesplatformClimber

pclimberdsk

iexclAhora ya estaacute dentro de AM-STRAD iquestSientes la magia Escribe cat para ver los archivos del disco montado previamente Luego ejecuta el juego

cat

runrdquogame_nameextension

Observa que las comillas no se cier-ran Por ejemplo para ejecutar Plat-form Climber escribe lo siguiente

runrdquopclimberbin

ConclusioacutenAhora es tu turno Te recomiendo

que empieces a estudiar los ejemplos de exampleseasysrc luego modifiacute-calos y compiacutelalos Debajo tienes un enlace al manual de referencia con toda la informacioacuten que necesitas so-bre funciones y meacutetodos disponibles Si sabes algo de SDL todo te seraacute un poco maacutes faacutecil

iexclFeliz codificacioacuten

Maacutes Referenciashttpbitly1IPxMOf

httpbitly1IpjQvV

httpbitly1FMAkrQ

httpbitly1IILeAT

AMSTRAD KERNEL LINUX

Para hacer que la compilacioacuten del kernel Linux sea maacutes sencilla he escrito un conjunto de scripts

BASH que permiten descargar la uacuteltima versioacuten de cualquier kernel almacenado en la seccioacuten GitHub de Hardkernel compilar el coacutedigo fuente y empaquetar el kernel terminado en un paquete que pueda distribuirse Los scripts guardan el kernel original en la maacutequina de com-pilacioacuten de forma que el kernel para un dispositivo ODROID se puede compi-lar en un ODROID distinto

El paquete resultante incluye un script de instalacioacuten de un solo clic pu-ede ser compartido con otros instalarlo en cualquier ODROID compatible o antildeadirlo a un repositorio para su distri-bucioacuten viacutea apt-get Los scripts dan indi-caciones a lo largo del proceso lo cual es ideal para usuarios que no tienen ex-periencia en la compilacioacuten de kernels

Informacioacuten generalLos scripts se encuentran en http

bitly1U6kQcU y se puenden descargar usando wget desde la liacutenea de comandos o desde cu-alquier navegador web Descomprime el paquete tras navegar a la carpeta de descargas

$ wget

httpbitly1U6kQcU

$ tar -xvzf buildtgz

La carpeta ldquobuildrdquo resultante contiene los siguientes scripts

downloadsh es usado para descargar una seccioacuten concreta del repositorio de Hardkernel

buildsh se utiliza para poner en mar-cha el proceso de compilacioacuten del kernel

installsh se copia en el paquete de instalacioacuten del kernel resultante para poder instalar el kernel en cualquier dis-positivo ODROID

Script DownloadEl script ldquodownloadshrdquo se puede

utilizar para descargar cualquier moacutedu-lo disponible del repositorio GitHub de Hardkernel especificaacutendolo como primer argumento Por ejemplo para descargar la versioacuten maacutes reciente de la seccioacuten ODROID-310y navega a la carpeta ldquobuildrdquo y escribe lo siguiente

$ sh downloadsh odroidc-310y

Para obtener una lista completa de todas las secciones visita httpbit

ly1NvVQa1 y abre el menuacute desplegable ldquobranchrdquo como muestra la imagen

Tras completarse el script download los archivos ldquodownloadshrdquo y ldquoinstallshrdquo se copiaraacuten automaacuteticamente al directo-

SCRIpTS pARA EL KERnEL DE LInux RETOCA Tu SISTEMApor rob roy

El lugar donde obtener el kernel maacutes actualizado es el menuacute desplegable de la seccioacuten correspondiente dentro del repositorio GitHub de Hardkernel

ODROID MAGAZINE 8

KERNEL LINUX

rio de la seccioacuten descargada Ahora pasa-mos al siguiente paso

Script BuildUna vez descargado la seccioacuten ve al

directorio en cuestioacuten y busca el archivo en el directorio archarmconfigs cor-respondiente a la plataforma ODROID que utilizaraacute el kernel

$ cd odroidc-310y

$ ls archarmconfigsodroid

Por ejemplo si seleccionas la sec-cioacuten odroid-310y los archivos de configuracioacuten estaacuten disponibles para usarse con ODROID-Q ODROID-Q2 ODROID-X ODROID-X2 y ODROID-U2 como muestra la imagen anterior Otras secciones pueden incluir archivos de configuracioacuten para otros dis-positivos ODROID tales como el XU y XU3 Si compilas un kernel para el ODROID-U2U3 usando odroid-310y el archivo de configuracioacuten de destino deberiacutea ser odroidu2_ubuntu_mali_ def-config que es incluido como argumento principal en el script ldquobuildshrdquo Cualquier cambio en el archivo de configuracioacuten se debe hacer antes de lanzar el script build Yo prefiero editar el archivo con un edi-tor de texto pero tambieacuten se puede usar ldquomake menuconfigrdquo

El siguiente comando inicia el pro-ceso de compilacioacuten usando el archivo de configuracioacuten seleccionado Requi-ere privilegios de superusuario ya que necesita tener acceso a ciertos directorios del sistema para poder empaquetar los archivos del kernel Aseguacuterate de reem-plazar el nombre del archivo de configu-racioacuten de destino por el argumento

$ sudo sh

buildsh

odroidc_ubun-

tu_mali_def-

config

La compilacioacuten puede tardar de 10 a 30 minutos el resultado es una es-tructura de carpeta con los recursos de instalacioacuten del ker-nel Esta estructura

estaacute incluida en una subcarpeta bajo la nueva ldquoversioacutenrdquo usando el nombre del archivo de configuracioacuten El proceso de compilacioacuten no instala el kernel en lo-cal sino que crea un paquete portaacutetil que despueacutes se puede ejecutar en el disposi-tivo ODROID que elijas

Para instalar el kernel en un equipo copia la nueva estructura de directorios al ODROID Luego ve al subdirectorio que lleva el nombre del archivo de con-figuracioacuten seleccionado En este ejemplo el script de instalacioacuten se puede ejecutar escribiendo los siguientes comandos

$ cd release

odroidc_ubuntu_mali_defconfig

$ sudo sh installsh

Este proceso puede tardar de 3 a 10 minutos tras lo cual el nuevo kernel es-taraacute listo Reinicia el equipo para usar el kernel actualizado Una backup del ker-nel original se guarda tal y como se indica en el resultado del script de instalacioacuten de modo que la actualizacioacuten del kernel se puede invertir si fuera necesario

Si tiene preguntas comentarios o su-gerencias sobre los scripts por favor crea un nuevo hilo en los foros ODROID en httpforumodroidcom

Divisionesodroid-30y Q U2 U3 X X2odroid-38y U2 U3 X X2odroid-313y XUodroidx-310y C1 C1+odroidw-312y Wodroidxu3-310y XU3odroidxu-34y XUodroidxu4-v42-rc1 XU3 XU4

selecciona tus archivos de configuracioacuten para la mejor compilacioacuten

LINUX GAMINGJUEGOS ANDROID

nubSrsquo ADvEnTuREDESAfIAnTE juEGO DE pLATAfORMAS 2Dpor Bruno Doiche

Lo que no echamos en fal-ta en ODROID

Magazine son los juegos de plataformas en 2D con los que disfrutamos bastante Despueacutes de todo emulamos todo tipo de consolas de 8 y 16 bits Pero a menu-do me pongo con una distro Android en mi U3 conectado a mi lapdock en busca de una nueva experiencia Y para mi agrado me las ingenieacute para dar con Nubsrsquo Adventure un juego de platafor-mas muy ameno que me trasladoacute a in-creiacutebles mundos de la mejor versioacuten de lsquoMetroidvaniarsquo Gran disentildeo de niveles jefes desafiantes y excelentes puzles para mantenerte con ganas de jugar maacutes de lo que esperas inicialmente iexclDisfruta

httpsplaygooglecomstore

appsdetailsid=nubsadventure

ODROID MAGAZINE 9

laxia Echelon asiacute como ayudarles a pros-perar hasta que sean lo suficientemente fuertes como para defenderse de los Mi-croids y por lo tanto salvar la galaxia Esto ademaacutes te interesa no soacutelo porque no quieres que ataquen nuestra galaxia sino porque en el momento en que em-piezas en la galaxia Echelon 10000 antildeos atraacutes en el pasado la tecnologiacutea necesaria para traerte de vuelta ya no existe ya que fue creada por las cuatro especies que se supone que vas ayudas a desarrollar Asiacute que lo que tienes que hacer es volver a tu propia eacutepoca y galaxia para ayudar a desarrollar las cuatro especies hasta que sean capaces de construir las partes que faltan de tu nave y ayudarles a defen-derse de los Microids

El juego tiene aspectos muy buenos como el uso de voz a traveacutes de tu orde-nador y AI Agnis diferentes escenas de peliacutecula accioacuten de combate espacial y mucho maacutes Por lo que yo seacute este juego no es muy conocido realmente es muy inusual por su estilo uacutenico y jugabilidad Definitivamente vale la pena probarlo y sin duda deberiacuteas darle una oportunidad

Instalacioacuten y puesta en marcha

Dado que eacuteste es un juego para DOS y no estaacute hecho para Linux no puedes simplemente descargarlo y ejecutarlo Useacute DOSBox para iniciar el juego y con-figureacute algunas opciones para que fun-

Quisiera presentar algunos de mis juegos favoritos que probable-mente no todo el mundo conoz-

ca pero que son muy interesantes y di-vertidos Espero que disfruteacuteis con los que elegido y os animo a que probeacuteis y jugueacuteis a algunos de los juegos maacutes raros e inusuales de la historia de los juegos

Millennia ndash Altered Destinies

Este juego es muy singular Eres el pi-loto de un carguero en su viaje de 6 me-ses a la Tierra desde Juacutepiter Al tiempo que te das cuenta de que podriacutea ser una mala idea hablar en voz alta en tu primer diacutea de viaje eres de repente ldquosecuestra-dordquo por una especie alieniacutegena Te expli-can que estaacutes en una especie de estasis temporal y que son una especie llamada Hood Son guardianes del tiempo que necesitan tu ayuda en su eacutepoca y galaxia

Una galaxia llamada Echelon que estaacute actualmente invadida por una especie llamada Microids Esta especie es muy agresiva y la galaxia de los guardianes de tiempo estaacute a punto de ser invadida y la proacutexima seraacute ldquonuestrardquo galaxia es por eso que se supone que debemos solucionar este conflicto Te ofrecen una nueva nave espacial que no soacutelo puede viajar en el es-pacio sino tambieacuten en el tiempo y eres enviado de vuelta a 10000 antildeos atraacutes a la galaxia Echelon donde el sistema este-lar soacutelo estaacute ocupado por Microids

El objetivo es establecer las cuatro especies originales que vivieron en la ga-

juEGOSLInux LAS jOyAS DE LOS juEGOS RAROS pARTE 1por tobias schaaf

JUEGOS LINUX

cionase correctamente En primer lugar necesitas el CD o un rip del mismo aunque te aconsejo utilizar la versioacuten del CD para una mejor experiencia

Aquiacute tienes una pequentildea guiacutea de coacutemo instalar e iniciar el juego basada en mi imagen ODROID GameStation Tur-bo aunque deberiacutea funcionar con la im-agen de Ubuntu de HardKernel si tienes activadas mis listas de paquetes alltest-ing y allmain Escribe lo siguiente para instalar los requisitos para DOSBox

$ sudo apt-get install dosbox-

odroid libgl-odroid

Configurar DOSBoxInicia DOSBox para crear el archivo

de configuracioacuten por defecto luego salte de inmediato Abre homeodroiddosboxdosbox-SVNconf con un editor de texto y cambia las siguientes liacuteneas

[sdl]

fullscreen=true

fullresolution=1920x1080

output=opengl

[render]

frameskip=3

[cpu]

core=dynamic

cputype=pentium_slow

cycles=5000

Esta es la versioacuten orginal en CD-rOM de Millenia - Altered Destinies

ODROID MAGAZINE 10

lo cual te ayudaraacute a entenderlo mejorTienes que utilizar las capacidades de

tu nave para viajar en el tiempo y en el espacio y asiacute poder solucionar los pro-blemas de las cuatro especies que debes proteger y ayudarles a evolucionar ha-cia una civilizacioacuten avanzada que pueda ayudarte a salir de la galaxia asiacute como defenderse de los Microids Para ello tienes que entender y controlar tu nave para completar todas las tareas que tienes por delante

La naveDentro de tu nave puedes ver Agnis

el ordenador de la nave y IA que te ayudara en tu tarea Actuacutea de traductor cuando hablas con las diferentes espe-cies Puede darte consejos y hacer co-mentarios sobre tus acciones De hecho su ldquoyo estoy a tu servicio humanordquo fue el sonido de inicio de mi maacutequina Win-dows durante mucho tiempo

La mayoriacutea de las pantallas de la nave se asemejan Tienes un panel de nave-gacioacuten en el lado izquierdo que se pue-de controlar pulsando y manteniendo el botoacuten derecho del ratoacuten y movieacutendote sobre los diferentes botones Un clic con el botoacuten izquierdo selecciona el sistema que quieres visitar una especie de ascen-sor que llega a tu cabina te lleva a la es-tacioacuten seleccionada A la derecha tienes los botones de accioacuten de su estacioacuten ac-tual Simplemente mueve el ratoacuten hacia el botoacuten deseado y pulsa el botoacuten izqui-erdo del ratoacuten para activar la accioacuten

En la vista principal puedes ver in-formacioacuten sobre el planeta actual que estaacute visitando El nombre del planeta y el

JUEGOS LINUX

antildeo se muestra sobre la cruz del escaacutener En el lado derecho puedes encontrar in-formacioacuten sobre el planeta y sus habitan-tes Aquiacute podemos ver la especie (Rap-toids) su calificacioacuten IQ actual (80) y un siacutembolo del evento actual (war) En la parte superior de la pantalla vemos de nuevo un pequentildeo panel de informacioacuten con el nombre del planeta la especie y un reloj El antildeo 1600 es el siglo actual y el siacutembolo 11713 es en realidad un reloj del tiempo de juego que tiene un for-mato muy extrantildeo Cuenta en segundos pero llega a 100 antes de que el nuacutemero anterior a los decimales cambie

La vista principal soacutelo permite iniciar un viaje al siguiente siglo o a un lugar diferente en la galaxia Soacutelo puedes ini-ciar los motores desde esta pantalla Otra cosa que soacutelo puedes hacer desde la pan-talla principal es el combate espacial De vez en cuando tienes que defenderte y defender a los habitantes del planeta frente a los enemigos invasores Dado que este juego gira en torno al tiempo esto en alguacuten momento puede llegar a ser algo confuso ya que en realidad po-driacuteas terminar luchando contra tu otro yo en una liacutenea temporal diferente pero tambieacuten podriacuteas luchar contra Microids que tratan de invadir el espacio donde se asienta tu raza Los Hoods a menudo tratan de atacar la raza que creaste desde una liacutenea de tiempo diferente y una de las otras razas incluso podriacutea tratar de invadir el planeta mientras trata de ex-pandir su territorio Por eso tu nave estaacute equipada con algunas armas e incluso se puede modificar con algunos de los in-ventos que obtienes a partir de las razas que has creado

vista principal de tu nave espacial des-de donde comienzas tu trabajo

figura 2 - Luchando contra tu otro yo en Milenios

cycleup=200

cycledown=200

En primer lugar he creado una car-peta donde quiero colocar mis juegos

$ mkdir DOS

Tambieacuten he copiado la ISO que he creado desde mi juego Millennia ndash Al-tered Destinies y la coloqueacute en una carpeta llamada CDs en mi ODROID Para facilitar las cosas he antildeadido las siguientes liacuteneas al final del archivo de configuracioacuten de DOSBox asiacute no necesito escribirlas cada vez que quiera ejecutar el juego

[autoexec]

mount c homeodroidDOS

c

imgmount d homeodroidCDs

Miliso -t iso

Ahora el sistema estaacute preparado para lanzar el emulador La carpeta DOS se monta automaacuteticamente como mi uni-dad C y el CD seraacute montado como D como una unidad de CD-ROM In-stala el juego como siempre bajo DOS e iniciarlo La introduccioacuten puede ser un poco lenta pero en general con los ajustes mencionados deberiacuteas ser capaz de ejecutar el juego a toda velocidad

Para ejecutar el juego lanza DOS-Box de nuevo con el siguiente comando para que DOSbox utilice glshim (libglo-droid) y asiacute poder activar la aceleracioacuten OpenGL

$ LD_LIBRARY_PATH=usrlocallib

dosbox

Los inicios del juegoTras la introduccioacuten te encontraraacutes

en una galaxia muy muy lejana (te suena familiar iquestno) El juego no viene con un tutorial lo que significa que tendraacutes mucha accioacuten sin saber lo que debes o puedes hacer Por eso voy a intentar ex-plicarte las cuestiones baacutesicas del juego

ODROID MAGAZINE 11

gran plan Sabe que puedes alterar los acontecimientos en el tiempo y es por ello que puede ver lo que sucederaacute en el futuro Auacuten asiacute el Agent es parte de la raza que estaacutes desarrollando y tendraacute creencias y necesidades similares lo que los hace a veces difiacutecil de tratar y cada uno requiere de una forma de persuasioacuten distinta

Si haces clic en el botoacuten que mira ha-cia el oeste en la barra de navegacioacuten su-perior te llevaraacute al centro de comunica-ciones Aquiacute puedes ponerse en contacto con tus agentes e intentar solventar sus problemas Agnis te ayudaraacute a traducir lo que tus agentes te esteacuten diciendo Pue-des ver las pequentildeas peliacuteculas de viacutedeo de los agentes cuando hablan contigo haciendo que parezca una transmisioacuten de viacutedeo Con la ayuda de Agnis inten-tas resolver sus problemas Esto incluye temas como la poliacutetica donde tienes que elegir quieacuten debe ser el liacuteder de una raza planificar asesinatos de liacutederes rebeldes con el fin de evitar levantamientos o de-cidir si ayudas a los rebeldes con el fin de matar a un emperador tirano

Por otro lado tambieacuten tienes que dar consejos sobre coacutemo protegerse ante un duro invierno coacutemo evitar que to-men decisiones equivocadas que lue-go puedan conducirles a cataacutestrofes o

antildeos atraacutes en el pasado soacutelo existe un planeta habitado con Microids ninguacuten otro con otra especie Tienes que elegir un planeta en el que quieres desarrollar las cuatro razas diferentes Cada una re-quiere de un haacutebitat distinto

Desde aquiacute puedes fijar una ruta a traveacutes del espacio y el tiempo con el fin de ayudar a las especies en su desar-rollo Sugerencia Viajar en el tiempo y el espacio consume combustible y soacutelo pue-des recargar combustible en los gi-

gantes gaseosos Por lo que es buena idea que crees tu raza en un planeta que se encuentre cerca de un gigante gaseoso Hay un botoacuten que activa o desactiva los planetas que no tienen gigantes gaseosos

En la esquina inferior derecha de esta pantalla puedes ver el botoacuten del histo-grama tu mejor amigo En el histograma ves todos los eventos que tienen lugar y cada paso representa 100 antildeos de desar-rollo Los nuevos inventos estaacuten marca-dos con un borde verde los bordes rojos indica crisis

Aquiacute es donde el juego se complica Tienes que ayudar a la raza a pasar las crisis o incluso prevenir que las crisis lleguen a producirse A menudo hay diferentes soluciones a un problema con diferentes resultados y aquiacute es donde el juego tambieacuten se vuelve interesante

Tienes diferentes formas de interac-cioacuten para desarrollar una raza y la forma maacutes comuacuten es la de comunicarte con un representante de la especie Este repre-sentante es conocido como Agent que es un ser modificado de las especies que ayudas Soacutelo eacutel sabe de tu existencia y del

Para luchar contra los enemigos manteacuten pulsado el botoacuten derecho del ratoacuten y mueacutevelo en la direccioacuten que desees Un pequentildeo punto rojo indica la ubicacioacuten del enemigo maacutes cercano Pulsa el botoacuten izquierdo para disparar a tu enemigo

La lucha contra tu otro yo es bas-tante faacutecil y normalmente escapas tras un par de golpes El combate contra los otros enemigos es algo maacutes difiacutecil ya que a menudo son maacutes numerosos y mien-tras luchas contra uno otro puede venir por detraacutes y atacarte El panel de infor-macioacuten de color rojo en la parte superior se convierte en un ldquoespejo retrovisorrdquo que muestra los enemigos que te atacan por detraacutes Ademaacutes tu nave puede da-ntildearse y si la averiacutea es demasiado grande huiraacutes automaacuteticamente de la escena y te dirigiraacutes al centro del universo al uacutenico planeta donde no se puede crear ninguna especie Asiacute que en realidad nunca pu-edes morir

A la vista principal se puede llegar a traveacutes del botoacuten que apunta hacia el norte en la parte superior izquierda de la barra de navegacioacuten La navegacioacuten es probablemente el sistema maacutes impor-tante que tienes Si hace clic en el botoacuten

que mira hacia el este en el panel de navegacioacuten superior se puedes ir al mapa de la galaxia y al sistema de navegacioacuten

En el sistema de navegacioacuten recopi-las toda la informacioacuten que necesitas para planificar tu proacuteximo paso El mapa de galaxia te muestra lo que se ve en la galaxia y coacutemo se distribuyen las diferen-tes especies Puesto que empiezas 10000

Mapa de la galaxia del sistema de nave-gacioacuten no soacutelo para moverte en el espacio sino tambieacuten para viajar en el tiempo

El histograma que muestra todos los even-tos importantes del desarrollo de las razas es una herramienta muy importante

Dos de las diferentes especies con las que tienes que lidiar en el juego los in-sectos Entomon y los reptiles reptoides

JUEGOS LINUX

ODROID MAGAZINE 12

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 4: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

PERSONAL

ODROIDMagazine

Rob Roy Editor Jefe

Soy un programa-dor informaacutetico

que vive y trabaja en San Francisco CA en

el disentildeo y desarrollo de aplicacio-nes web para clients locales sobre mi cluster ODROID Mis principales lenguajes son jQuery angular JS y HTML5CSS3 Tambieacuten desarrollo SO precompilados Kernels perso-nalizados y aplicaciones optimizadas para ODROID basadas en las ver-siones oficiales de Hardkernel por los cuales he ganado varios Premios Utilizo mi ODROIDs para diversos fines como centro multimedia ser-vidor web desarrollo de aplicaciones estacioacuten de trabajo y como plataforma de juegos Puedes echar un vistazo a mi coleccioacuten de 100 GB de software ODROID kernel precompilados e imaacutegenes en httpbitly1fsaXQs

Robert Cleere Editor

Soy un disentildeador de hardware y software

que actualmente vive en Huntsville Alabama

Aunque semi-retirado del disentildeo de los sistemas integrados incluyendo maacutes de una deacutecada trabajando en el programa del transbordador espacial continuacuteo disentildeando productos de software y hardware y me interesa la produccioacuten de audiovideo y las obras de arte Mis lenguajes de programacioacuten son Java C y C ++ y tengo experiencia con bas-tantes sistemas operativos integrados Actualmente mis proyectos principales son los sistemas navales de seguimiento y control monitoreo ambiental y la energiacutea solar Actualmente estoy tra-bajando con varios procesadores ARM Cortex pero mi ODROID-C1 es en gran medida el maacutes poderoso de todos

Bruno Doiche Editor Atistico Senior

Date prisa Bruno ten-emos que empaquetar la revista para enviaacuterselas a nuestros lectores Piensa en algo divertido podamos incluir aquiacute iexclraacutepidoiexclLo tengoldquoNo me considero una persona fea sino maacutes bien un mono muy guapordquoAdemaacutesldquoLa gente dice que el dinero no es la clave de la felicidad pero siempre penseacute si tienes suficiente dinero puede tener una marca claverdquo

Manuel Adamuz EditorEspantildeol

Tengo 31 antildeos y vivo en Sevilla Espantildea

y naciacute en Granada Estoy casado con una mujer maravillosa y tengo un hijo Hace unos antildeos trabajeacute como teacutecnico informaacutetico y programador pero mi trabajo actual estaacute relacionado con la gestioacuten de calidad y las tecnologiacuteas de la informacioacuten ISO 9001 ISO 27001 ISO 20000 Soy un apasionado de la informaacutetica especialmente de los microordenadores como el ODROID Raspberry Pi etc Me encanta experi-mentar con estos equipos y traducir ODROID Magazine Mi esposa dice que estoy loco porque soacutelo pienso en ODROID Mi otra aficioacuten es la bici-cleta de montantildea a veces participo en competiciones semiprofesionales

Nicole Scott Editor Artistico

Soy una experta en Produccioacuten Trans-

media y Estrategia Digital especializa en la optimizacioacuten online y estrategias de marketing administracioacuten de medios sociales y produccioacuten multimedia impresa web viacutedeo y cine Gestiono muacuteltiples cuentas con agencias y productores de cine desde Analytics y Adwords a la edicioacuten de viacutedeo y maquetacioacuten DVD Tengo un ODROID-U3 que utilizo para ejecutar un servidor web sandbox Vivo en el aacuterea de la Bahiacutea de California y disfruta haciendo senderismo acampada y tocando muacutesica Visita mi web en httpwwwnicolecscottcom

JamesLeFevour Editor Artiacutestico

Soy un especialista en medios digitales que dis-

fruta trabajando como freelance en mar-keting de redes sociales y administracioacuten de sitios web Cuanto maacutes aprendo so-bre las posibilidades de ODROID maacutes me ilusiona probar cosas nuevas con eacutel Me traslade a San Diego desde el Medio Oeste de los EEUU Todaviacutea estoy bas-tante enamorado de muchos aspectos que la mayoriacutea de la gente de la Costa Oeste ya da por sentado Vivo con mi encantadora esposa y nuestro adorable conejo mascota el cual mantiene mis libros y material informaacutetico en con-stante peligro

INDICEAMstrAD - 6

DEsArrOLLO AnDrOiD - 16

GEnErADOr DE rUiDO BLAnCO - 20

DiEt pi - 25

JUEGOs AnDrOiD nUBsrsquo ADvEntUrE- 9

kErnEL LinUx - 8

JUEGOs AnDrOiD kUnG fUry - 15

JAvA GpiO - 19

MUsiCA ODrOiD - 21

pOpCOrn tiME - 30

COnOCiEnDO A Un ODrOiDiAn - 32

JUEGOs LinUx MiLLEniUM - 10

Su desarrollador principal es Francisco Gallego (frangal-legobr) un ingeniero informaacutetico desarrollador de videojuegos y profesor de la Universidad de Alicante en Espantildea Si quieres profundizar en este entorno de trabajo puedes consultar los enlaces que aparecen al final de este artiacuteculo

Instalando CPCteleraEn primer lugar necesitas descargar el coacutedigo fuente para

compilarlo en tu placa Para ello descarga la versioacuten estable como lo hice yo o si eres atrevido puedes utilizar la uacuteltima versioacuten de GitHub

$ wget httpbitly1MMdUMA ampamp

unzip -nq $(basename $_) ampamp

rm $(basename $_) ampamp

cd cpctelera-11

or use the last commit

$ git clone httpbitly1IPxMOf ampamp

cd $(basename $_)

Para los que no lo sepan el Amstrad CPC era un ordena-dor de 8 bits que fue muy popular entre 1984 y 1990 CPCtelera es un motor que ha sido publicado reciente-

mente en su primera versioacuten estable la cual facilita la creacioacuten de juegos para Amstrad usando coacutedigo ensamblador o C

Presentando CPCteleraCPCtelera es un entorno de desarrollo integrado que premite

crear contenido y juegos para Amstrad CPC y que incluye

bull Una libreriacutea de bajo nivel con soporte para graacuteficos au-dio teclado firmware cadenas de caracteres tratamiento de hardware de viacutedeo y gestioacuten de memoria

bull Una Api para desarrollar juegos y software en C y ensam-blador

bull Herramientas para la creacioacuten de contenido (edicioacuten de nivel graacuteficos y audio)

bull Multiplataforma funciona con los sistemas Operativos Windows Ubuntu Debian Arch y Manjaro

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

AMSTRAD

AMstrAD CpC es una de esas re-liquias de 8 bits que siempre ocu-paraacute un sitio en nuestros corazones

ODROID MAGAZINE 6

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

Ejecutandosetupsh tras resolver las dependencias

AMSTRAD

Dispones de muchos ejemplos para aprender scanlines junto a la mejor nostalgia iexclprepaacuterate para trepar

A continuacioacuten tenemos que instalar las dependencias que faltan algunas de las cuales ya pueden estar instaladas

$ sudo apt-get install -y build-essential libboost-

dev flex bison

Luego activa el script de instalacioacuten ejecutando el archivo setup

$ sudo setupsh

Se te advertiraacute de los paquetes necesarios y prepararaacute tu sistema para ejecutar el motor En un ODROID-C1 la compi-lacioacuten suele tardar unos 20 minutos

Iniciando el MotorSi navegamos por los directorios podemos ver algunas

carpetas interesantes como docs que contiene el manu-al de referencia o tools que se utiliza para hacer sprites componer bandas sonoras convertidores de formatos y mucho maacutes Algunas de estas herramientas solo estaacuten dis-ponibles para Windows

Para crear un nuevo proyecto Bash escribe lo siguiente

$ cpct_mkproject [folder_project]

Navega por el directorio y veraacute dos subdirectorios

bull src con el coacutedigo fuente (la primera vez soacutelo tenemos un mainc) puede crear archivos y directorios de tu juego aquiacute

bull cfg contiene los paraacutemetros necesarios para compilar el juego a traveacutes del archivo build_configmk

Tambieacuten hay ejemplos que puedes analizar Simplemente ve al directorio ejecuta make y se crearaacuten automaacuteticamente los archivos CDT y DSK iexclIncreible iquestno

Platform ClimberCPCtelera incluye un completo juego de ejemplo llamado

Platform Climber En primer lugar necesitas un emulador de Amstrad CPC No he encontrado ninguno que estuviese pre-compilado para ODROID asiacute que tuve que descargar y com-pilar uno por miacute mismo No te preocupes es faacutecil

iexclAmstrad BAsiC es hora de desempolvar unos cuantos manuales

ODROID MAGAZINE 7

$ wget httpbitly1U2RrjZ

$ unzip caprice

$ make -f makefileunix

RELEASE=TRUE

En un minuto conseguiraacutes un bi-nario llamado cap32 El uso es muy sencillo utilizando cualquier archivo BAS o DSK Para cargar el juego Platform Climber ejecuta el emulador seguido de la ruta del archivo DSK

$ cap32 cpctelera-11

examplesgamesplatformClimber

pclimberdsk

iexclAhora ya estaacute dentro de AM-STRAD iquestSientes la magia Escribe cat para ver los archivos del disco montado previamente Luego ejecuta el juego

cat

runrdquogame_nameextension

Observa que las comillas no se cier-ran Por ejemplo para ejecutar Plat-form Climber escribe lo siguiente

runrdquopclimberbin

ConclusioacutenAhora es tu turno Te recomiendo

que empieces a estudiar los ejemplos de exampleseasysrc luego modifiacute-calos y compiacutelalos Debajo tienes un enlace al manual de referencia con toda la informacioacuten que necesitas so-bre funciones y meacutetodos disponibles Si sabes algo de SDL todo te seraacute un poco maacutes faacutecil

iexclFeliz codificacioacuten

Maacutes Referenciashttpbitly1IPxMOf

httpbitly1IpjQvV

httpbitly1FMAkrQ

httpbitly1IILeAT

AMSTRAD KERNEL LINUX

Para hacer que la compilacioacuten del kernel Linux sea maacutes sencilla he escrito un conjunto de scripts

BASH que permiten descargar la uacuteltima versioacuten de cualquier kernel almacenado en la seccioacuten GitHub de Hardkernel compilar el coacutedigo fuente y empaquetar el kernel terminado en un paquete que pueda distribuirse Los scripts guardan el kernel original en la maacutequina de com-pilacioacuten de forma que el kernel para un dispositivo ODROID se puede compi-lar en un ODROID distinto

El paquete resultante incluye un script de instalacioacuten de un solo clic pu-ede ser compartido con otros instalarlo en cualquier ODROID compatible o antildeadirlo a un repositorio para su distri-bucioacuten viacutea apt-get Los scripts dan indi-caciones a lo largo del proceso lo cual es ideal para usuarios que no tienen ex-periencia en la compilacioacuten de kernels

Informacioacuten generalLos scripts se encuentran en http

bitly1U6kQcU y se puenden descargar usando wget desde la liacutenea de comandos o desde cu-alquier navegador web Descomprime el paquete tras navegar a la carpeta de descargas

$ wget

httpbitly1U6kQcU

$ tar -xvzf buildtgz

La carpeta ldquobuildrdquo resultante contiene los siguientes scripts

downloadsh es usado para descargar una seccioacuten concreta del repositorio de Hardkernel

buildsh se utiliza para poner en mar-cha el proceso de compilacioacuten del kernel

installsh se copia en el paquete de instalacioacuten del kernel resultante para poder instalar el kernel en cualquier dis-positivo ODROID

Script DownloadEl script ldquodownloadshrdquo se puede

utilizar para descargar cualquier moacutedu-lo disponible del repositorio GitHub de Hardkernel especificaacutendolo como primer argumento Por ejemplo para descargar la versioacuten maacutes reciente de la seccioacuten ODROID-310y navega a la carpeta ldquobuildrdquo y escribe lo siguiente

$ sh downloadsh odroidc-310y

Para obtener una lista completa de todas las secciones visita httpbit

ly1NvVQa1 y abre el menuacute desplegable ldquobranchrdquo como muestra la imagen

Tras completarse el script download los archivos ldquodownloadshrdquo y ldquoinstallshrdquo se copiaraacuten automaacuteticamente al directo-

SCRIpTS pARA EL KERnEL DE LInux RETOCA Tu SISTEMApor rob roy

El lugar donde obtener el kernel maacutes actualizado es el menuacute desplegable de la seccioacuten correspondiente dentro del repositorio GitHub de Hardkernel

ODROID MAGAZINE 8

KERNEL LINUX

rio de la seccioacuten descargada Ahora pasa-mos al siguiente paso

Script BuildUna vez descargado la seccioacuten ve al

directorio en cuestioacuten y busca el archivo en el directorio archarmconfigs cor-respondiente a la plataforma ODROID que utilizaraacute el kernel

$ cd odroidc-310y

$ ls archarmconfigsodroid

Por ejemplo si seleccionas la sec-cioacuten odroid-310y los archivos de configuracioacuten estaacuten disponibles para usarse con ODROID-Q ODROID-Q2 ODROID-X ODROID-X2 y ODROID-U2 como muestra la imagen anterior Otras secciones pueden incluir archivos de configuracioacuten para otros dis-positivos ODROID tales como el XU y XU3 Si compilas un kernel para el ODROID-U2U3 usando odroid-310y el archivo de configuracioacuten de destino deberiacutea ser odroidu2_ubuntu_mali_ def-config que es incluido como argumento principal en el script ldquobuildshrdquo Cualquier cambio en el archivo de configuracioacuten se debe hacer antes de lanzar el script build Yo prefiero editar el archivo con un edi-tor de texto pero tambieacuten se puede usar ldquomake menuconfigrdquo

El siguiente comando inicia el pro-ceso de compilacioacuten usando el archivo de configuracioacuten seleccionado Requi-ere privilegios de superusuario ya que necesita tener acceso a ciertos directorios del sistema para poder empaquetar los archivos del kernel Aseguacuterate de reem-plazar el nombre del archivo de configu-racioacuten de destino por el argumento

$ sudo sh

buildsh

odroidc_ubun-

tu_mali_def-

config

La compilacioacuten puede tardar de 10 a 30 minutos el resultado es una es-tructura de carpeta con los recursos de instalacioacuten del ker-nel Esta estructura

estaacute incluida en una subcarpeta bajo la nueva ldquoversioacutenrdquo usando el nombre del archivo de configuracioacuten El proceso de compilacioacuten no instala el kernel en lo-cal sino que crea un paquete portaacutetil que despueacutes se puede ejecutar en el disposi-tivo ODROID que elijas

Para instalar el kernel en un equipo copia la nueva estructura de directorios al ODROID Luego ve al subdirectorio que lleva el nombre del archivo de con-figuracioacuten seleccionado En este ejemplo el script de instalacioacuten se puede ejecutar escribiendo los siguientes comandos

$ cd release

odroidc_ubuntu_mali_defconfig

$ sudo sh installsh

Este proceso puede tardar de 3 a 10 minutos tras lo cual el nuevo kernel es-taraacute listo Reinicia el equipo para usar el kernel actualizado Una backup del ker-nel original se guarda tal y como se indica en el resultado del script de instalacioacuten de modo que la actualizacioacuten del kernel se puede invertir si fuera necesario

Si tiene preguntas comentarios o su-gerencias sobre los scripts por favor crea un nuevo hilo en los foros ODROID en httpforumodroidcom

Divisionesodroid-30y Q U2 U3 X X2odroid-38y U2 U3 X X2odroid-313y XUodroidx-310y C1 C1+odroidw-312y Wodroidxu3-310y XU3odroidxu-34y XUodroidxu4-v42-rc1 XU3 XU4

selecciona tus archivos de configuracioacuten para la mejor compilacioacuten

LINUX GAMINGJUEGOS ANDROID

nubSrsquo ADvEnTuREDESAfIAnTE juEGO DE pLATAfORMAS 2Dpor Bruno Doiche

Lo que no echamos en fal-ta en ODROID

Magazine son los juegos de plataformas en 2D con los que disfrutamos bastante Despueacutes de todo emulamos todo tipo de consolas de 8 y 16 bits Pero a menu-do me pongo con una distro Android en mi U3 conectado a mi lapdock en busca de una nueva experiencia Y para mi agrado me las ingenieacute para dar con Nubsrsquo Adventure un juego de platafor-mas muy ameno que me trasladoacute a in-creiacutebles mundos de la mejor versioacuten de lsquoMetroidvaniarsquo Gran disentildeo de niveles jefes desafiantes y excelentes puzles para mantenerte con ganas de jugar maacutes de lo que esperas inicialmente iexclDisfruta

httpsplaygooglecomstore

appsdetailsid=nubsadventure

ODROID MAGAZINE 9

laxia Echelon asiacute como ayudarles a pros-perar hasta que sean lo suficientemente fuertes como para defenderse de los Mi-croids y por lo tanto salvar la galaxia Esto ademaacutes te interesa no soacutelo porque no quieres que ataquen nuestra galaxia sino porque en el momento en que em-piezas en la galaxia Echelon 10000 antildeos atraacutes en el pasado la tecnologiacutea necesaria para traerte de vuelta ya no existe ya que fue creada por las cuatro especies que se supone que vas ayudas a desarrollar Asiacute que lo que tienes que hacer es volver a tu propia eacutepoca y galaxia para ayudar a desarrollar las cuatro especies hasta que sean capaces de construir las partes que faltan de tu nave y ayudarles a defen-derse de los Microids

El juego tiene aspectos muy buenos como el uso de voz a traveacutes de tu orde-nador y AI Agnis diferentes escenas de peliacutecula accioacuten de combate espacial y mucho maacutes Por lo que yo seacute este juego no es muy conocido realmente es muy inusual por su estilo uacutenico y jugabilidad Definitivamente vale la pena probarlo y sin duda deberiacuteas darle una oportunidad

Instalacioacuten y puesta en marcha

Dado que eacuteste es un juego para DOS y no estaacute hecho para Linux no puedes simplemente descargarlo y ejecutarlo Useacute DOSBox para iniciar el juego y con-figureacute algunas opciones para que fun-

Quisiera presentar algunos de mis juegos favoritos que probable-mente no todo el mundo conoz-

ca pero que son muy interesantes y di-vertidos Espero que disfruteacuteis con los que elegido y os animo a que probeacuteis y jugueacuteis a algunos de los juegos maacutes raros e inusuales de la historia de los juegos

Millennia ndash Altered Destinies

Este juego es muy singular Eres el pi-loto de un carguero en su viaje de 6 me-ses a la Tierra desde Juacutepiter Al tiempo que te das cuenta de que podriacutea ser una mala idea hablar en voz alta en tu primer diacutea de viaje eres de repente ldquosecuestra-dordquo por una especie alieniacutegena Te expli-can que estaacutes en una especie de estasis temporal y que son una especie llamada Hood Son guardianes del tiempo que necesitan tu ayuda en su eacutepoca y galaxia

Una galaxia llamada Echelon que estaacute actualmente invadida por una especie llamada Microids Esta especie es muy agresiva y la galaxia de los guardianes de tiempo estaacute a punto de ser invadida y la proacutexima seraacute ldquonuestrardquo galaxia es por eso que se supone que debemos solucionar este conflicto Te ofrecen una nueva nave espacial que no soacutelo puede viajar en el es-pacio sino tambieacuten en el tiempo y eres enviado de vuelta a 10000 antildeos atraacutes a la galaxia Echelon donde el sistema este-lar soacutelo estaacute ocupado por Microids

El objetivo es establecer las cuatro especies originales que vivieron en la ga-

juEGOSLInux LAS jOyAS DE LOS juEGOS RAROS pARTE 1por tobias schaaf

JUEGOS LINUX

cionase correctamente En primer lugar necesitas el CD o un rip del mismo aunque te aconsejo utilizar la versioacuten del CD para una mejor experiencia

Aquiacute tienes una pequentildea guiacutea de coacutemo instalar e iniciar el juego basada en mi imagen ODROID GameStation Tur-bo aunque deberiacutea funcionar con la im-agen de Ubuntu de HardKernel si tienes activadas mis listas de paquetes alltest-ing y allmain Escribe lo siguiente para instalar los requisitos para DOSBox

$ sudo apt-get install dosbox-

odroid libgl-odroid

Configurar DOSBoxInicia DOSBox para crear el archivo

de configuracioacuten por defecto luego salte de inmediato Abre homeodroiddosboxdosbox-SVNconf con un editor de texto y cambia las siguientes liacuteneas

[sdl]

fullscreen=true

fullresolution=1920x1080

output=opengl

[render]

frameskip=3

[cpu]

core=dynamic

cputype=pentium_slow

cycles=5000

Esta es la versioacuten orginal en CD-rOM de Millenia - Altered Destinies

ODROID MAGAZINE 10

lo cual te ayudaraacute a entenderlo mejorTienes que utilizar las capacidades de

tu nave para viajar en el tiempo y en el espacio y asiacute poder solucionar los pro-blemas de las cuatro especies que debes proteger y ayudarles a evolucionar ha-cia una civilizacioacuten avanzada que pueda ayudarte a salir de la galaxia asiacute como defenderse de los Microids Para ello tienes que entender y controlar tu nave para completar todas las tareas que tienes por delante

La naveDentro de tu nave puedes ver Agnis

el ordenador de la nave y IA que te ayudara en tu tarea Actuacutea de traductor cuando hablas con las diferentes espe-cies Puede darte consejos y hacer co-mentarios sobre tus acciones De hecho su ldquoyo estoy a tu servicio humanordquo fue el sonido de inicio de mi maacutequina Win-dows durante mucho tiempo

La mayoriacutea de las pantallas de la nave se asemejan Tienes un panel de nave-gacioacuten en el lado izquierdo que se pue-de controlar pulsando y manteniendo el botoacuten derecho del ratoacuten y movieacutendote sobre los diferentes botones Un clic con el botoacuten izquierdo selecciona el sistema que quieres visitar una especie de ascen-sor que llega a tu cabina te lleva a la es-tacioacuten seleccionada A la derecha tienes los botones de accioacuten de su estacioacuten ac-tual Simplemente mueve el ratoacuten hacia el botoacuten deseado y pulsa el botoacuten izqui-erdo del ratoacuten para activar la accioacuten

En la vista principal puedes ver in-formacioacuten sobre el planeta actual que estaacute visitando El nombre del planeta y el

JUEGOS LINUX

antildeo se muestra sobre la cruz del escaacutener En el lado derecho puedes encontrar in-formacioacuten sobre el planeta y sus habitan-tes Aquiacute podemos ver la especie (Rap-toids) su calificacioacuten IQ actual (80) y un siacutembolo del evento actual (war) En la parte superior de la pantalla vemos de nuevo un pequentildeo panel de informacioacuten con el nombre del planeta la especie y un reloj El antildeo 1600 es el siglo actual y el siacutembolo 11713 es en realidad un reloj del tiempo de juego que tiene un for-mato muy extrantildeo Cuenta en segundos pero llega a 100 antes de que el nuacutemero anterior a los decimales cambie

La vista principal soacutelo permite iniciar un viaje al siguiente siglo o a un lugar diferente en la galaxia Soacutelo puedes ini-ciar los motores desde esta pantalla Otra cosa que soacutelo puedes hacer desde la pan-talla principal es el combate espacial De vez en cuando tienes que defenderte y defender a los habitantes del planeta frente a los enemigos invasores Dado que este juego gira en torno al tiempo esto en alguacuten momento puede llegar a ser algo confuso ya que en realidad po-driacuteas terminar luchando contra tu otro yo en una liacutenea temporal diferente pero tambieacuten podriacuteas luchar contra Microids que tratan de invadir el espacio donde se asienta tu raza Los Hoods a menudo tratan de atacar la raza que creaste desde una liacutenea de tiempo diferente y una de las otras razas incluso podriacutea tratar de invadir el planeta mientras trata de ex-pandir su territorio Por eso tu nave estaacute equipada con algunas armas e incluso se puede modificar con algunos de los in-ventos que obtienes a partir de las razas que has creado

vista principal de tu nave espacial des-de donde comienzas tu trabajo

figura 2 - Luchando contra tu otro yo en Milenios

cycleup=200

cycledown=200

En primer lugar he creado una car-peta donde quiero colocar mis juegos

$ mkdir DOS

Tambieacuten he copiado la ISO que he creado desde mi juego Millennia ndash Al-tered Destinies y la coloqueacute en una carpeta llamada CDs en mi ODROID Para facilitar las cosas he antildeadido las siguientes liacuteneas al final del archivo de configuracioacuten de DOSBox asiacute no necesito escribirlas cada vez que quiera ejecutar el juego

[autoexec]

mount c homeodroidDOS

c

imgmount d homeodroidCDs

Miliso -t iso

Ahora el sistema estaacute preparado para lanzar el emulador La carpeta DOS se monta automaacuteticamente como mi uni-dad C y el CD seraacute montado como D como una unidad de CD-ROM In-stala el juego como siempre bajo DOS e iniciarlo La introduccioacuten puede ser un poco lenta pero en general con los ajustes mencionados deberiacuteas ser capaz de ejecutar el juego a toda velocidad

Para ejecutar el juego lanza DOS-Box de nuevo con el siguiente comando para que DOSbox utilice glshim (libglo-droid) y asiacute poder activar la aceleracioacuten OpenGL

$ LD_LIBRARY_PATH=usrlocallib

dosbox

Los inicios del juegoTras la introduccioacuten te encontraraacutes

en una galaxia muy muy lejana (te suena familiar iquestno) El juego no viene con un tutorial lo que significa que tendraacutes mucha accioacuten sin saber lo que debes o puedes hacer Por eso voy a intentar ex-plicarte las cuestiones baacutesicas del juego

ODROID MAGAZINE 11

gran plan Sabe que puedes alterar los acontecimientos en el tiempo y es por ello que puede ver lo que sucederaacute en el futuro Auacuten asiacute el Agent es parte de la raza que estaacutes desarrollando y tendraacute creencias y necesidades similares lo que los hace a veces difiacutecil de tratar y cada uno requiere de una forma de persuasioacuten distinta

Si haces clic en el botoacuten que mira ha-cia el oeste en la barra de navegacioacuten su-perior te llevaraacute al centro de comunica-ciones Aquiacute puedes ponerse en contacto con tus agentes e intentar solventar sus problemas Agnis te ayudaraacute a traducir lo que tus agentes te esteacuten diciendo Pue-des ver las pequentildeas peliacuteculas de viacutedeo de los agentes cuando hablan contigo haciendo que parezca una transmisioacuten de viacutedeo Con la ayuda de Agnis inten-tas resolver sus problemas Esto incluye temas como la poliacutetica donde tienes que elegir quieacuten debe ser el liacuteder de una raza planificar asesinatos de liacutederes rebeldes con el fin de evitar levantamientos o de-cidir si ayudas a los rebeldes con el fin de matar a un emperador tirano

Por otro lado tambieacuten tienes que dar consejos sobre coacutemo protegerse ante un duro invierno coacutemo evitar que to-men decisiones equivocadas que lue-go puedan conducirles a cataacutestrofes o

antildeos atraacutes en el pasado soacutelo existe un planeta habitado con Microids ninguacuten otro con otra especie Tienes que elegir un planeta en el que quieres desarrollar las cuatro razas diferentes Cada una re-quiere de un haacutebitat distinto

Desde aquiacute puedes fijar una ruta a traveacutes del espacio y el tiempo con el fin de ayudar a las especies en su desar-rollo Sugerencia Viajar en el tiempo y el espacio consume combustible y soacutelo pue-des recargar combustible en los gi-

gantes gaseosos Por lo que es buena idea que crees tu raza en un planeta que se encuentre cerca de un gigante gaseoso Hay un botoacuten que activa o desactiva los planetas que no tienen gigantes gaseosos

En la esquina inferior derecha de esta pantalla puedes ver el botoacuten del histo-grama tu mejor amigo En el histograma ves todos los eventos que tienen lugar y cada paso representa 100 antildeos de desar-rollo Los nuevos inventos estaacuten marca-dos con un borde verde los bordes rojos indica crisis

Aquiacute es donde el juego se complica Tienes que ayudar a la raza a pasar las crisis o incluso prevenir que las crisis lleguen a producirse A menudo hay diferentes soluciones a un problema con diferentes resultados y aquiacute es donde el juego tambieacuten se vuelve interesante

Tienes diferentes formas de interac-cioacuten para desarrollar una raza y la forma maacutes comuacuten es la de comunicarte con un representante de la especie Este repre-sentante es conocido como Agent que es un ser modificado de las especies que ayudas Soacutelo eacutel sabe de tu existencia y del

Para luchar contra los enemigos manteacuten pulsado el botoacuten derecho del ratoacuten y mueacutevelo en la direccioacuten que desees Un pequentildeo punto rojo indica la ubicacioacuten del enemigo maacutes cercano Pulsa el botoacuten izquierdo para disparar a tu enemigo

La lucha contra tu otro yo es bas-tante faacutecil y normalmente escapas tras un par de golpes El combate contra los otros enemigos es algo maacutes difiacutecil ya que a menudo son maacutes numerosos y mien-tras luchas contra uno otro puede venir por detraacutes y atacarte El panel de infor-macioacuten de color rojo en la parte superior se convierte en un ldquoespejo retrovisorrdquo que muestra los enemigos que te atacan por detraacutes Ademaacutes tu nave puede da-ntildearse y si la averiacutea es demasiado grande huiraacutes automaacuteticamente de la escena y te dirigiraacutes al centro del universo al uacutenico planeta donde no se puede crear ninguna especie Asiacute que en realidad nunca pu-edes morir

A la vista principal se puede llegar a traveacutes del botoacuten que apunta hacia el norte en la parte superior izquierda de la barra de navegacioacuten La navegacioacuten es probablemente el sistema maacutes impor-tante que tienes Si hace clic en el botoacuten

que mira hacia el este en el panel de navegacioacuten superior se puedes ir al mapa de la galaxia y al sistema de navegacioacuten

En el sistema de navegacioacuten recopi-las toda la informacioacuten que necesitas para planificar tu proacuteximo paso El mapa de galaxia te muestra lo que se ve en la galaxia y coacutemo se distribuyen las diferen-tes especies Puesto que empiezas 10000

Mapa de la galaxia del sistema de nave-gacioacuten no soacutelo para moverte en el espacio sino tambieacuten para viajar en el tiempo

El histograma que muestra todos los even-tos importantes del desarrollo de las razas es una herramienta muy importante

Dos de las diferentes especies con las que tienes que lidiar en el juego los in-sectos Entomon y los reptiles reptoides

JUEGOS LINUX

ODROID MAGAZINE 12

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 5: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

INDICEAMstrAD - 6

DEsArrOLLO AnDrOiD - 16

GEnErADOr DE rUiDO BLAnCO - 20

DiEt pi - 25

JUEGOs AnDrOiD nUBsrsquo ADvEntUrE- 9

kErnEL LinUx - 8

JUEGOs AnDrOiD kUnG fUry - 15

JAvA GpiO - 19

MUsiCA ODrOiD - 21

pOpCOrn tiME - 30

COnOCiEnDO A Un ODrOiDiAn - 32

JUEGOs LinUx MiLLEniUM - 10

Su desarrollador principal es Francisco Gallego (frangal-legobr) un ingeniero informaacutetico desarrollador de videojuegos y profesor de la Universidad de Alicante en Espantildea Si quieres profundizar en este entorno de trabajo puedes consultar los enlaces que aparecen al final de este artiacuteculo

Instalando CPCteleraEn primer lugar necesitas descargar el coacutedigo fuente para

compilarlo en tu placa Para ello descarga la versioacuten estable como lo hice yo o si eres atrevido puedes utilizar la uacuteltima versioacuten de GitHub

$ wget httpbitly1MMdUMA ampamp

unzip -nq $(basename $_) ampamp

rm $(basename $_) ampamp

cd cpctelera-11

or use the last commit

$ git clone httpbitly1IPxMOf ampamp

cd $(basename $_)

Para los que no lo sepan el Amstrad CPC era un ordena-dor de 8 bits que fue muy popular entre 1984 y 1990 CPCtelera es un motor que ha sido publicado reciente-

mente en su primera versioacuten estable la cual facilita la creacioacuten de juegos para Amstrad usando coacutedigo ensamblador o C

Presentando CPCteleraCPCtelera es un entorno de desarrollo integrado que premite

crear contenido y juegos para Amstrad CPC y que incluye

bull Una libreriacutea de bajo nivel con soporte para graacuteficos au-dio teclado firmware cadenas de caracteres tratamiento de hardware de viacutedeo y gestioacuten de memoria

bull Una Api para desarrollar juegos y software en C y ensam-blador

bull Herramientas para la creacioacuten de contenido (edicioacuten de nivel graacuteficos y audio)

bull Multiplataforma funciona con los sistemas Operativos Windows Ubuntu Debian Arch y Manjaro

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

AMSTRAD

AMstrAD CpC es una de esas re-liquias de 8 bits que siempre ocu-paraacute un sitio en nuestros corazones

ODROID MAGAZINE 6

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

Ejecutandosetupsh tras resolver las dependencias

AMSTRAD

Dispones de muchos ejemplos para aprender scanlines junto a la mejor nostalgia iexclprepaacuterate para trepar

A continuacioacuten tenemos que instalar las dependencias que faltan algunas de las cuales ya pueden estar instaladas

$ sudo apt-get install -y build-essential libboost-

dev flex bison

Luego activa el script de instalacioacuten ejecutando el archivo setup

$ sudo setupsh

Se te advertiraacute de los paquetes necesarios y prepararaacute tu sistema para ejecutar el motor En un ODROID-C1 la compi-lacioacuten suele tardar unos 20 minutos

Iniciando el MotorSi navegamos por los directorios podemos ver algunas

carpetas interesantes como docs que contiene el manu-al de referencia o tools que se utiliza para hacer sprites componer bandas sonoras convertidores de formatos y mucho maacutes Algunas de estas herramientas solo estaacuten dis-ponibles para Windows

Para crear un nuevo proyecto Bash escribe lo siguiente

$ cpct_mkproject [folder_project]

Navega por el directorio y veraacute dos subdirectorios

bull src con el coacutedigo fuente (la primera vez soacutelo tenemos un mainc) puede crear archivos y directorios de tu juego aquiacute

bull cfg contiene los paraacutemetros necesarios para compilar el juego a traveacutes del archivo build_configmk

Tambieacuten hay ejemplos que puedes analizar Simplemente ve al directorio ejecuta make y se crearaacuten automaacuteticamente los archivos CDT y DSK iexclIncreible iquestno

Platform ClimberCPCtelera incluye un completo juego de ejemplo llamado

Platform Climber En primer lugar necesitas un emulador de Amstrad CPC No he encontrado ninguno que estuviese pre-compilado para ODROID asiacute que tuve que descargar y com-pilar uno por miacute mismo No te preocupes es faacutecil

iexclAmstrad BAsiC es hora de desempolvar unos cuantos manuales

ODROID MAGAZINE 7

$ wget httpbitly1U2RrjZ

$ unzip caprice

$ make -f makefileunix

RELEASE=TRUE

En un minuto conseguiraacutes un bi-nario llamado cap32 El uso es muy sencillo utilizando cualquier archivo BAS o DSK Para cargar el juego Platform Climber ejecuta el emulador seguido de la ruta del archivo DSK

$ cap32 cpctelera-11

examplesgamesplatformClimber

pclimberdsk

iexclAhora ya estaacute dentro de AM-STRAD iquestSientes la magia Escribe cat para ver los archivos del disco montado previamente Luego ejecuta el juego

cat

runrdquogame_nameextension

Observa que las comillas no se cier-ran Por ejemplo para ejecutar Plat-form Climber escribe lo siguiente

runrdquopclimberbin

ConclusioacutenAhora es tu turno Te recomiendo

que empieces a estudiar los ejemplos de exampleseasysrc luego modifiacute-calos y compiacutelalos Debajo tienes un enlace al manual de referencia con toda la informacioacuten que necesitas so-bre funciones y meacutetodos disponibles Si sabes algo de SDL todo te seraacute un poco maacutes faacutecil

iexclFeliz codificacioacuten

Maacutes Referenciashttpbitly1IPxMOf

httpbitly1IpjQvV

httpbitly1FMAkrQ

httpbitly1IILeAT

AMSTRAD KERNEL LINUX

Para hacer que la compilacioacuten del kernel Linux sea maacutes sencilla he escrito un conjunto de scripts

BASH que permiten descargar la uacuteltima versioacuten de cualquier kernel almacenado en la seccioacuten GitHub de Hardkernel compilar el coacutedigo fuente y empaquetar el kernel terminado en un paquete que pueda distribuirse Los scripts guardan el kernel original en la maacutequina de com-pilacioacuten de forma que el kernel para un dispositivo ODROID se puede compi-lar en un ODROID distinto

El paquete resultante incluye un script de instalacioacuten de un solo clic pu-ede ser compartido con otros instalarlo en cualquier ODROID compatible o antildeadirlo a un repositorio para su distri-bucioacuten viacutea apt-get Los scripts dan indi-caciones a lo largo del proceso lo cual es ideal para usuarios que no tienen ex-periencia en la compilacioacuten de kernels

Informacioacuten generalLos scripts se encuentran en http

bitly1U6kQcU y se puenden descargar usando wget desde la liacutenea de comandos o desde cu-alquier navegador web Descomprime el paquete tras navegar a la carpeta de descargas

$ wget

httpbitly1U6kQcU

$ tar -xvzf buildtgz

La carpeta ldquobuildrdquo resultante contiene los siguientes scripts

downloadsh es usado para descargar una seccioacuten concreta del repositorio de Hardkernel

buildsh se utiliza para poner en mar-cha el proceso de compilacioacuten del kernel

installsh se copia en el paquete de instalacioacuten del kernel resultante para poder instalar el kernel en cualquier dis-positivo ODROID

Script DownloadEl script ldquodownloadshrdquo se puede

utilizar para descargar cualquier moacutedu-lo disponible del repositorio GitHub de Hardkernel especificaacutendolo como primer argumento Por ejemplo para descargar la versioacuten maacutes reciente de la seccioacuten ODROID-310y navega a la carpeta ldquobuildrdquo y escribe lo siguiente

$ sh downloadsh odroidc-310y

Para obtener una lista completa de todas las secciones visita httpbit

ly1NvVQa1 y abre el menuacute desplegable ldquobranchrdquo como muestra la imagen

Tras completarse el script download los archivos ldquodownloadshrdquo y ldquoinstallshrdquo se copiaraacuten automaacuteticamente al directo-

SCRIpTS pARA EL KERnEL DE LInux RETOCA Tu SISTEMApor rob roy

El lugar donde obtener el kernel maacutes actualizado es el menuacute desplegable de la seccioacuten correspondiente dentro del repositorio GitHub de Hardkernel

ODROID MAGAZINE 8

KERNEL LINUX

rio de la seccioacuten descargada Ahora pasa-mos al siguiente paso

Script BuildUna vez descargado la seccioacuten ve al

directorio en cuestioacuten y busca el archivo en el directorio archarmconfigs cor-respondiente a la plataforma ODROID que utilizaraacute el kernel

$ cd odroidc-310y

$ ls archarmconfigsodroid

Por ejemplo si seleccionas la sec-cioacuten odroid-310y los archivos de configuracioacuten estaacuten disponibles para usarse con ODROID-Q ODROID-Q2 ODROID-X ODROID-X2 y ODROID-U2 como muestra la imagen anterior Otras secciones pueden incluir archivos de configuracioacuten para otros dis-positivos ODROID tales como el XU y XU3 Si compilas un kernel para el ODROID-U2U3 usando odroid-310y el archivo de configuracioacuten de destino deberiacutea ser odroidu2_ubuntu_mali_ def-config que es incluido como argumento principal en el script ldquobuildshrdquo Cualquier cambio en el archivo de configuracioacuten se debe hacer antes de lanzar el script build Yo prefiero editar el archivo con un edi-tor de texto pero tambieacuten se puede usar ldquomake menuconfigrdquo

El siguiente comando inicia el pro-ceso de compilacioacuten usando el archivo de configuracioacuten seleccionado Requi-ere privilegios de superusuario ya que necesita tener acceso a ciertos directorios del sistema para poder empaquetar los archivos del kernel Aseguacuterate de reem-plazar el nombre del archivo de configu-racioacuten de destino por el argumento

$ sudo sh

buildsh

odroidc_ubun-

tu_mali_def-

config

La compilacioacuten puede tardar de 10 a 30 minutos el resultado es una es-tructura de carpeta con los recursos de instalacioacuten del ker-nel Esta estructura

estaacute incluida en una subcarpeta bajo la nueva ldquoversioacutenrdquo usando el nombre del archivo de configuracioacuten El proceso de compilacioacuten no instala el kernel en lo-cal sino que crea un paquete portaacutetil que despueacutes se puede ejecutar en el disposi-tivo ODROID que elijas

Para instalar el kernel en un equipo copia la nueva estructura de directorios al ODROID Luego ve al subdirectorio que lleva el nombre del archivo de con-figuracioacuten seleccionado En este ejemplo el script de instalacioacuten se puede ejecutar escribiendo los siguientes comandos

$ cd release

odroidc_ubuntu_mali_defconfig

$ sudo sh installsh

Este proceso puede tardar de 3 a 10 minutos tras lo cual el nuevo kernel es-taraacute listo Reinicia el equipo para usar el kernel actualizado Una backup del ker-nel original se guarda tal y como se indica en el resultado del script de instalacioacuten de modo que la actualizacioacuten del kernel se puede invertir si fuera necesario

Si tiene preguntas comentarios o su-gerencias sobre los scripts por favor crea un nuevo hilo en los foros ODROID en httpforumodroidcom

Divisionesodroid-30y Q U2 U3 X X2odroid-38y U2 U3 X X2odroid-313y XUodroidx-310y C1 C1+odroidw-312y Wodroidxu3-310y XU3odroidxu-34y XUodroidxu4-v42-rc1 XU3 XU4

selecciona tus archivos de configuracioacuten para la mejor compilacioacuten

LINUX GAMINGJUEGOS ANDROID

nubSrsquo ADvEnTuREDESAfIAnTE juEGO DE pLATAfORMAS 2Dpor Bruno Doiche

Lo que no echamos en fal-ta en ODROID

Magazine son los juegos de plataformas en 2D con los que disfrutamos bastante Despueacutes de todo emulamos todo tipo de consolas de 8 y 16 bits Pero a menu-do me pongo con una distro Android en mi U3 conectado a mi lapdock en busca de una nueva experiencia Y para mi agrado me las ingenieacute para dar con Nubsrsquo Adventure un juego de platafor-mas muy ameno que me trasladoacute a in-creiacutebles mundos de la mejor versioacuten de lsquoMetroidvaniarsquo Gran disentildeo de niveles jefes desafiantes y excelentes puzles para mantenerte con ganas de jugar maacutes de lo que esperas inicialmente iexclDisfruta

httpsplaygooglecomstore

appsdetailsid=nubsadventure

ODROID MAGAZINE 9

laxia Echelon asiacute como ayudarles a pros-perar hasta que sean lo suficientemente fuertes como para defenderse de los Mi-croids y por lo tanto salvar la galaxia Esto ademaacutes te interesa no soacutelo porque no quieres que ataquen nuestra galaxia sino porque en el momento en que em-piezas en la galaxia Echelon 10000 antildeos atraacutes en el pasado la tecnologiacutea necesaria para traerte de vuelta ya no existe ya que fue creada por las cuatro especies que se supone que vas ayudas a desarrollar Asiacute que lo que tienes que hacer es volver a tu propia eacutepoca y galaxia para ayudar a desarrollar las cuatro especies hasta que sean capaces de construir las partes que faltan de tu nave y ayudarles a defen-derse de los Microids

El juego tiene aspectos muy buenos como el uso de voz a traveacutes de tu orde-nador y AI Agnis diferentes escenas de peliacutecula accioacuten de combate espacial y mucho maacutes Por lo que yo seacute este juego no es muy conocido realmente es muy inusual por su estilo uacutenico y jugabilidad Definitivamente vale la pena probarlo y sin duda deberiacuteas darle una oportunidad

Instalacioacuten y puesta en marcha

Dado que eacuteste es un juego para DOS y no estaacute hecho para Linux no puedes simplemente descargarlo y ejecutarlo Useacute DOSBox para iniciar el juego y con-figureacute algunas opciones para que fun-

Quisiera presentar algunos de mis juegos favoritos que probable-mente no todo el mundo conoz-

ca pero que son muy interesantes y di-vertidos Espero que disfruteacuteis con los que elegido y os animo a que probeacuteis y jugueacuteis a algunos de los juegos maacutes raros e inusuales de la historia de los juegos

Millennia ndash Altered Destinies

Este juego es muy singular Eres el pi-loto de un carguero en su viaje de 6 me-ses a la Tierra desde Juacutepiter Al tiempo que te das cuenta de que podriacutea ser una mala idea hablar en voz alta en tu primer diacutea de viaje eres de repente ldquosecuestra-dordquo por una especie alieniacutegena Te expli-can que estaacutes en una especie de estasis temporal y que son una especie llamada Hood Son guardianes del tiempo que necesitan tu ayuda en su eacutepoca y galaxia

Una galaxia llamada Echelon que estaacute actualmente invadida por una especie llamada Microids Esta especie es muy agresiva y la galaxia de los guardianes de tiempo estaacute a punto de ser invadida y la proacutexima seraacute ldquonuestrardquo galaxia es por eso que se supone que debemos solucionar este conflicto Te ofrecen una nueva nave espacial que no soacutelo puede viajar en el es-pacio sino tambieacuten en el tiempo y eres enviado de vuelta a 10000 antildeos atraacutes a la galaxia Echelon donde el sistema este-lar soacutelo estaacute ocupado por Microids

El objetivo es establecer las cuatro especies originales que vivieron en la ga-

juEGOSLInux LAS jOyAS DE LOS juEGOS RAROS pARTE 1por tobias schaaf

JUEGOS LINUX

cionase correctamente En primer lugar necesitas el CD o un rip del mismo aunque te aconsejo utilizar la versioacuten del CD para una mejor experiencia

Aquiacute tienes una pequentildea guiacutea de coacutemo instalar e iniciar el juego basada en mi imagen ODROID GameStation Tur-bo aunque deberiacutea funcionar con la im-agen de Ubuntu de HardKernel si tienes activadas mis listas de paquetes alltest-ing y allmain Escribe lo siguiente para instalar los requisitos para DOSBox

$ sudo apt-get install dosbox-

odroid libgl-odroid

Configurar DOSBoxInicia DOSBox para crear el archivo

de configuracioacuten por defecto luego salte de inmediato Abre homeodroiddosboxdosbox-SVNconf con un editor de texto y cambia las siguientes liacuteneas

[sdl]

fullscreen=true

fullresolution=1920x1080

output=opengl

[render]

frameskip=3

[cpu]

core=dynamic

cputype=pentium_slow

cycles=5000

Esta es la versioacuten orginal en CD-rOM de Millenia - Altered Destinies

ODROID MAGAZINE 10

lo cual te ayudaraacute a entenderlo mejorTienes que utilizar las capacidades de

tu nave para viajar en el tiempo y en el espacio y asiacute poder solucionar los pro-blemas de las cuatro especies que debes proteger y ayudarles a evolucionar ha-cia una civilizacioacuten avanzada que pueda ayudarte a salir de la galaxia asiacute como defenderse de los Microids Para ello tienes que entender y controlar tu nave para completar todas las tareas que tienes por delante

La naveDentro de tu nave puedes ver Agnis

el ordenador de la nave y IA que te ayudara en tu tarea Actuacutea de traductor cuando hablas con las diferentes espe-cies Puede darte consejos y hacer co-mentarios sobre tus acciones De hecho su ldquoyo estoy a tu servicio humanordquo fue el sonido de inicio de mi maacutequina Win-dows durante mucho tiempo

La mayoriacutea de las pantallas de la nave se asemejan Tienes un panel de nave-gacioacuten en el lado izquierdo que se pue-de controlar pulsando y manteniendo el botoacuten derecho del ratoacuten y movieacutendote sobre los diferentes botones Un clic con el botoacuten izquierdo selecciona el sistema que quieres visitar una especie de ascen-sor que llega a tu cabina te lleva a la es-tacioacuten seleccionada A la derecha tienes los botones de accioacuten de su estacioacuten ac-tual Simplemente mueve el ratoacuten hacia el botoacuten deseado y pulsa el botoacuten izqui-erdo del ratoacuten para activar la accioacuten

En la vista principal puedes ver in-formacioacuten sobre el planeta actual que estaacute visitando El nombre del planeta y el

JUEGOS LINUX

antildeo se muestra sobre la cruz del escaacutener En el lado derecho puedes encontrar in-formacioacuten sobre el planeta y sus habitan-tes Aquiacute podemos ver la especie (Rap-toids) su calificacioacuten IQ actual (80) y un siacutembolo del evento actual (war) En la parte superior de la pantalla vemos de nuevo un pequentildeo panel de informacioacuten con el nombre del planeta la especie y un reloj El antildeo 1600 es el siglo actual y el siacutembolo 11713 es en realidad un reloj del tiempo de juego que tiene un for-mato muy extrantildeo Cuenta en segundos pero llega a 100 antes de que el nuacutemero anterior a los decimales cambie

La vista principal soacutelo permite iniciar un viaje al siguiente siglo o a un lugar diferente en la galaxia Soacutelo puedes ini-ciar los motores desde esta pantalla Otra cosa que soacutelo puedes hacer desde la pan-talla principal es el combate espacial De vez en cuando tienes que defenderte y defender a los habitantes del planeta frente a los enemigos invasores Dado que este juego gira en torno al tiempo esto en alguacuten momento puede llegar a ser algo confuso ya que en realidad po-driacuteas terminar luchando contra tu otro yo en una liacutenea temporal diferente pero tambieacuten podriacuteas luchar contra Microids que tratan de invadir el espacio donde se asienta tu raza Los Hoods a menudo tratan de atacar la raza que creaste desde una liacutenea de tiempo diferente y una de las otras razas incluso podriacutea tratar de invadir el planeta mientras trata de ex-pandir su territorio Por eso tu nave estaacute equipada con algunas armas e incluso se puede modificar con algunos de los in-ventos que obtienes a partir de las razas que has creado

vista principal de tu nave espacial des-de donde comienzas tu trabajo

figura 2 - Luchando contra tu otro yo en Milenios

cycleup=200

cycledown=200

En primer lugar he creado una car-peta donde quiero colocar mis juegos

$ mkdir DOS

Tambieacuten he copiado la ISO que he creado desde mi juego Millennia ndash Al-tered Destinies y la coloqueacute en una carpeta llamada CDs en mi ODROID Para facilitar las cosas he antildeadido las siguientes liacuteneas al final del archivo de configuracioacuten de DOSBox asiacute no necesito escribirlas cada vez que quiera ejecutar el juego

[autoexec]

mount c homeodroidDOS

c

imgmount d homeodroidCDs

Miliso -t iso

Ahora el sistema estaacute preparado para lanzar el emulador La carpeta DOS se monta automaacuteticamente como mi uni-dad C y el CD seraacute montado como D como una unidad de CD-ROM In-stala el juego como siempre bajo DOS e iniciarlo La introduccioacuten puede ser un poco lenta pero en general con los ajustes mencionados deberiacuteas ser capaz de ejecutar el juego a toda velocidad

Para ejecutar el juego lanza DOS-Box de nuevo con el siguiente comando para que DOSbox utilice glshim (libglo-droid) y asiacute poder activar la aceleracioacuten OpenGL

$ LD_LIBRARY_PATH=usrlocallib

dosbox

Los inicios del juegoTras la introduccioacuten te encontraraacutes

en una galaxia muy muy lejana (te suena familiar iquestno) El juego no viene con un tutorial lo que significa que tendraacutes mucha accioacuten sin saber lo que debes o puedes hacer Por eso voy a intentar ex-plicarte las cuestiones baacutesicas del juego

ODROID MAGAZINE 11

gran plan Sabe que puedes alterar los acontecimientos en el tiempo y es por ello que puede ver lo que sucederaacute en el futuro Auacuten asiacute el Agent es parte de la raza que estaacutes desarrollando y tendraacute creencias y necesidades similares lo que los hace a veces difiacutecil de tratar y cada uno requiere de una forma de persuasioacuten distinta

Si haces clic en el botoacuten que mira ha-cia el oeste en la barra de navegacioacuten su-perior te llevaraacute al centro de comunica-ciones Aquiacute puedes ponerse en contacto con tus agentes e intentar solventar sus problemas Agnis te ayudaraacute a traducir lo que tus agentes te esteacuten diciendo Pue-des ver las pequentildeas peliacuteculas de viacutedeo de los agentes cuando hablan contigo haciendo que parezca una transmisioacuten de viacutedeo Con la ayuda de Agnis inten-tas resolver sus problemas Esto incluye temas como la poliacutetica donde tienes que elegir quieacuten debe ser el liacuteder de una raza planificar asesinatos de liacutederes rebeldes con el fin de evitar levantamientos o de-cidir si ayudas a los rebeldes con el fin de matar a un emperador tirano

Por otro lado tambieacuten tienes que dar consejos sobre coacutemo protegerse ante un duro invierno coacutemo evitar que to-men decisiones equivocadas que lue-go puedan conducirles a cataacutestrofes o

antildeos atraacutes en el pasado soacutelo existe un planeta habitado con Microids ninguacuten otro con otra especie Tienes que elegir un planeta en el que quieres desarrollar las cuatro razas diferentes Cada una re-quiere de un haacutebitat distinto

Desde aquiacute puedes fijar una ruta a traveacutes del espacio y el tiempo con el fin de ayudar a las especies en su desar-rollo Sugerencia Viajar en el tiempo y el espacio consume combustible y soacutelo pue-des recargar combustible en los gi-

gantes gaseosos Por lo que es buena idea que crees tu raza en un planeta que se encuentre cerca de un gigante gaseoso Hay un botoacuten que activa o desactiva los planetas que no tienen gigantes gaseosos

En la esquina inferior derecha de esta pantalla puedes ver el botoacuten del histo-grama tu mejor amigo En el histograma ves todos los eventos que tienen lugar y cada paso representa 100 antildeos de desar-rollo Los nuevos inventos estaacuten marca-dos con un borde verde los bordes rojos indica crisis

Aquiacute es donde el juego se complica Tienes que ayudar a la raza a pasar las crisis o incluso prevenir que las crisis lleguen a producirse A menudo hay diferentes soluciones a un problema con diferentes resultados y aquiacute es donde el juego tambieacuten se vuelve interesante

Tienes diferentes formas de interac-cioacuten para desarrollar una raza y la forma maacutes comuacuten es la de comunicarte con un representante de la especie Este repre-sentante es conocido como Agent que es un ser modificado de las especies que ayudas Soacutelo eacutel sabe de tu existencia y del

Para luchar contra los enemigos manteacuten pulsado el botoacuten derecho del ratoacuten y mueacutevelo en la direccioacuten que desees Un pequentildeo punto rojo indica la ubicacioacuten del enemigo maacutes cercano Pulsa el botoacuten izquierdo para disparar a tu enemigo

La lucha contra tu otro yo es bas-tante faacutecil y normalmente escapas tras un par de golpes El combate contra los otros enemigos es algo maacutes difiacutecil ya que a menudo son maacutes numerosos y mien-tras luchas contra uno otro puede venir por detraacutes y atacarte El panel de infor-macioacuten de color rojo en la parte superior se convierte en un ldquoespejo retrovisorrdquo que muestra los enemigos que te atacan por detraacutes Ademaacutes tu nave puede da-ntildearse y si la averiacutea es demasiado grande huiraacutes automaacuteticamente de la escena y te dirigiraacutes al centro del universo al uacutenico planeta donde no se puede crear ninguna especie Asiacute que en realidad nunca pu-edes morir

A la vista principal se puede llegar a traveacutes del botoacuten que apunta hacia el norte en la parte superior izquierda de la barra de navegacioacuten La navegacioacuten es probablemente el sistema maacutes impor-tante que tienes Si hace clic en el botoacuten

que mira hacia el este en el panel de navegacioacuten superior se puedes ir al mapa de la galaxia y al sistema de navegacioacuten

En el sistema de navegacioacuten recopi-las toda la informacioacuten que necesitas para planificar tu proacuteximo paso El mapa de galaxia te muestra lo que se ve en la galaxia y coacutemo se distribuyen las diferen-tes especies Puesto que empiezas 10000

Mapa de la galaxia del sistema de nave-gacioacuten no soacutelo para moverte en el espacio sino tambieacuten para viajar en el tiempo

El histograma que muestra todos los even-tos importantes del desarrollo de las razas es una herramienta muy importante

Dos de las diferentes especies con las que tienes que lidiar en el juego los in-sectos Entomon y los reptiles reptoides

JUEGOS LINUX

ODROID MAGAZINE 12

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 6: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

Su desarrollador principal es Francisco Gallego (frangal-legobr) un ingeniero informaacutetico desarrollador de videojuegos y profesor de la Universidad de Alicante en Espantildea Si quieres profundizar en este entorno de trabajo puedes consultar los enlaces que aparecen al final de este artiacuteculo

Instalando CPCteleraEn primer lugar necesitas descargar el coacutedigo fuente para

compilarlo en tu placa Para ello descarga la versioacuten estable como lo hice yo o si eres atrevido puedes utilizar la uacuteltima versioacuten de GitHub

$ wget httpbitly1MMdUMA ampamp

unzip -nq $(basename $_) ampamp

rm $(basename $_) ampamp

cd cpctelera-11

or use the last commit

$ git clone httpbitly1IPxMOf ampamp

cd $(basename $_)

Para los que no lo sepan el Amstrad CPC era un ordena-dor de 8 bits que fue muy popular entre 1984 y 1990 CPCtelera es un motor que ha sido publicado reciente-

mente en su primera versioacuten estable la cual facilita la creacioacuten de juegos para Amstrad usando coacutedigo ensamblador o C

Presentando CPCteleraCPCtelera es un entorno de desarrollo integrado que premite

crear contenido y juegos para Amstrad CPC y que incluye

bull Una libreriacutea de bajo nivel con soporte para graacuteficos au-dio teclado firmware cadenas de caracteres tratamiento de hardware de viacutedeo y gestioacuten de memoria

bull Una Api para desarrollar juegos y software en C y ensam-blador

bull Herramientas para la creacioacuten de contenido (edicioacuten de nivel graacuteficos y audio)

bull Multiplataforma funciona con los sistemas Operativos Windows Ubuntu Debian Arch y Manjaro

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

AMSTRAD

AMstrAD CpC es una de esas re-liquias de 8 bits que siempre ocu-paraacute un sitio en nuestros corazones

ODROID MAGAZINE 6

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

Ejecutandosetupsh tras resolver las dependencias

AMSTRAD

Dispones de muchos ejemplos para aprender scanlines junto a la mejor nostalgia iexclprepaacuterate para trepar

A continuacioacuten tenemos que instalar las dependencias que faltan algunas de las cuales ya pueden estar instaladas

$ sudo apt-get install -y build-essential libboost-

dev flex bison

Luego activa el script de instalacioacuten ejecutando el archivo setup

$ sudo setupsh

Se te advertiraacute de los paquetes necesarios y prepararaacute tu sistema para ejecutar el motor En un ODROID-C1 la compi-lacioacuten suele tardar unos 20 minutos

Iniciando el MotorSi navegamos por los directorios podemos ver algunas

carpetas interesantes como docs que contiene el manu-al de referencia o tools que se utiliza para hacer sprites componer bandas sonoras convertidores de formatos y mucho maacutes Algunas de estas herramientas solo estaacuten dis-ponibles para Windows

Para crear un nuevo proyecto Bash escribe lo siguiente

$ cpct_mkproject [folder_project]

Navega por el directorio y veraacute dos subdirectorios

bull src con el coacutedigo fuente (la primera vez soacutelo tenemos un mainc) puede crear archivos y directorios de tu juego aquiacute

bull cfg contiene los paraacutemetros necesarios para compilar el juego a traveacutes del archivo build_configmk

Tambieacuten hay ejemplos que puedes analizar Simplemente ve al directorio ejecuta make y se crearaacuten automaacuteticamente los archivos CDT y DSK iexclIncreible iquestno

Platform ClimberCPCtelera incluye un completo juego de ejemplo llamado

Platform Climber En primer lugar necesitas un emulador de Amstrad CPC No he encontrado ninguno que estuviese pre-compilado para ODROID asiacute que tuve que descargar y com-pilar uno por miacute mismo No te preocupes es faacutecil

iexclAmstrad BAsiC es hora de desempolvar unos cuantos manuales

ODROID MAGAZINE 7

$ wget httpbitly1U2RrjZ

$ unzip caprice

$ make -f makefileunix

RELEASE=TRUE

En un minuto conseguiraacutes un bi-nario llamado cap32 El uso es muy sencillo utilizando cualquier archivo BAS o DSK Para cargar el juego Platform Climber ejecuta el emulador seguido de la ruta del archivo DSK

$ cap32 cpctelera-11

examplesgamesplatformClimber

pclimberdsk

iexclAhora ya estaacute dentro de AM-STRAD iquestSientes la magia Escribe cat para ver los archivos del disco montado previamente Luego ejecuta el juego

cat

runrdquogame_nameextension

Observa que las comillas no se cier-ran Por ejemplo para ejecutar Plat-form Climber escribe lo siguiente

runrdquopclimberbin

ConclusioacutenAhora es tu turno Te recomiendo

que empieces a estudiar los ejemplos de exampleseasysrc luego modifiacute-calos y compiacutelalos Debajo tienes un enlace al manual de referencia con toda la informacioacuten que necesitas so-bre funciones y meacutetodos disponibles Si sabes algo de SDL todo te seraacute un poco maacutes faacutecil

iexclFeliz codificacioacuten

Maacutes Referenciashttpbitly1IPxMOf

httpbitly1IpjQvV

httpbitly1FMAkrQ

httpbitly1IILeAT

AMSTRAD KERNEL LINUX

Para hacer que la compilacioacuten del kernel Linux sea maacutes sencilla he escrito un conjunto de scripts

BASH que permiten descargar la uacuteltima versioacuten de cualquier kernel almacenado en la seccioacuten GitHub de Hardkernel compilar el coacutedigo fuente y empaquetar el kernel terminado en un paquete que pueda distribuirse Los scripts guardan el kernel original en la maacutequina de com-pilacioacuten de forma que el kernel para un dispositivo ODROID se puede compi-lar en un ODROID distinto

El paquete resultante incluye un script de instalacioacuten de un solo clic pu-ede ser compartido con otros instalarlo en cualquier ODROID compatible o antildeadirlo a un repositorio para su distri-bucioacuten viacutea apt-get Los scripts dan indi-caciones a lo largo del proceso lo cual es ideal para usuarios que no tienen ex-periencia en la compilacioacuten de kernels

Informacioacuten generalLos scripts se encuentran en http

bitly1U6kQcU y se puenden descargar usando wget desde la liacutenea de comandos o desde cu-alquier navegador web Descomprime el paquete tras navegar a la carpeta de descargas

$ wget

httpbitly1U6kQcU

$ tar -xvzf buildtgz

La carpeta ldquobuildrdquo resultante contiene los siguientes scripts

downloadsh es usado para descargar una seccioacuten concreta del repositorio de Hardkernel

buildsh se utiliza para poner en mar-cha el proceso de compilacioacuten del kernel

installsh se copia en el paquete de instalacioacuten del kernel resultante para poder instalar el kernel en cualquier dis-positivo ODROID

Script DownloadEl script ldquodownloadshrdquo se puede

utilizar para descargar cualquier moacutedu-lo disponible del repositorio GitHub de Hardkernel especificaacutendolo como primer argumento Por ejemplo para descargar la versioacuten maacutes reciente de la seccioacuten ODROID-310y navega a la carpeta ldquobuildrdquo y escribe lo siguiente

$ sh downloadsh odroidc-310y

Para obtener una lista completa de todas las secciones visita httpbit

ly1NvVQa1 y abre el menuacute desplegable ldquobranchrdquo como muestra la imagen

Tras completarse el script download los archivos ldquodownloadshrdquo y ldquoinstallshrdquo se copiaraacuten automaacuteticamente al directo-

SCRIpTS pARA EL KERnEL DE LInux RETOCA Tu SISTEMApor rob roy

El lugar donde obtener el kernel maacutes actualizado es el menuacute desplegable de la seccioacuten correspondiente dentro del repositorio GitHub de Hardkernel

ODROID MAGAZINE 8

KERNEL LINUX

rio de la seccioacuten descargada Ahora pasa-mos al siguiente paso

Script BuildUna vez descargado la seccioacuten ve al

directorio en cuestioacuten y busca el archivo en el directorio archarmconfigs cor-respondiente a la plataforma ODROID que utilizaraacute el kernel

$ cd odroidc-310y

$ ls archarmconfigsodroid

Por ejemplo si seleccionas la sec-cioacuten odroid-310y los archivos de configuracioacuten estaacuten disponibles para usarse con ODROID-Q ODROID-Q2 ODROID-X ODROID-X2 y ODROID-U2 como muestra la imagen anterior Otras secciones pueden incluir archivos de configuracioacuten para otros dis-positivos ODROID tales como el XU y XU3 Si compilas un kernel para el ODROID-U2U3 usando odroid-310y el archivo de configuracioacuten de destino deberiacutea ser odroidu2_ubuntu_mali_ def-config que es incluido como argumento principal en el script ldquobuildshrdquo Cualquier cambio en el archivo de configuracioacuten se debe hacer antes de lanzar el script build Yo prefiero editar el archivo con un edi-tor de texto pero tambieacuten se puede usar ldquomake menuconfigrdquo

El siguiente comando inicia el pro-ceso de compilacioacuten usando el archivo de configuracioacuten seleccionado Requi-ere privilegios de superusuario ya que necesita tener acceso a ciertos directorios del sistema para poder empaquetar los archivos del kernel Aseguacuterate de reem-plazar el nombre del archivo de configu-racioacuten de destino por el argumento

$ sudo sh

buildsh

odroidc_ubun-

tu_mali_def-

config

La compilacioacuten puede tardar de 10 a 30 minutos el resultado es una es-tructura de carpeta con los recursos de instalacioacuten del ker-nel Esta estructura

estaacute incluida en una subcarpeta bajo la nueva ldquoversioacutenrdquo usando el nombre del archivo de configuracioacuten El proceso de compilacioacuten no instala el kernel en lo-cal sino que crea un paquete portaacutetil que despueacutes se puede ejecutar en el disposi-tivo ODROID que elijas

Para instalar el kernel en un equipo copia la nueva estructura de directorios al ODROID Luego ve al subdirectorio que lleva el nombre del archivo de con-figuracioacuten seleccionado En este ejemplo el script de instalacioacuten se puede ejecutar escribiendo los siguientes comandos

$ cd release

odroidc_ubuntu_mali_defconfig

$ sudo sh installsh

Este proceso puede tardar de 3 a 10 minutos tras lo cual el nuevo kernel es-taraacute listo Reinicia el equipo para usar el kernel actualizado Una backup del ker-nel original se guarda tal y como se indica en el resultado del script de instalacioacuten de modo que la actualizacioacuten del kernel se puede invertir si fuera necesario

Si tiene preguntas comentarios o su-gerencias sobre los scripts por favor crea un nuevo hilo en los foros ODROID en httpforumodroidcom

Divisionesodroid-30y Q U2 U3 X X2odroid-38y U2 U3 X X2odroid-313y XUodroidx-310y C1 C1+odroidw-312y Wodroidxu3-310y XU3odroidxu-34y XUodroidxu4-v42-rc1 XU3 XU4

selecciona tus archivos de configuracioacuten para la mejor compilacioacuten

LINUX GAMINGJUEGOS ANDROID

nubSrsquo ADvEnTuREDESAfIAnTE juEGO DE pLATAfORMAS 2Dpor Bruno Doiche

Lo que no echamos en fal-ta en ODROID

Magazine son los juegos de plataformas en 2D con los que disfrutamos bastante Despueacutes de todo emulamos todo tipo de consolas de 8 y 16 bits Pero a menu-do me pongo con una distro Android en mi U3 conectado a mi lapdock en busca de una nueva experiencia Y para mi agrado me las ingenieacute para dar con Nubsrsquo Adventure un juego de platafor-mas muy ameno que me trasladoacute a in-creiacutebles mundos de la mejor versioacuten de lsquoMetroidvaniarsquo Gran disentildeo de niveles jefes desafiantes y excelentes puzles para mantenerte con ganas de jugar maacutes de lo que esperas inicialmente iexclDisfruta

httpsplaygooglecomstore

appsdetailsid=nubsadventure

ODROID MAGAZINE 9

laxia Echelon asiacute como ayudarles a pros-perar hasta que sean lo suficientemente fuertes como para defenderse de los Mi-croids y por lo tanto salvar la galaxia Esto ademaacutes te interesa no soacutelo porque no quieres que ataquen nuestra galaxia sino porque en el momento en que em-piezas en la galaxia Echelon 10000 antildeos atraacutes en el pasado la tecnologiacutea necesaria para traerte de vuelta ya no existe ya que fue creada por las cuatro especies que se supone que vas ayudas a desarrollar Asiacute que lo que tienes que hacer es volver a tu propia eacutepoca y galaxia para ayudar a desarrollar las cuatro especies hasta que sean capaces de construir las partes que faltan de tu nave y ayudarles a defen-derse de los Microids

El juego tiene aspectos muy buenos como el uso de voz a traveacutes de tu orde-nador y AI Agnis diferentes escenas de peliacutecula accioacuten de combate espacial y mucho maacutes Por lo que yo seacute este juego no es muy conocido realmente es muy inusual por su estilo uacutenico y jugabilidad Definitivamente vale la pena probarlo y sin duda deberiacuteas darle una oportunidad

Instalacioacuten y puesta en marcha

Dado que eacuteste es un juego para DOS y no estaacute hecho para Linux no puedes simplemente descargarlo y ejecutarlo Useacute DOSBox para iniciar el juego y con-figureacute algunas opciones para que fun-

Quisiera presentar algunos de mis juegos favoritos que probable-mente no todo el mundo conoz-

ca pero que son muy interesantes y di-vertidos Espero que disfruteacuteis con los que elegido y os animo a que probeacuteis y jugueacuteis a algunos de los juegos maacutes raros e inusuales de la historia de los juegos

Millennia ndash Altered Destinies

Este juego es muy singular Eres el pi-loto de un carguero en su viaje de 6 me-ses a la Tierra desde Juacutepiter Al tiempo que te das cuenta de que podriacutea ser una mala idea hablar en voz alta en tu primer diacutea de viaje eres de repente ldquosecuestra-dordquo por una especie alieniacutegena Te expli-can que estaacutes en una especie de estasis temporal y que son una especie llamada Hood Son guardianes del tiempo que necesitan tu ayuda en su eacutepoca y galaxia

Una galaxia llamada Echelon que estaacute actualmente invadida por una especie llamada Microids Esta especie es muy agresiva y la galaxia de los guardianes de tiempo estaacute a punto de ser invadida y la proacutexima seraacute ldquonuestrardquo galaxia es por eso que se supone que debemos solucionar este conflicto Te ofrecen una nueva nave espacial que no soacutelo puede viajar en el es-pacio sino tambieacuten en el tiempo y eres enviado de vuelta a 10000 antildeos atraacutes a la galaxia Echelon donde el sistema este-lar soacutelo estaacute ocupado por Microids

El objetivo es establecer las cuatro especies originales que vivieron en la ga-

juEGOSLInux LAS jOyAS DE LOS juEGOS RAROS pARTE 1por tobias schaaf

JUEGOS LINUX

cionase correctamente En primer lugar necesitas el CD o un rip del mismo aunque te aconsejo utilizar la versioacuten del CD para una mejor experiencia

Aquiacute tienes una pequentildea guiacutea de coacutemo instalar e iniciar el juego basada en mi imagen ODROID GameStation Tur-bo aunque deberiacutea funcionar con la im-agen de Ubuntu de HardKernel si tienes activadas mis listas de paquetes alltest-ing y allmain Escribe lo siguiente para instalar los requisitos para DOSBox

$ sudo apt-get install dosbox-

odroid libgl-odroid

Configurar DOSBoxInicia DOSBox para crear el archivo

de configuracioacuten por defecto luego salte de inmediato Abre homeodroiddosboxdosbox-SVNconf con un editor de texto y cambia las siguientes liacuteneas

[sdl]

fullscreen=true

fullresolution=1920x1080

output=opengl

[render]

frameskip=3

[cpu]

core=dynamic

cputype=pentium_slow

cycles=5000

Esta es la versioacuten orginal en CD-rOM de Millenia - Altered Destinies

ODROID MAGAZINE 10

lo cual te ayudaraacute a entenderlo mejorTienes que utilizar las capacidades de

tu nave para viajar en el tiempo y en el espacio y asiacute poder solucionar los pro-blemas de las cuatro especies que debes proteger y ayudarles a evolucionar ha-cia una civilizacioacuten avanzada que pueda ayudarte a salir de la galaxia asiacute como defenderse de los Microids Para ello tienes que entender y controlar tu nave para completar todas las tareas que tienes por delante

La naveDentro de tu nave puedes ver Agnis

el ordenador de la nave y IA que te ayudara en tu tarea Actuacutea de traductor cuando hablas con las diferentes espe-cies Puede darte consejos y hacer co-mentarios sobre tus acciones De hecho su ldquoyo estoy a tu servicio humanordquo fue el sonido de inicio de mi maacutequina Win-dows durante mucho tiempo

La mayoriacutea de las pantallas de la nave se asemejan Tienes un panel de nave-gacioacuten en el lado izquierdo que se pue-de controlar pulsando y manteniendo el botoacuten derecho del ratoacuten y movieacutendote sobre los diferentes botones Un clic con el botoacuten izquierdo selecciona el sistema que quieres visitar una especie de ascen-sor que llega a tu cabina te lleva a la es-tacioacuten seleccionada A la derecha tienes los botones de accioacuten de su estacioacuten ac-tual Simplemente mueve el ratoacuten hacia el botoacuten deseado y pulsa el botoacuten izqui-erdo del ratoacuten para activar la accioacuten

En la vista principal puedes ver in-formacioacuten sobre el planeta actual que estaacute visitando El nombre del planeta y el

JUEGOS LINUX

antildeo se muestra sobre la cruz del escaacutener En el lado derecho puedes encontrar in-formacioacuten sobre el planeta y sus habitan-tes Aquiacute podemos ver la especie (Rap-toids) su calificacioacuten IQ actual (80) y un siacutembolo del evento actual (war) En la parte superior de la pantalla vemos de nuevo un pequentildeo panel de informacioacuten con el nombre del planeta la especie y un reloj El antildeo 1600 es el siglo actual y el siacutembolo 11713 es en realidad un reloj del tiempo de juego que tiene un for-mato muy extrantildeo Cuenta en segundos pero llega a 100 antes de que el nuacutemero anterior a los decimales cambie

La vista principal soacutelo permite iniciar un viaje al siguiente siglo o a un lugar diferente en la galaxia Soacutelo puedes ini-ciar los motores desde esta pantalla Otra cosa que soacutelo puedes hacer desde la pan-talla principal es el combate espacial De vez en cuando tienes que defenderte y defender a los habitantes del planeta frente a los enemigos invasores Dado que este juego gira en torno al tiempo esto en alguacuten momento puede llegar a ser algo confuso ya que en realidad po-driacuteas terminar luchando contra tu otro yo en una liacutenea temporal diferente pero tambieacuten podriacuteas luchar contra Microids que tratan de invadir el espacio donde se asienta tu raza Los Hoods a menudo tratan de atacar la raza que creaste desde una liacutenea de tiempo diferente y una de las otras razas incluso podriacutea tratar de invadir el planeta mientras trata de ex-pandir su territorio Por eso tu nave estaacute equipada con algunas armas e incluso se puede modificar con algunos de los in-ventos que obtienes a partir de las razas que has creado

vista principal de tu nave espacial des-de donde comienzas tu trabajo

figura 2 - Luchando contra tu otro yo en Milenios

cycleup=200

cycledown=200

En primer lugar he creado una car-peta donde quiero colocar mis juegos

$ mkdir DOS

Tambieacuten he copiado la ISO que he creado desde mi juego Millennia ndash Al-tered Destinies y la coloqueacute en una carpeta llamada CDs en mi ODROID Para facilitar las cosas he antildeadido las siguientes liacuteneas al final del archivo de configuracioacuten de DOSBox asiacute no necesito escribirlas cada vez que quiera ejecutar el juego

[autoexec]

mount c homeodroidDOS

c

imgmount d homeodroidCDs

Miliso -t iso

Ahora el sistema estaacute preparado para lanzar el emulador La carpeta DOS se monta automaacuteticamente como mi uni-dad C y el CD seraacute montado como D como una unidad de CD-ROM In-stala el juego como siempre bajo DOS e iniciarlo La introduccioacuten puede ser un poco lenta pero en general con los ajustes mencionados deberiacuteas ser capaz de ejecutar el juego a toda velocidad

Para ejecutar el juego lanza DOS-Box de nuevo con el siguiente comando para que DOSbox utilice glshim (libglo-droid) y asiacute poder activar la aceleracioacuten OpenGL

$ LD_LIBRARY_PATH=usrlocallib

dosbox

Los inicios del juegoTras la introduccioacuten te encontraraacutes

en una galaxia muy muy lejana (te suena familiar iquestno) El juego no viene con un tutorial lo que significa que tendraacutes mucha accioacuten sin saber lo que debes o puedes hacer Por eso voy a intentar ex-plicarte las cuestiones baacutesicas del juego

ODROID MAGAZINE 11

gran plan Sabe que puedes alterar los acontecimientos en el tiempo y es por ello que puede ver lo que sucederaacute en el futuro Auacuten asiacute el Agent es parte de la raza que estaacutes desarrollando y tendraacute creencias y necesidades similares lo que los hace a veces difiacutecil de tratar y cada uno requiere de una forma de persuasioacuten distinta

Si haces clic en el botoacuten que mira ha-cia el oeste en la barra de navegacioacuten su-perior te llevaraacute al centro de comunica-ciones Aquiacute puedes ponerse en contacto con tus agentes e intentar solventar sus problemas Agnis te ayudaraacute a traducir lo que tus agentes te esteacuten diciendo Pue-des ver las pequentildeas peliacuteculas de viacutedeo de los agentes cuando hablan contigo haciendo que parezca una transmisioacuten de viacutedeo Con la ayuda de Agnis inten-tas resolver sus problemas Esto incluye temas como la poliacutetica donde tienes que elegir quieacuten debe ser el liacuteder de una raza planificar asesinatos de liacutederes rebeldes con el fin de evitar levantamientos o de-cidir si ayudas a los rebeldes con el fin de matar a un emperador tirano

Por otro lado tambieacuten tienes que dar consejos sobre coacutemo protegerse ante un duro invierno coacutemo evitar que to-men decisiones equivocadas que lue-go puedan conducirles a cataacutestrofes o

antildeos atraacutes en el pasado soacutelo existe un planeta habitado con Microids ninguacuten otro con otra especie Tienes que elegir un planeta en el que quieres desarrollar las cuatro razas diferentes Cada una re-quiere de un haacutebitat distinto

Desde aquiacute puedes fijar una ruta a traveacutes del espacio y el tiempo con el fin de ayudar a las especies en su desar-rollo Sugerencia Viajar en el tiempo y el espacio consume combustible y soacutelo pue-des recargar combustible en los gi-

gantes gaseosos Por lo que es buena idea que crees tu raza en un planeta que se encuentre cerca de un gigante gaseoso Hay un botoacuten que activa o desactiva los planetas que no tienen gigantes gaseosos

En la esquina inferior derecha de esta pantalla puedes ver el botoacuten del histo-grama tu mejor amigo En el histograma ves todos los eventos que tienen lugar y cada paso representa 100 antildeos de desar-rollo Los nuevos inventos estaacuten marca-dos con un borde verde los bordes rojos indica crisis

Aquiacute es donde el juego se complica Tienes que ayudar a la raza a pasar las crisis o incluso prevenir que las crisis lleguen a producirse A menudo hay diferentes soluciones a un problema con diferentes resultados y aquiacute es donde el juego tambieacuten se vuelve interesante

Tienes diferentes formas de interac-cioacuten para desarrollar una raza y la forma maacutes comuacuten es la de comunicarte con un representante de la especie Este repre-sentante es conocido como Agent que es un ser modificado de las especies que ayudas Soacutelo eacutel sabe de tu existencia y del

Para luchar contra los enemigos manteacuten pulsado el botoacuten derecho del ratoacuten y mueacutevelo en la direccioacuten que desees Un pequentildeo punto rojo indica la ubicacioacuten del enemigo maacutes cercano Pulsa el botoacuten izquierdo para disparar a tu enemigo

La lucha contra tu otro yo es bas-tante faacutecil y normalmente escapas tras un par de golpes El combate contra los otros enemigos es algo maacutes difiacutecil ya que a menudo son maacutes numerosos y mien-tras luchas contra uno otro puede venir por detraacutes y atacarte El panel de infor-macioacuten de color rojo en la parte superior se convierte en un ldquoespejo retrovisorrdquo que muestra los enemigos que te atacan por detraacutes Ademaacutes tu nave puede da-ntildearse y si la averiacutea es demasiado grande huiraacutes automaacuteticamente de la escena y te dirigiraacutes al centro del universo al uacutenico planeta donde no se puede crear ninguna especie Asiacute que en realidad nunca pu-edes morir

A la vista principal se puede llegar a traveacutes del botoacuten que apunta hacia el norte en la parte superior izquierda de la barra de navegacioacuten La navegacioacuten es probablemente el sistema maacutes impor-tante que tienes Si hace clic en el botoacuten

que mira hacia el este en el panel de navegacioacuten superior se puedes ir al mapa de la galaxia y al sistema de navegacioacuten

En el sistema de navegacioacuten recopi-las toda la informacioacuten que necesitas para planificar tu proacuteximo paso El mapa de galaxia te muestra lo que se ve en la galaxia y coacutemo se distribuyen las diferen-tes especies Puesto que empiezas 10000

Mapa de la galaxia del sistema de nave-gacioacuten no soacutelo para moverte en el espacio sino tambieacuten para viajar en el tiempo

El histograma que muestra todos los even-tos importantes del desarrollo de las razas es una herramienta muy importante

Dos de las diferentes especies con las que tienes que lidiar en el juego los in-sectos Entomon y los reptiles reptoides

JUEGOS LINUX

ODROID MAGAZINE 12

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 7: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

DESARROLLAR vIDEOjuEGOS pARA AMSTRAD CpCDISfRuTA DE ESTE pEQuENtildeO vIAjE AL pASADOpor Jose Cerrejon

Ejecutandosetupsh tras resolver las dependencias

AMSTRAD

Dispones de muchos ejemplos para aprender scanlines junto a la mejor nostalgia iexclprepaacuterate para trepar

A continuacioacuten tenemos que instalar las dependencias que faltan algunas de las cuales ya pueden estar instaladas

$ sudo apt-get install -y build-essential libboost-

dev flex bison

Luego activa el script de instalacioacuten ejecutando el archivo setup

$ sudo setupsh

Se te advertiraacute de los paquetes necesarios y prepararaacute tu sistema para ejecutar el motor En un ODROID-C1 la compi-lacioacuten suele tardar unos 20 minutos

Iniciando el MotorSi navegamos por los directorios podemos ver algunas

carpetas interesantes como docs que contiene el manu-al de referencia o tools que se utiliza para hacer sprites componer bandas sonoras convertidores de formatos y mucho maacutes Algunas de estas herramientas solo estaacuten dis-ponibles para Windows

Para crear un nuevo proyecto Bash escribe lo siguiente

$ cpct_mkproject [folder_project]

Navega por el directorio y veraacute dos subdirectorios

bull src con el coacutedigo fuente (la primera vez soacutelo tenemos un mainc) puede crear archivos y directorios de tu juego aquiacute

bull cfg contiene los paraacutemetros necesarios para compilar el juego a traveacutes del archivo build_configmk

Tambieacuten hay ejemplos que puedes analizar Simplemente ve al directorio ejecuta make y se crearaacuten automaacuteticamente los archivos CDT y DSK iexclIncreible iquestno

Platform ClimberCPCtelera incluye un completo juego de ejemplo llamado

Platform Climber En primer lugar necesitas un emulador de Amstrad CPC No he encontrado ninguno que estuviese pre-compilado para ODROID asiacute que tuve que descargar y com-pilar uno por miacute mismo No te preocupes es faacutecil

iexclAmstrad BAsiC es hora de desempolvar unos cuantos manuales

ODROID MAGAZINE 7

$ wget httpbitly1U2RrjZ

$ unzip caprice

$ make -f makefileunix

RELEASE=TRUE

En un minuto conseguiraacutes un bi-nario llamado cap32 El uso es muy sencillo utilizando cualquier archivo BAS o DSK Para cargar el juego Platform Climber ejecuta el emulador seguido de la ruta del archivo DSK

$ cap32 cpctelera-11

examplesgamesplatformClimber

pclimberdsk

iexclAhora ya estaacute dentro de AM-STRAD iquestSientes la magia Escribe cat para ver los archivos del disco montado previamente Luego ejecuta el juego

cat

runrdquogame_nameextension

Observa que las comillas no se cier-ran Por ejemplo para ejecutar Plat-form Climber escribe lo siguiente

runrdquopclimberbin

ConclusioacutenAhora es tu turno Te recomiendo

que empieces a estudiar los ejemplos de exampleseasysrc luego modifiacute-calos y compiacutelalos Debajo tienes un enlace al manual de referencia con toda la informacioacuten que necesitas so-bre funciones y meacutetodos disponibles Si sabes algo de SDL todo te seraacute un poco maacutes faacutecil

iexclFeliz codificacioacuten

Maacutes Referenciashttpbitly1IPxMOf

httpbitly1IpjQvV

httpbitly1FMAkrQ

httpbitly1IILeAT

AMSTRAD KERNEL LINUX

Para hacer que la compilacioacuten del kernel Linux sea maacutes sencilla he escrito un conjunto de scripts

BASH que permiten descargar la uacuteltima versioacuten de cualquier kernel almacenado en la seccioacuten GitHub de Hardkernel compilar el coacutedigo fuente y empaquetar el kernel terminado en un paquete que pueda distribuirse Los scripts guardan el kernel original en la maacutequina de com-pilacioacuten de forma que el kernel para un dispositivo ODROID se puede compi-lar en un ODROID distinto

El paquete resultante incluye un script de instalacioacuten de un solo clic pu-ede ser compartido con otros instalarlo en cualquier ODROID compatible o antildeadirlo a un repositorio para su distri-bucioacuten viacutea apt-get Los scripts dan indi-caciones a lo largo del proceso lo cual es ideal para usuarios que no tienen ex-periencia en la compilacioacuten de kernels

Informacioacuten generalLos scripts se encuentran en http

bitly1U6kQcU y se puenden descargar usando wget desde la liacutenea de comandos o desde cu-alquier navegador web Descomprime el paquete tras navegar a la carpeta de descargas

$ wget

httpbitly1U6kQcU

$ tar -xvzf buildtgz

La carpeta ldquobuildrdquo resultante contiene los siguientes scripts

downloadsh es usado para descargar una seccioacuten concreta del repositorio de Hardkernel

buildsh se utiliza para poner en mar-cha el proceso de compilacioacuten del kernel

installsh se copia en el paquete de instalacioacuten del kernel resultante para poder instalar el kernel en cualquier dis-positivo ODROID

Script DownloadEl script ldquodownloadshrdquo se puede

utilizar para descargar cualquier moacutedu-lo disponible del repositorio GitHub de Hardkernel especificaacutendolo como primer argumento Por ejemplo para descargar la versioacuten maacutes reciente de la seccioacuten ODROID-310y navega a la carpeta ldquobuildrdquo y escribe lo siguiente

$ sh downloadsh odroidc-310y

Para obtener una lista completa de todas las secciones visita httpbit

ly1NvVQa1 y abre el menuacute desplegable ldquobranchrdquo como muestra la imagen

Tras completarse el script download los archivos ldquodownloadshrdquo y ldquoinstallshrdquo se copiaraacuten automaacuteticamente al directo-

SCRIpTS pARA EL KERnEL DE LInux RETOCA Tu SISTEMApor rob roy

El lugar donde obtener el kernel maacutes actualizado es el menuacute desplegable de la seccioacuten correspondiente dentro del repositorio GitHub de Hardkernel

ODROID MAGAZINE 8

KERNEL LINUX

rio de la seccioacuten descargada Ahora pasa-mos al siguiente paso

Script BuildUna vez descargado la seccioacuten ve al

directorio en cuestioacuten y busca el archivo en el directorio archarmconfigs cor-respondiente a la plataforma ODROID que utilizaraacute el kernel

$ cd odroidc-310y

$ ls archarmconfigsodroid

Por ejemplo si seleccionas la sec-cioacuten odroid-310y los archivos de configuracioacuten estaacuten disponibles para usarse con ODROID-Q ODROID-Q2 ODROID-X ODROID-X2 y ODROID-U2 como muestra la imagen anterior Otras secciones pueden incluir archivos de configuracioacuten para otros dis-positivos ODROID tales como el XU y XU3 Si compilas un kernel para el ODROID-U2U3 usando odroid-310y el archivo de configuracioacuten de destino deberiacutea ser odroidu2_ubuntu_mali_ def-config que es incluido como argumento principal en el script ldquobuildshrdquo Cualquier cambio en el archivo de configuracioacuten se debe hacer antes de lanzar el script build Yo prefiero editar el archivo con un edi-tor de texto pero tambieacuten se puede usar ldquomake menuconfigrdquo

El siguiente comando inicia el pro-ceso de compilacioacuten usando el archivo de configuracioacuten seleccionado Requi-ere privilegios de superusuario ya que necesita tener acceso a ciertos directorios del sistema para poder empaquetar los archivos del kernel Aseguacuterate de reem-plazar el nombre del archivo de configu-racioacuten de destino por el argumento

$ sudo sh

buildsh

odroidc_ubun-

tu_mali_def-

config

La compilacioacuten puede tardar de 10 a 30 minutos el resultado es una es-tructura de carpeta con los recursos de instalacioacuten del ker-nel Esta estructura

estaacute incluida en una subcarpeta bajo la nueva ldquoversioacutenrdquo usando el nombre del archivo de configuracioacuten El proceso de compilacioacuten no instala el kernel en lo-cal sino que crea un paquete portaacutetil que despueacutes se puede ejecutar en el disposi-tivo ODROID que elijas

Para instalar el kernel en un equipo copia la nueva estructura de directorios al ODROID Luego ve al subdirectorio que lleva el nombre del archivo de con-figuracioacuten seleccionado En este ejemplo el script de instalacioacuten se puede ejecutar escribiendo los siguientes comandos

$ cd release

odroidc_ubuntu_mali_defconfig

$ sudo sh installsh

Este proceso puede tardar de 3 a 10 minutos tras lo cual el nuevo kernel es-taraacute listo Reinicia el equipo para usar el kernel actualizado Una backup del ker-nel original se guarda tal y como se indica en el resultado del script de instalacioacuten de modo que la actualizacioacuten del kernel se puede invertir si fuera necesario

Si tiene preguntas comentarios o su-gerencias sobre los scripts por favor crea un nuevo hilo en los foros ODROID en httpforumodroidcom

Divisionesodroid-30y Q U2 U3 X X2odroid-38y U2 U3 X X2odroid-313y XUodroidx-310y C1 C1+odroidw-312y Wodroidxu3-310y XU3odroidxu-34y XUodroidxu4-v42-rc1 XU3 XU4

selecciona tus archivos de configuracioacuten para la mejor compilacioacuten

LINUX GAMINGJUEGOS ANDROID

nubSrsquo ADvEnTuREDESAfIAnTE juEGO DE pLATAfORMAS 2Dpor Bruno Doiche

Lo que no echamos en fal-ta en ODROID

Magazine son los juegos de plataformas en 2D con los que disfrutamos bastante Despueacutes de todo emulamos todo tipo de consolas de 8 y 16 bits Pero a menu-do me pongo con una distro Android en mi U3 conectado a mi lapdock en busca de una nueva experiencia Y para mi agrado me las ingenieacute para dar con Nubsrsquo Adventure un juego de platafor-mas muy ameno que me trasladoacute a in-creiacutebles mundos de la mejor versioacuten de lsquoMetroidvaniarsquo Gran disentildeo de niveles jefes desafiantes y excelentes puzles para mantenerte con ganas de jugar maacutes de lo que esperas inicialmente iexclDisfruta

httpsplaygooglecomstore

appsdetailsid=nubsadventure

ODROID MAGAZINE 9

laxia Echelon asiacute como ayudarles a pros-perar hasta que sean lo suficientemente fuertes como para defenderse de los Mi-croids y por lo tanto salvar la galaxia Esto ademaacutes te interesa no soacutelo porque no quieres que ataquen nuestra galaxia sino porque en el momento en que em-piezas en la galaxia Echelon 10000 antildeos atraacutes en el pasado la tecnologiacutea necesaria para traerte de vuelta ya no existe ya que fue creada por las cuatro especies que se supone que vas ayudas a desarrollar Asiacute que lo que tienes que hacer es volver a tu propia eacutepoca y galaxia para ayudar a desarrollar las cuatro especies hasta que sean capaces de construir las partes que faltan de tu nave y ayudarles a defen-derse de los Microids

El juego tiene aspectos muy buenos como el uso de voz a traveacutes de tu orde-nador y AI Agnis diferentes escenas de peliacutecula accioacuten de combate espacial y mucho maacutes Por lo que yo seacute este juego no es muy conocido realmente es muy inusual por su estilo uacutenico y jugabilidad Definitivamente vale la pena probarlo y sin duda deberiacuteas darle una oportunidad

Instalacioacuten y puesta en marcha

Dado que eacuteste es un juego para DOS y no estaacute hecho para Linux no puedes simplemente descargarlo y ejecutarlo Useacute DOSBox para iniciar el juego y con-figureacute algunas opciones para que fun-

Quisiera presentar algunos de mis juegos favoritos que probable-mente no todo el mundo conoz-

ca pero que son muy interesantes y di-vertidos Espero que disfruteacuteis con los que elegido y os animo a que probeacuteis y jugueacuteis a algunos de los juegos maacutes raros e inusuales de la historia de los juegos

Millennia ndash Altered Destinies

Este juego es muy singular Eres el pi-loto de un carguero en su viaje de 6 me-ses a la Tierra desde Juacutepiter Al tiempo que te das cuenta de que podriacutea ser una mala idea hablar en voz alta en tu primer diacutea de viaje eres de repente ldquosecuestra-dordquo por una especie alieniacutegena Te expli-can que estaacutes en una especie de estasis temporal y que son una especie llamada Hood Son guardianes del tiempo que necesitan tu ayuda en su eacutepoca y galaxia

Una galaxia llamada Echelon que estaacute actualmente invadida por una especie llamada Microids Esta especie es muy agresiva y la galaxia de los guardianes de tiempo estaacute a punto de ser invadida y la proacutexima seraacute ldquonuestrardquo galaxia es por eso que se supone que debemos solucionar este conflicto Te ofrecen una nueva nave espacial que no soacutelo puede viajar en el es-pacio sino tambieacuten en el tiempo y eres enviado de vuelta a 10000 antildeos atraacutes a la galaxia Echelon donde el sistema este-lar soacutelo estaacute ocupado por Microids

El objetivo es establecer las cuatro especies originales que vivieron en la ga-

juEGOSLInux LAS jOyAS DE LOS juEGOS RAROS pARTE 1por tobias schaaf

JUEGOS LINUX

cionase correctamente En primer lugar necesitas el CD o un rip del mismo aunque te aconsejo utilizar la versioacuten del CD para una mejor experiencia

Aquiacute tienes una pequentildea guiacutea de coacutemo instalar e iniciar el juego basada en mi imagen ODROID GameStation Tur-bo aunque deberiacutea funcionar con la im-agen de Ubuntu de HardKernel si tienes activadas mis listas de paquetes alltest-ing y allmain Escribe lo siguiente para instalar los requisitos para DOSBox

$ sudo apt-get install dosbox-

odroid libgl-odroid

Configurar DOSBoxInicia DOSBox para crear el archivo

de configuracioacuten por defecto luego salte de inmediato Abre homeodroiddosboxdosbox-SVNconf con un editor de texto y cambia las siguientes liacuteneas

[sdl]

fullscreen=true

fullresolution=1920x1080

output=opengl

[render]

frameskip=3

[cpu]

core=dynamic

cputype=pentium_slow

cycles=5000

Esta es la versioacuten orginal en CD-rOM de Millenia - Altered Destinies

ODROID MAGAZINE 10

lo cual te ayudaraacute a entenderlo mejorTienes que utilizar las capacidades de

tu nave para viajar en el tiempo y en el espacio y asiacute poder solucionar los pro-blemas de las cuatro especies que debes proteger y ayudarles a evolucionar ha-cia una civilizacioacuten avanzada que pueda ayudarte a salir de la galaxia asiacute como defenderse de los Microids Para ello tienes que entender y controlar tu nave para completar todas las tareas que tienes por delante

La naveDentro de tu nave puedes ver Agnis

el ordenador de la nave y IA que te ayudara en tu tarea Actuacutea de traductor cuando hablas con las diferentes espe-cies Puede darte consejos y hacer co-mentarios sobre tus acciones De hecho su ldquoyo estoy a tu servicio humanordquo fue el sonido de inicio de mi maacutequina Win-dows durante mucho tiempo

La mayoriacutea de las pantallas de la nave se asemejan Tienes un panel de nave-gacioacuten en el lado izquierdo que se pue-de controlar pulsando y manteniendo el botoacuten derecho del ratoacuten y movieacutendote sobre los diferentes botones Un clic con el botoacuten izquierdo selecciona el sistema que quieres visitar una especie de ascen-sor que llega a tu cabina te lleva a la es-tacioacuten seleccionada A la derecha tienes los botones de accioacuten de su estacioacuten ac-tual Simplemente mueve el ratoacuten hacia el botoacuten deseado y pulsa el botoacuten izqui-erdo del ratoacuten para activar la accioacuten

En la vista principal puedes ver in-formacioacuten sobre el planeta actual que estaacute visitando El nombre del planeta y el

JUEGOS LINUX

antildeo se muestra sobre la cruz del escaacutener En el lado derecho puedes encontrar in-formacioacuten sobre el planeta y sus habitan-tes Aquiacute podemos ver la especie (Rap-toids) su calificacioacuten IQ actual (80) y un siacutembolo del evento actual (war) En la parte superior de la pantalla vemos de nuevo un pequentildeo panel de informacioacuten con el nombre del planeta la especie y un reloj El antildeo 1600 es el siglo actual y el siacutembolo 11713 es en realidad un reloj del tiempo de juego que tiene un for-mato muy extrantildeo Cuenta en segundos pero llega a 100 antes de que el nuacutemero anterior a los decimales cambie

La vista principal soacutelo permite iniciar un viaje al siguiente siglo o a un lugar diferente en la galaxia Soacutelo puedes ini-ciar los motores desde esta pantalla Otra cosa que soacutelo puedes hacer desde la pan-talla principal es el combate espacial De vez en cuando tienes que defenderte y defender a los habitantes del planeta frente a los enemigos invasores Dado que este juego gira en torno al tiempo esto en alguacuten momento puede llegar a ser algo confuso ya que en realidad po-driacuteas terminar luchando contra tu otro yo en una liacutenea temporal diferente pero tambieacuten podriacuteas luchar contra Microids que tratan de invadir el espacio donde se asienta tu raza Los Hoods a menudo tratan de atacar la raza que creaste desde una liacutenea de tiempo diferente y una de las otras razas incluso podriacutea tratar de invadir el planeta mientras trata de ex-pandir su territorio Por eso tu nave estaacute equipada con algunas armas e incluso se puede modificar con algunos de los in-ventos que obtienes a partir de las razas que has creado

vista principal de tu nave espacial des-de donde comienzas tu trabajo

figura 2 - Luchando contra tu otro yo en Milenios

cycleup=200

cycledown=200

En primer lugar he creado una car-peta donde quiero colocar mis juegos

$ mkdir DOS

Tambieacuten he copiado la ISO que he creado desde mi juego Millennia ndash Al-tered Destinies y la coloqueacute en una carpeta llamada CDs en mi ODROID Para facilitar las cosas he antildeadido las siguientes liacuteneas al final del archivo de configuracioacuten de DOSBox asiacute no necesito escribirlas cada vez que quiera ejecutar el juego

[autoexec]

mount c homeodroidDOS

c

imgmount d homeodroidCDs

Miliso -t iso

Ahora el sistema estaacute preparado para lanzar el emulador La carpeta DOS se monta automaacuteticamente como mi uni-dad C y el CD seraacute montado como D como una unidad de CD-ROM In-stala el juego como siempre bajo DOS e iniciarlo La introduccioacuten puede ser un poco lenta pero en general con los ajustes mencionados deberiacuteas ser capaz de ejecutar el juego a toda velocidad

Para ejecutar el juego lanza DOS-Box de nuevo con el siguiente comando para que DOSbox utilice glshim (libglo-droid) y asiacute poder activar la aceleracioacuten OpenGL

$ LD_LIBRARY_PATH=usrlocallib

dosbox

Los inicios del juegoTras la introduccioacuten te encontraraacutes

en una galaxia muy muy lejana (te suena familiar iquestno) El juego no viene con un tutorial lo que significa que tendraacutes mucha accioacuten sin saber lo que debes o puedes hacer Por eso voy a intentar ex-plicarte las cuestiones baacutesicas del juego

ODROID MAGAZINE 11

gran plan Sabe que puedes alterar los acontecimientos en el tiempo y es por ello que puede ver lo que sucederaacute en el futuro Auacuten asiacute el Agent es parte de la raza que estaacutes desarrollando y tendraacute creencias y necesidades similares lo que los hace a veces difiacutecil de tratar y cada uno requiere de una forma de persuasioacuten distinta

Si haces clic en el botoacuten que mira ha-cia el oeste en la barra de navegacioacuten su-perior te llevaraacute al centro de comunica-ciones Aquiacute puedes ponerse en contacto con tus agentes e intentar solventar sus problemas Agnis te ayudaraacute a traducir lo que tus agentes te esteacuten diciendo Pue-des ver las pequentildeas peliacuteculas de viacutedeo de los agentes cuando hablan contigo haciendo que parezca una transmisioacuten de viacutedeo Con la ayuda de Agnis inten-tas resolver sus problemas Esto incluye temas como la poliacutetica donde tienes que elegir quieacuten debe ser el liacuteder de una raza planificar asesinatos de liacutederes rebeldes con el fin de evitar levantamientos o de-cidir si ayudas a los rebeldes con el fin de matar a un emperador tirano

Por otro lado tambieacuten tienes que dar consejos sobre coacutemo protegerse ante un duro invierno coacutemo evitar que to-men decisiones equivocadas que lue-go puedan conducirles a cataacutestrofes o

antildeos atraacutes en el pasado soacutelo existe un planeta habitado con Microids ninguacuten otro con otra especie Tienes que elegir un planeta en el que quieres desarrollar las cuatro razas diferentes Cada una re-quiere de un haacutebitat distinto

Desde aquiacute puedes fijar una ruta a traveacutes del espacio y el tiempo con el fin de ayudar a las especies en su desar-rollo Sugerencia Viajar en el tiempo y el espacio consume combustible y soacutelo pue-des recargar combustible en los gi-

gantes gaseosos Por lo que es buena idea que crees tu raza en un planeta que se encuentre cerca de un gigante gaseoso Hay un botoacuten que activa o desactiva los planetas que no tienen gigantes gaseosos

En la esquina inferior derecha de esta pantalla puedes ver el botoacuten del histo-grama tu mejor amigo En el histograma ves todos los eventos que tienen lugar y cada paso representa 100 antildeos de desar-rollo Los nuevos inventos estaacuten marca-dos con un borde verde los bordes rojos indica crisis

Aquiacute es donde el juego se complica Tienes que ayudar a la raza a pasar las crisis o incluso prevenir que las crisis lleguen a producirse A menudo hay diferentes soluciones a un problema con diferentes resultados y aquiacute es donde el juego tambieacuten se vuelve interesante

Tienes diferentes formas de interac-cioacuten para desarrollar una raza y la forma maacutes comuacuten es la de comunicarte con un representante de la especie Este repre-sentante es conocido como Agent que es un ser modificado de las especies que ayudas Soacutelo eacutel sabe de tu existencia y del

Para luchar contra los enemigos manteacuten pulsado el botoacuten derecho del ratoacuten y mueacutevelo en la direccioacuten que desees Un pequentildeo punto rojo indica la ubicacioacuten del enemigo maacutes cercano Pulsa el botoacuten izquierdo para disparar a tu enemigo

La lucha contra tu otro yo es bas-tante faacutecil y normalmente escapas tras un par de golpes El combate contra los otros enemigos es algo maacutes difiacutecil ya que a menudo son maacutes numerosos y mien-tras luchas contra uno otro puede venir por detraacutes y atacarte El panel de infor-macioacuten de color rojo en la parte superior se convierte en un ldquoespejo retrovisorrdquo que muestra los enemigos que te atacan por detraacutes Ademaacutes tu nave puede da-ntildearse y si la averiacutea es demasiado grande huiraacutes automaacuteticamente de la escena y te dirigiraacutes al centro del universo al uacutenico planeta donde no se puede crear ninguna especie Asiacute que en realidad nunca pu-edes morir

A la vista principal se puede llegar a traveacutes del botoacuten que apunta hacia el norte en la parte superior izquierda de la barra de navegacioacuten La navegacioacuten es probablemente el sistema maacutes impor-tante que tienes Si hace clic en el botoacuten

que mira hacia el este en el panel de navegacioacuten superior se puedes ir al mapa de la galaxia y al sistema de navegacioacuten

En el sistema de navegacioacuten recopi-las toda la informacioacuten que necesitas para planificar tu proacuteximo paso El mapa de galaxia te muestra lo que se ve en la galaxia y coacutemo se distribuyen las diferen-tes especies Puesto que empiezas 10000

Mapa de la galaxia del sistema de nave-gacioacuten no soacutelo para moverte en el espacio sino tambieacuten para viajar en el tiempo

El histograma que muestra todos los even-tos importantes del desarrollo de las razas es una herramienta muy importante

Dos de las diferentes especies con las que tienes que lidiar en el juego los in-sectos Entomon y los reptiles reptoides

JUEGOS LINUX

ODROID MAGAZINE 12

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 8: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

$ wget httpbitly1U2RrjZ

$ unzip caprice

$ make -f makefileunix

RELEASE=TRUE

En un minuto conseguiraacutes un bi-nario llamado cap32 El uso es muy sencillo utilizando cualquier archivo BAS o DSK Para cargar el juego Platform Climber ejecuta el emulador seguido de la ruta del archivo DSK

$ cap32 cpctelera-11

examplesgamesplatformClimber

pclimberdsk

iexclAhora ya estaacute dentro de AM-STRAD iquestSientes la magia Escribe cat para ver los archivos del disco montado previamente Luego ejecuta el juego

cat

runrdquogame_nameextension

Observa que las comillas no se cier-ran Por ejemplo para ejecutar Plat-form Climber escribe lo siguiente

runrdquopclimberbin

ConclusioacutenAhora es tu turno Te recomiendo

que empieces a estudiar los ejemplos de exampleseasysrc luego modifiacute-calos y compiacutelalos Debajo tienes un enlace al manual de referencia con toda la informacioacuten que necesitas so-bre funciones y meacutetodos disponibles Si sabes algo de SDL todo te seraacute un poco maacutes faacutecil

iexclFeliz codificacioacuten

Maacutes Referenciashttpbitly1IPxMOf

httpbitly1IpjQvV

httpbitly1FMAkrQ

httpbitly1IILeAT

AMSTRAD KERNEL LINUX

Para hacer que la compilacioacuten del kernel Linux sea maacutes sencilla he escrito un conjunto de scripts

BASH que permiten descargar la uacuteltima versioacuten de cualquier kernel almacenado en la seccioacuten GitHub de Hardkernel compilar el coacutedigo fuente y empaquetar el kernel terminado en un paquete que pueda distribuirse Los scripts guardan el kernel original en la maacutequina de com-pilacioacuten de forma que el kernel para un dispositivo ODROID se puede compi-lar en un ODROID distinto

El paquete resultante incluye un script de instalacioacuten de un solo clic pu-ede ser compartido con otros instalarlo en cualquier ODROID compatible o antildeadirlo a un repositorio para su distri-bucioacuten viacutea apt-get Los scripts dan indi-caciones a lo largo del proceso lo cual es ideal para usuarios que no tienen ex-periencia en la compilacioacuten de kernels

Informacioacuten generalLos scripts se encuentran en http

bitly1U6kQcU y se puenden descargar usando wget desde la liacutenea de comandos o desde cu-alquier navegador web Descomprime el paquete tras navegar a la carpeta de descargas

$ wget

httpbitly1U6kQcU

$ tar -xvzf buildtgz

La carpeta ldquobuildrdquo resultante contiene los siguientes scripts

downloadsh es usado para descargar una seccioacuten concreta del repositorio de Hardkernel

buildsh se utiliza para poner en mar-cha el proceso de compilacioacuten del kernel

installsh se copia en el paquete de instalacioacuten del kernel resultante para poder instalar el kernel en cualquier dis-positivo ODROID

Script DownloadEl script ldquodownloadshrdquo se puede

utilizar para descargar cualquier moacutedu-lo disponible del repositorio GitHub de Hardkernel especificaacutendolo como primer argumento Por ejemplo para descargar la versioacuten maacutes reciente de la seccioacuten ODROID-310y navega a la carpeta ldquobuildrdquo y escribe lo siguiente

$ sh downloadsh odroidc-310y

Para obtener una lista completa de todas las secciones visita httpbit

ly1NvVQa1 y abre el menuacute desplegable ldquobranchrdquo como muestra la imagen

Tras completarse el script download los archivos ldquodownloadshrdquo y ldquoinstallshrdquo se copiaraacuten automaacuteticamente al directo-

SCRIpTS pARA EL KERnEL DE LInux RETOCA Tu SISTEMApor rob roy

El lugar donde obtener el kernel maacutes actualizado es el menuacute desplegable de la seccioacuten correspondiente dentro del repositorio GitHub de Hardkernel

ODROID MAGAZINE 8

KERNEL LINUX

rio de la seccioacuten descargada Ahora pasa-mos al siguiente paso

Script BuildUna vez descargado la seccioacuten ve al

directorio en cuestioacuten y busca el archivo en el directorio archarmconfigs cor-respondiente a la plataforma ODROID que utilizaraacute el kernel

$ cd odroidc-310y

$ ls archarmconfigsodroid

Por ejemplo si seleccionas la sec-cioacuten odroid-310y los archivos de configuracioacuten estaacuten disponibles para usarse con ODROID-Q ODROID-Q2 ODROID-X ODROID-X2 y ODROID-U2 como muestra la imagen anterior Otras secciones pueden incluir archivos de configuracioacuten para otros dis-positivos ODROID tales como el XU y XU3 Si compilas un kernel para el ODROID-U2U3 usando odroid-310y el archivo de configuracioacuten de destino deberiacutea ser odroidu2_ubuntu_mali_ def-config que es incluido como argumento principal en el script ldquobuildshrdquo Cualquier cambio en el archivo de configuracioacuten se debe hacer antes de lanzar el script build Yo prefiero editar el archivo con un edi-tor de texto pero tambieacuten se puede usar ldquomake menuconfigrdquo

El siguiente comando inicia el pro-ceso de compilacioacuten usando el archivo de configuracioacuten seleccionado Requi-ere privilegios de superusuario ya que necesita tener acceso a ciertos directorios del sistema para poder empaquetar los archivos del kernel Aseguacuterate de reem-plazar el nombre del archivo de configu-racioacuten de destino por el argumento

$ sudo sh

buildsh

odroidc_ubun-

tu_mali_def-

config

La compilacioacuten puede tardar de 10 a 30 minutos el resultado es una es-tructura de carpeta con los recursos de instalacioacuten del ker-nel Esta estructura

estaacute incluida en una subcarpeta bajo la nueva ldquoversioacutenrdquo usando el nombre del archivo de configuracioacuten El proceso de compilacioacuten no instala el kernel en lo-cal sino que crea un paquete portaacutetil que despueacutes se puede ejecutar en el disposi-tivo ODROID que elijas

Para instalar el kernel en un equipo copia la nueva estructura de directorios al ODROID Luego ve al subdirectorio que lleva el nombre del archivo de con-figuracioacuten seleccionado En este ejemplo el script de instalacioacuten se puede ejecutar escribiendo los siguientes comandos

$ cd release

odroidc_ubuntu_mali_defconfig

$ sudo sh installsh

Este proceso puede tardar de 3 a 10 minutos tras lo cual el nuevo kernel es-taraacute listo Reinicia el equipo para usar el kernel actualizado Una backup del ker-nel original se guarda tal y como se indica en el resultado del script de instalacioacuten de modo que la actualizacioacuten del kernel se puede invertir si fuera necesario

Si tiene preguntas comentarios o su-gerencias sobre los scripts por favor crea un nuevo hilo en los foros ODROID en httpforumodroidcom

Divisionesodroid-30y Q U2 U3 X X2odroid-38y U2 U3 X X2odroid-313y XUodroidx-310y C1 C1+odroidw-312y Wodroidxu3-310y XU3odroidxu-34y XUodroidxu4-v42-rc1 XU3 XU4

selecciona tus archivos de configuracioacuten para la mejor compilacioacuten

LINUX GAMINGJUEGOS ANDROID

nubSrsquo ADvEnTuREDESAfIAnTE juEGO DE pLATAfORMAS 2Dpor Bruno Doiche

Lo que no echamos en fal-ta en ODROID

Magazine son los juegos de plataformas en 2D con los que disfrutamos bastante Despueacutes de todo emulamos todo tipo de consolas de 8 y 16 bits Pero a menu-do me pongo con una distro Android en mi U3 conectado a mi lapdock en busca de una nueva experiencia Y para mi agrado me las ingenieacute para dar con Nubsrsquo Adventure un juego de platafor-mas muy ameno que me trasladoacute a in-creiacutebles mundos de la mejor versioacuten de lsquoMetroidvaniarsquo Gran disentildeo de niveles jefes desafiantes y excelentes puzles para mantenerte con ganas de jugar maacutes de lo que esperas inicialmente iexclDisfruta

httpsplaygooglecomstore

appsdetailsid=nubsadventure

ODROID MAGAZINE 9

laxia Echelon asiacute como ayudarles a pros-perar hasta que sean lo suficientemente fuertes como para defenderse de los Mi-croids y por lo tanto salvar la galaxia Esto ademaacutes te interesa no soacutelo porque no quieres que ataquen nuestra galaxia sino porque en el momento en que em-piezas en la galaxia Echelon 10000 antildeos atraacutes en el pasado la tecnologiacutea necesaria para traerte de vuelta ya no existe ya que fue creada por las cuatro especies que se supone que vas ayudas a desarrollar Asiacute que lo que tienes que hacer es volver a tu propia eacutepoca y galaxia para ayudar a desarrollar las cuatro especies hasta que sean capaces de construir las partes que faltan de tu nave y ayudarles a defen-derse de los Microids

El juego tiene aspectos muy buenos como el uso de voz a traveacutes de tu orde-nador y AI Agnis diferentes escenas de peliacutecula accioacuten de combate espacial y mucho maacutes Por lo que yo seacute este juego no es muy conocido realmente es muy inusual por su estilo uacutenico y jugabilidad Definitivamente vale la pena probarlo y sin duda deberiacuteas darle una oportunidad

Instalacioacuten y puesta en marcha

Dado que eacuteste es un juego para DOS y no estaacute hecho para Linux no puedes simplemente descargarlo y ejecutarlo Useacute DOSBox para iniciar el juego y con-figureacute algunas opciones para que fun-

Quisiera presentar algunos de mis juegos favoritos que probable-mente no todo el mundo conoz-

ca pero que son muy interesantes y di-vertidos Espero que disfruteacuteis con los que elegido y os animo a que probeacuteis y jugueacuteis a algunos de los juegos maacutes raros e inusuales de la historia de los juegos

Millennia ndash Altered Destinies

Este juego es muy singular Eres el pi-loto de un carguero en su viaje de 6 me-ses a la Tierra desde Juacutepiter Al tiempo que te das cuenta de que podriacutea ser una mala idea hablar en voz alta en tu primer diacutea de viaje eres de repente ldquosecuestra-dordquo por una especie alieniacutegena Te expli-can que estaacutes en una especie de estasis temporal y que son una especie llamada Hood Son guardianes del tiempo que necesitan tu ayuda en su eacutepoca y galaxia

Una galaxia llamada Echelon que estaacute actualmente invadida por una especie llamada Microids Esta especie es muy agresiva y la galaxia de los guardianes de tiempo estaacute a punto de ser invadida y la proacutexima seraacute ldquonuestrardquo galaxia es por eso que se supone que debemos solucionar este conflicto Te ofrecen una nueva nave espacial que no soacutelo puede viajar en el es-pacio sino tambieacuten en el tiempo y eres enviado de vuelta a 10000 antildeos atraacutes a la galaxia Echelon donde el sistema este-lar soacutelo estaacute ocupado por Microids

El objetivo es establecer las cuatro especies originales que vivieron en la ga-

juEGOSLInux LAS jOyAS DE LOS juEGOS RAROS pARTE 1por tobias schaaf

JUEGOS LINUX

cionase correctamente En primer lugar necesitas el CD o un rip del mismo aunque te aconsejo utilizar la versioacuten del CD para una mejor experiencia

Aquiacute tienes una pequentildea guiacutea de coacutemo instalar e iniciar el juego basada en mi imagen ODROID GameStation Tur-bo aunque deberiacutea funcionar con la im-agen de Ubuntu de HardKernel si tienes activadas mis listas de paquetes alltest-ing y allmain Escribe lo siguiente para instalar los requisitos para DOSBox

$ sudo apt-get install dosbox-

odroid libgl-odroid

Configurar DOSBoxInicia DOSBox para crear el archivo

de configuracioacuten por defecto luego salte de inmediato Abre homeodroiddosboxdosbox-SVNconf con un editor de texto y cambia las siguientes liacuteneas

[sdl]

fullscreen=true

fullresolution=1920x1080

output=opengl

[render]

frameskip=3

[cpu]

core=dynamic

cputype=pentium_slow

cycles=5000

Esta es la versioacuten orginal en CD-rOM de Millenia - Altered Destinies

ODROID MAGAZINE 10

lo cual te ayudaraacute a entenderlo mejorTienes que utilizar las capacidades de

tu nave para viajar en el tiempo y en el espacio y asiacute poder solucionar los pro-blemas de las cuatro especies que debes proteger y ayudarles a evolucionar ha-cia una civilizacioacuten avanzada que pueda ayudarte a salir de la galaxia asiacute como defenderse de los Microids Para ello tienes que entender y controlar tu nave para completar todas las tareas que tienes por delante

La naveDentro de tu nave puedes ver Agnis

el ordenador de la nave y IA que te ayudara en tu tarea Actuacutea de traductor cuando hablas con las diferentes espe-cies Puede darte consejos y hacer co-mentarios sobre tus acciones De hecho su ldquoyo estoy a tu servicio humanordquo fue el sonido de inicio de mi maacutequina Win-dows durante mucho tiempo

La mayoriacutea de las pantallas de la nave se asemejan Tienes un panel de nave-gacioacuten en el lado izquierdo que se pue-de controlar pulsando y manteniendo el botoacuten derecho del ratoacuten y movieacutendote sobre los diferentes botones Un clic con el botoacuten izquierdo selecciona el sistema que quieres visitar una especie de ascen-sor que llega a tu cabina te lleva a la es-tacioacuten seleccionada A la derecha tienes los botones de accioacuten de su estacioacuten ac-tual Simplemente mueve el ratoacuten hacia el botoacuten deseado y pulsa el botoacuten izqui-erdo del ratoacuten para activar la accioacuten

En la vista principal puedes ver in-formacioacuten sobre el planeta actual que estaacute visitando El nombre del planeta y el

JUEGOS LINUX

antildeo se muestra sobre la cruz del escaacutener En el lado derecho puedes encontrar in-formacioacuten sobre el planeta y sus habitan-tes Aquiacute podemos ver la especie (Rap-toids) su calificacioacuten IQ actual (80) y un siacutembolo del evento actual (war) En la parte superior de la pantalla vemos de nuevo un pequentildeo panel de informacioacuten con el nombre del planeta la especie y un reloj El antildeo 1600 es el siglo actual y el siacutembolo 11713 es en realidad un reloj del tiempo de juego que tiene un for-mato muy extrantildeo Cuenta en segundos pero llega a 100 antes de que el nuacutemero anterior a los decimales cambie

La vista principal soacutelo permite iniciar un viaje al siguiente siglo o a un lugar diferente en la galaxia Soacutelo puedes ini-ciar los motores desde esta pantalla Otra cosa que soacutelo puedes hacer desde la pan-talla principal es el combate espacial De vez en cuando tienes que defenderte y defender a los habitantes del planeta frente a los enemigos invasores Dado que este juego gira en torno al tiempo esto en alguacuten momento puede llegar a ser algo confuso ya que en realidad po-driacuteas terminar luchando contra tu otro yo en una liacutenea temporal diferente pero tambieacuten podriacuteas luchar contra Microids que tratan de invadir el espacio donde se asienta tu raza Los Hoods a menudo tratan de atacar la raza que creaste desde una liacutenea de tiempo diferente y una de las otras razas incluso podriacutea tratar de invadir el planeta mientras trata de ex-pandir su territorio Por eso tu nave estaacute equipada con algunas armas e incluso se puede modificar con algunos de los in-ventos que obtienes a partir de las razas que has creado

vista principal de tu nave espacial des-de donde comienzas tu trabajo

figura 2 - Luchando contra tu otro yo en Milenios

cycleup=200

cycledown=200

En primer lugar he creado una car-peta donde quiero colocar mis juegos

$ mkdir DOS

Tambieacuten he copiado la ISO que he creado desde mi juego Millennia ndash Al-tered Destinies y la coloqueacute en una carpeta llamada CDs en mi ODROID Para facilitar las cosas he antildeadido las siguientes liacuteneas al final del archivo de configuracioacuten de DOSBox asiacute no necesito escribirlas cada vez que quiera ejecutar el juego

[autoexec]

mount c homeodroidDOS

c

imgmount d homeodroidCDs

Miliso -t iso

Ahora el sistema estaacute preparado para lanzar el emulador La carpeta DOS se monta automaacuteticamente como mi uni-dad C y el CD seraacute montado como D como una unidad de CD-ROM In-stala el juego como siempre bajo DOS e iniciarlo La introduccioacuten puede ser un poco lenta pero en general con los ajustes mencionados deberiacuteas ser capaz de ejecutar el juego a toda velocidad

Para ejecutar el juego lanza DOS-Box de nuevo con el siguiente comando para que DOSbox utilice glshim (libglo-droid) y asiacute poder activar la aceleracioacuten OpenGL

$ LD_LIBRARY_PATH=usrlocallib

dosbox

Los inicios del juegoTras la introduccioacuten te encontraraacutes

en una galaxia muy muy lejana (te suena familiar iquestno) El juego no viene con un tutorial lo que significa que tendraacutes mucha accioacuten sin saber lo que debes o puedes hacer Por eso voy a intentar ex-plicarte las cuestiones baacutesicas del juego

ODROID MAGAZINE 11

gran plan Sabe que puedes alterar los acontecimientos en el tiempo y es por ello que puede ver lo que sucederaacute en el futuro Auacuten asiacute el Agent es parte de la raza que estaacutes desarrollando y tendraacute creencias y necesidades similares lo que los hace a veces difiacutecil de tratar y cada uno requiere de una forma de persuasioacuten distinta

Si haces clic en el botoacuten que mira ha-cia el oeste en la barra de navegacioacuten su-perior te llevaraacute al centro de comunica-ciones Aquiacute puedes ponerse en contacto con tus agentes e intentar solventar sus problemas Agnis te ayudaraacute a traducir lo que tus agentes te esteacuten diciendo Pue-des ver las pequentildeas peliacuteculas de viacutedeo de los agentes cuando hablan contigo haciendo que parezca una transmisioacuten de viacutedeo Con la ayuda de Agnis inten-tas resolver sus problemas Esto incluye temas como la poliacutetica donde tienes que elegir quieacuten debe ser el liacuteder de una raza planificar asesinatos de liacutederes rebeldes con el fin de evitar levantamientos o de-cidir si ayudas a los rebeldes con el fin de matar a un emperador tirano

Por otro lado tambieacuten tienes que dar consejos sobre coacutemo protegerse ante un duro invierno coacutemo evitar que to-men decisiones equivocadas que lue-go puedan conducirles a cataacutestrofes o

antildeos atraacutes en el pasado soacutelo existe un planeta habitado con Microids ninguacuten otro con otra especie Tienes que elegir un planeta en el que quieres desarrollar las cuatro razas diferentes Cada una re-quiere de un haacutebitat distinto

Desde aquiacute puedes fijar una ruta a traveacutes del espacio y el tiempo con el fin de ayudar a las especies en su desar-rollo Sugerencia Viajar en el tiempo y el espacio consume combustible y soacutelo pue-des recargar combustible en los gi-

gantes gaseosos Por lo que es buena idea que crees tu raza en un planeta que se encuentre cerca de un gigante gaseoso Hay un botoacuten que activa o desactiva los planetas que no tienen gigantes gaseosos

En la esquina inferior derecha de esta pantalla puedes ver el botoacuten del histo-grama tu mejor amigo En el histograma ves todos los eventos que tienen lugar y cada paso representa 100 antildeos de desar-rollo Los nuevos inventos estaacuten marca-dos con un borde verde los bordes rojos indica crisis

Aquiacute es donde el juego se complica Tienes que ayudar a la raza a pasar las crisis o incluso prevenir que las crisis lleguen a producirse A menudo hay diferentes soluciones a un problema con diferentes resultados y aquiacute es donde el juego tambieacuten se vuelve interesante

Tienes diferentes formas de interac-cioacuten para desarrollar una raza y la forma maacutes comuacuten es la de comunicarte con un representante de la especie Este repre-sentante es conocido como Agent que es un ser modificado de las especies que ayudas Soacutelo eacutel sabe de tu existencia y del

Para luchar contra los enemigos manteacuten pulsado el botoacuten derecho del ratoacuten y mueacutevelo en la direccioacuten que desees Un pequentildeo punto rojo indica la ubicacioacuten del enemigo maacutes cercano Pulsa el botoacuten izquierdo para disparar a tu enemigo

La lucha contra tu otro yo es bas-tante faacutecil y normalmente escapas tras un par de golpes El combate contra los otros enemigos es algo maacutes difiacutecil ya que a menudo son maacutes numerosos y mien-tras luchas contra uno otro puede venir por detraacutes y atacarte El panel de infor-macioacuten de color rojo en la parte superior se convierte en un ldquoespejo retrovisorrdquo que muestra los enemigos que te atacan por detraacutes Ademaacutes tu nave puede da-ntildearse y si la averiacutea es demasiado grande huiraacutes automaacuteticamente de la escena y te dirigiraacutes al centro del universo al uacutenico planeta donde no se puede crear ninguna especie Asiacute que en realidad nunca pu-edes morir

A la vista principal se puede llegar a traveacutes del botoacuten que apunta hacia el norte en la parte superior izquierda de la barra de navegacioacuten La navegacioacuten es probablemente el sistema maacutes impor-tante que tienes Si hace clic en el botoacuten

que mira hacia el este en el panel de navegacioacuten superior se puedes ir al mapa de la galaxia y al sistema de navegacioacuten

En el sistema de navegacioacuten recopi-las toda la informacioacuten que necesitas para planificar tu proacuteximo paso El mapa de galaxia te muestra lo que se ve en la galaxia y coacutemo se distribuyen las diferen-tes especies Puesto que empiezas 10000

Mapa de la galaxia del sistema de nave-gacioacuten no soacutelo para moverte en el espacio sino tambieacuten para viajar en el tiempo

El histograma que muestra todos los even-tos importantes del desarrollo de las razas es una herramienta muy importante

Dos de las diferentes especies con las que tienes que lidiar en el juego los in-sectos Entomon y los reptiles reptoides

JUEGOS LINUX

ODROID MAGAZINE 12

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 9: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

KERNEL LINUX

rio de la seccioacuten descargada Ahora pasa-mos al siguiente paso

Script BuildUna vez descargado la seccioacuten ve al

directorio en cuestioacuten y busca el archivo en el directorio archarmconfigs cor-respondiente a la plataforma ODROID que utilizaraacute el kernel

$ cd odroidc-310y

$ ls archarmconfigsodroid

Por ejemplo si seleccionas la sec-cioacuten odroid-310y los archivos de configuracioacuten estaacuten disponibles para usarse con ODROID-Q ODROID-Q2 ODROID-X ODROID-X2 y ODROID-U2 como muestra la imagen anterior Otras secciones pueden incluir archivos de configuracioacuten para otros dis-positivos ODROID tales como el XU y XU3 Si compilas un kernel para el ODROID-U2U3 usando odroid-310y el archivo de configuracioacuten de destino deberiacutea ser odroidu2_ubuntu_mali_ def-config que es incluido como argumento principal en el script ldquobuildshrdquo Cualquier cambio en el archivo de configuracioacuten se debe hacer antes de lanzar el script build Yo prefiero editar el archivo con un edi-tor de texto pero tambieacuten se puede usar ldquomake menuconfigrdquo

El siguiente comando inicia el pro-ceso de compilacioacuten usando el archivo de configuracioacuten seleccionado Requi-ere privilegios de superusuario ya que necesita tener acceso a ciertos directorios del sistema para poder empaquetar los archivos del kernel Aseguacuterate de reem-plazar el nombre del archivo de configu-racioacuten de destino por el argumento

$ sudo sh

buildsh

odroidc_ubun-

tu_mali_def-

config

La compilacioacuten puede tardar de 10 a 30 minutos el resultado es una es-tructura de carpeta con los recursos de instalacioacuten del ker-nel Esta estructura

estaacute incluida en una subcarpeta bajo la nueva ldquoversioacutenrdquo usando el nombre del archivo de configuracioacuten El proceso de compilacioacuten no instala el kernel en lo-cal sino que crea un paquete portaacutetil que despueacutes se puede ejecutar en el disposi-tivo ODROID que elijas

Para instalar el kernel en un equipo copia la nueva estructura de directorios al ODROID Luego ve al subdirectorio que lleva el nombre del archivo de con-figuracioacuten seleccionado En este ejemplo el script de instalacioacuten se puede ejecutar escribiendo los siguientes comandos

$ cd release

odroidc_ubuntu_mali_defconfig

$ sudo sh installsh

Este proceso puede tardar de 3 a 10 minutos tras lo cual el nuevo kernel es-taraacute listo Reinicia el equipo para usar el kernel actualizado Una backup del ker-nel original se guarda tal y como se indica en el resultado del script de instalacioacuten de modo que la actualizacioacuten del kernel se puede invertir si fuera necesario

Si tiene preguntas comentarios o su-gerencias sobre los scripts por favor crea un nuevo hilo en los foros ODROID en httpforumodroidcom

Divisionesodroid-30y Q U2 U3 X X2odroid-38y U2 U3 X X2odroid-313y XUodroidx-310y C1 C1+odroidw-312y Wodroidxu3-310y XU3odroidxu-34y XUodroidxu4-v42-rc1 XU3 XU4

selecciona tus archivos de configuracioacuten para la mejor compilacioacuten

LINUX GAMINGJUEGOS ANDROID

nubSrsquo ADvEnTuREDESAfIAnTE juEGO DE pLATAfORMAS 2Dpor Bruno Doiche

Lo que no echamos en fal-ta en ODROID

Magazine son los juegos de plataformas en 2D con los que disfrutamos bastante Despueacutes de todo emulamos todo tipo de consolas de 8 y 16 bits Pero a menu-do me pongo con una distro Android en mi U3 conectado a mi lapdock en busca de una nueva experiencia Y para mi agrado me las ingenieacute para dar con Nubsrsquo Adventure un juego de platafor-mas muy ameno que me trasladoacute a in-creiacutebles mundos de la mejor versioacuten de lsquoMetroidvaniarsquo Gran disentildeo de niveles jefes desafiantes y excelentes puzles para mantenerte con ganas de jugar maacutes de lo que esperas inicialmente iexclDisfruta

httpsplaygooglecomstore

appsdetailsid=nubsadventure

ODROID MAGAZINE 9

laxia Echelon asiacute como ayudarles a pros-perar hasta que sean lo suficientemente fuertes como para defenderse de los Mi-croids y por lo tanto salvar la galaxia Esto ademaacutes te interesa no soacutelo porque no quieres que ataquen nuestra galaxia sino porque en el momento en que em-piezas en la galaxia Echelon 10000 antildeos atraacutes en el pasado la tecnologiacutea necesaria para traerte de vuelta ya no existe ya que fue creada por las cuatro especies que se supone que vas ayudas a desarrollar Asiacute que lo que tienes que hacer es volver a tu propia eacutepoca y galaxia para ayudar a desarrollar las cuatro especies hasta que sean capaces de construir las partes que faltan de tu nave y ayudarles a defen-derse de los Microids

El juego tiene aspectos muy buenos como el uso de voz a traveacutes de tu orde-nador y AI Agnis diferentes escenas de peliacutecula accioacuten de combate espacial y mucho maacutes Por lo que yo seacute este juego no es muy conocido realmente es muy inusual por su estilo uacutenico y jugabilidad Definitivamente vale la pena probarlo y sin duda deberiacuteas darle una oportunidad

Instalacioacuten y puesta en marcha

Dado que eacuteste es un juego para DOS y no estaacute hecho para Linux no puedes simplemente descargarlo y ejecutarlo Useacute DOSBox para iniciar el juego y con-figureacute algunas opciones para que fun-

Quisiera presentar algunos de mis juegos favoritos que probable-mente no todo el mundo conoz-

ca pero que son muy interesantes y di-vertidos Espero que disfruteacuteis con los que elegido y os animo a que probeacuteis y jugueacuteis a algunos de los juegos maacutes raros e inusuales de la historia de los juegos

Millennia ndash Altered Destinies

Este juego es muy singular Eres el pi-loto de un carguero en su viaje de 6 me-ses a la Tierra desde Juacutepiter Al tiempo que te das cuenta de que podriacutea ser una mala idea hablar en voz alta en tu primer diacutea de viaje eres de repente ldquosecuestra-dordquo por una especie alieniacutegena Te expli-can que estaacutes en una especie de estasis temporal y que son una especie llamada Hood Son guardianes del tiempo que necesitan tu ayuda en su eacutepoca y galaxia

Una galaxia llamada Echelon que estaacute actualmente invadida por una especie llamada Microids Esta especie es muy agresiva y la galaxia de los guardianes de tiempo estaacute a punto de ser invadida y la proacutexima seraacute ldquonuestrardquo galaxia es por eso que se supone que debemos solucionar este conflicto Te ofrecen una nueva nave espacial que no soacutelo puede viajar en el es-pacio sino tambieacuten en el tiempo y eres enviado de vuelta a 10000 antildeos atraacutes a la galaxia Echelon donde el sistema este-lar soacutelo estaacute ocupado por Microids

El objetivo es establecer las cuatro especies originales que vivieron en la ga-

juEGOSLInux LAS jOyAS DE LOS juEGOS RAROS pARTE 1por tobias schaaf

JUEGOS LINUX

cionase correctamente En primer lugar necesitas el CD o un rip del mismo aunque te aconsejo utilizar la versioacuten del CD para una mejor experiencia

Aquiacute tienes una pequentildea guiacutea de coacutemo instalar e iniciar el juego basada en mi imagen ODROID GameStation Tur-bo aunque deberiacutea funcionar con la im-agen de Ubuntu de HardKernel si tienes activadas mis listas de paquetes alltest-ing y allmain Escribe lo siguiente para instalar los requisitos para DOSBox

$ sudo apt-get install dosbox-

odroid libgl-odroid

Configurar DOSBoxInicia DOSBox para crear el archivo

de configuracioacuten por defecto luego salte de inmediato Abre homeodroiddosboxdosbox-SVNconf con un editor de texto y cambia las siguientes liacuteneas

[sdl]

fullscreen=true

fullresolution=1920x1080

output=opengl

[render]

frameskip=3

[cpu]

core=dynamic

cputype=pentium_slow

cycles=5000

Esta es la versioacuten orginal en CD-rOM de Millenia - Altered Destinies

ODROID MAGAZINE 10

lo cual te ayudaraacute a entenderlo mejorTienes que utilizar las capacidades de

tu nave para viajar en el tiempo y en el espacio y asiacute poder solucionar los pro-blemas de las cuatro especies que debes proteger y ayudarles a evolucionar ha-cia una civilizacioacuten avanzada que pueda ayudarte a salir de la galaxia asiacute como defenderse de los Microids Para ello tienes que entender y controlar tu nave para completar todas las tareas que tienes por delante

La naveDentro de tu nave puedes ver Agnis

el ordenador de la nave y IA que te ayudara en tu tarea Actuacutea de traductor cuando hablas con las diferentes espe-cies Puede darte consejos y hacer co-mentarios sobre tus acciones De hecho su ldquoyo estoy a tu servicio humanordquo fue el sonido de inicio de mi maacutequina Win-dows durante mucho tiempo

La mayoriacutea de las pantallas de la nave se asemejan Tienes un panel de nave-gacioacuten en el lado izquierdo que se pue-de controlar pulsando y manteniendo el botoacuten derecho del ratoacuten y movieacutendote sobre los diferentes botones Un clic con el botoacuten izquierdo selecciona el sistema que quieres visitar una especie de ascen-sor que llega a tu cabina te lleva a la es-tacioacuten seleccionada A la derecha tienes los botones de accioacuten de su estacioacuten ac-tual Simplemente mueve el ratoacuten hacia el botoacuten deseado y pulsa el botoacuten izqui-erdo del ratoacuten para activar la accioacuten

En la vista principal puedes ver in-formacioacuten sobre el planeta actual que estaacute visitando El nombre del planeta y el

JUEGOS LINUX

antildeo se muestra sobre la cruz del escaacutener En el lado derecho puedes encontrar in-formacioacuten sobre el planeta y sus habitan-tes Aquiacute podemos ver la especie (Rap-toids) su calificacioacuten IQ actual (80) y un siacutembolo del evento actual (war) En la parte superior de la pantalla vemos de nuevo un pequentildeo panel de informacioacuten con el nombre del planeta la especie y un reloj El antildeo 1600 es el siglo actual y el siacutembolo 11713 es en realidad un reloj del tiempo de juego que tiene un for-mato muy extrantildeo Cuenta en segundos pero llega a 100 antes de que el nuacutemero anterior a los decimales cambie

La vista principal soacutelo permite iniciar un viaje al siguiente siglo o a un lugar diferente en la galaxia Soacutelo puedes ini-ciar los motores desde esta pantalla Otra cosa que soacutelo puedes hacer desde la pan-talla principal es el combate espacial De vez en cuando tienes que defenderte y defender a los habitantes del planeta frente a los enemigos invasores Dado que este juego gira en torno al tiempo esto en alguacuten momento puede llegar a ser algo confuso ya que en realidad po-driacuteas terminar luchando contra tu otro yo en una liacutenea temporal diferente pero tambieacuten podriacuteas luchar contra Microids que tratan de invadir el espacio donde se asienta tu raza Los Hoods a menudo tratan de atacar la raza que creaste desde una liacutenea de tiempo diferente y una de las otras razas incluso podriacutea tratar de invadir el planeta mientras trata de ex-pandir su territorio Por eso tu nave estaacute equipada con algunas armas e incluso se puede modificar con algunos de los in-ventos que obtienes a partir de las razas que has creado

vista principal de tu nave espacial des-de donde comienzas tu trabajo

figura 2 - Luchando contra tu otro yo en Milenios

cycleup=200

cycledown=200

En primer lugar he creado una car-peta donde quiero colocar mis juegos

$ mkdir DOS

Tambieacuten he copiado la ISO que he creado desde mi juego Millennia ndash Al-tered Destinies y la coloqueacute en una carpeta llamada CDs en mi ODROID Para facilitar las cosas he antildeadido las siguientes liacuteneas al final del archivo de configuracioacuten de DOSBox asiacute no necesito escribirlas cada vez que quiera ejecutar el juego

[autoexec]

mount c homeodroidDOS

c

imgmount d homeodroidCDs

Miliso -t iso

Ahora el sistema estaacute preparado para lanzar el emulador La carpeta DOS se monta automaacuteticamente como mi uni-dad C y el CD seraacute montado como D como una unidad de CD-ROM In-stala el juego como siempre bajo DOS e iniciarlo La introduccioacuten puede ser un poco lenta pero en general con los ajustes mencionados deberiacuteas ser capaz de ejecutar el juego a toda velocidad

Para ejecutar el juego lanza DOS-Box de nuevo con el siguiente comando para que DOSbox utilice glshim (libglo-droid) y asiacute poder activar la aceleracioacuten OpenGL

$ LD_LIBRARY_PATH=usrlocallib

dosbox

Los inicios del juegoTras la introduccioacuten te encontraraacutes

en una galaxia muy muy lejana (te suena familiar iquestno) El juego no viene con un tutorial lo que significa que tendraacutes mucha accioacuten sin saber lo que debes o puedes hacer Por eso voy a intentar ex-plicarte las cuestiones baacutesicas del juego

ODROID MAGAZINE 11

gran plan Sabe que puedes alterar los acontecimientos en el tiempo y es por ello que puede ver lo que sucederaacute en el futuro Auacuten asiacute el Agent es parte de la raza que estaacutes desarrollando y tendraacute creencias y necesidades similares lo que los hace a veces difiacutecil de tratar y cada uno requiere de una forma de persuasioacuten distinta

Si haces clic en el botoacuten que mira ha-cia el oeste en la barra de navegacioacuten su-perior te llevaraacute al centro de comunica-ciones Aquiacute puedes ponerse en contacto con tus agentes e intentar solventar sus problemas Agnis te ayudaraacute a traducir lo que tus agentes te esteacuten diciendo Pue-des ver las pequentildeas peliacuteculas de viacutedeo de los agentes cuando hablan contigo haciendo que parezca una transmisioacuten de viacutedeo Con la ayuda de Agnis inten-tas resolver sus problemas Esto incluye temas como la poliacutetica donde tienes que elegir quieacuten debe ser el liacuteder de una raza planificar asesinatos de liacutederes rebeldes con el fin de evitar levantamientos o de-cidir si ayudas a los rebeldes con el fin de matar a un emperador tirano

Por otro lado tambieacuten tienes que dar consejos sobre coacutemo protegerse ante un duro invierno coacutemo evitar que to-men decisiones equivocadas que lue-go puedan conducirles a cataacutestrofes o

antildeos atraacutes en el pasado soacutelo existe un planeta habitado con Microids ninguacuten otro con otra especie Tienes que elegir un planeta en el que quieres desarrollar las cuatro razas diferentes Cada una re-quiere de un haacutebitat distinto

Desde aquiacute puedes fijar una ruta a traveacutes del espacio y el tiempo con el fin de ayudar a las especies en su desar-rollo Sugerencia Viajar en el tiempo y el espacio consume combustible y soacutelo pue-des recargar combustible en los gi-

gantes gaseosos Por lo que es buena idea que crees tu raza en un planeta que se encuentre cerca de un gigante gaseoso Hay un botoacuten que activa o desactiva los planetas que no tienen gigantes gaseosos

En la esquina inferior derecha de esta pantalla puedes ver el botoacuten del histo-grama tu mejor amigo En el histograma ves todos los eventos que tienen lugar y cada paso representa 100 antildeos de desar-rollo Los nuevos inventos estaacuten marca-dos con un borde verde los bordes rojos indica crisis

Aquiacute es donde el juego se complica Tienes que ayudar a la raza a pasar las crisis o incluso prevenir que las crisis lleguen a producirse A menudo hay diferentes soluciones a un problema con diferentes resultados y aquiacute es donde el juego tambieacuten se vuelve interesante

Tienes diferentes formas de interac-cioacuten para desarrollar una raza y la forma maacutes comuacuten es la de comunicarte con un representante de la especie Este repre-sentante es conocido como Agent que es un ser modificado de las especies que ayudas Soacutelo eacutel sabe de tu existencia y del

Para luchar contra los enemigos manteacuten pulsado el botoacuten derecho del ratoacuten y mueacutevelo en la direccioacuten que desees Un pequentildeo punto rojo indica la ubicacioacuten del enemigo maacutes cercano Pulsa el botoacuten izquierdo para disparar a tu enemigo

La lucha contra tu otro yo es bas-tante faacutecil y normalmente escapas tras un par de golpes El combate contra los otros enemigos es algo maacutes difiacutecil ya que a menudo son maacutes numerosos y mien-tras luchas contra uno otro puede venir por detraacutes y atacarte El panel de infor-macioacuten de color rojo en la parte superior se convierte en un ldquoespejo retrovisorrdquo que muestra los enemigos que te atacan por detraacutes Ademaacutes tu nave puede da-ntildearse y si la averiacutea es demasiado grande huiraacutes automaacuteticamente de la escena y te dirigiraacutes al centro del universo al uacutenico planeta donde no se puede crear ninguna especie Asiacute que en realidad nunca pu-edes morir

A la vista principal se puede llegar a traveacutes del botoacuten que apunta hacia el norte en la parte superior izquierda de la barra de navegacioacuten La navegacioacuten es probablemente el sistema maacutes impor-tante que tienes Si hace clic en el botoacuten

que mira hacia el este en el panel de navegacioacuten superior se puedes ir al mapa de la galaxia y al sistema de navegacioacuten

En el sistema de navegacioacuten recopi-las toda la informacioacuten que necesitas para planificar tu proacuteximo paso El mapa de galaxia te muestra lo que se ve en la galaxia y coacutemo se distribuyen las diferen-tes especies Puesto que empiezas 10000

Mapa de la galaxia del sistema de nave-gacioacuten no soacutelo para moverte en el espacio sino tambieacuten para viajar en el tiempo

El histograma que muestra todos los even-tos importantes del desarrollo de las razas es una herramienta muy importante

Dos de las diferentes especies con las que tienes que lidiar en el juego los in-sectos Entomon y los reptiles reptoides

JUEGOS LINUX

ODROID MAGAZINE 12

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 10: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

laxia Echelon asiacute como ayudarles a pros-perar hasta que sean lo suficientemente fuertes como para defenderse de los Mi-croids y por lo tanto salvar la galaxia Esto ademaacutes te interesa no soacutelo porque no quieres que ataquen nuestra galaxia sino porque en el momento en que em-piezas en la galaxia Echelon 10000 antildeos atraacutes en el pasado la tecnologiacutea necesaria para traerte de vuelta ya no existe ya que fue creada por las cuatro especies que se supone que vas ayudas a desarrollar Asiacute que lo que tienes que hacer es volver a tu propia eacutepoca y galaxia para ayudar a desarrollar las cuatro especies hasta que sean capaces de construir las partes que faltan de tu nave y ayudarles a defen-derse de los Microids

El juego tiene aspectos muy buenos como el uso de voz a traveacutes de tu orde-nador y AI Agnis diferentes escenas de peliacutecula accioacuten de combate espacial y mucho maacutes Por lo que yo seacute este juego no es muy conocido realmente es muy inusual por su estilo uacutenico y jugabilidad Definitivamente vale la pena probarlo y sin duda deberiacuteas darle una oportunidad

Instalacioacuten y puesta en marcha

Dado que eacuteste es un juego para DOS y no estaacute hecho para Linux no puedes simplemente descargarlo y ejecutarlo Useacute DOSBox para iniciar el juego y con-figureacute algunas opciones para que fun-

Quisiera presentar algunos de mis juegos favoritos que probable-mente no todo el mundo conoz-

ca pero que son muy interesantes y di-vertidos Espero que disfruteacuteis con los que elegido y os animo a que probeacuteis y jugueacuteis a algunos de los juegos maacutes raros e inusuales de la historia de los juegos

Millennia ndash Altered Destinies

Este juego es muy singular Eres el pi-loto de un carguero en su viaje de 6 me-ses a la Tierra desde Juacutepiter Al tiempo que te das cuenta de que podriacutea ser una mala idea hablar en voz alta en tu primer diacutea de viaje eres de repente ldquosecuestra-dordquo por una especie alieniacutegena Te expli-can que estaacutes en una especie de estasis temporal y que son una especie llamada Hood Son guardianes del tiempo que necesitan tu ayuda en su eacutepoca y galaxia

Una galaxia llamada Echelon que estaacute actualmente invadida por una especie llamada Microids Esta especie es muy agresiva y la galaxia de los guardianes de tiempo estaacute a punto de ser invadida y la proacutexima seraacute ldquonuestrardquo galaxia es por eso que se supone que debemos solucionar este conflicto Te ofrecen una nueva nave espacial que no soacutelo puede viajar en el es-pacio sino tambieacuten en el tiempo y eres enviado de vuelta a 10000 antildeos atraacutes a la galaxia Echelon donde el sistema este-lar soacutelo estaacute ocupado por Microids

El objetivo es establecer las cuatro especies originales que vivieron en la ga-

juEGOSLInux LAS jOyAS DE LOS juEGOS RAROS pARTE 1por tobias schaaf

JUEGOS LINUX

cionase correctamente En primer lugar necesitas el CD o un rip del mismo aunque te aconsejo utilizar la versioacuten del CD para una mejor experiencia

Aquiacute tienes una pequentildea guiacutea de coacutemo instalar e iniciar el juego basada en mi imagen ODROID GameStation Tur-bo aunque deberiacutea funcionar con la im-agen de Ubuntu de HardKernel si tienes activadas mis listas de paquetes alltest-ing y allmain Escribe lo siguiente para instalar los requisitos para DOSBox

$ sudo apt-get install dosbox-

odroid libgl-odroid

Configurar DOSBoxInicia DOSBox para crear el archivo

de configuracioacuten por defecto luego salte de inmediato Abre homeodroiddosboxdosbox-SVNconf con un editor de texto y cambia las siguientes liacuteneas

[sdl]

fullscreen=true

fullresolution=1920x1080

output=opengl

[render]

frameskip=3

[cpu]

core=dynamic

cputype=pentium_slow

cycles=5000

Esta es la versioacuten orginal en CD-rOM de Millenia - Altered Destinies

ODROID MAGAZINE 10

lo cual te ayudaraacute a entenderlo mejorTienes que utilizar las capacidades de

tu nave para viajar en el tiempo y en el espacio y asiacute poder solucionar los pro-blemas de las cuatro especies que debes proteger y ayudarles a evolucionar ha-cia una civilizacioacuten avanzada que pueda ayudarte a salir de la galaxia asiacute como defenderse de los Microids Para ello tienes que entender y controlar tu nave para completar todas las tareas que tienes por delante

La naveDentro de tu nave puedes ver Agnis

el ordenador de la nave y IA que te ayudara en tu tarea Actuacutea de traductor cuando hablas con las diferentes espe-cies Puede darte consejos y hacer co-mentarios sobre tus acciones De hecho su ldquoyo estoy a tu servicio humanordquo fue el sonido de inicio de mi maacutequina Win-dows durante mucho tiempo

La mayoriacutea de las pantallas de la nave se asemejan Tienes un panel de nave-gacioacuten en el lado izquierdo que se pue-de controlar pulsando y manteniendo el botoacuten derecho del ratoacuten y movieacutendote sobre los diferentes botones Un clic con el botoacuten izquierdo selecciona el sistema que quieres visitar una especie de ascen-sor que llega a tu cabina te lleva a la es-tacioacuten seleccionada A la derecha tienes los botones de accioacuten de su estacioacuten ac-tual Simplemente mueve el ratoacuten hacia el botoacuten deseado y pulsa el botoacuten izqui-erdo del ratoacuten para activar la accioacuten

En la vista principal puedes ver in-formacioacuten sobre el planeta actual que estaacute visitando El nombre del planeta y el

JUEGOS LINUX

antildeo se muestra sobre la cruz del escaacutener En el lado derecho puedes encontrar in-formacioacuten sobre el planeta y sus habitan-tes Aquiacute podemos ver la especie (Rap-toids) su calificacioacuten IQ actual (80) y un siacutembolo del evento actual (war) En la parte superior de la pantalla vemos de nuevo un pequentildeo panel de informacioacuten con el nombre del planeta la especie y un reloj El antildeo 1600 es el siglo actual y el siacutembolo 11713 es en realidad un reloj del tiempo de juego que tiene un for-mato muy extrantildeo Cuenta en segundos pero llega a 100 antes de que el nuacutemero anterior a los decimales cambie

La vista principal soacutelo permite iniciar un viaje al siguiente siglo o a un lugar diferente en la galaxia Soacutelo puedes ini-ciar los motores desde esta pantalla Otra cosa que soacutelo puedes hacer desde la pan-talla principal es el combate espacial De vez en cuando tienes que defenderte y defender a los habitantes del planeta frente a los enemigos invasores Dado que este juego gira en torno al tiempo esto en alguacuten momento puede llegar a ser algo confuso ya que en realidad po-driacuteas terminar luchando contra tu otro yo en una liacutenea temporal diferente pero tambieacuten podriacuteas luchar contra Microids que tratan de invadir el espacio donde se asienta tu raza Los Hoods a menudo tratan de atacar la raza que creaste desde una liacutenea de tiempo diferente y una de las otras razas incluso podriacutea tratar de invadir el planeta mientras trata de ex-pandir su territorio Por eso tu nave estaacute equipada con algunas armas e incluso se puede modificar con algunos de los in-ventos que obtienes a partir de las razas que has creado

vista principal de tu nave espacial des-de donde comienzas tu trabajo

figura 2 - Luchando contra tu otro yo en Milenios

cycleup=200

cycledown=200

En primer lugar he creado una car-peta donde quiero colocar mis juegos

$ mkdir DOS

Tambieacuten he copiado la ISO que he creado desde mi juego Millennia ndash Al-tered Destinies y la coloqueacute en una carpeta llamada CDs en mi ODROID Para facilitar las cosas he antildeadido las siguientes liacuteneas al final del archivo de configuracioacuten de DOSBox asiacute no necesito escribirlas cada vez que quiera ejecutar el juego

[autoexec]

mount c homeodroidDOS

c

imgmount d homeodroidCDs

Miliso -t iso

Ahora el sistema estaacute preparado para lanzar el emulador La carpeta DOS se monta automaacuteticamente como mi uni-dad C y el CD seraacute montado como D como una unidad de CD-ROM In-stala el juego como siempre bajo DOS e iniciarlo La introduccioacuten puede ser un poco lenta pero en general con los ajustes mencionados deberiacuteas ser capaz de ejecutar el juego a toda velocidad

Para ejecutar el juego lanza DOS-Box de nuevo con el siguiente comando para que DOSbox utilice glshim (libglo-droid) y asiacute poder activar la aceleracioacuten OpenGL

$ LD_LIBRARY_PATH=usrlocallib

dosbox

Los inicios del juegoTras la introduccioacuten te encontraraacutes

en una galaxia muy muy lejana (te suena familiar iquestno) El juego no viene con un tutorial lo que significa que tendraacutes mucha accioacuten sin saber lo que debes o puedes hacer Por eso voy a intentar ex-plicarte las cuestiones baacutesicas del juego

ODROID MAGAZINE 11

gran plan Sabe que puedes alterar los acontecimientos en el tiempo y es por ello que puede ver lo que sucederaacute en el futuro Auacuten asiacute el Agent es parte de la raza que estaacutes desarrollando y tendraacute creencias y necesidades similares lo que los hace a veces difiacutecil de tratar y cada uno requiere de una forma de persuasioacuten distinta

Si haces clic en el botoacuten que mira ha-cia el oeste en la barra de navegacioacuten su-perior te llevaraacute al centro de comunica-ciones Aquiacute puedes ponerse en contacto con tus agentes e intentar solventar sus problemas Agnis te ayudaraacute a traducir lo que tus agentes te esteacuten diciendo Pue-des ver las pequentildeas peliacuteculas de viacutedeo de los agentes cuando hablan contigo haciendo que parezca una transmisioacuten de viacutedeo Con la ayuda de Agnis inten-tas resolver sus problemas Esto incluye temas como la poliacutetica donde tienes que elegir quieacuten debe ser el liacuteder de una raza planificar asesinatos de liacutederes rebeldes con el fin de evitar levantamientos o de-cidir si ayudas a los rebeldes con el fin de matar a un emperador tirano

Por otro lado tambieacuten tienes que dar consejos sobre coacutemo protegerse ante un duro invierno coacutemo evitar que to-men decisiones equivocadas que lue-go puedan conducirles a cataacutestrofes o

antildeos atraacutes en el pasado soacutelo existe un planeta habitado con Microids ninguacuten otro con otra especie Tienes que elegir un planeta en el que quieres desarrollar las cuatro razas diferentes Cada una re-quiere de un haacutebitat distinto

Desde aquiacute puedes fijar una ruta a traveacutes del espacio y el tiempo con el fin de ayudar a las especies en su desar-rollo Sugerencia Viajar en el tiempo y el espacio consume combustible y soacutelo pue-des recargar combustible en los gi-

gantes gaseosos Por lo que es buena idea que crees tu raza en un planeta que se encuentre cerca de un gigante gaseoso Hay un botoacuten que activa o desactiva los planetas que no tienen gigantes gaseosos

En la esquina inferior derecha de esta pantalla puedes ver el botoacuten del histo-grama tu mejor amigo En el histograma ves todos los eventos que tienen lugar y cada paso representa 100 antildeos de desar-rollo Los nuevos inventos estaacuten marca-dos con un borde verde los bordes rojos indica crisis

Aquiacute es donde el juego se complica Tienes que ayudar a la raza a pasar las crisis o incluso prevenir que las crisis lleguen a producirse A menudo hay diferentes soluciones a un problema con diferentes resultados y aquiacute es donde el juego tambieacuten se vuelve interesante

Tienes diferentes formas de interac-cioacuten para desarrollar una raza y la forma maacutes comuacuten es la de comunicarte con un representante de la especie Este repre-sentante es conocido como Agent que es un ser modificado de las especies que ayudas Soacutelo eacutel sabe de tu existencia y del

Para luchar contra los enemigos manteacuten pulsado el botoacuten derecho del ratoacuten y mueacutevelo en la direccioacuten que desees Un pequentildeo punto rojo indica la ubicacioacuten del enemigo maacutes cercano Pulsa el botoacuten izquierdo para disparar a tu enemigo

La lucha contra tu otro yo es bas-tante faacutecil y normalmente escapas tras un par de golpes El combate contra los otros enemigos es algo maacutes difiacutecil ya que a menudo son maacutes numerosos y mien-tras luchas contra uno otro puede venir por detraacutes y atacarte El panel de infor-macioacuten de color rojo en la parte superior se convierte en un ldquoespejo retrovisorrdquo que muestra los enemigos que te atacan por detraacutes Ademaacutes tu nave puede da-ntildearse y si la averiacutea es demasiado grande huiraacutes automaacuteticamente de la escena y te dirigiraacutes al centro del universo al uacutenico planeta donde no se puede crear ninguna especie Asiacute que en realidad nunca pu-edes morir

A la vista principal se puede llegar a traveacutes del botoacuten que apunta hacia el norte en la parte superior izquierda de la barra de navegacioacuten La navegacioacuten es probablemente el sistema maacutes impor-tante que tienes Si hace clic en el botoacuten

que mira hacia el este en el panel de navegacioacuten superior se puedes ir al mapa de la galaxia y al sistema de navegacioacuten

En el sistema de navegacioacuten recopi-las toda la informacioacuten que necesitas para planificar tu proacuteximo paso El mapa de galaxia te muestra lo que se ve en la galaxia y coacutemo se distribuyen las diferen-tes especies Puesto que empiezas 10000

Mapa de la galaxia del sistema de nave-gacioacuten no soacutelo para moverte en el espacio sino tambieacuten para viajar en el tiempo

El histograma que muestra todos los even-tos importantes del desarrollo de las razas es una herramienta muy importante

Dos de las diferentes especies con las que tienes que lidiar en el juego los in-sectos Entomon y los reptiles reptoides

JUEGOS LINUX

ODROID MAGAZINE 12

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 11: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

lo cual te ayudaraacute a entenderlo mejorTienes que utilizar las capacidades de

tu nave para viajar en el tiempo y en el espacio y asiacute poder solucionar los pro-blemas de las cuatro especies que debes proteger y ayudarles a evolucionar ha-cia una civilizacioacuten avanzada que pueda ayudarte a salir de la galaxia asiacute como defenderse de los Microids Para ello tienes que entender y controlar tu nave para completar todas las tareas que tienes por delante

La naveDentro de tu nave puedes ver Agnis

el ordenador de la nave y IA que te ayudara en tu tarea Actuacutea de traductor cuando hablas con las diferentes espe-cies Puede darte consejos y hacer co-mentarios sobre tus acciones De hecho su ldquoyo estoy a tu servicio humanordquo fue el sonido de inicio de mi maacutequina Win-dows durante mucho tiempo

La mayoriacutea de las pantallas de la nave se asemejan Tienes un panel de nave-gacioacuten en el lado izquierdo que se pue-de controlar pulsando y manteniendo el botoacuten derecho del ratoacuten y movieacutendote sobre los diferentes botones Un clic con el botoacuten izquierdo selecciona el sistema que quieres visitar una especie de ascen-sor que llega a tu cabina te lleva a la es-tacioacuten seleccionada A la derecha tienes los botones de accioacuten de su estacioacuten ac-tual Simplemente mueve el ratoacuten hacia el botoacuten deseado y pulsa el botoacuten izqui-erdo del ratoacuten para activar la accioacuten

En la vista principal puedes ver in-formacioacuten sobre el planeta actual que estaacute visitando El nombre del planeta y el

JUEGOS LINUX

antildeo se muestra sobre la cruz del escaacutener En el lado derecho puedes encontrar in-formacioacuten sobre el planeta y sus habitan-tes Aquiacute podemos ver la especie (Rap-toids) su calificacioacuten IQ actual (80) y un siacutembolo del evento actual (war) En la parte superior de la pantalla vemos de nuevo un pequentildeo panel de informacioacuten con el nombre del planeta la especie y un reloj El antildeo 1600 es el siglo actual y el siacutembolo 11713 es en realidad un reloj del tiempo de juego que tiene un for-mato muy extrantildeo Cuenta en segundos pero llega a 100 antes de que el nuacutemero anterior a los decimales cambie

La vista principal soacutelo permite iniciar un viaje al siguiente siglo o a un lugar diferente en la galaxia Soacutelo puedes ini-ciar los motores desde esta pantalla Otra cosa que soacutelo puedes hacer desde la pan-talla principal es el combate espacial De vez en cuando tienes que defenderte y defender a los habitantes del planeta frente a los enemigos invasores Dado que este juego gira en torno al tiempo esto en alguacuten momento puede llegar a ser algo confuso ya que en realidad po-driacuteas terminar luchando contra tu otro yo en una liacutenea temporal diferente pero tambieacuten podriacuteas luchar contra Microids que tratan de invadir el espacio donde se asienta tu raza Los Hoods a menudo tratan de atacar la raza que creaste desde una liacutenea de tiempo diferente y una de las otras razas incluso podriacutea tratar de invadir el planeta mientras trata de ex-pandir su territorio Por eso tu nave estaacute equipada con algunas armas e incluso se puede modificar con algunos de los in-ventos que obtienes a partir de las razas que has creado

vista principal de tu nave espacial des-de donde comienzas tu trabajo

figura 2 - Luchando contra tu otro yo en Milenios

cycleup=200

cycledown=200

En primer lugar he creado una car-peta donde quiero colocar mis juegos

$ mkdir DOS

Tambieacuten he copiado la ISO que he creado desde mi juego Millennia ndash Al-tered Destinies y la coloqueacute en una carpeta llamada CDs en mi ODROID Para facilitar las cosas he antildeadido las siguientes liacuteneas al final del archivo de configuracioacuten de DOSBox asiacute no necesito escribirlas cada vez que quiera ejecutar el juego

[autoexec]

mount c homeodroidDOS

c

imgmount d homeodroidCDs

Miliso -t iso

Ahora el sistema estaacute preparado para lanzar el emulador La carpeta DOS se monta automaacuteticamente como mi uni-dad C y el CD seraacute montado como D como una unidad de CD-ROM In-stala el juego como siempre bajo DOS e iniciarlo La introduccioacuten puede ser un poco lenta pero en general con los ajustes mencionados deberiacuteas ser capaz de ejecutar el juego a toda velocidad

Para ejecutar el juego lanza DOS-Box de nuevo con el siguiente comando para que DOSbox utilice glshim (libglo-droid) y asiacute poder activar la aceleracioacuten OpenGL

$ LD_LIBRARY_PATH=usrlocallib

dosbox

Los inicios del juegoTras la introduccioacuten te encontraraacutes

en una galaxia muy muy lejana (te suena familiar iquestno) El juego no viene con un tutorial lo que significa que tendraacutes mucha accioacuten sin saber lo que debes o puedes hacer Por eso voy a intentar ex-plicarte las cuestiones baacutesicas del juego

ODROID MAGAZINE 11

gran plan Sabe que puedes alterar los acontecimientos en el tiempo y es por ello que puede ver lo que sucederaacute en el futuro Auacuten asiacute el Agent es parte de la raza que estaacutes desarrollando y tendraacute creencias y necesidades similares lo que los hace a veces difiacutecil de tratar y cada uno requiere de una forma de persuasioacuten distinta

Si haces clic en el botoacuten que mira ha-cia el oeste en la barra de navegacioacuten su-perior te llevaraacute al centro de comunica-ciones Aquiacute puedes ponerse en contacto con tus agentes e intentar solventar sus problemas Agnis te ayudaraacute a traducir lo que tus agentes te esteacuten diciendo Pue-des ver las pequentildeas peliacuteculas de viacutedeo de los agentes cuando hablan contigo haciendo que parezca una transmisioacuten de viacutedeo Con la ayuda de Agnis inten-tas resolver sus problemas Esto incluye temas como la poliacutetica donde tienes que elegir quieacuten debe ser el liacuteder de una raza planificar asesinatos de liacutederes rebeldes con el fin de evitar levantamientos o de-cidir si ayudas a los rebeldes con el fin de matar a un emperador tirano

Por otro lado tambieacuten tienes que dar consejos sobre coacutemo protegerse ante un duro invierno coacutemo evitar que to-men decisiones equivocadas que lue-go puedan conducirles a cataacutestrofes o

antildeos atraacutes en el pasado soacutelo existe un planeta habitado con Microids ninguacuten otro con otra especie Tienes que elegir un planeta en el que quieres desarrollar las cuatro razas diferentes Cada una re-quiere de un haacutebitat distinto

Desde aquiacute puedes fijar una ruta a traveacutes del espacio y el tiempo con el fin de ayudar a las especies en su desar-rollo Sugerencia Viajar en el tiempo y el espacio consume combustible y soacutelo pue-des recargar combustible en los gi-

gantes gaseosos Por lo que es buena idea que crees tu raza en un planeta que se encuentre cerca de un gigante gaseoso Hay un botoacuten que activa o desactiva los planetas que no tienen gigantes gaseosos

En la esquina inferior derecha de esta pantalla puedes ver el botoacuten del histo-grama tu mejor amigo En el histograma ves todos los eventos que tienen lugar y cada paso representa 100 antildeos de desar-rollo Los nuevos inventos estaacuten marca-dos con un borde verde los bordes rojos indica crisis

Aquiacute es donde el juego se complica Tienes que ayudar a la raza a pasar las crisis o incluso prevenir que las crisis lleguen a producirse A menudo hay diferentes soluciones a un problema con diferentes resultados y aquiacute es donde el juego tambieacuten se vuelve interesante

Tienes diferentes formas de interac-cioacuten para desarrollar una raza y la forma maacutes comuacuten es la de comunicarte con un representante de la especie Este repre-sentante es conocido como Agent que es un ser modificado de las especies que ayudas Soacutelo eacutel sabe de tu existencia y del

Para luchar contra los enemigos manteacuten pulsado el botoacuten derecho del ratoacuten y mueacutevelo en la direccioacuten que desees Un pequentildeo punto rojo indica la ubicacioacuten del enemigo maacutes cercano Pulsa el botoacuten izquierdo para disparar a tu enemigo

La lucha contra tu otro yo es bas-tante faacutecil y normalmente escapas tras un par de golpes El combate contra los otros enemigos es algo maacutes difiacutecil ya que a menudo son maacutes numerosos y mien-tras luchas contra uno otro puede venir por detraacutes y atacarte El panel de infor-macioacuten de color rojo en la parte superior se convierte en un ldquoespejo retrovisorrdquo que muestra los enemigos que te atacan por detraacutes Ademaacutes tu nave puede da-ntildearse y si la averiacutea es demasiado grande huiraacutes automaacuteticamente de la escena y te dirigiraacutes al centro del universo al uacutenico planeta donde no se puede crear ninguna especie Asiacute que en realidad nunca pu-edes morir

A la vista principal se puede llegar a traveacutes del botoacuten que apunta hacia el norte en la parte superior izquierda de la barra de navegacioacuten La navegacioacuten es probablemente el sistema maacutes impor-tante que tienes Si hace clic en el botoacuten

que mira hacia el este en el panel de navegacioacuten superior se puedes ir al mapa de la galaxia y al sistema de navegacioacuten

En el sistema de navegacioacuten recopi-las toda la informacioacuten que necesitas para planificar tu proacuteximo paso El mapa de galaxia te muestra lo que se ve en la galaxia y coacutemo se distribuyen las diferen-tes especies Puesto que empiezas 10000

Mapa de la galaxia del sistema de nave-gacioacuten no soacutelo para moverte en el espacio sino tambieacuten para viajar en el tiempo

El histograma que muestra todos los even-tos importantes del desarrollo de las razas es una herramienta muy importante

Dos de las diferentes especies con las que tienes que lidiar en el juego los in-sectos Entomon y los reptiles reptoides

JUEGOS LINUX

ODROID MAGAZINE 12

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 12: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

gran plan Sabe que puedes alterar los acontecimientos en el tiempo y es por ello que puede ver lo que sucederaacute en el futuro Auacuten asiacute el Agent es parte de la raza que estaacutes desarrollando y tendraacute creencias y necesidades similares lo que los hace a veces difiacutecil de tratar y cada uno requiere de una forma de persuasioacuten distinta

Si haces clic en el botoacuten que mira ha-cia el oeste en la barra de navegacioacuten su-perior te llevaraacute al centro de comunica-ciones Aquiacute puedes ponerse en contacto con tus agentes e intentar solventar sus problemas Agnis te ayudaraacute a traducir lo que tus agentes te esteacuten diciendo Pue-des ver las pequentildeas peliacuteculas de viacutedeo de los agentes cuando hablan contigo haciendo que parezca una transmisioacuten de viacutedeo Con la ayuda de Agnis inten-tas resolver sus problemas Esto incluye temas como la poliacutetica donde tienes que elegir quieacuten debe ser el liacuteder de una raza planificar asesinatos de liacutederes rebeldes con el fin de evitar levantamientos o de-cidir si ayudas a los rebeldes con el fin de matar a un emperador tirano

Por otro lado tambieacuten tienes que dar consejos sobre coacutemo protegerse ante un duro invierno coacutemo evitar que to-men decisiones equivocadas que lue-go puedan conducirles a cataacutestrofes o

antildeos atraacutes en el pasado soacutelo existe un planeta habitado con Microids ninguacuten otro con otra especie Tienes que elegir un planeta en el que quieres desarrollar las cuatro razas diferentes Cada una re-quiere de un haacutebitat distinto

Desde aquiacute puedes fijar una ruta a traveacutes del espacio y el tiempo con el fin de ayudar a las especies en su desar-rollo Sugerencia Viajar en el tiempo y el espacio consume combustible y soacutelo pue-des recargar combustible en los gi-

gantes gaseosos Por lo que es buena idea que crees tu raza en un planeta que se encuentre cerca de un gigante gaseoso Hay un botoacuten que activa o desactiva los planetas que no tienen gigantes gaseosos

En la esquina inferior derecha de esta pantalla puedes ver el botoacuten del histo-grama tu mejor amigo En el histograma ves todos los eventos que tienen lugar y cada paso representa 100 antildeos de desar-rollo Los nuevos inventos estaacuten marca-dos con un borde verde los bordes rojos indica crisis

Aquiacute es donde el juego se complica Tienes que ayudar a la raza a pasar las crisis o incluso prevenir que las crisis lleguen a producirse A menudo hay diferentes soluciones a un problema con diferentes resultados y aquiacute es donde el juego tambieacuten se vuelve interesante

Tienes diferentes formas de interac-cioacuten para desarrollar una raza y la forma maacutes comuacuten es la de comunicarte con un representante de la especie Este repre-sentante es conocido como Agent que es un ser modificado de las especies que ayudas Soacutelo eacutel sabe de tu existencia y del

Para luchar contra los enemigos manteacuten pulsado el botoacuten derecho del ratoacuten y mueacutevelo en la direccioacuten que desees Un pequentildeo punto rojo indica la ubicacioacuten del enemigo maacutes cercano Pulsa el botoacuten izquierdo para disparar a tu enemigo

La lucha contra tu otro yo es bas-tante faacutecil y normalmente escapas tras un par de golpes El combate contra los otros enemigos es algo maacutes difiacutecil ya que a menudo son maacutes numerosos y mien-tras luchas contra uno otro puede venir por detraacutes y atacarte El panel de infor-macioacuten de color rojo en la parte superior se convierte en un ldquoespejo retrovisorrdquo que muestra los enemigos que te atacan por detraacutes Ademaacutes tu nave puede da-ntildearse y si la averiacutea es demasiado grande huiraacutes automaacuteticamente de la escena y te dirigiraacutes al centro del universo al uacutenico planeta donde no se puede crear ninguna especie Asiacute que en realidad nunca pu-edes morir

A la vista principal se puede llegar a traveacutes del botoacuten que apunta hacia el norte en la parte superior izquierda de la barra de navegacioacuten La navegacioacuten es probablemente el sistema maacutes impor-tante que tienes Si hace clic en el botoacuten

que mira hacia el este en el panel de navegacioacuten superior se puedes ir al mapa de la galaxia y al sistema de navegacioacuten

En el sistema de navegacioacuten recopi-las toda la informacioacuten que necesitas para planificar tu proacuteximo paso El mapa de galaxia te muestra lo que se ve en la galaxia y coacutemo se distribuyen las diferen-tes especies Puesto que empiezas 10000

Mapa de la galaxia del sistema de nave-gacioacuten no soacutelo para moverte en el espacio sino tambieacuten para viajar en el tiempo

El histograma que muestra todos los even-tos importantes del desarrollo de las razas es una herramienta muy importante

Dos de las diferentes especies con las que tienes que lidiar en el juego los in-sectos Entomon y los reptiles reptoides

JUEGOS LINUX

ODROID MAGAZINE 12

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 13: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

to de nuevos inventos que se remontan a cientos de antildeos por lo que se necesita menos tiempo para desarrollar la especie Esto puede ser crucial ya que cuando llegan a un IQ de 300 puedes darles los planos de las partes que le faltan a tu nave que tardariacutean miles de antildeos en construir Y tienen que hacerlo antes de que sean atacados por los Microids Por lo tanto acelerar el desarrollo es a menu-do crucial para alcanzar tus objetivos

Sugerencia Si un invento da a tu gente un IQ de 100 puede extraer el in-vento desde su liacutenea temporal y puedes volver a donde teniacutean un IQ de 80 y dar-les el invento unos cientos de antildeos antes para acelerar su desarrollo En ocasiones hablar no es suficiente para resolver un problema en un planeta y no puedes detener una disputa entre los diferentes liacutederes utilizando un simple invento Asiacute que de vez en cuando tienes que tomar medidas maacutes draacutesticas para que dejen de matarse entre ellos o simplemente para ver coacutemo estaacute la situacioacuten incluso si esto significa que tienes que bajar al planeta y volar un edificio con el liacuteder de un bando enemigo dentro Por ello cuentas con una pequentildea nave que es capaz de bajar a la superficie del planeta donde se puede atacar un edificio y hacerlo estallar con

Si tienes eacutexito una tormenta tem-poral sacudiraacute tu nave y la historia de la especie cambiaraacute Luego puedes volver al sistema de navegacioacuten y comprobar el histograma para ver coacutemo ha cambiado el desarrollo de la especie Sugerencia Dado que algunos cambios pueden te-ner consecuencias mil antildeos maacutes tarde lo mejor es guardar la partida antes de cada interaccioacuten con una especie y asiacute poder deshacer lo que has hecho

Otra forma de interactuar con la es-pecie es utilizar el transportador de tu nave Al igual que en Star Trek puedes utilizar el transportador para llevar ob-jetos a tu nave y devolverlos al planeta Se puede acceder al transportador con botoacuten que mira al sur en la barra de navegacioacuten superior izquierda

En primer lugar haz clic en el botoacuten

scan y veraacutes una animacioacuten de coacutemo el ordenador busca un templo Este templo interactuacutea contigo Los nuevos inventos son colocados alliacute para que puedas coger-los o si estaacute vaciacuteo puedes colocar uno

El transporte de inventos puede ser uacutetil de diferentes formas A veces un invento que pareciacutea ser una buena idea como son los perforadores soacutenicos para recursos mineros puede causar cataacutestro-fes maacutes adelante como terremotos Pero tambieacuten puede acelerar el descubrimien-

ayudarles a desarrollar nuevos inventos que les permitan defenderse de los ene-migos Hay muchos temas diferentes a los que necesitas hacer frente y esto es lo que realmente hace interesante al juego Las decisiones que tomes pueden tener pequentildeas repercusiones al principio pero tambieacuten pueden suponer un gran impacto mil antildeos despueacutes en el futuro

iquestDeberiacutea ser radicada una mutacioacuten antes de que contamine una sociedad ldquopurardquo deberiacutea ignorarse y posteri-ormente ser curada o esta mutacioacuten menor podriacutea ser vital en el futuro iquestDe-beriacuteas elegir un liacuteder fuerte un dictador que lleve a las personas a la guerra y a la dominacioacuten o deberiacuteas elegir un paci-fista que desee la paz y la cooperacioacuten con el resto iquestFrenara el dictador el creci-miento una vez que esteacute satisfecho y no veraacute lugar para maacutes cambios o la paz de mil antildeos con un pacifista daraacute como re-sultado una raza deacutebil que simplemente no quiera aventurarse en el espacio para conquistar nuevos mundos iquestCoacutemo pue-des prevenir una guerra entre dos razas iquestO deberiacuteas maacutes bien acelerar el desar-rollo aunque sea haciendo uso de ar-mamento militar iquestEs mejor combatir el cambio climaacutetico con grandes fuegos en todo el planeta que mantengan un cierto nivel de calor o esto contaminaraacute cons-tantemente el medio ambiente iquestO de-briacuteas hacer pequentildeos incendios y reunir a muchas gente en un mismo espacio a pesar de que esto podriacutea conducir a la escasez de alimentos el canibalismo o simplemente a la falsas creencias A veces incluso hay que resolver ciertos asuntos religiosos para que las especies vayan por la direccioacuten correcta

Hay muchas maacutes cosas que tienes que decidir pero tambieacuten tienes que hacer frente a las diferentes creencias y personalidades de tus agentes Algunos pueden ser de gran ayuda e intentan hacer lo que dices y otros necesitan que sean maacutes convincente con explicaciones loacutegicas realizando debates o usando sus propias creencias contra ellos A algunos incluso podriacuteas tratar de engantildear

primero entra en oacuterbita luego busca el templo

Asiacute es como transportar un invento a tu nave

Mira esto ahora tenemos arco y flechas

JUEGOS LINUX

ODROID MAGAZINE 13

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 14: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

partida continuamente y en diferen-tes ranuras en caso de que algo salga mal puedes volver atraacutes e intentarlo de nuevo Me he dado cuenta que lo mejor es sembrar una especie y cen-trarse en terminar su desarrollo antes de parar a la siguiente Aunque apa-rentemente podriacuteas ir maacutes raacutepido te-niendo varias especies a la vez soacutelo conseguiraacute viajar continuamente en el tiempo y el espacio intentando solu-cionar sus problemas Es mucho maacutes faacutecil centrarse en una sola especie ya que las especies son muy diferentes en cultura y te puede resultar muy difiacutecil intentar cambiar la forma de pensar de una mente paciacutefica que soacutelo piensa en la evolucioacuten de la especie en una raza guerrera que soacutelo se nutre de los con-tinuos conflictos y del peligro de llegar a extinguirse

Trata de identificarte con las cre-encias de una especie Una especie agresiva podriacutea no seguir tus oacuterdenes si le pides de forma agradable que haga lo que tuacute quieres pero si los amenazas con matarlos a todos si no te obede-cen podriacutean convencerlos Con una especie maacutes bien religiosa puede que tengas que pensar en coacutemo orientar sus creencias para alcanzar tus metas o simplemente recordaacutendoles por queacute

el botoacuten que apunta hacia el norte en el panel inferior del lado izquierdo Viajar en el tiempo y el espacio con-sume combustible y hay que recargar en un gigante gaseoso Para ello debes sobrevolar el gigante gaseoso y reco-ger el combustible El combustible no solo se utiliza para viajar en el tiempo y el espacio sino tambieacuten para reparar la nave si es dantildeada en combate Hay diferentes tamantildeos de gigantes gaseo-sos que permiten recoger diferentes cantidades de combustible cuando se sobrevuelan Incluso podriacuteas exceder la capacidad maacutexima de combustible que puedes llevar pudiendo dantildear la nave si recoger maacutes de lo que puedes car-gar Ademaacutes volar cerca de un gigante gaseoso dantildea tus escudos de calor y en funcioacuten del tamantildeo del gigante gas-eoso esto seraacute maacutes o menos peligroso

Sugerencia Es muy praacutectico es-tablecer tu especie en un planeta que tenga su propio gigante gaseoso En el mapa de galaxia puede elegir ver uacuteni-camente los planetas que tienen gigan-tes gaseosos De esta forma no tiene que volar a otro sistema cuando tengas que reabastecerte o reparar tu nave

Consejo estrateacutegicoLo maacutes importante es guardar la

las armas que incorpora Esto puede ser necesario para matar

a un liacuteder enemigo que es inalcanzable para tu agente o matar al agresor de una especie diferente que vive en el planeta y amenaza con matar a tu

gente A veces incluso es necesario tan-tear el terreno para que tu agente real-mente haga lo que le pides

Sugerencia Atacar el planeta con la nave es poco comuacuten Si atacas cual-quier edificio sin ldquoser necesariordquo corres el riesgo de matar a toda la especie no importa lo insignificante que sea el edi-ficio Al instante sabraacutes si atacar el pla-neta es lo que hay que hacer o si tienes que buscar una solucioacuten diferente La nave se pone en marcha desde el botoacuten de enfrente que mira hacia el este en el panel inferior izquierda de la nave

El uacuteltimo sistema de tu nave es la estacioacuten de recarga y reparacioacuten de da-ntildeos a la que se puede llegar utilizando

El descenso de la nave a la superficie del planeta es uno de los videos del juego y va cambiando dependiendo del planeta que visitas

Una tarea muy importante es recargar tu nave en un gigante gaseoso el liacutequido burbu-jeante representa la cantidad de combustible de tus tanques

JUEGOS LINUX

ODROID MAGAZINE 14

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 15: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

los enviaste a ese planetaSi es posible extrae inventos y colocarlos al inicio de la

liacutenea temporal para que las especies se desarrollen maacutes raacute-pido Mueve un puntildeado de inventos uno o dos siglos antes cada vez que gestiones mil antildeos de desarrollo que podriacutea ser los mil antildeos que necesitas para terminar el dispositivo que te permita salir de la galaxia antes de que los Microids intenten atacar la especie

Echa un vistazo a todos los eventos del histograma ya que no todos los eventos o inventos pueden ser importantes o tiene alguna influencia pero maacutes tarde puede causar se-rios problemas Intenta sembrar las diferentes especies tan alejadas como te sea posible de los Microids pero tambieacuten alejadas entre ellas Una especie podriacutea desarrollar naves es-paciales antes que otra raza y cuando empiecen a expandir su territorio podriacutean atacar a las especies que actualmente estaacuten en desarrollo y te veraacutes obligado a luchar contra tu propia creacioacuten Por lo tanto aseguacuterate de que no se ldquoen-cuentrenrdquo unos a otros demasiado pronto

ConclusionMe gusta mucho este juego y ha sido uno de mis favori-

tos desde siempre aunque no es muy conocido y es por eso que lo considero una joya de los juegos raros El juego es fascinante tienes que asimilar decisiones poliacuteticas asiacute como hacer frente a creencias religiosas y otros aspectos de una sociedad Las diferentes especies son uacutenicas y el modo con el que trabajes con una especie puede no funcionar con otra El juego es rico en variedad a menudo me absorbe durante horas tratando de conseguir que una determinada especie esteacute justamente donde yo quiero

Las escenas de viacutedeo son muy buenas para su eacutepoca y siento un poco de pena por la persona que teniacutea que llevar el vestuario de cada una de las especies pero asiacute realmente lo incluiacutea la configuracioacuten Si no has jugado a este juego to-daviacutea deberiacuteas dedicarle algo de tiempo y si ya has jugado iquestPor queacute no echas otra partida con ayuda de tu ODROID en la gigante TV de tu saloacuten

iexclCuando completes est juego echaraacutes de menos tanto tu nave que empezaraacutes a jugar de nuevo

JUEGOS LINUX

KunG fuRy STREET RAGE LA pEOR pELICuLA jAMAS HECHA En yOuTubE ES AHORA EL pEOR juEGO jAMAS CREADOpor Bruno Doiche

Si consiguieras enca-llar en una isla sin tu ODROID y sin acceso

a Youtube podriacuteas haberte perdido el fenoacutemeno basura que fue Kung Fury Si todaviacutea no sabes de lo que estoy hablando ve a httpswwwyoutube

comwatchv=bS5P_LAqiVg Espera a ver y continua leyendo iexclLo seacute Impresionante iquestverdad Imagiacutenate si hubiese un juego de esta peliacutecula iexclBueno aquiacute estaacute Ve a por eacutel

httpsplaygooglecomstoreappsdetailsid=se

hellotherekungfurygameamphl=en

JUEGOS ANDROID

ODROID MAGAZINE 15

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 16: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

Como programadores y desarrolla-dores generalmente usamos dife-rentes herramientas para crear

aplicaciones y no es muy distinto con Android Necesitamos herramientas que nos permitan acelerar el coacutedigo la depu-racioacuten y las pruebas iexclal tiempo que no nos volvamos locos con la depuracioacuten Desde comienzos de antildeo he cambiado a Android Studio para continuar desa-rrollando con Android ya que Google ha dejado de mantener ADT (Android De-velopment Toolkit) para Eclipse ADT era un plugin para Eclipse aportado por Google para desarrolladores como lo era el IDE de facto (Entorno de Desarrollo Interactivo) para el desarrollo de Java Ahora cualquier persona que quiera de-sarrollar en Android tendraacute que utilizar Studio como herramienta principal

Al igual que cualquier otro software Estudio a veces contiene errores que se van depurando en versiones posteriores Puesto que es un proyecto de coacutedigo a-bierto los desarrolladores no tienen que esperar mucho tiempo para la siguiente versioacuten ya que tan pronto como se agregan parches o nuevas caracteriacutesticas al repositorio de coacutedigo fuente simple-mente tenemos que descargarlo y com-pilarlo en local para empezar a usarlo En este artiacuteculo voy a explicar el pro-ceso de compilacioacuten de Estudio desde el coacutedigo fuente bajo Linux y asiacute podraacutes utilizarlo como tu IDE diario Para ello voy a usar Ubuntu 1404 de 64 bits sin embargo se puede utilizar cualquier distribucioacuten de Linux o Mac OS

Requisitos previosNecesitas tener instalado JDK de O-

DESARROLLO AnDROID COMpILAnDO AnDROID STuDIOpor nanik tolaram

DESARROLLO ANDROID

racle que puedes descargar desde httpbitly196ebsY Utiliza el siguiente co-mando para crear los enlaces simboacutelicos correspondientes que apunten a java javac y otras herramientas para la cor-recta ubicacioacuten de JDK

$ sudo update-alternatives --in-

stall ldquousrbinjavardquo ldquojavardquo

ldquohomenanikDownloads

jdk170_79binjavardquo 1071

$ sudo update-alternatives

--install ldquousrbinjavacrdquo

ldquojavacrdquo

ldquohomenanikDownloads

jdk170_79binjavacrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavawsrdquo

ldquojavawsrdquo

ldquohomenanikDownloads

jdk170_79binjavawsrdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavaprdquo

ldquojavaprdquo

ldquohomenanikDownloads

jdk170_79binjavaprdquo 1071

$ sudo update-alternatives

--install ldquousrbinjavadocrdquo

ldquojavadocrdquo

ldquohomenanikDownloads

jdk170_79binjavadocrdquo 1071

Tambieacuten debes instalar las siguientes herramientas Tras la descarga extrae el Apache Ant y colocarlo en cualquier car-peta local

bull gitbull Apache Ant (descargado desde

antapacheorg)

Verificar la fuenteEl coacutedigo fuente de Studio se en-

cuentra alojado en el mismo lugar que el coacutedigo de Android en httpbitly1GWeQwC El paso para la verifi-cacioacuten del coacutedigo es el mismo que An-droid usando la herramienta repo que se puede descargar usando el comando

$ curl httpsstorage

googleapiscomgit-repo-

downloadsrepo gt

~binrepo

$ chmod 777 ~binrepo

A continuacioacuten utiliza los siguientes comandos para verificar el coacutedigo

$ mkdir studio-14-dev

$ cd studio-14-dev

ODROID MAGAZINE 16

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 17: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

DESARROLLO ANDROID

figura 1 pack de Android studio para 3 plataformas

Cambia al directorio studio-14-devtoolsideas y aseguacuterate de que el directorio bin del Apache Ant estaacute incluido en la variable PATH Por ejemplo el miacuteo se encuentra en homenanikapache-ant-19bin Una vez dentro del directorio inicia el proceso de compilacioacuten ejecutando el comando ant

$ ant

Veraacutes un registro log similar al de abajo cuando se completa el proceso de construccioacuten

Buildfile homenanikstudio-14toolsideabuildxml

cleanup

init

[mkdir] Created dir homenanikstudio-14

toolsideaout

[mkdir] Created dir homenanikstudio-14

toolsideaouttmp

build

[java] Buildfile homenanikstudio-14tools

ideabuildgantxml

[java]

[java] doGant

[java] lsquohomersquo is not defined Defaulting to lsquo

homenanikstudio-14toolsidearsquo

[java] default

[java] compile

hellip

hellip

[java] Build log (info) will be written to

homenanikstudio-14toolsideaouttmpsystem

build-logbuildlog

[java] Loaded project homenanikstudio-14

toolsidea 264 modules 80 libraries

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistwince

$ repo init -u httpsandroidgooglesourcecomplat-

formmanifest

-b studio-14-dev

$ repo sync -j4 --no-clone-bundle

CompilacioacutenCompilar Studio es sencillo ya que utiliza Ant como proceso

de compilacioacuten los extractos de buildxml se muestran debajo El archivo buildxml se puede encontrar dentro del directorio studio-14-devtoolsidea

lt--

This build script compiles IntelliJ IDEA Options

include

-Dout=pathtooutdir defaults to $basedir

out

-Dbuild=123 defaults to SNAPSHOT

-Dtestpatterns=comfoo defaults to empty

string

-Dproduct=foo defaults to studio

--gt

ltproject name=rdquoIntelliJ IDEA Community Editionrdquo

default=rdquoallrdquogt

ltproperty name=rdquoprojecthomerdquo value=rdquo$basedirrdquogt

ltcondition property=rdquooutdirrdquo value=rdquo$outrdquo

else=rdquo$projecthomeoutrdquogt

ltisset property=rdquooutrdquo gt

ltconditiongt

ltcondition property=rdquobuildnumberrdquo value=rdquo$buildrdquo

else=rdquoSNAPSHOTrdquogt

ltisset property=rdquobuildrdquo gt

ltconditiongt

ltcondition property=rdquotestpatternsrdquo

value=rdquo$testpatternsrdquo

else=rdquoorgjetbrainsandroidcom

androidtoolsideacomgooglegctcomintellij

androidrdquogt

ltisset property=rdquotestpatternsrdquo gt

ltconditiongt

hellip

hellip

hellip

lttarget name=rdquoallrdquo depends=rdquocleanupbuildfullupda

terrdquogt

ltprojectgt

ODROID MAGAZINE 17

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 18: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

lar a la Figura 4 Todo lo que tienes que hacer es seguir las instrucciones para localizar tu JDK y SDK cuando se te soli-citen Completa la pantalla que se muestra en la Figura 5 con la ubicacioacuten correcta

Habilitar por ti mismo el IDE te permitiraacute mantenerte siempre al diacutea de los uacuteltimos cambios lo cual te proporciona un extra que te ayudaraacute a desarrollar tu aplicaciones mucho maacutes raacutepido

[java] [mkdir] Created dir homenanikstu-

dio-14toolsideaoutdistallce

hellip

hellip

hellip

[java] [tar] Building tar homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

[java] [gzip] Building homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtargz

[java] [delete] Deleting homenanik

studio-14toolsideaoutartifactsandroid-studio-

SNAPSHOTtar

hellip

hellip

[java] [jar] Building jar homenanik

studio-14toolsideaout___tmp____0updaterjar

[java] [copy] Copying 1 file to homenanik

studio-14toolsideaout

[java] ------ default

[java]

[java] BUILD SUCCESSFUL

EjecucioacutenSi la compilacioacuten se realiza correctamente obtendraacutes Studio

empaquetado dentro de studio-14toolsideaoutartifacts para 3 plataformas diferentes Windows Mac y Linux como se muestra en la Figura 1

Puesto que uso Linux extraje el archivo android-studio- SNAPSHOTtargz cuyo contenido se muestran en la Figura 2 Para iniciar Studio basta con ejecutar el studiosh dentro del directorio bin

Si tienes el SDK instalado seraacute detectado automaacuteticamente por Studio De lo contrario veraacutes una pantalla que te indica que tienes que descargar el SDK tal y como se muestra en la Figura 3

Una vez finalizada la descarga apareceraacute una pantalla simi-

Contenido de android-studio-snApsHOttargz

Descargar sDkConfigurar sDk

Configuracioacuten de la ubicacioacuten correcta del sDk y JDk

Listo para crear tu impresionante aplicacioacuten Android

DESARROLLO ANDROID

ODROID MAGAZINE 18

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 19: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

Constructor without default

state (set to LOW)

public GPIOPin(OdroPin pin

PinMode mode)

jODROLIbRERIA jAvA pARA COnTROLAR LOS pInES GpIO DEL ODROID-C1por ChromoDeveditado por rob roy

figura 1 ndash Distribucioacuten GpiO

ledshutdown()

inshutdown()

))

while(true)

ledtoggle()

Systemout

println(inread())

try

Thread

sleep(delay)

catch

(InterruptedException ex)

Logger

getLogger(MainclassgetName())

log(LevelSEVERE null ex)

En primer lugar tienes que definir un pin GPIO que es una representacioacuten software de un pin hardware Para este pin tienes que definir queacute pin hardware quieres seleccionar por ejemplo (Odro-PinGPIO_24) en queacute direccioacuten de-beriacutea funcionar el pin (pinModeOUT) y opcionalmente el valor por defecto (como PinState LOW) Despues puedes manipular o leer el pin conforme a la figura 1

Al final del programa tienes que ce-rrar los pines que se restablecen por de-fecto (bajo y entrada) y sin exportarlos

Clase GPIOPinLa clase GPIOPin representa el pin

hardware en el coacutedigo

Empeceacute a escribir esta libreriacutea porque no lograba encontrar una libreriacutea Java como Pi4j para

ODROID-C1 Este proyecto se encuen-tra en desarrollo si tienes alguna idea para mejorarlo o incluir nuevas funcio-nes ponte en contacto conmigo a traveacutes del enlace incluido al final del artiacuteculo

InstalacioacutenDescarga el proyecto desde http

bitly1RROajs y agrega jOdrojar desde la carpeta dist a tu proyecto Ejecuta el siguiente comando en tu Odroid para dar a la libreriacutea los permisos necesarios

$ sudo chmod 222 sysclassgpio

export sysclassgpiounexport

UsoDe momento puedes ajustar y leer un

pin Aquiacute tienes un proyecto de ejemplo para que empieces a usar jOdro

public class Tester

private static final int delay

= 500

GPIOPin led

GPIOPin in

public void startTest()

led = new

GPIOPin(OdroPinGPIO_24 PinMode

OUT PinStateLOW)

in = new GPIOPin(OdroPin

GPIO_23 PinModeIN)

RuntimegetRuntime()

addShutdownHook(new Thread(() -gt

JAVA GPIO

ODROID MAGAZINE 19

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 20: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

JAVA GPIO

public string toString()

PinModeLa clase pinMode representa el modo

del pin en el coacutedigo

Constant for input

PinStateIN

Constant for output

PinStateOUT

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the mode state as a

boolean

public boolean toBool()

Returns the mode as a int

public int toInt()

Returns the mode as a String

public String toString()

OdroPinLa clase OdroPin representa la direc-

cioacuten del pin en el coacutedigo

Returns the value which is

used to control the GPIOs

public int getOdroidCode()

Returns the function of a

pin If there is no function it

returns the number

public string getLabel()

Returns the GPIO number in the

WiringPi Protokol

public int getWiringPin()

Para preguntas comentarios o sug-erencias por favor visita el reposito-rio jOdro de GitHub en httpbitly1HweC2B

Constructor with default State

public GPIOPin(OdroPin pin

PinMode mode PinState state)

Sets the state of the pin to

low

public void low()

Sets the state of the pin to

high

public void high()

Reverses the state of the pin

public void toggle()

Reads the state of the pin

public PinState read()

Shuts down the pin

public void shutdown()

Returns the constant for the

pin

public OdroPin getPin()

Returns the mode of the pin

public PinMode getMode()

PinStateLa clase PinState representa el valor

del pin en el coacutedigo

Constant for a low value

PinStateLOW

Constant for a high value

PinStateHIGH

Returns the value which is

used to control the GPIOs

public string getCode()

Returns the state state as a

boolean

public boolean toBool()

Returns the state as an

integer

public int toInt()

Returns the state as a string

SEnSACIOn DE pAzGEnERADOR DE RuIDO bLAnCOpor Bruno Doiche

T iene compantildeeros de trabajo in-sensibles que piensan que los teclados ruidosos estaacuten de moda

en el 2015 Un robot Roomba limpia tu piso de forma automaacutetica mientras que tuacute intentas gestionar un par de ho-jas de caacutelculo iexclSi este es tu caso pillate un generador de ruido blanco

$ sudo apt-get install sox

Ruido blanco

$ play -n synth 6000 whitenoise

Ruido marroacuten

$ play -n synth 6000 brownnoise

Ruido rosa

$ play -n synth 6000 pinknoise

Disfruta de tu propio espacio personal durante toda una hora Si te gusta y quiere mantenerlo indefinidamente soacutelo tienes que usar el temporizador de 60 minutos aunque los tiacutempanos pueden molestarte de vez en cuando

TRUCOS Y CONSEJOS

ODROID MAGAZINE 20

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 21: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

ATRIL COn ODROID-C1SESIOn DE MuSICA COn ESTILOpor ivan reede

A l formar parte de unas cuantas bandas de muacutesica y una orquesta tengo que llevar muchos cuadernos con partituras Me resulta muy incomodo transpor-

tar tantos cuadernos averiguar queacute partituras necesitaba en cada caso y no olvidar los cuadernos especiacuteficos que necesito para practicar en cada banda en concreto Para miacute el papel es un medio muy primitivo a la hora de transpor-tar partituras que tiene varias dificultades antildeadidas Como soy ingeniero y muacutesico decidiacute crear un atril electroacutenico

Primero intenteacute usar una tablet de 10rdquo para reemplazar las hojas de papel pero la pantalla era demasiado pequentildea Teniacutea una buena aplicacioacuten en la tablet que era perfecta para reproducir la muacutesica pero la imagen auacuten no era lo suficientemente grande Queriacutea algo que me permitiera mostrar dos paacuteginas de lado a lado como mi atril Al tocar el saxofoacuten ambas manos las tengo ocupadas y utilizar una pantalla taacutectil para pasar las hojas me representa un pro-blema Intente usar un pedal de pie pero eso soacutelo suponiacutea tener que acarrear con otra cosa maacutes

Mi aventura con la tablet llegoacute a su fin cuando mi fraacutegil atril se balanceo y la tablet se cayoacute al suelo agrietaacutendose la pantalla Definitivamente necesitaba algo mejor Empeceacute escribiendo las especificaciones del nuevo atril Me ima-ginaba utilizando un soporte estaacutendar un monitor un or-denador y unas bateriacuteas recargables todo mecaacutenicamente acoplado en una sola unidad funcional

Especificaciones SoportePlaca posterior Placa de 135rdquo x 19rdquo con una balda de

2rdquo con bordes redondos Orificios para sujetar el soporte del microacutefono Tiradores de inclinacioacuten para adaptar los aacutengulos de visioacuten

Sistema de ajuste a media altura botoacuten de bloqueo ajustable en altura desde 24rdquo (sentado) a 45rdquo (de pie)

Base triacutepode robusto con patas de goma antideslizantes y brazo extensible que se pliega faacutecilmente para los viajes

Especificaciones MonitorQueriacutea que fuese capaz de mostrar al menos 2 paacuteginas

de muacutesica al mismo tiempo con un tamantildeo aproximado de 85rdquo x 11rdquo El monitor teniacutea que encajar muy bien en la plataforma y ser montado con firmeza Necesitaba una pantalla anti-reflejos para evitar los reflejos del sistema de iluminacioacuten del escenario y de la luz de sol La imagen teniacutea que ser visible fuera a plena luz del diacutea y el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas hasta tener que volver a recargarlas

Especificaciones OrdenadorEl equipo teniacutea que ser pequentildeo y ligero con suficiente

espacio de almacenamiento para guardar una gran cantidad de muacutesica con una salida HDMI para conectar al monitor y puertos USB que permitiesen la faacutecil transferencia de

MUSICA ODROID

ODROID MAGAZINE 21

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 22: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

datos capaz de soportar WiFi y perifeacutericos Bluetooth Al igual que el monitor teniacutea que ser capaz de funcionar con bateriacuteas durante al menos 6 horas

He encontrado un monitor HMDI de 22 pulgadas con una fuente de alimentacioacuten externa de 20V que tiene aproximadamente la misma anchura que la parte poste-rior del atril Para asegurar el monitor le quiteacute su pedestal y todas sus piezas de plaacutestico manteniendo el marco de metal interior Lo comprobeacute y me asegureacute de que el moni-tor se podiacutea sujetar fuertemente al pedestal sin las piezas de plaacutestico Con un poco de paciencia perforeacute la placa posterior del atril para acoplar la base del monitor Esto fue bastante faacutecil ya que el pedestal utiliza tornillos para sujetar el plaacutestico que normalmente se usan para un atril con pantalla LCD

El sistema operativo de la tablet era en la praacutectica un impedimento Los sistemas operativos de las Tablet estaacuten orientados hacia el consumo de informacioacuten en lugar de la produccioacuten de informacioacuten Por lo tanto me puse a buscar

un sustituto apropiado Linux pareciacutea ser un SO interesante el cual llevo usando desde hace muchos antildeos En su mayor parte es de coacutedigo abierto y dedicaacutendole algo de tiempo puedes hacer que haga lo que tuacute quieras en lugar de lo que quiere la mayoriacutea

Al principio intente usar una Raspberry Pi que no llego a funcionar muy bien Se quedoacute sin memoria bas-tante raacutepido y tras cargar unas diez piezas musicales se volviacutea muy lenta Me llevariacutea unos 20 minutos cargar las hojas de muacutesica que necesitaba para un concierto y el cambio de paacutegi-na llegaba a tardar hasta 30 segundos

Era suficiente para practicar en casa pero seguramente no lo utilizariacutea en una sala de conciertos Auacuten asiacute lo probeacute con mis compantildeeros muacutesicos que se reiacutean de miacute lento ar-tilugio con toneladas de cables fuentes de alimentacioacuten y un ordenador realmente lento Se preguntaban coacutemo po-driacutea llegar alguna vez a sustituir las hojas en papel

Luego aparecioacute un nuevo candidato el ODROID-C1 Teniacutea el doble de memoria cuatro nuacutecleos de CPU apro-ximadamente el doble de velocidad de reloj y una bonita carcasa rectangular asiacute que compreacute tres y les di una opor-tunidad De repente mi atril electroacutenico se convirtioacute en algo mucho maacutes viable Los 20 minutos que necesita para cargar mis piezas musicales para un concierto se reduje-ron a 45 segundos lo cual fue genial Finalmente el atril comenzaba a tener un sentido praacutectico Realmente podiacutea asumir los 45 segundos de tiempo de configuracioacuten en un espectaacuteculo El cambio de paacuteginas era bastante raacutepido pero no lo suficiente todaviacutea

Tras varios intentos finalmente encontreacute un buen visor PDF raacutepido y simple Tan soacutelo teniacutea que poner toda mi

muacutesica en una carpeta abrirla y elegir el archivo en cuestioacuten con un simple doble clic Luego antildeadiacute un icono en el escritorio por concierto Cambie los nombres de los archivo por un nuacutemero de 2 diacutegitos (00 01 02) para que mi muacutesica apareciese por orden de reproduccioacuten estaba empezando a ser divertido El ratoacuten en cambio ha resultado ser un problema en los con-ciertos

Todaviacutea teniacutea un problema de mo-vilidad el hecho de coacutemo alimentar la unidad Teniacutea que cargar con las fuen-tes de alimentacioacuten cables y demaacutes

MUSICA ODROID

para el control ivaacuten ha elegido un impresionante teclado con rueda de desplazamiento

ivaacuten sin duda hizo un gran montaje y puede gestionar la fuente de alimentacioacuten

ODROID MAGAZINE 22

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 23: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

Corriendo en cada concierto en busca de un enchufe alar-gaderas cinta adhesiva para fijar los cables al suelo y asiacute evitar que la gente tropezara Teniacutea que buscar una solu-cioacuten mejor asiacute que compreacute un pack de bateriacuteas USB de potencia de 10Ah y 21 amperios Las pruebas mostraron que el ODROID-C1 podiacutea aguantar 19 horas encendido iexclExcelente Ahora pasariamos al monitor que resultoacute ser un gran reto

El monitor necesita 20 voltios asiacute que penseacute en uti-lizar cuatro bateriacuteas USB de 5 voltios en serie pero me equivoqueacute El monitor tira de una impresionante cantidad de energiacutea cuando se enciende cuando se ilumina y cu-ando se pasa la paacutegina Sin embargo cuando la imagen estaacute fija y no cambia nada el consumo de energiacutea se reduce al miacutenimo Las fuentes de alimentacioacuten se apagaban de forma aleatoria mientras estaba reproduciendo una partitura aun cuando nada cambiaba en pantalla

MUSICA ODROID

El resultado final era que las fuentes de alimentacioacuten se apagaban mientras estaba tocando o cuando pasaba las paacuteginas Descubriacute que podriacutea deberse a que no recibiacutean carga o se produciacutea una sobrecarga

La solucioacuten fue retirar por comple-to la regulacioacuten electroacutenica de las ba-teriacuteas USB Asiacute que destroce las fuen-tes de alimentacioacuten USB y quiteacute las bateriacuteas de Li-ion Coloque las ceacutelulas en paralelo para crear una bateriacutea con la capacidad necesaria amperios-hora Conectando 5 de estas bateriacuteas al-canzaba 21 voltios con carga completa

y 17 voltios cuando se descargaba El regulador interno del monitor puede trabajar con eso Por uacuteltimo fabrique una carcasa para las bateriacuteas y la fije a la parte trasera del atril Este sistema funcional me permitiacutea disponer de 6 horas de autonomiacutea y no tener cables de alimentacioacuten molestos de por medio Lo que es mejor auacuten la mayoriacutea de las cone-xiones seguiacutean en su lugar por lo que la configuracioacuten del atril era muy similar a la de un atril para papel normal

Como sistema de emergencia amplieacute la balda inferior con un clip de modo que ahora si quiero puedo poner las hojas de papel en el soporte Tambieacuten es muy uacutetil para colocar mi teclado Mis compantildeeros muacutesicos estaacuten empe-zando a ver este sistema bastante uacutetil Mejor auacuten con un dongle WiFi conectado al puerto USB y mi teleacutefono como punto de acceso puedo coger cualquier pieza de muacutesica que necesite desde mi servidor personal El C1 puede al-macenar toda la coleccioacuten de muacutesica de la banda sin tener que necesitar impresoras y sin papeles que salen volando en las actuaciones al aire libre iexclRealmente es genial

Antildeadiendo las aplicaciones Lilypond y Frescobaldi puedo escribir muacutesica y hacer correcciones sobre la mar-cha El atril puede reproducir muacutesica y grabar tanto las ac-tuaciones como las praacutecticas permitieacutendome escucharlas maacutes tarde y asiacute estudiar donde puedo mejorar Tambieacuten puede ayudarme a afinar los instrumentos

Con todo esto quisiera dar las gracias a Hardkernel por esta pequentildea maravilla teacutecnica Habeacuteis hecho que mi atril se haga realidad Estaacute listo para acompantildearme a los conci-ertos como si fuese un atril electroacutenico comercial a tamantildeo real Con mi uacuteltimo experimento usando VNC un ayu-dante podiacutea mostrar hojas partituras musicales y mensajes directamente en mi pantalla Lo cual me permitiacutea concen-trarme en la reproduccioacuten de muacutesica en lugar de pasar las paacuteginas El siguiente paso es antildeadir el software necesario que me permita tener una red inalaacutembrica de atriles para bandas y orquestas

todas sus partituras al alcance de sus manos en formato pdf

Los puertos de carga iluminados son una gran ventaja

ODROID MAGAZINE 23

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 24: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

iquestQueacute es DietPiEn esencia DietPi es una ldquoimagenrdquo con una instalacioacuten miacutenima de Ubuntu Hemos desmontado la imagen oficial de Hardkernel eliminando praacutecticamente

todo para ofrecer una imagen baacutesica a la que hemos llamado DietPi-CoreCon Ramlog un servidor SSH Dropbear y ajustes para reducir el uso de memo-

riaCPU la imagen DietPi viene pre-optimizada y lista para ejecutarse

Estadisticas baacutesicasExpansioacuten automaacutetica del sistema de archivos

DietPi ampliaraacute automaacuteticamente tus sistemas de ficheros en el primer reinicio Esto garantiza que podraacutes acceder a toda tu tarjeta MicroSD

ramlogReduce el ES del Sistema de Archivos y ahorra el tener que escribir en la tarjeta

SD al mover varlog a la RAM

DropbearLiviano servidor SSH instalado por defecto Se puede cam-

biar por OpenSSH-Server usando DietPi-Software si necesitas SFTPSCP

soporte Wifi Usando DietPi-Config puedes conectarte con rapidez y con

facilidad a tu red Wifi

Bajo consumo de memoria Ubuntult 98 MB de RAM en el arranque

Bajos recursosUn total de 11 procesos en el arranque

swapfile100mb con swapiness ajustado en 1 (para evitar errores por falta de memoria)

Unidad dedicada UsB opcionalSi tienes previsto usar una unidad USB con tu instalacioacuten DietPi pondraacute en mar-

SO DESTACADODIETpI pARA ODROID-C1por Daniel knight

DIET PI

97 Megabytes usados 12 procesos con HtOp esta es una su-per imagen slim

ODROID MAGAZINE 24

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 25: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

Dietpi tiene su propia libreriacutea de software optimizado

cha tu unidad USB y configuraraacute automaacuteticamente todo el software que se instale en un futuro con DietPi-Software para que use tu dispositivo USB en lugar de la SD

PosibilidadesCompilado desde cero DietPi-Software permite instalar aplicaciones opcionales

las cuales estaacuten pre-configuradas y ldquolisto para ejecutarserdquo con todas las optimizaciones y configuraciones ya realizadas

Si estaacutes buscando un servidor web LAacuteMP (Nginx MySql Php) o la combi-nacioacuten Kodi y servidor BitTorrent DietPi-Software los instala configura y optimiza Las optimizaciones aplicadas incluyen tamantildeo del cache php tamantildeo de cacheacute del servidor bittorrent cantidad de subprocesos Nginxphp5-fpm y muchos maacutes

Con la optimizaciones especificas que se aplican automaacuteticamente a tu hardware DietPi te asegura el maacuteximo rendimiento de tu dispositivo ODROID y del software que decidas instalar

La lista completa de opciones de DietPi la puedes encontrar online por favor visita httpfuzoncoukphpbbviewtopicphpf=8ampt=11p11

ConfiguracioacutenDentro de DietPi-Config puedes cambiar faacutecilmente las opciones de visualizacioacuten

conectar a un red wifi configurar una direccioacuten IP estaacutetica modificar los paraacuteme-tros de la CPU entre otras opciones Con la integracioacuten del cliente Samba NoIp y CurlFtpFs puede acceder faacutecilmente a archivos compartidos en red o asignar a tu dispositivo una direccioacuten web fija con facilidad DietPi-Config es un paraiacuteso para los que le gusta hacer ajustes

InstalacioacutenDescarga la imagen DietPi configura un disco duro USB dedicado e instala el

siguiente software optimizado para DietPi con DietPi-software

bull Owncloud - tu propio sistema personal de backupbull transmission - servidor Bittorrent con interfaz webbull kodi - La cuacutespide de los centros multimediabull servidor web LAMp - Apache2 Mysql pHp-5 (usado por ownCloud)bullservidor samba - para acceder a las descargas de Bittorrent y a los archivos del dispositivo de forma remota

DIET PI

ODROID MAGAZINE 25

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 26: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

InstalacioacutenTambieacuten cubriremos la configuracioacuten de NoIp con DietPi-Config Dale a tu

ODROID-C1 un poco de formalidad Todo lo que necesitaraacutes es

bull ODrOiD-C1bull tarjeta MicrosD de 2 GB o superiorbull Acceso a internet (Ethernet o Wifi para completar la configuracioacuten Dietpi)bull se recomienda un disco duro UsB para las instalaciones del servidor transmission

Bittorrent u ownCloud Dietpi moveraacute automaacuteticamente los datos al disco duro UsB si estaacute instalado

Las guiacuteas y documentacioacuten online estaacuten disponibles aquiacutehttpfuzoncoukphpbbviewtopicphpf=8ampt=9p9

Descarga DietPi para ODROID-C1 en el siguiente enlacehttpgooglUF6I0f

Escribe la imagen en tu tarjeta MicroSD

bull Descomprimeextrae la imagen DietODrOiD7zbull Escribe el archivo de imagen DietODrOiD_vxximg en tu tarjeta MicrosD

La documentacioacuten on-line incluye los meacutetodos para escribir la imagen con Win-dows y Linux

bull inserta la tarjeta microsD en tu dispositivo ODrOiD-C1 y encieacutendelobull Dietpi ampliaraacute automaacuteticamente el sistema de archivos y se reiniciaraacute dos veces

cuando haya terminadobull Cuando aparezca la pantalla de inicio de sesioacuten escribe ldquorootrdquo como nombre de

usuario y ldquoraspberryrdquo como contrasentildea

DietPi tambieacuten viene con un liviano servidor SSH (Dropbear) pre-instalado Simplemente tiene que usar la direccioacuten IP de tu dispositivo ODROID y los datos de acceso anteriores

DietPi comprobaraacute ahora si hay actualizaciones Si se aplican las actualizaciones apareceraacute un aviso para reiniciar el sistema pulso Intro Cuando vuelva a aparecer la pantalla de inicio de sesioacuten vuelve a entrar

Unidad USBDietPi te pediraacute que respondas a las preguntas sobre tu instalacioacuten pulse Intro

para continuar

bull Ahora apareceraacute la pantalla de disco duro UsB si tienes un disco duro UsB selec-ciona UsB instail pulsa intro y sigue las instrucciones en pantalla

Si el disco duro USB ya estaacute formateado en ext4 o NTFS se te daraacute la opcioacuten de mantener los datos o formatear en ext4

SoftwareEn el menuacute principal seleccione la opcioacuten DietPi Optimized Software y presiona

Intro

DIET PI

ODROID MAGAZINE 26

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 27: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

DIET PI

bull Usa la barra espaciadora para seleccionar kodi transmisioacuten ownCloud Luego pulsa intro

bull no es necesario seleccionar LAMp ya que Dietpi lo instalaraacute automaacuteticamentebull Cuando aparezca el aviso ldquofile server recommendedrdquo pulsa introbull Cuando aparezca el aviso ldquoBoot Optionsrdquo selecciona yes y pulsa intro Desde aquiacute

puedes elegir queacute software se iniciaraacute automaacuteticamente en el arranque selecciona kodi de la lista y presione intro Cuando hayas terminado pulse EsC para volver al menuacute principal

Seleccionar un Servidor de archivosEn el menuacute principal selecciona la opcioacuten de File Server y pulsa Intro

bull seleccione samba de la lista de servidores de archivos disponibles y pulsa intro Confirma cuando aparezca el aviso para volver al menuacute principal

Los servidores SSH y servidores de archivos se pueden intercambiar faacutecilmente en cualquier momento simplemente ejecutando Dietpi-software desde el terminal DietPi instalaraacute automaacuteticamente la nueva opcioacuten eliminando la anterior

Iniciar la instalacioacuten

Cuando esteacutes listo instala tus elecciones

simplemente selecciona Go start install desde el menuacute principal y pulsa intro

DietPi comenzaraacute el proceso de instalacioacuten y automaacuteticamente instalaraacute configu-raraacute y optimizaraacute tus opciones

Una vez que DietPi haya terminado de instalar las opciones seleccionadas el siste-ma se reiniciaraacute Esto completa la instalacioacuten de tu software

Usar el software instaladoObtener tu direccioacuten ip

En esta guiacutea estamos utilizando la direccioacuten IP 1921680100 Esta tiene que ser reemplazada por la direccioacuten IP de tu dispositivo ODROID

Puedes obtener tu direccioacuten IP ejecutando dietpi-config Selecciona el menuacute de opciones de red luego escoge ethernet o wifi

Usar kodiAl seleccionar Kodi con la opcioacuten de auto arranque eacuteste se cargaraacute automaacutetica-

mente Si no ha seleccionado Kodi para que se inicie durante el arranque puede eje-cutarlo escribiendo startkodi Tambieacuten puedes cambiar las preferencias de arranque ejecutando dietpi-config desde el terminal y seleccionando la opcioacuten AutoBoot

Acceso a unidad UsBTodos las unidades montadas por DietPi se pueden localizar en la carpeta mnt

Si desea hojear tu unidad USB simplemente ve a mntusb_1

Usar transmission (Bittorrent)

url = http19216801009091username = rootpassword = raspberry

ODROID MAGAZINE 27

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 28: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

Acceso a los datos descargadosPuesto que instalamos el servidor Samba podemos acceder a las descargas de

forma remota Desde Windows simplemente guarda la clave de Windows y pulsa R Luego introduce la siguiente direccioacuten

address = 1921680100dietpi or dietpidietpiusername = rootpassword = raspberrydirectory = downloads

Usar OwncloudAcceso a la interfaz web

url = http1921680100owncloud

La primera vez que te conectes

Crea tu cuenta admin escribiendo un nuevo nombre de usuario y contrasentildeaHaz clic en storage amp Database para expandir el submenuacuteDatabase type = seleccionar MysQLDatafolder = Cambiar a varlibownclouddataDatabase User = rootDatabase password = raspberryDatabase name = owncloudHaga clic en finish setup para completar la configuracioacuten de ownCloud

Usar LAMp WebserverAcceso a la paacutegina web

url = http1921680100directorio local = varwww

Acceso a phpinfourl = http1921680100phpinfophpAcceso pHp cache infourl = http1921680100apcphp

MySql Detailsusername = rootpassword = raspberry

instalar nolpUsar NoIp te permitiraacute dirigir una direccioacuten URL (ejemplo httpMyWebsite

noipbiz) a tu dispositivo ODROID independientemente de tu direccioacuten IP puacuteblica

registrarse en noipCrea tu cuenta NoIp gratis en httpswwwnoipcomsign-up y elije una direc-

cioacuten web para tu cuenta

Activar tu cuenta con DietpiDietPi-Config es una herramienta de configuracioacuten con muchas funciones para

tu dispositivo Una de sus principales caracteriacutesticas es la posibilidad de instalar y configurar el cliente NoIp el cliente Samba y el cliente FTP con gran facilidad

DIET PI

ODROID MAGAZINE 28

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 29: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

DIET PI

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

figura 1 - ldquoDietpi - figura 1 - DietOdroid_htoppngrdquo

Desde terminal ejecuta dietpi-configselecciona el menuacute networking Optionsselecciona noip de la lista y selecciona install para instalarlo Dietpi instalaraacute ahora

automaacuteticamente noipCuando se complete la instalacioacuten selecciona noip desde el menuacuteDesde aquiacute puedes introducir tu direccioacuten de correo electroacutenico noip y contrasentildea

pulse intro para el retos de opciones

Si has introducido tus datos correctos el estado actual NoIp cambiaraacute a Online

Abril puertos del routerSi desea acceder a tu sitio web desde fuera de la red local tendraacute que habilitar

el reenviacuteo de puertos en tu router Esto permitiraacute el acceso externo a tu sitio web Simplemente habilitar el puerto TCP 80 y diriacutegelo a tu dispositivo ODROID

ODROID MAGAZINE 29

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 30: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

configurar la aplicacioacuten para guardar los archivos eliminados y verlos maacutes tarde incluso con otros reproductores multimedia

Teniacutea en mi poder un ODROID U3 cuando descubriacute esta aplicacioacuten lo primero que hice fue comprobar si estaba disponible para las plataformas armhf En los foros ODROID y Pop-corn Time sin embargo descubriacute que Popcorn Time no es compatible con dispositivos Linux armhf Tras inves-tigar un poco por Internet averiguumle que en teoriacutea no habiacutea razoacuten por la que esta aplicacioacuten no se ejecutara en mi ODROID-U3 Todo lo que necesi-taba era encontrar los binarios de la aplicacioacuten nwjs (nodo-webkit) para armhf Esta tarea representaba un gran reto porque ningu-no de los binarios que encontreacute era capaz de ejecutar hardware acele-rado por WebGL (en otras palabras usar OpenGL ES 20) aplicaciones demo ni decodi-ficar archivos de viacutedeo y audio Asiacute

La aplicacioacuten original Popcorn Time es un cliente BitTorrent de coacutedigo abierto multiplatafor-

ma que incluye un reproductor mul-timedia El programa y sus derivados con el mismo nombre son alternativas gratuitas para servicios de video en streaming con suscripcioacuten como Net-flix Popcorn Time utiliza la descarga secuencial para reproducir las peliacutecu-las listadas en el sitio web ytsto (an-tes yify-torrentcom y ytsre) tambieacuten conocido como YIFY (aunque se pu-eden antildeadir otros trackers y utilizarse de forma manual)

Tras su lanzamiento Popcorn Time llamo raacutepidamente la atencioacuten de va-rios medios de comunicacioacuten llegaacuten-dose a comparar con la aplicacioacuten de Netflix debido a su facilidad de uso Tras este aumento de popularidad el programa fue repentinamente elimi-nado por sus desarrolladores el 14 de marzo 2014 debido a la presioacuten de la MPAA Desde entonces Popcorn Time se ha separado en varios equipos de desarrollo para mantener el pro-grama y ofrecer nuevas caracteriacutesticas Una de estas divisiones estaacute disponible en httpspopcorntimeio Las plata-formas soportadas son Mac Windows Linux (32 y 64 bits) y Android

Gracias a su moderna y sencilla in-terfaz de usuario la aplicacioacuten se hizo muy popular en todo el mundo Las nuevas versiones de Popcorn Time pu-eden descargar y reproducir contenido facilitado por otros trackers ademaacutes utilizar los reproductores multimedia instalados en el sistema para repro-ducir el contenido Tambieacuten puedes

que trateacute de desarrollar mis propios bi-narios basaacutendome en los tutoriales que encontreacute en diferentes foros pero con cada intento fracasaba porque algunas dependencias no eran las adecuadas o apareciacutea alguacuten error durante el proceso de compilacioacuten

NWjs es una aplicacioacuten en tiempo de ejecucioacuten basada en Chromium y nodejs Puedes escribir aplicacio-nes nativas en HTML y JavaScript con NWjs Tambieacuten permite activar moacutedulos Nodejs directamente desde el DOM y hace posible una nueva for-ma de escribir aplicaciones con todas las tecnologiacuteas Web Fue creada en el Intel Open Source Technology Center

pOpCORn TIMEEL SuENtildeO DE LOS AMAnTES DEL MunDO MuLTIMEDIApor Laacuteszloacute Leonard

POPCORN TIME

reproduccioacuten de un viacutedeo usando HtML 5 con nWjs

popcorn time no soacutelo tiene un gracioso logotipo sino que es una revolucionaria forma de conseguir contenido multimedia

ODROID MAGAZINE 30

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 31: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

Chromium era capaz de descodi-ficar un montoacuten de videos intente usar el archivo l i bffmpegsumoso localizado en el directorio de ins-talacioacuten de Chro-mium Ademaacutes de sustituir este archivo tambieacuten

tuve que reemplazar el fichero icudtldat en el archivo node-web-kit

Esta vez el entorno de trabajo nodo-webkit fue capaz de reproducir viacutedeos HTML 5 como muestra la imagen de abajo

Llegado a este punto contaba con el entorno de trabajo necesario para ejecutar la aplicacioacuten Popcorn Time con aceleracioacuten por hardware que era capaz de decodificar algunos archivos de viacutedeo y audio Todo lo que teniacutea que hacer ahora era exportar el proyecto a la plataforma armhf Tras descargar el proyecto desde los repositorios Git in-tente compilarlo pero la compilacioacuten fallo debido a la arquitectura descono-cida Para hacerlo funcionar tuve que antildeadir soporte arm al proyecto de es-critorio Popcorn Time y a su proyecto de dependencia Nodewebkit-builder Para hacer esto afortunadamente tan soacutelo teniacutea que modificar dos archivos de mi proyecto Git

El resultado fue una versioacuten fun-cional de Popcorn Time para mi ODROID-U3 Debido a la falta de

codecs para Chro-mium algunos videos todaviacutea no se podiacutean decodi-ficar o la decodi-ficacioacuten era lenta en especial con los viacutedeos Full HD Espero que los drivers actu-alizados para la GPU Maliacute resuel-

Puesto que NWjs estaacute basado en Chromium y mi navegador Chro-mium es capaz de ejecutar WebGL acelerado por hardware penseacute que la manera en el que el entorno de trabajo utiliza OpenGL ES 20 en lugar de OpenGL 20 en NWjs seriacutea similar a Chromium Asiacute que ejecute aplicacio-nes demo con el flag --usegl=egl y apa-recio magia De repente mi aplicacioacuten empezoacute a ejecutarse con aceleracioacuten hardware Era capaz de ejecutar algu-nos juegos desarrollados con WebGL en mi ODROID

Aunque mi entorno de trabajo se ejecuta en modo de aceleracioacuten por hardware no era capaz de decodifi-car archivos de viacutedeo y audio asiacute que continueacute investigando Uno de los desarrolladores de Popcorn Time se-ntildealoacute que el problema estaba en el ar-chivo libffmpegsumoso el cual no tenia implementados la mayoriacutea de los coacutedecs Puesto que mi navegador

POPCORN TIME

van estos problemas y que las proacuteximas versiones de Chromium permitan maacutes codecs Ademaacutes descubriacute que cuando intentas abrir los archivos torrent de otros trakers no funciona correcta-mente aunque estoy trabajando en este problema Realmente espero que este problema quede resuelto antes de que leas este artiacuteculo

Los aficionados pueden encontrar dos proyectos en mi repositorio Git Uno de los proyectos contiene los ar-chivos y tutorial necesarios para la instalacioacuten de la aplicacioacuten y el otro contiene un tutorial para la compi-lacioacuten del proyecto

Estos repositorios estaacuten disponibles en las siguientes direcciones

- httpsgitpopcorntime

iolaslaulpopcorn-time-

installation-guide-armv7

- httpsgitpopcorntimeio

laslaulpopcorn-time-

building-guide-armv7

Esta compilacioacuten solo la probeacute en un ODROID-U3 ejecutando Ubuntu 14042 asiacute que apreciariacutea las opin-iones y comentarios de los usuarios sobre todo de aquellos que ejecutan la aplicacioacuten en un dispositivo o sistema operativo diferente

Antes de descargar e instalar Pop-corn Time debes comprobar la legis-lacioacuten en propiedad intelectual de tu paiacutes o asegurarte de que el contenido que subes o descargas es gratuito y le-gal Ten en cuenta que Popcorn Time suele ser conocido a menudo como la versioacuten pirata de Netflix

Referencias

Wikipedia Popcorn Time httpenwikipediaorg

wikiPopcorn_Time (2015 may)GitHub Nwjs project

httpsgithubcomnwjs

nwjs (2015 may)

portada de popcorn time

popcorn time reproduciendo un video

ODROID MAGAZINE 31

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 32: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

Por favor haacuteblanos un poco sobre tiSoy un ingeniero de percepcioacuten

roboacutetica profesor universitario y crea-dor de Texas He trabajado con un gran nuacutemero de plataformas roboacuteticas (aeacutereas terrestres submarinas acuaacuteticas e industriales) y con sistemas integrados (ODROID Raspberry Pi Intel Atom y microcontroladores) La mayor parte de mi experiencia procede de la investi-gacioacuten y el desarrollo tanto en el mundo acadeacutemico como industrial Siempre ando interesado en el cambiante mundo de la roboacutetica y de los modelos infor-maacuteticos necesarios para que hagan un trabajo de un modo uacutetil

En estos momentos estoy centrado en la formacioacuten sobre todo a nivel universi-tario para estudiantes que estaacuten a punto de iniciar su carrera profesional Disfruto ensentildeando las teacutecnicas multidisciplinarias maacutes demandadas que no se suelen apren-der necesariamente en clase Tambieacuten par-ticipo en programas de divulgacioacuten para que los nintildeos empiecen a interesarse en la ingenieriacutea a temprana edad La mejor forma que conozco de hacer esto es mos-trardo a los estudiantes un robot que haga algo interesante y luego explicarles todas las cuestiones mecaacutenicas que son necesa-rias para disentildear una plataforma roboacutetica los conocimientos en electricidad que se necesita para establecer la comunicacioacuten y el control y las habilidades informaacuteticas que hacen falta para antildeadir la inteligencia y la toma de decisiones

iquestCoacutemo fueron tus inicios con los ordenadoresCreciacute con Oregon Trail La mayoriacutea

de mis amigos murieron de disenteriacuteaEn serio todos los ordenadores que

he ido teniendo siempre han sido maacutequi-nas de segunda mano Teniacutea que ir ac-

COnOCIEnDO un ODROIDIAnCHRIS MCMuRROuGH ExpERTO En RObOTICAeditado por rob roy

CONOCIENDO A UN ODROIDIAN

tualizando los componentes para lograr que funcionasen y siempre andaba con problemas que teniacutea que ir resolviendo por miacute mismo El primer equipo ldquonue-vordquo que compre fue un PC con Windows ME que es el peor SO que jamaacutes se ha hecho Tambieacuten teniacutea un defecto de dise-ntildeo que provocaba que se sobrecalentase y se bloqueara de vez en cuando asiacute que me vi obligado a poner en praacutectica mis propios trucos y hacer ajustes para eje-cutar el Starcraft original Baacutesicamente he aprendido mucho sobre los ordena-dores simplemente jugando al Starcraft

iquestQueacute te atrajo de la plataforma ODROIDHago mucho reconocimiento de

imaacutegenes por ordenador y trabajos con roboacutetica Baacutesicamente necesito Linux y libreriacuteas informaacuteticas para hacer mi trabajo Las plataformas ODROID te proporcionan una serie de ventajas en comparacioacuten con el resto Todas las pla-cas de Linux integradas tienen problemas cuando intentas exportas el coacutedigo desa-

rrollado en un ordenador de sobremesa o portaacutetil pero he sido capaz de solventar todos los problema con lo que me he ido encontrando gracias a la gran cantidad de informacioacuten disponible en los foros

iquestCuaacutel es tu ODROID favoritoMi favorito insuperable es el

ODROID-U3 Es pequentildeo raacutepido y ofrece un extra en comparacioacuten con los que estaacuten actualmente disponibles en el mercado Tambieacuten siento predileccioacuten con el X2 porque tuve una muy buena experiencia con eacutel siendo mi primera placa ODROID

iquestCoacutemo llegaste a ser un experto en roboacuteticaEl primer robot que desarrolleacute fue

un sencillo solucionador de laberin-tos utilizando el kit original de Lego Mindstorms en mi clase de ciencias de la computacioacuten del instituto Esta fue mi primera experiencia con la progra-macioacuten integrada el uso de sensores y el control de motores Despueacutes de esto

Aunque Chris auacuten no se dedica a crear armaduras de iron Man sin duda es la persona que maacutes cerca esta de hacerlo

ODROID MAGAZINE 32

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 33: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

me engancheacute Cuando empeceacute mi diplo-matura me uniacute a un equipo de roboacutetica de la universidad y desarrolle un sen-cillo robot de campo con estudiantes de otras carreras de ingenieriacutea Disfrute mucho con la experiencia interdiscipli-naria y competitiva que te proporciona estas competiciones y hasta ahora creo que la forma ldquo maacutes correctardquo de aprender roboacutetica es participar y desarrollar

Hacia el final de mis estudios univer-sitarios empeceacute a trabajar en un labo-ratorio de investigacioacuten de sistemas de control en praacutecticas Adquiriacute una valiosa experiencia sobre teoriacuteas de control y sistemas electroacutenicos y decidiacute quedarme y hacer la licenciatura En el siguiente par de antildeos termineacute el desarrollo de un micro vehiacuteculo aeacutereo como prueba de concepto para una ley de control teoacuterico que alguna gente investigaba Aquiacute es donde adquiriacute habilidades de ingenieriacutea eleacutectrica y mecaacutenica que junto con la ingenieriacutea informaacutetica completan mis conocimientos en roboacutetica

Llegado este momento disfrutaba mucho con lo que haciacutea y decidiacute que otros 4 antildeos con estas cosas no seriacutea mala idea Considereacute apropiado hacer un doc-torado tras terminar mi Licenciatura y continueacute trabajando en plataformas roboacuteticas Por ese tiempo a un familiar cercano le fue diagnosticado esclerosis lateral amiotroacutefica una enfermedad neu-

ro degenerativa que hace que los pacien-tes sean incapaces de moverse o hablar Le dieron un equipo de seguimiento ocular que en ese momento necesitaba muchas intervenciones para calibrarlo y mantenerlo en funcionamiento He aprendido mucho con las limitaciones del dispositivo y empeceacute a desarro-llar mis propios prototipos y algoritmos con la esperanza de reducir los costes y mejorar su rendimiento y facilidad de uso Hacia el final de mi doctorado me encontraba experimentando con el con-trol de robots terrestres (sillas de ruedas y pequentildeas UGV) a traveacutes de la mirada fue cuando me compreacute un X2

Tras graduarse desarrolleacute un soft-ware de percepcioacuten para los robots que manipulasen material industrial Luego acepteacute un puesto en la facultad de mi universidad y ahora me dedico a la ense-ntildeanza Me encanta mi trabajo y me da motivos para seguir aprendiendo nuevas teacutecnicas y experimentar con nuevos pro-ductos comerciales Despueacutes de todo ninguacuten estudiante quiere aprender el funcionamiento interno de un sistema integrado que fue popular hace 10 antildeos

iquestQueacute te motivoacute a crear la popular imagen de edicioacuten Roboacutetica en los foros ODROID

La mayor parte de mi trabajo re-quiere Linux OpenCV Point Cloud Library y ROS Cuando compreacute el X2

Un poco de turismo por el mundo entero aquiacute estaacute Chris en el partenoacuten en Grecia me di cuenta que configurar mi entorno base era maacutes complicado de lo que yo es-taba acostumbrado Investigue bastante y logre encontrar soluciones a cada uno de los problemas de compilacioacuten e ins-talacioacuten que me iba encontrando en el camino y al final disponiacutea de una buena y estable imagen con toda la configura-cioacuten que deseaba Hice una backup de la tarjeta SD ldquopor si acasordquo y un diacutea decidiacute publicarla en los foros con el fin de darle las gracias a la comunidad por haberme ayudado con sus consejos e ideas Em-peceacute a recibir gran cantidad de respuestas en el hilo original y seguiacute respondiendo a las preguntas como lo hariacutea hecho la comunidad conmigo Poco despueacutes de publicar la imagen X2 compreacute un U2 y modifiqueacute la misma imagen y la pub-lique como lo hice con la anterior La gente de Hardkernel continuaba haci-endo productos nuevos e innovadores y en poco tiempo recibiacutea solicitudes para trasladar la imagen a otras placas

Me sorprendioacute bastante que mis imaacutegenes crecieran en popularidad de la forma en que lo hicieron Hardkernel me envioacute algunas cosas gratis como par-te de su regalo mensual y todo empezoacute desde alliacute Hardkernel y la comunidad ODROID en general han sido de gran ayuda para mi trabajo e intento liberar nuevas imaacutegenes como versiones oficia-les de Ubuntu y nuevos productos que estaacuten accesibles y puestos a disposicioacuten de todos

CONOCIENDO A UN ODROIDIAN

ODROID MAGAZINE 33

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34

Page 34: Scripts kernel Linux • Desarrollo Android • Juegos …...rie de Desarrollo Android con una guía para compilar Android Studio, un entorno de desarrollo interactivo de Java. Para

iquestQueacute aficiones e intereses tienes aparte de los ordenadores

Soy un mecaacutenico amater y aficionado a la creacioacuten de prototipos Reciente-mente he estado trabajando en varias maacutequinas CNC (impresoras 3D rout-ers fresadoras tornos) Estoy muy con-tento con las creaciones que he realizado hasta el momento y teniendo un garaje lleno de equipos de fabricacioacuten se estaacuten volviendo maacutes y maacutes realistas cada diacutea Tambieacuten estoy experimentando con meacute-todos de fabricacioacuten tecnoloacutegicamente menos avanzados como la madera y fundicioacuten de metales Baacutesicamente lo uacutenico que hago es hacer cosas

iquestEstaacute involucrado en otros proyectos informaacuteti-cos a parte de ODROID

He hecho algunas contribuciones miacutenimas (un par de correcciones de e-rrores menores) a Point Cloud Library Como parte de mi trabajo como profesor universitario asigno y oriento nuestros proyectos de alto nivel Estos cambian cada semestre y tienden a impulsar proyectos basados en sistemas integrados y de roboacutetica Pongo mucho eacutenfasis en las habilidades praacutecticas en mis clases y me paso la mitad del tiempo haciendo demostraciones y dando charlas teacutecni-cas sobre nuevos y excitantes aparatos (ODROIDs impresoras 3D visioacuten por ordenador) Me gusta ver los conceptos

que aprenden mis alumnos imple-mentando sus proyectos finales y continuacuteo haciendo y probando siste-mas en mi tiempo libre y asiacute siempre tengo algo nuevo que ensentildear

iquestQueacute tipo de innova-ciones de hardware te gustariacutea en futuras placas Hardkernel

Me gustariacutea ver algunos progresos en la GPU en particu-

lar con Linux Una de mis inquietudes es la programacioacuten en paralelo con las GPU multinuacutecleo mi uacutenica experiencia real en esta aacuterea es el kit de herramientas NVIDIA CUDA Hardkernel ha hecho buenos progresos en esta aacuterea y estoy de-seando ver coacutemo se desarrolla esto

iquestQueacute consejo le dariacuteas a alguien que quiere aprender maacutes sobre programacioacuten

Comenzar con un lenguaje que tenga muchos ejemplos online y tal vez algo de herramientas GUI La mayoriacutea de las personas que se inician en la program-acioacuten quieren hacer una aplicacioacuten GUI como primer programa tras la aplicacioacuten por consola ldquoHello Worldrdquo por excelen-cia pero esto puede ser complicado y engorroso para alguien que no estaacute fa-miliarizado con los IDEs makefiles compiladores etc Me gusta mucho el entorno de trabajo NET con C por lo que hacer una GUI y la mayoriacutea de las tareas en un entorno de Windows es bas-tante simple Python es un buen lengua-je de partida pero creo que una buena formacioacuten en C ++ es algo que separa a un profesional del resto

Lo maacutes importante es no preocuparse por romper algo Cuando estaacutes empezan-do con la programacioacuten o incluso con el desarrollando integrado es faacutecil romper cosas A veces se rompe el coacutedigo a veces se rompe el hardware pero si no rompes algo es que no estaacutes aprendiendo nada

CONOCIENDO A UN ODROIDIAN

ODROID Talk Subreddit

httpwwwredditcomrodroid

iexclODROID Magazine estaacute ahora en Reddit

Como ha viajado por todo el mundo aquiacute podemos encontrar a nuestro experto en roboacutetica en shanghai

ODROID MAGAZINE 34