Cómo Instalar Emby en el ODROID-XU4

Los ordenadores de plaza reducida (SBC) como la Raspberry Pi podrían no coincidir con el hardware del servidor dedicado o incluso con la mayoría de los ordenadores de escritorio estándar. Sin embargo, la relación precio/rendimiento de las placas de los fabricantes hace que estos pequeños dispositivos del tamaño de una tarjeta de crédito sean extremadamente competitivos. Con un factor de forma pequeño y bajo precio, las placas de desarrollo son excelentes dispositivos de almacenamiento conectado en red (NAS). Una de mis opciones de hardware de servidor doméstico favoritas para un NAS es el ODROID-XU4. ¡En este artículo, voy a mostrar cómo se puede instalar Emby Media Server en el ODROID-XU4 tratándolo como NAS Odroid!

¿Por qué montar un NAS ODROID-XU4?

[ NOTA: Video YouTube video en https://youtu.be/cun9lezarXY ]

El ODROID-XU4 tiene el típico y sencillo factor de forma de los ordenadores de placa reducida (SBC). Sin embargo, este pequeño dispositivo de HardKernel tiene algunas especificaciones brutales, especialmente por su tamaño. En el corazón del ODROID-XU4 nos encontramos con un procesador octa-core emparejado con una GPU Mali-T628 MP6 con soporte OpenGL ES. Además, los 2 GB de RAM DDR3 ayudarán bastaste con la multitarea y cuenta con un módulo eMMC, así como una ranura para tarjeta microSD, para instalar el sistema operativo host. Para conectar dispositivos externos, el XU4 posee un par de puertos USB 3.0 y un puerto USB 2.0 independiente

Gracias a sus robustas posibilidades de procesamiento, el ODROID-XU4 es un pequeño SBC increíblemente potente que combina magistralmente las posibilidades de procesamiento con la eficiencia energética. Además, su bajo precio nos permite usar el ODROID-XU4 como un dispositivo NAS sin que lleguemos a arruinarnos. Desearías montar un NAS basado en el ODROID-XU4 por las siguientes razones:

  • Asequibilidad,
  • Procesador Octa-core (CPU),
  • Capacidad para ejecutar numerosas distribuciones de Linux, y
  • Su eficiencia energética

¿Por qué usar Emby?

El servidor multimedia Emby es una gran alternativa a Plex. Es una de las mejores opciones de software de servidor multimedia disponibles para ODROID-XU4. Emby, como excelente alternativa de Plex, te permite hacer streaming de tu colección multimedia personal, como películas, programas de televisión, música e incluso fotos a dispositivos cliente compatibles como teléfonos, tablet, dispositivos de streming y televisores inteligentes. Similar a Plex, Emby es realmente fácil de usar. Sin embargo, un consistente conjunto de características posiciona a Emby como una mejor opción para los usuarios avanzados. Su funcionalidad de edición de metadatos te permite introducir información correcta de metadatos. Puede agregar tu propio CSS personalizado a la aplicación web Emby para realizar diversas acciones como modificar la pantalla de inicio de sesión e incluso implementar temas personalizados. Hay funciones de TV en vivo, DVR y streaming local.

Desafortunadamente, Emby restringe el streaming local más que Plex. Por ejemplo, mientras que el streaming de red local de Plex funciona sin un Plex Pass premium, muchas aplicaciones requieren un desbloqueo de aplicación, como Android TV, cuando se usa Emby. Sin embargo, Emby es un competidor de Plex que vale la pena tener en cuenta y funciona como un campeón en los SBCs como el ODROID-XU4.

¿Cómo instalar Emby Media Server?

Afortunadamente, activar un servidor de medios Emby en un SBC ODROID-XU4 es muy rentable y fácil de configurar. Necesitarás un ODROID-XU4 o el ODROID-XU4Q refrigerado de forma pasiva. Además, necesitarás una carcasa, una fuente de alimentación, una tarjeta microSD o módulo eMMC para la instalación de un sistema operativo y una distribución basada en Linux como Ubuntu. Por supuesto, tendrá que instalar Emby Media Server. Este proyecto requiere una conexión a Internet activa, periféricos como un teclado y un ratón, así como archivos multimedia personales como películas, programas de televisión y archivos de música. Es más fácil mantenerlos almacenados en un dispositivo externo, como una unidad flash o un disco duro, aunque también puedes cargarlos en una tarjeta microSD o eMMC donde está instalado el sistema operativo host. Existen numerosas distribuciones de Linux compatibles con ODROID-XU4. Sugiero ejecutar una distribución basada en Debian como Debian, Ubuntu, Ubuntu MATE, Armbian o DietPi. También puedes usar OpenMediaVault.

  • Requisitos del servidor de medios ODROID-XU4 Emby:
  • ODROID-XU4 o Odroid XU4Q refrigerado de forma pasiva
  • Tarjeta microSD o módulo eMMC
  • Distribución de Linux (es decir, Debian, Armbian, Ubuntu, Ubuntu MATE, DietPi)
  • Software Emby Media Server
  • Colección Multimedia (películas, programas de televisión, música, fotos)
  • Dispositivo de almacenamiento externo
  • Periféricos (teclado, ratón)
  • Conexión a internet activa
  • Dispositivo cliente (es decir, PC, Smart TV, Roku, Android TV box, smartphone/tablet, etc.)

Costo total: alrededor de unos 62$. Normalmente, el ODROID-XU4 se vende por en torno a 62$. Puede obtener una de las versiones Ameridroid, a veces con algunos descuentos. Cualquier extra incrementará el precio. Para un NAS autónomo, echa un vistazo al ODROID-XU4 y ODROID-XU4Q compatible con ODROID-CloudShell2, que cuenta con soporte para hasta dos HDDS o SSD de 3.5 ".

Instalar Emby Media Server

Suponemos que ya tienes el sistema operativo basado en Debina instalado en el ODROID-XU4. Primero ejecuta una actualización:

$ sudo apt-get update && apt-get upgrade
Luego, instala Emby Media Center. Como se trata de una placa Armv7 (armhf), necesitarás descargar el archivo  Armv7 DEB (https://emby.media/linux-server.html) apropiado para Debian. Una vez descargado, instálalo usando (para una versión DEB más reciente, reemplaza emby-server-deb_4.3.1.0_armhf.deb por la versión actual):
$ dpkg -i emby-server-deb_4.3.1.0_armhf.deb
Si estás ejecutando CentOS en Odroid XU4, necesitarás instalar la aplicación Armv7hl Emby (comprueba la versión más actual y reemplaza 4.3.1.0/emby-server-rpm_4.3.1.0_armv7hl.rpm si fuera necesario):
$ yum install https://github.com/MediaBrowser/Emby.Releases/releases/download/4.3.1.0/emby-server-rpm_4.3.1.0_armv7hl.rpm
Si está ejecutando Fedora en el ODROID-XU4, necesitarás el archivo Armv7hl (es posible que debas cambiar 4.3.1.0/emby-server-rpm_4.3.1.0_armv7hl.rpm por el RPM más reciente):
$ dnf install https://github.com/MediaBrowser/Emby.Releases/releases/download/4.3.1.0/emby-server-rpm_4.3.1.0_armv7hl.rpm
Para ejecutar Emby en OpenSUSE con XU4, ejecuta (es posible que debas reemplazar 4.3.1.0/emby-server-rpm_4.3.1.0_armv7hl.rpm por el último RPM):
$ zypper install https://github.com/MediaBrowser/Emby.Releases/releases/download/4.3.1.0/emby-server-rpm_4.3.1.0_armv7hl.rpm
Con DietPi (una excelente distribución de Linux basada en Debian que cuenta con una instalación modular) instalado, introduce el comando:
$ dietpi-software
Verás el centro de DietPi-Software. Dirígete a Software Optimized> Emby Server y presiona la barra espaciadora para seleccionarlo. Haz clic en la pestaña para presionar OK, ahora *** instalar y haz clic en Ok. Se te pedirá que selecciones si quieres instalar Emby Server en DietPi, así que pincha en ok.

Añadir contenido multimedia a Emby

[ Fig 01 ]
Una vez que Emby está instalado en el ODROID-XU4, puedes agregar tus archivos multimedia. Por defecto, Emby usa el puerto 8096. En tu Odroid XU4, dirígete a http://localhost:8096. O, si está utilizando un ordenador diferente en la misma red que tu placa XU4, introduce DIRECCION_IP_ODROID:8096 donde DIRECCION_IP_ODROID es la dirección de tu ODROID-XU4.

[ Fig 02 ]
En la amigable pantalla de configuración de Emby Media Server, selecciona tu idioma favorito y luego elije un nombre de usuario y contraseña. Después, configura tus bibliotecas multimedia. Presiona Pincha en Añadir Librería Multimedia y selecciona un tipo de contenido como Películas, Programas de TV o Música. Ahora, elije un nombre como Películas y presiona el signo más (+) debajo de las carpetas para añadir el contenido deseado. Configura la información de descarga de los metadatos y tu país. Ahora, elije ok y si todo está configurado correctamente, presiona Siguiente. Repite este proceso para cada tipo de contenido, luego guarda

Rendimiento del NAS Odroid XU4 con Emby

[ Fig 03 - Groundhog Day ]
He descubierto que el ODROID-XU4 era más que capaz de transcodificar un único archivo de 1080p junto con un archivo de 480p. O bien, puede transcodificar alrededor de cuatro a cinco archivos 480p simultáneos. Para la transmisión local, probé cuatro archivos concurrentes de 1080p, pero es posible que puedas ejecutar más. De todos modos, es un paso importante incluso con respecto a la Raspberry Pi 4. En una Pi 4, el juego directo funciona bien, pero la transcodificación estaba completamente fuera de toda posible discusión.

¿Debería montar un NAS Odroid XU4 con Emby Media Server?

Para un servidor multimedia económico y de alto rendimiento, el ODROID-XU4 es un SBC digno. Es capaz de transcodificar y, aunque se queda corto en comparación con mi ThinkServer TS140 con tecnología Xeon que puede manejar cuatro transcodificaciones simultáneas de 1080p, cuesta una fracción del precio del ThinkSErver. El hecho de que una placa de menos de 100$ pueda manejar la transcodificación es alucinante. En general, el ODROID-XU4 impresiona bastante. He disfrutado de la emulación de juegos retro en el ODROID-XU4, y como servidor doméstico, el ODROID-XU4 realmente destaca.

Este artículo apareció originalmente en Electromaker.io en https://www.electromaker.io/tutorial/blog/how-to-install-emby-on-odroid-xu4.

Referencias

https://youtu.be/cun9lezarXY https://emby.media/ https://bit.ly/37UC08t https://bit.ly/2HQSAeI https://www.electromaker.io/tutorial/blog/emby-server-raspberry-pi https://bit.ly/2HRas9j https://emby.media/linux-server.html

Instalación del Servidor Multimedia ODROID-XU4 Plex

El ODROID-XU4 es un increíble ordenador de placar reducida (SBC), y una de las mejores alternativas de Raspberry Pi del mercado. Debido a su potencial, funciona mejor que una Raspberry Pi para una gran variedad de aplicaciones, incluida la emulación de juegos retro. En particular, el ODROID-XU4 con su procesador ARM de ocho núcleos puede manejar la transcodificación multimedia bastante bien, en especial por su tamaño tan modesto. ¡Descubre cómo montar un NAS Odroid y prepara tu propio servidor multimedia ODROID-XU4 Plex!

¿Qué es Plex y por qué deberías usarlo?

Plex puede considerarse como un Netflix casero (hecho por ti mismo). Mientras que Netflix, por ejemplo, te permite transmitir contenido desde sus servidores, Plex te permite coger tus contenidos digitales (obtenidos legalmente) como películas, programas de televisión, archivos de música e imágenes, y luego acceder a ellos desde dispositivos cliente compatibles como teléfonos, tablet , televisores inteligentes y dispositivos de streaming

Sin embargo, desde sus inicios, Plex ha ido añadiendo una serie de características y mejoras, convirtiéndose en un sistema único para el consumo de contenido multimedia. Además de sus posibilidades como servidor multimedia, Plex ahora ofrece programas web, un descargador de podcasts, integración de Tidal, además de películas y programas de TV gratuitos, legales y con publicidad. También existe la posibilidad de conectar una antena inalámbrica (OTA) para la funcionalidad de TV en vivo y DVR. Sin embargo, Plex continúa centrado en su propósito principal de servidor de medios. El resto de su funcionalidad es simplemente para hacerlo más atractivo y en eso Plex fácilmente tiene éxito. Es una excelente manera de montar un servidor multimedia para transmitir tus DVD y Blu-rays, CD y vinilo respaldados, así como fotos a prácticamente cualquier dispositivo que pueda encontrar.

Qué es el servidor multimedia Plex: una opción de software de servidor multimedia que te permite transmitir tus películas, programas de TV, música y fotos a dispositivos cliente compatibles.

¿Por qué montar un NAS ODROID con un ODROID-XU4?

Existen numerosos SBC en el mercado. Y el ODROID-XU4 sigue siendo uno de los principales competidores. Con las CPU Octa-core Samsung Exynos5422 Cortex ™ -A15 2Ghz y Cortex ™ -A7 y una GPU Mali-T628 MP6 y los 2GB de RAM DDR3, el ODROID-XU4 tiene un gran rendimiento a pesar de su modesto tamaño. Además, el módulo eMMC y la ranura para tarjeta microSD, brinda versatilidad para la instalación del sistema operativo (SO). Con dos USB 3.0 hosts, conectar unidades externas como una unidad flash o un disco duro externo es muy sencillo. Su rendimiento adicional y las velocidades de lectura/escritura de sus puertos USB 3.0 te proporcionarán un impulso adicional de cara a tu servidor de medios.

  • Procesamiento octa-core
  • Ranuras para tarjetas eMMC y microSD
  • 2 x USB 3.0 hosts
  • Ethernet Gigabit

Instalación de Plex: Compilar un servidor ODROID-XU4 Plex

Puedes activar un servidor ODROID-XU4 Plex con bastante facilidad. Para esto, puede usar prácticamente cualquier distribución de Linux (distribución) como Raspbian, Ubuntu u otro sistema operativo basado en Debian. Existen otros sistemas operativos Linux que tambien funcionan muy bien, como DietPi.

Puedes instalar Plex en Ubuntu, Raspbian, Armbian u otra distribución basada en Debian.

Antes de proceder a instalar Plex, debes ejecutar una actualización:

$ sudo apt-get update && apt-get upgrade
A continuación, instala Plex Media Server para armhf/arm64. Para esto, deberás convertirte en root:
$ sudo su
Ahora añade la clave pública:
$ wget -O - https://dev2day.de/pms/dev2day-pms.gpg.key | apt-key add -
Después, agrega el repositorio de Plex Media Server:
$ echo "deb https://dev2day.de/pms/ stretch main" >> /etc/apt/sources.list.d/pms.list
Con el repositorio de Plex Media Server añadido, continúa y activa HTTPS:
$ apt-get install apt-transport-https
Luego, realiza una actualización del repositorio:
$ apt-get update
Cuando termines, instale Plex para ODROID-XU4:
$ apt-get install plexmediaserver-installer
Ahora deberías tener Plex ejecutándose en el ODROID-XU4.

Configurar el Servidor Plex ODROID-XU4

Como el servidor multimedia Plex se ha instalado en tu placa Odroid, ahora deberás configurar el software del servidor y añadir tu contenido multimedia. En un navegador web, dirígete a localhost:32400/web/. O, si estás utilizando un PC remoto, introduce IP_TU_XU4: 32400/web/ donde IP_TU_XU4 es la dirección IP de tu placa ODROID-XU4. Para ver la dirección IP puedes usar el comando:

$ hostname -I
Deberás realizar una configuración básica, como crear una cuenta Plex y nombrar tu servidor. Una vez que hayas iniciado sesión y hayas elegido un nombre, presiona Next. Luego, selecciona la ubicación de tus contenidos multimedia. Utiliza un disco duro externo lleno de contenido multimedia. Presiona Add Library, luego elije el tipo de biblioteca, es decir, películas, programas de televisión, música, fotos u otros videos. Localiza la carpeta o carpetas que contienen tus archivos multimedia. Repite este paso para cada tipo de contenido, y cuando hayas terminado, dirígete al panel principal de Plex.

Rendimiento Odroid NAS - Ejectuando Plex en el ODROID-XU4

[ Fig 01 ]
He ejecutado Plex en muchísimos dispositivos diferentes, desde mi servidor ThinkStation TS140 con tecnología Xeon hasta la Raspberry Pi 4. Particularmente para un SBC, el ODROID-XU4 es una bestia en el que Plex funciona muy bien. La transcodificación de Plex realmente funciona en el ODROID-XU4, al menos con una única transcodificación de 720p o 1080p. Con Reproducción directa, sin transcodificación, el ODROID-XU4 puede hacer frente a 5 transmisiones simultáneas de 1080p, una hazaña impresionante para una placa tan pequeña. De hecho, es una placa pequeña pero muy potente.

[ Fig 02 ]
Con un precio asequible, el XU4 destaca sobre muchos otros SBC. Como dispositivo NAS, el ODROID-XU4 es una opción excelente. Agrega un kit NAS CloudShell2 y podrás montar un NAS por ti mismo con espacio para dos HDD o SSD de 2.5". Incluso existe un puente USB 3.0 a SATA para compatibilidad con UAS y RAID. Como tal, puedes montar un servidor Plex completamente autónomo con el ODROID-XU4.

Plex Media Server Odroid XU4 NAS - Reflexiones finales

[ Fig 03 ]
Aunque existe hardware de servidor más potente, es difícil superar la relación precio-rendimiento del Odroid XU4. Existe una comunidad bastante sólida, y Plex está bien respaldado. Destaca la capacidad del XU4 para abordar la transcodificación. Es cierto que no es capaz de agrupar múltiples transcodificaciones simultáneas de 1080p. Sin embargo, el Raspberry Pi 4 ni siquiera puede manejar una única transcodificación, aunque la no transcodificación es impresionante en el Pi 4, que permite transmitir cuatro archivos simultáneos de reproducción directa de 1080p. En general, el ODROID-XU4 es un NAS muy asequible y sorprendentemente apto.

Referencias

https://bit.ly/2vaamae https://bit.ly/2T7LojL

Home Assistant: Automatiza tu Casa con tu ODROID-N2

Home Assistant (HA) es un sistema operativo de domótica centrado en el control local y la privacidad. HA incluye un sistema operativo personalizado, HA Core, para ejecutar las operaciones de domótica y un administrador para gestionar y mantenerlo actualizado todo

[Fig 01 ]
Es la plataforma de domótica de código abierto más destacada del mundo, con más de 80.000 instalaciones activas y está traducida a 57 idiomas diferentes. HA se incluyó en los 10 proyectos más activos en GitHub en 2019. Cada 3 semanas, se crea una nueva versión con contribuciones de más de 80 personas diferentes. El proyecto está financiado por HA Cloud proporcionada por Nabu Casa, Inc. Se trata de un servicio de suscripción que ofrece características como una conexión cifrada de extremo a extremo para el hogar, sin ninguna configuración por parte del usuario. HA está creciendo muy rápido, y hay un puñado de desarrolladores a tiempo completo que trabajan en este proyecto junto con la comunidad, lo que ayuda a soportar las 1550 integraciones diferentes que admite HA.

[ Fig 02 ]
El sistema operativo HA admite una amplia gama de plataformas. Desde un dispositivo virtual hasta varias placas SoC. Cuando empezó el sistema operativo, hace tres años, la idea era admitir tantos SoC como fuera posible. Sin embargo, pronto nos dimos cuenta de que no todo el hardware da como resultado una buena experiencia de usuario para el hogar inteligente de última generación. Ahora nos centramos en los SoC que proporcionan la experiencia de usuario deseada, son notables y fáciles de obtener para la primera versión de HA. Existe imágenes listas para usar para cada plataforma compatible. Para empezar, debes pasar nuestra imagen con Etcher a una tarjeta SD o eMMC. Este proceso sólo se hace una vez; Tras ponerlo en funcionamiento, puede usar las actualizaciones de OTA a través de la interfaz de usuario o de la línea de comandos. En el próximo lanzamiento de HA OS 4 (breve REL-4), trabajamos duro para mejorar el soporte para las placas ODROID-C2 y ODROID-XU4, y también estamos añadiendo soporte para ODROID-N2. Utiliza el kernel Linux principal (LT 5.4) y u-boot (2020.01) con algunas correcciones de árbol de dispositivos con respaldo de Linux 5.5 y un parche u-boot para ajustar la dirección MAC del puerto interno de ethernet. Amlogic S922X, S922D y A311D son los SoCs perfectos para el hogar inteligente de nueva generación. ODROID-N2 utiliza el S922X, lo que lo convierte en un dispositivo ideal para ejecutar HA. Nuestro sistema operativo empezó su vida llamadose Hass.io, como una bifurcación de ResinOS. ResinOS usa Yocto para crear un sistema Linux integrado, sin embargo, los valores de ResinOS no eran partidarios de nuestro "control local y privacidad". Yocto era difícil de mantener para todas las diferentes plataformas siendo un pequeño proyecto con recursos limitados como el nuestro. Esto nos lleva a crear el sistema operativo HA centrado en el control local y la privacidad, creado desde cero usando Buildroot e impulsado por nuestra experiencia previa. Buildroot ha ayudado a simplificarlo todo y ha hecho que el proyecto sea más fácil de mantener por nuestra comunidad. El único objetivo del sistema operativo es proporcionar todo lo necesario para ejecutar el Supervisor. Esto incluye cosas como Docker, NetworkManager, Dbus, AppArmor y Systemd. Optimizamos el sistema operativo para que ocupara poco espacio, aprovechando ZRAM y LZ4/SquashFS para comprimir el sistema de archivos root y la memoria del dispositivo. El Supervisor es el cerebro del sistema y se ejecuta dentro de un contenedor Docker. Gestiona la funcionalidad del host, la planificación de Docker y el hardware conectado localmente. El Supervisor simplifica todo esto en una API, que es consumida por nuestra interfaz de usuario. El Supervisor permite activar software adicional, utilizando contenedores Docker con envoltura extendida, llamados complementos. HA viene preinstalado con su propia colección de complementos y una colección proporcionada por la comunidad. También es posible agregar repositorios de complementos adicionales a la tienda de complementos ya incorporada. Esta funcionalidad hace posible instalar el agente Mosquitto MQTT, Node-RED, VSCode y muchos otros paquetes de software con un simple clic. Una red interna y una capa de servicio aseguran una experiencia de usuario perfecta al integrar las interfaces de usuario proporcionadas por los complementos en la propia interfaz de usuario de HA.

[ Fig 03 ]
En la parte superior del supervisor vive HA Core, éste es responsable de recopilar los datos, proporcionar control y automatizar el hogar. Es el último software de automatización del hogar, prácticamente capaz de integrarse con cualquier cosa ya que ofrece más de 1550 integraciones. Todas estas piezas combinadas maquillan HA, que es gratuito y de código abierto, y esta creado por una gran comunidad. ¡Hazte con un ODROID-N2, instala HA y únete al universo HA en https://www.home-assistant.io!

Cómo Montar el ODROID-GO Advance

Una de las mejores características del ODROID-GO Advance es que puedes montarlo tú mismo, ya que viene en forma de kit. Esto significa que puedes aprender a encajan las piezas, hacerlo a modo de proyecto con tus hermanos, amigos o hijos, ¡y tener la satisfacción de jugar en un dispositivo verdaderamente único montado por ti mismo!

Para ensamblar el ODROID-GO Advance, desempaquete todas las piezas y comprueba que están todas las que aparecen en la Figura 1. Se cuidadoso al conectar los cables a la PCB y asegúrate de no apretar en exceso ninguno de los tornillos. Lee todas las instrucciones y mira el video antes de empezar.

Figure 1 - ODROID-GO Advance kit annotated parts diagram
Figure 1 - ODROID-GO Advance kit annotated parts diagram

(Figure 1 - ODROID-GO Advance kit annotated parts diagram)

A USB Type-A Power Cable J D-PAD rubber
B Front enclosure K A, B, X, Y button rubber
C Back enclosure L battery sticker
D Plastic L/R trigger, X, Y, power Buttons M Analog joystick
E Plastic D-pad, A, B Buttons N 320×480 TFT LCD
F ODROID-GO-Advance board O 0.5W speaker
G 3000mAh battery P 1.7×5 screws 7pcs
H LCD window Q 1.7×8 screws 4pcs
I I ~ VI button rubber R Screw driver

Instrucciones de Montaje

El video https://youtu.be/FsfpAkKGEXc muestra instrucciones detalladas sobre cómo usar el kit, te recomiendo que le eches un vistazo junto con las instrucciones que detallo a continuación con el fin de garantizar que todo sea montado correctamente.

Montaje LCD

Figure 2 - Closeup of LCD panel insertionFigura 2: Pliega la pestaña amarilla tal y como se muestra

Figure 3 - Closeup of LCD panel insertion

Figura 3- Primer plano de la inserción del panel LCD

Figure 4 - Closeup of LCD panel insertion
Figura 4 - Primer plano de la pestaña amarilla

Figure 5- Closeup of LCD panel insertion
Figura 5- Inserta el panel LCD tal como se muestra

Figure 6 - Closeup of LCD panel insertion
Figura 6- Primer plano del montaje del panel LCD

Figure 7 - Closeup of LCD panel insertion
Figura 7 - Primer plano del montaje del panel LCD

Figure 8 - Closeup of LCD panel insertion
Figura 8 - Primer plano del montaje del panel LCD

Figure 9 - Closeup of LCD panel insertion
Figura 9 - Primer plano del montaje del panel LCD

Figure 10 - Closeup of LCD panel insertion
Figura 10 - Primer plano del montaje del panel LCD

Figure 11 - Closeup of LCD panel insertion
Figura 11 - Primer plano del montaje del panel LCD

Insertar la pantalla LCD

Figure 12 - Make sure that the yellow tab is in front of the enclosure
Figura 12: Asegúrate de que la pestaña amarilla queda por delante

Figure 13 - Closeup of the LCD panel insertion
Figura 13 - Primer plano del montaje del panel LCD

Figure 14 - Carefully remove the backing of the double-sided tape, remove the LCD protective cover by pulling on the yellow tab, and carefully attach the LCD protector with the exposed double-sided tape
Figura 14: Retira con cuidado la parte posterior de la cinta adhesiva de doble cara, extrae la cubierta protectora de la pantalla LCD tirando de la pestaña amarilla y coloca con cuidado el protector de la pantalla LCD con la cinta adhesiva de doble cara expuesta

Figure 15 - Closeup of removing the double-sided tape
Figura 15 - Primer plano retirando la cinta de doble cara

Figure 16 - Closeup of removing the double-sided tape
Figura 16 - Primer plano retirando la cinta de doble cara

Figura 17 - Primer plano retirando la cinta de doble cara

Figure 18 - Closeup of removing the double-sided tape
Figura 18 - Primer plano retirando la cinta de doble cara

Figure 19 - Closeup of removing the double-sided tape
Figura 19 - Primer plano retirando la cinta de doble cara

Figure 20 - Closeup of removing the double-sided tape
Figura 20 - Primer plano retirando la cinta de doble cara

Tienes más instrucciones de montaje del panel LCD en el video https://youtu.be/ShFrKvPcjsE. Montaje del joystick analógico

Figure 21 - Assemble the analog joystick with 1.7 x 5mm screws, making sure not to over-tighten the screws
Figura 21: ensambla el joystick analógico con tornillos de 1.7 x 5 mm, asegurándote de no apretar demasiado los tornillos

Figure 22 - Closeup of attaching the analog joystick
Figura 22 - Primer plano del montaje del joystick analógico

Figure 23 - Closeup of attaching the analog joystick
Figura 23 - Primer plano del montaje del joystick analógico

Montaje de los botones

Figure 24 - Put the D-pad and buttons on the front enclosureFigura 24: Coloque el D-pad y los botones en la carcasa frontal

Figure 25 - Closeup of attaching the buttons

Figura 25 - Primer plano de montaje de los botones

Figure 26 - Closeup of attaching the buttons
Figura 26 - Primer plano de montaje de los botones

Figure 27 - Closeup of attaching the buttonsFigura 27 - Primer plano de montaje de los botones

Figure 28 - Closeup of attaching the buttons

Figura 28 - Primer plano de montaje de los botones

Figure 29 - Closeup of attaching the buttons
Figura 29 - Primer plano de montaje de los botones

Figure 30 - Assemble the power button
Figura 30: Montaje del botón de encendido

Figure 31 - Insert the rubber buttons into the enclosure
Figura 31: Inserta los botones de goma en la carcasa

Figure 32 - Closeup of inserting the rubber buttons
Figura 32 - Primer plano del montaje de los botones de goma

Montaje de altavoces

Figure 33 - Insert the speaker into the front enclosure
Figura 33: inserta el altavoz en la carcasa frontal

Figure 34 - Closeup of speaker assembly
Figura 34 - Primer plano del montaje del altavoz

Figure 35 - Closeup of speaker assembly
Figura 35 - Primer plano del montaje del altavoz

Montaje de la placa PCB

Figure 36 - Put the ODROID-GO Advance PCB in the front enclosure
Figura 36: Coloca el PCB ODROID-GO Advance en la carcasa frontal

Figure 37 - Insert the 1.7 x 5mm screws
Figura 37: Inserte los tornillos de 1.7 x 5 mm

Figure 38 - Connect the LCD, joystick, and speaker cables to the PCB
Figura 38: Conecta los cables de LCD, joystick y altavoz a la PCB

Nota: Nunca levante el conector del joystick más de 90 grados o se romperá.

Figure 39 - Closeup of attaching the PCB connections
Figura 39 - Primer plano del montaje de las conexiones de PCB

Figure 40 - Closeup of attaching the PCB connections
Figura 40 - Primer plano del montaje de las conexiones de PCB

Figure 41 - Closeup of attaching the PCB connections
Figura 41 - Primer plano del montaje de las conexiones de PCB

Figure 42 - Closeup of attaching the PCB connections
Figura 42 - Primer plano del montaje de las conexiones de PCB

Figure 43 - Closeup of attaching the PCB connections
Figura 43 - Primer plano del montaje de las conexiones de PCB

Figure 44 - Closeup of attaching the PCB connections
Figura 44 - Primer plano del montaje de las conexiones de PCB

Figure 45 - Closeup of attaching the PCB connections
Figura 45 - Primer plano del montaje de las conexiones de PCB

Figure 46 - Closeup of attaching the PCB connections
Figura 46 - Primer plano del montaje de las conexiones de PCB

Figure 47 - Closeup of attaching the PCB connections
Figura 47 - Primer plano del montaje de las conexiones de PCB

Figure 48 - Closeup of attaching the PCB connections
Figura 48 - Primer plano del montaje de las conexiones de PCB

Figure 49 - Closeup of attaching the PCB connections
Figura 49 - Primer plano del montaje de las conexiones de PCB

Figure 50 - Closeup of attaching the PCB connections
Figura 50 - Primer plano del montaje de las conexiones de PCB

Figure 51 - Closeup of attaching the PCB connections
Figura 51 Primer plano del montaje de las conexiones de PCB

Montaje de la batería

Figure 52 - Stick the dual-sided tape on the battery
Figura 52: Pega la cinta de doble cara en la batería

Figure 53 - Close of the battery tape
Figura 53 - Cierre de la cinta de la batería

Figure 54 - Connect the battery to the ODROID-GO Advance
Figura 54 - Conecte la batería al ODROID-GO Advance.

Figure 55 - Connect the battery to the ODROID-GO Advance
Figura 55 - Conecta la batería al ODROID-GO Advance

Montaje de botones de gatillo

Figure 56 - Insert the trigger button keys into the slots, making sure to align them to the left and right side as indicated on the button
Figura 56: Inserta las teclas del botón de gatillo en las ranuras, asegurándote de alinearlas en los extremos izquierdo y derecho como se indica

Figure 57 - Close of trigger button keys
Figura 57 - Cierre de las teclas del botón disparador

Montaje de la carcasa posterior

Figure 58 - Stick the battery on the back enclosure
Figura 58: Pega la batería en la carcasa posterior

Figure 59 - Closeup of battery attachment
Figura 59 - Primer plano del accesorio de la batería

Figure 60 - Closeup of battery attachment
Figura 60 - Primer plano del accesorio de la batería

Figure 61 - Close the back enclosure
Figura 61 – Cierra la carcasa posterior

Figure 62 - Press the hook with your finger until it makes a snapping sound
Figura 62: Presiona el gancho con el dedo hasta que emita un chasquido

Figure 63 - Closeup of attaching the enclosure
Figura 63 - Primer plano de la fijación de la carcasa

Figure 64 - Closeup of attaching the enclosure
Figura 64: primer plano del anclaje de la carcasa

Figure 65 - Closeup of attaching the enclosure
Figura 65 - primer plano del anclaje de la carcasa

Figure 66 - Closeup of attaching the enclosure
Figura 66 - primer plano del anclaje de la carcasa

Figure 67 - Closeup of attaching the enclosure
Figura 67 - primer plano del anclaje de la carcasa

Figure 68 - Closeup of attaching the enclosure
Figura 68 - primer plano del anclaje de la carcasa

Figure 69 - Closeup of attaching the enclosure
Figura 69 - primer plano del anclaje de la carcasa

Figure 70 - Assemble the back enclosure with the 1.7 x 8mm screws, being careful not to over-tighten them
Figura 70: Monta la carcasa posterior con los tornillos de 1.7 x 8 mm, teniendo cuidado de no apretarlos demasiado

Figure 71 - ODROID-GO Advance fully assembled
Figura 71 - ODROID-GO Advance completamente ensamblado

Para obtener más información, visita el artículo original de Wiki en https://wiki.odroid.com/odroid_go_advance/go_adv_assembling.

Arduino para ODROID: Configurando tu Propio Oduino

En general, las API de Arduino se usan con un microcontrolador como Arduino-UNO, esp8266, etc. Estas API les facilita a las personas que han usado Arduino controlar su GPIO ODROID, así que he desarrollado una capa de API Arduino para ODROID.

No es necesario instalar Arduino IDE en tu PC y no necesitas conectar el PC a tu ODROID; solo instala Arduino IDE y algunas dependencias en ODROID y escribe el código. Cuando subas el código, ODROID ejecuta el código por sí solo. El repositorio de GitHub se encuentra en https://github.com/hhk7734/oduino.

[ NOTA: video en https://youtu.be/1Tkff0pTRZ0 ]

Instalación

Primero instala el escritorio Ubuntu MATE actualmente compatible. La guía de instalación está disponible en https://wiki.odroid.com/getting_started/os_installation_guide.

Descarga el último Arduino IDE para ARM Linux desde https://www.arduino.cc/en/Main/Software. La guía de instalación de Arduino está disponible en https://www.arduino.cc/en/Guide/Linux

Arduino para ODROID

Abre una terminal, copia y pega el comando en la terminal, y escribe los siguientes comandos:

sudo apt update && sudo apt install -y git && git clone --recursive https://github.com/hhk7734/oduino.git     ~/Arduino/hardware/hardkernel/odroid && sudo ~/Arduino/hardware/hardkernel/odroid/tools/install.sh
Si ya abriste un IDE de Arduino, ciérralo y vuelve a abrir el IDE.

odroid-config

Odroid-config es una utilidad que ayuda a los usuarios a configurar ODROID fácilmente. El código está disponible en el siguiente repositorio de Github: https://github.com/hhk7734/odroid-config

Confirgurar el IDE de Arduino

  • Tools -> Board -> ODROID Series
  • Tools -> Port -> /dev/ttyHK0
  • Tools -> Programmer -> Bridge

Pinmap

Arduino para ODROID utiliza un mapa de pin basado en la ubicación física. Si tienes ODROID-N2, aquí tiene su mapa de pin:

+---------+------+---+--- N2 ---+---+------+---------+
|   Name  | Mode | V | Physical | V | Mode |  Name   |
+---------+------+---+----++----+---+------+---------+
|    3.3V |      |   |  1 || 2  |   |      | 5V      |
|   SDA.2 | ALT1 | 1 |  3 || 4  |   |      | 5V      |
|   SCL.2 | ALT1 | 1 |  5 || 6  |   |      | 0V      |
|  IO.473 | ALT1 | 0 |  7 || 8  | 1 | IN   | TxD1    |
|      0V |      |   |  9 || 10 | 1 | IN   | RxD1    |
|  IO.479 |   IN | 1 | 11 || 12 | 1 | IN   | IO.492  |
|  IO.480 |   IN | 1 | 13 || 14 |   |      | 0V      |
|  IO.483 |   IN | 1 | 15 || 16 | 1 | IN   | IO.476  |
|    3.3V |      |   | 17 || 18 | 1 | IN   | IO.477  |
|    MOSI |   IN | 1 | 19 || 20 |   |      | 0V      |
|    MISO |   IN | 1 | 21 || 22 | 1 | IN   | IO.478  |
|    SCLK |   IN | 1 | 23 || 24 | 1 | IN   | CE0     |
|      0V |      |   | 25 || 26 | 0 | IN   | IO.464  |
|   SDA.3 | ALT2 | 1 | 27 || 28 | 1 | ALT2 | SCL.3   |
|  IO.490 |   IN | 1 | 29 || 30 |   |      | 0V      |
|  IO.491 |   IN | 1 | 31 || 32 | 0 | IN   | IO.472  |
|  IO.481 |   IN | 1 | 33 || 34 |   |      | 0V      |
|  IO.482 |   IN | 0 | 35 || 36 | 0 | IN   | IO.495  |
|   AIN.3 |      |   | 37 || 38 |   |      | 1V8     |
|      0V |      |   | 39 || 40 |   |      | AIN.2   |
+---------+------+---+----++----+---+------+---------+
|   Name  | Mode | V | Physical | V | Mode |  Name   |
+---------+------+---+--- N2 ---+---+------+---------+

Ejemplo

Arduino IDE -> File -> Examples -> 01.Basics -> Blink

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}
Por defecto, el Arduino-UNO conecta el D13 al LED. Entonces la expresión constante: int LED_BUILTIN = 13; esta declarada. Conecta el LED a los 13 pines y carga el código de ejemplo y el LED parpadeará.

Tienes disponible un ejemplo adicional de ODROID I2C en https://medium.com/@hhk7734/how-to-use-i2c-lcd-on-odroid-eaf20d20966c. Para obtener más información, consulta la publicación del hilo del foro ODROID en  https://forum.odroid.com/viewtopic.php?f=180&t=37713.

Cómo Desmontar el ODROID-GO Advance

Desmontar el ODROID-GO Advance es bastante sencillo e simplemente implica retirar los tornillos de la carcasa exterior y separar con cuidado las piezas delantera y trasera. Sin embargo, durante este proceso, uno de los componentes es muy sensible y se pude romper si no se hace de forma correcta y precisa

Figure 1 - SW15 can easily be bent during disassembly if care is not taken
Figura 1: SW15 se puede doblar fácilmente durante el desmontaje si no se tiene cuidado

Figure 2 - The SW15 component can also become separated from the board during disassembly
Figura 2: el componente SW15 también puede separarse de la placa durante el desmontaje

Figure 3 - The SW15 component can also become separated from the board during disassembly
Figura 3: El componente SW15 también puede separarse de la placa durante el desmontaje

Figure 4 - Another view of the board with SW15 accidentally removed
Figura 4: Otra vista de la placa con SW15 retirada accidentalmente

Para evitar que SW15 se rompa durante el desmontaje de la OGA, sigue las instrucciones que se muestran en el video en  https://youtu.be/bUC-s6KQFpo y desmóntalo con mucho cuidado. Para obtener más información, visita el artículo original de la Wiki en https://wiki.odroid.com/odroid_go_advance/go_adv_disassembling.

Figure 5 - ODROID-GO Advance disassembly video
Figura 5 -  Video de desmontaje del ODROID-GO Advance

Desarrollo de Juegos Java: Creando diversión con tu ODROID

Cosas que necesitarás (Usa tu proveedor ODROID más cercano) -

  • ODROID-N2 ~ 60$ - 70$
  • Carcasa ODROID-N2: 4$
  • Fuente de alimentación ODROID-N2: 6$
  • eMMC (elije entre 32 GB o 64 GB): ~ 27$ - 40$, o
  • microSD (If you choose to use 16GB, 32GB or 64GB): ~ $8 - $14
  • Adaptador microSD a USB: 11$
  • Adaptador eMMC a USB: 10$
  • Módulos WIFI (Módulo 0, 4 o 5A - Si no tiene una conexión a internet por cable): ~ 5$ - 8$
  • Kit de ajustes (placa de conexión, LED, conectores, botones, resistencias): 16$
  • Ratón y teclado USB
  • Monitor HDMI o TV
  • Cable HDMI
  • Conexión a Internet

Introducción y objetivos

¿Alguna vez has querido hacer tus propios videojuegos? Pues has venido al lugar correcto. Esta serie de tutoriales te mostrará cómo crear tus propios juegos con un coste muy bajo. Puedes desarrollarlos y jugarlos en tu pequeño ordenador, el increíble ODROID-N2. ¡Espera hay más! También ganarás experiencia trabajando con Linux, configurando un ordenador de placa reducida, escribiendo código en Java, trabajando con IDE y accediendo a pines E/S de propósito general para controlar realmente tus juegos. Sí, has leído bien, esta serie de tutoriales te mostrará cómo controlar tu propio juego usando una placa de pruebas, conectores y algunos interruptores. Ahora sé que existen muchas API de juegos diferentes y potentes herramientas de desarrollo de juegos como Unity, aunque a menudo, los principiantes no solo tienen que aprender a programar videojuegos, sino también a programar en general, y luego además aprender a usar la herramienta de desarrollo de juegos. Eso es demasiado aprender y puede imponer un poco. Afortunadamente, hay muchos aspectos del desarrollo de los juegos que son prácticamente universales; como los bucles de juegos, gestión de gráficos y recursos de juegos. Incluso los IDE se están volviendo cada vez más comunes ofreciendo características e interfaces muy similares para el desarrollo de software. Esta serie de tutoriales parte de la premisa de no sabes nada sobre programación y te mostrará cómo empezar desde cero para crear tu propio entorno de desarrollo, configurarlo y escribir tu propio código. Hay mucho que asimilar y tenemos que cubrir muchas cosas, de modo que iremos paso por paso en cada tutorial. No profundizaremos en ciertos temas. Por ejemplo, te mostraré un código y te enseñare cómo usarlo y ejecutarlo, pero no profundizaré en el lenguaje de programación Java, ya que convertiríamos este artículo en un libro bastante extenso. Sin embargo, te daré algunas nociones básicas para que continúes por tu cuenta e investigues ciertos temas como mejor te parezca. Bueno, esto es lo fundamental, empecemos.

Repasemos las cosas que necesitarás

Ahora tenemos muchas opciones para configurar el ODROID-N2, así que repasaremos las más recomendadas y también las otras que son igualmente aceptables. La configuración más baja que recomendamos cuesta alrededor de unos 120$ sin incluir el envío. La mejor configuración cuesta alrededor de unos 140$. Necesitarás un monitor o televisor HDMI para usarlo con tu placa de desarrollo ODROID-N2 y un ratón y teclado. Puede usar cualquier ratón y teclado USB antiguos. Configuración 1: Esta es la configuración más recomendada por la estabilidad y la velocidad que ofrecen los módulos eMMC. Recomendamos usar un módulo eMMC de tamaño decente como módulo de arranque del sistema operativo y usar una tarjeta microSD para copias de seguridad y almacenamiento de archivos. Tienen enlaces a módulos eMMC de diferentes tamaños y tarjetas microSD arriba. También puedes elegir entre un ODROID-N2 de 2GB o 4GB de RAM. La versión de 2GB funcionará bien, pero si quieres sacarle el máximo partido, la versión de 4GB es la mejor opción. Recomendamos utilizar al menos un módulo eMMC de 32 GB como módulo de arranque del sistema operativo y contar con 16 GB a 64 GB de almacenamiento de respaldo en forma de microSD. Configuración 2: esta configuración funcionará bien pero no cuenta con el rendimiento y estabilidad que ofrece el uso de un módulo eMMC. En esta configuración, usarías una tarjeta microSD como módulo de arranque y sistema de almacenamiento de archivos. Si optas por esta configuración, te recomendamos que compres una segunda tarjeta microSD para hacer una copia de seguridad de tus archivos y hacerte con un convertidor microSD a USB para que puedas acceder a los archivos en cualquier ordenador y en el ODROID-N2. En el principio de este artículo tienes una carcasa ODROID-N2 que realmente es excelente disponible en Hardkernel. Yo tengo pensado hacerme con 2. Accederemos a los pines GPIO de la placa ODROID-N2 y tienes la opción de abrir un puerto de acceso en la carcasa para acceder fácilmente a los pines. Sin embargo, es posible que quieras mantener el dispositivo completamente cerrado en ciertas situaciones, tener una segunda carcasa te permitirá cambiar fácilmente la parte superior para que pueda usar los pines GPIO y la otra para mantener el dispositivo completamente cerrado y protegido. De modo que por menos de 150$, tendrás un ordenador basado en Linux completamente funcional para utilizarlo como sistema de desarrollo para juegos, si dispones de una pantalla/TV HDMI un ratón y un teclado USB. Si necesitas comprar el resto de componenetes, el precio variará, pero podrías empezar a programar por menos de 350$ si compra a un buen precio una pantalla/TV. De acuerdo, ahora que tenemos hecha esa parte del camino, empecemos a configurar el sistema operativo en el módulo eMMC o tarjeta microSD. Voy a proporcionar instrucciones para MS-Windows, Mac y Linux. En realidad, es muy simple y el proceso es casi exactamente el mismo para todos. Necesitarás acceso a otros ordenadores para realizar este paso, aunque también te mostraré cómo usar su ODROID-N2 para configurar un nuevo módulo eMMC o tarjeta microSD para el ODROID-N2. Si no tienes acceso a otro ordenador para preparar tu módulo eMMC o tarjeta microSD, tendrás que comprar uno de los módulos eMMC o tarjetas microSD preinstalados de HardKernel, que hemos mencionado con anterioridad. Te recomiendo que compres una tarjeta microSD ODROID-N2 de 16GB y la uses para configurar un módulo eMMC personalizado que usaremos para esta serie de tutoriales. También puedes obtener la tarjeta microSD de 16GB y usarla para configurar una tarjeta microSD más grande como módulo de arranque. Con estas opciones, deberías poder poner en funcionamiento tu entorno de desarrollo sin tener acceso a otro ordenador

Montar tu ordenador ODROID-N2

En este paso, montaremos el ODROID-N2 y lo prepararemos para crear nuestro módulo de arranque microSD o eMMC personalizado. Colocar el ordenador de placa reducida y armar la carcasa es muy simple. Este es uno de los mejores diseños de carcasa que he visto en mucho tiempo. Está diseñada para no romper ni rasgar el practico en absoluto. Simplemente coloca el ODROID-N2 en la base metálica de la carcasa. Esta actúa como disipador de calor, ¡ingenioso! Apriete suavemente los tornillos hasta que estén firmemente apretados, no los apriete demasiado. Una buena configuración es lo que estamos buscando. Echemos un vistazo a la carcasa y a la placa

Figure 1
Figura 1

Siguiente diapositiva con el frontal de la caja. Asegúrese de tener las guías frontales de la carcasa alineadas con la pequeña cresta metálica en la parte inferior de la caja.

Figure 2
Figura 2

Ahora, si has optado por comprar dos carcasas ODROID-N2, quizás quierqas romper el pequeño panel GPIO superior de la parte posterior de la carcasa. Esta es la parte de la carcasa más extensa que tiene una "puerta". Ésta te permitirá trabajar en la sección GPIO de este tutorial con el ODROID-N2 protegido. Si no, no te preocupes, simplemente dejaremos a un lado la carcasa por ahora. Asegúrate de no tener bebidas ni gatos cerca de tu ODROID-N2 mientras estés trabajando. Recomendamos que compre una tarjeta microSD de arranque de Hardkernel y la uses para crear el sistema operativo Linux personalizado que usaremos en esta serie de tutoriales. Cuando digo personalizado simplemente me refiero a que podemos elegir la versión de las imágenes del sistema operativo Linux disponibles para el ODROID-N2 que queremos usar y de paso adquiriremos experiencia sobre el montaje de módulos eMMC de arranque y tarjetas microSD.

Figure 3
Figura 3

La imagen de arriba muestra el ODROID-N2 con una tarjeta microSD de arranque Hardkernel y el interruptor del sistema de arranque configurado en la modalidad MMC. Ten en cuenta que la configuración MMC se usa tanto para los módulos eMMC como para una tarjeta microSD. La placa otorga mayor prioridad a los módulos eMMC que las tarjetas microSD. De esta manera, si tiene ambas configuraciones, siempre intentará iniciar el módulo eMMC en primer lugar. Me gustaría reiterar que estamos creando a propósito nuestro propio módulo eMMC de arranque o tarjeta microSD porque queremos hacerlo en cualquier momento que queramos. Obviamente ya contábamos con una tarjeta microSD de arranque, la de HardKernel, pero solo la usaremos como punto de partida para utilizar el ODROID-N2 y crear nuestros propios sistemas de arranque. Ahora que tenemos la configuración del ordenador, vamos a encenderlo y entrar en nuestro escritorio Linux. Ubicaremos y descargaremos una imagen específica de Ubuntu Linux para escribirla en nuestro módulo eMMC o tarjeta microSD, sea cual sea el camino que decidas tomar. Si tiene acceso a un ordenador y no estás montado tu módulo de arranque personalizado en el ODROID-N2, simplemente sigue los pasos con tu navegador favorito y me aseguraré de mostrarte cómo escribir en el dispositivo de almacenamiento que hayas elegido en Windows o Mac .

Figure 4
Figura 4

Necesitarás una conexión a Internet para esta parte. Si no tienes acceso a un cable de Internet para conectarlo a tu ODROID-N2, compra un módulo WIFI, y ya estarás listo. Si no está seguro de cuál obtener, simplemente carga la página del producto y observa qué tipos de WiFi admite cada módulo. He visto que el más barato, el Módulo WiFi 0, funciona bien y no ocupa mucho espacio en los puertos USB del ODROID-N2. Simplemente conecta el módulo a un puerto USB disponible mientras tiene tu sistema arrancado y ejecutando Ubuntu MATE. Debería poder seleccionar el icono de WIFI en la esquina superior derecha de la pantalla. Al hacerlo, obtendrás una lista de las redes WIFI disponibles de tu entorno local.

Figure 5
Figura 5

Selecciona tu red WiFi y se te pedirá que introduzca la información de autenticación requerida para el punto WiFi. La siguiente captura de pantalla muestra un mensaje similar con el que te encontrarás cuando te conectes al WiFi.

Figure 6
Figura 6

Ahora que has configurado tu conexión a Internet, abre un navegador y asegúrate de tener acceso a Internet.

Figure 7
Figura 7

Haz clic en el enlace wiki en la parte superior de la página.

Figure 8
Figur8 8

O puedes ir directamente a la wiki de ODROID introduciendo su URL (https://wiki.odroid.com/). Selecciona la opción ODROID-N2 de la barra de navegación lateral. Selecciona os_images y luego selecciona ubuntu. Debería ver una lista de fechas, haga clic en 20190812. Elija una opción de la lista de sitios espejo, yo utilicé el de la costa este (https://east.us.odroid.in/ubuntu_18.04lts/) ya que es el que está más cerca, en mi caso. Una vez en el sitio, tendrás que navegar hasta la imagen del sistema operativo ODROID-N2, haz clic en el enlace ODROID-N2.

Figure 9
Figura 9

Luego haz clic en el enlace ubuntu-18.04.3-4.9-mate-odroid-n2-20190812.img.xz. Puede tardar unos minutos en descargarse, ya que tiene un tamaño de alrededor de 1 GB, así que levántate, pasea al perro, dale de comer al gato o haz lo que sea para matar el tiempo unos minutos.

Figure 10
Figura 10

Además, como cualquier buen programa de cocina, la comida que estamos preparando ya está preparada, por lo que el enlace directo a la imagen del sistema operativo que queremos es, ubuntu-18.04.3-4.9-mate-odroid-n2-20190812.img.xz . Una vez se haya completado la descarga, veras una ventana emergente como la que se muestra a continuación. Esto tiene que ver con que Ubuntu MATE detecte el tipo de archivo y piensa que desea actualizar su módulo eMMC o tarjeta microSD actual.

Figure 11
Figura 11

Selecciona Cancelar y cierre la ventana para volver al navegador. Ahora que tiene una copia de la imagen del sistema operativo descargada, es hora de pasar al siguiente paso. Lee a continuación y elige tu ruta, la ruta recomendada tiene mejor rendimiento y confiabilidad, aunque puede ser algo más costosa. Elige sabiamente.

  • Si tienes una microSD de arranque Hardkernel y piensas usar un módulo eMMC (recomendado), continua con la Sección 4.
  • Si tienes una microSD de arranque Hardkernel y tienes pensado usar una tarjeta microSD, continua con la Sección 5.
  • Si tienes un ordenador y estás creando un módulo eMMC o una tarjeta microSD: Sigue junto con la Sección 4 para módulos eMMC, o la Sección 5 para tarjetas microSD y encontrará información sobre cómo montar el módulo de arranque usando Windows o MacOS en la parte inferior de esa sección.

Configura tu ODROID-N2 con un módulo eMMC

Para este paso, necesitarás tu módulo eMMC y un adaptador Hardkernel eMMC a USB. Coloca tu módulo eMMC sobre una superficie seca, libre de energía estática, de modo que el lado del chip quede hacia arriba.

Figure 12
Figura 12

Ten en cuenta la muesca blanca de la esquina del módulo eMMC. Ésta se alineará en el mismo lado, izquierdo o derecho, con el círculo blanco (o muesca) del adaptador eMMC a USB. No se alinea con la esquina exacta, solo al lado.

Figure 12
Figura 13

Coloca con cuidado el pequeño conector negro del módulo eMMC en el conector negro del adaptador eMMC a USB. Puedes girar el módulo eMMC en el adaptador y alinear los conectores. Presiona suavemente hacia abajo y los dos conectores se juntarán suave y ligeramente. Es decir, has montado con éxito el módulo eMMC en el adaptador. Ahora conecta tu adaptador eMMC a USB en tu ODROID-N2, tal y como se muestra a continuación.

Figure 14
Figura 14

Ahora estás listo para empezar a escribir una imagen del sistema operativo en el módulo eMMC, que cubriremos en los próximos pasos. Tienes libertad de omitir cualquier paso microSD que no te sea de aplicación. Siempre puedes volver y buscar cualquier información que necesites. Describiré diferentes formas de escribir la imagen del sistema operativo en el módulo de memoria utilizando diferentes entornos. El proceso es el mismo para un módulo eMMC o una tarjeta microSD.

Configura tu ODROID-N2 con una tarjeta microSD

Para este paso, necesitarás un objetivo, una nueva tarjeta microSD de arranque y un adaptador microSD a USB. Simplemente conecta tu tarjeta microSD al adaptador USB y luego conecta el adaptador a tu ODROID-N2.

Figure 15
Figura 15

¡Eso es! Ahora estás listo para empezar a escribir una imagen del sistema operativo en tu tarjeta microSD. Detallare diferentes formas de escribir la imagen del sistema operativo en el módulo de memoria utilizando diferentes entornos. El proceso es el mismo para un módulo eMMC o una tarjeta microSD.

Escribir en su módulo de memoria usando Linux, Windows o Mac

Este paso detalla la escritura en tu módulo eMMC o tu tarjeta microSD. En este punto, el proceso es el mismo para ambos. Si has conectado tu módulo eMMC o tarjeta microSD, expúlsela. Vamos a ver cuál es el dispositivo en Linux para el módulo de memoria, queremos detectar ese nuevo dispositivo y no escribir accidentalmente en nuestra tarjeta microSD de arranque de Hard Kernel. Para este paso, tendrás que abrir un terminal. En la parte superior izquierda de la pantalla, aparece la lista de aplicaciones y utilidades. Haz clic en Herramientas del sistema, luego ubica la entrada del programa MATE Terminal, tal y como se muestra a continuación. Haz clic en él y tendrás una ventana de terminal para trabajar.

Figure 16
Figura 16

En el terminal, escribe el siguiente comando:

$ sudo fdisk -l
Ten en cuenta la lista de dispositivos de disco que se muestran. Ahora conecta tu módulo de memoria y ejecuta el comando nuevamente. Anota la nueva entrada en la lista o cópiala y pégala en un documento de texto. Esto nos asegura que escribiremos en el módulo de memoria adecuado. A los efectos de este tutorial, supongamos que el dispositivo es dev/sdx. A continuación, desmontaremos el dispositivo utilizando algunos comandos de terminal: Desmonta las particiones ejecutando:
$ sudo umount /dev/sdx*
Puede dar un error diciendo que el disco no está montado, es normal. Ahora escribiremos el contenido del archivo de imagen en la tarjeta SD ejecutando el siguiente comando.
$ sudo dd bs=1M if=/path/to/file/your_image_file_name.img of=/dev/sdx
Si tu archivo tiene una extensión .img.xz en lugar de una extensión .img, puede hacer clic con el botón derecho en el archivo en MATE utilizando las operaciones normales de archivo y extraer el archivo .img. También puedes usar el siguiente comando para realizar ambas operaciones en un solo paso.
$ sudo xz -d < /path/to/file/your_image_file_name.img.xz - | 
dd of=/dev/sdx
Recuerda en este caso /path/to/file/your_image_file_name.img.xz o /path/to/file/your_image_file_name.img es la ruta de acceso a ubuntu-18.04.3-4.9-mate-odroid-n2-20190812.img El archivo .xz que queremos escribir y /dev/sdx es el nombre del dispositivo que vimos anteriormente. Puedes navegar hasta donde se encuentra el archivo usando el escritorio MATE. Haz clic con el botón derecho en la ventana y selecciona el comando Abrir terminal para abrir una terminal en la ubicación del archivo de destino. En este caso, tus comandos de terminal serían:
$ sudo dd bs=1M if=your_image_file_name.img of=/dev/sdx
o
$ sudo xz -d < your_image_file_name.img.xz - | dd of=/dev/sdx
Deja que la operación se complete y tendrá un nuevo módulo de memoria de arranque nuevo para usar en tu ODROID-N2. Además, puedes seguir estos pasos para probar diferentes imágenes del sistema operativo ODROID-N2. Simplemetne mira en la página wiki (https://bit.ly/3a0xyXe) para ver otras opciones del sistema operativo y probar. Para nuestro objetivo, estamos listos para pasar al siguiente paso de este tutorial. Me tomaré un momento para monstrar otras formas de escribir la imagen en el módulo de memoria. Es importante tener en cuenta que el módulo eMMC y la tarjeta microSD se comportan igual en este momento. Linux simplemente los ve como un dispositivo de memoria para escribir.

Si estás trabajando en tu ODROID-N2, puedes usar un método GUI para escribir la imagen en el módulo de memoria que elijas. Una vez que el archivo de imagen haya terminado de descargarse, busca el archivo en tu carpeta de Descargas y haga clic derecho sobre él.

Figure 17
Figura 17

Selecciona la opción Open del Disk Image Writer. Debería ver una ventana emergente similar a la que se muestra a continuación.

Figure 18
Figura 18

El destino correcto para escribir la imagen. AVISO: ¡Tenga mucho cuidado, asegúrate de elegir el módulo de memoria de destino y no la tarjeta SD de arranque!

Escribir una imagen del sistema operativo con un Mac

Para escribir el archivo de imagen del sistema operativo con una Mac, te recomendamos que te hagas con un gran software gratuito, Balena Etcher (https://www.balena.io/etcher/). Probablemente también podrías ejecutar los comandos de Linux que hemos mencionado con anterioridad en un terminal en Mac, pero vamos a hacer algo nuevo. Descargate e instala Balena Etcher. El software permite escribir directamente los archivos .img.xz para que no tenga que preocuparte por descomprimir la imagen del sistema operativo. Localiza tu archivo de imagen de sistema operativo.

Nota: Las siguientes capturas de pantalla muestran como se escribe el archivo con el que estamos trabajando. El proceso es el mismo, no te preocupes.

Figure 19
Figura 19

A continuación, inicia Balena Etcher y responde a cualquier solicitud de privilegios que aparezca

Figure 20
Figura 20

¡Comprueba bien que vas a escribir en el dispositivo correcto y que tiene el tamaño aproximado correcto!

Figure 21
Figura 21

Comienza a escribir en el dispositivo y espera a que se complete el proceso.

Figure 22
Figura 22

Escribir una imagen del sistema operativo en Windows

Para escribir el archivo de imagen del sistema operativo en un Windows, te recomiedo hacerte con el gran software gratuito, Win32 Disk Imager (https://bit.ly/2VqBCMa). Ahora, si está ejecutando Ubuntu Linux en Windows 10, probablemente puedas ejecutar tambien los comandos de Linux que hemos mencionado con aterioridad en un terminal. También puedes instalar la versión de Windows de Balena Etcher y seguir sus instrucciones. Quisiera mostrarte una nueva forma y asi tener un montón de opciones y herramientas para crear tus propios módulos de memoria de arranque. Tendrás que descomprimir el archivo .img.xz antes de escribir en el módulo de memoria. Descargate una copia gratuita de 7-Zip (https://www.7-zip.org/). Instálalo y úsalo para descomprimir el archivo .img.xz, debería contar con un nuevo arvhivo .img en unos minutos.

Una vez que tu archivo .img esté descomprimido y listo para usarse, abre Win32 Disk Imager y navega hasta el archivo .img que deseas escribir en tu tarjeta microSD. AVISO: ¡Asegúrate de seleccionar la letra de unidad adecuada a la hora de escribir! Si tienes alguna duda, simplemente expulsa la tarjeta microSD y toma nota de letras de unidad que desaparecen. Cualquier tarjeta, especialmente si tiene un sistema operativo de arranque, se montará como dos letras de unidad. Simplemente elige uno de ellas. La siguiente captura de pantalla muestra Win32 Disk Imager en acción, se estás utilizandolo para escribir un archivo .img diferente, simplemente ignora esa parte.

Figure 23
Figura 23

Una vez que tengas todo configurado, haga clic en el botón Write en la parte inferior de la ventana y deja que el software haga su trabajo. Ten cuidado de hacer clic en el botón correcto. En ocasiones, puede resultar confuso la dirección en la que va la operación de lectura o escritura, especialmente si has grabado algunas tarjetas seguidas utilizando diferentes operaciones. Habrá algún texto que explique qué hace exactamente el botón en el que estás a punto de hacer clic. Siempre lo leo y compruebo que sea realmente lo que quiero hacer.

Configurar tu entorno de desarrollo

Ahora que hemos creado un nuevo módulo de memoria microSD o eMMC de arranque personalizado, cualquiera que hayas elegído, tenemos que actualizar el sistema operativo e instalar algún software antes de que podamos comenzar a desarrollar. Arranca el ODROID-N2 con tu nuevo módulo de memoria y coloca la tarjeta microSD de arranque de Hardkernel en un lugar seguro. Primero vamos a actualizar el sistema operativo y el software. Haremos esto de dos maneras diferentes. En primer lugar, utilizarás las herramientas del sistema de escritorio MATE. Busca la herramienta Software Updater en Menu -> Administration -> Software Updater.

Figure 23.5
Figura 23.5

Haz clic en el botón Update y deja que se complete el proceso. En ocasiones, una actualización puede requerir que presiones un botón, por lo que es una buena idea mantener la ventana visible y también tener los detalles visibles. Deberías ver una ventana como la siguiente mientras se ejecuta la actualización.

Figure 24
Figura 24

Una vez que se complete, ejecutaremos una actualización desde la línea de comandos. Este paso hace más o menos lo mismo que la herramienta de actualización del sistema, pero es bueno saber cómo ejecutar una actualización desde un terminal, así que vamos a hacerlo. Abre el terminal como lo hemos hecho anteriormente y ejecuta los siguientes comandos. La contraseña por defecto del superusuario es odroid. Copia y pega el siguiente comando en la ventana de terminal y presiona intro.

$ sudo apt-get update -y; sudo apt-get upgrade -y; sudo apt-get 
autoremove -y;
Una vez hecho esto, querremos instalar algo de software y lo podemos hacer en su mayor parte desde el terminal. Vamos a instalar gparted, para administrar las particiones y unidades, gimp, para la gestión de imágenes, default-jre, para que podamos usar el entorno de ejecución de Java y chromium-browser, para agregar un navegador Chrome al sistema. Copia y pega el siguiente comando en la ventana de terminal y presiona intro
$ sudo apt-get install gparted -y; sudo apt-get install gimp -y; 
sudo apt-get install default-jre -y; 
sudo apt-get install chromium-browser -y;
El siguiente software que necesitamos instalar es el gran IDE de Java, https://www.netbeans.org. Enciende tu navegador y navega hasta el sitio web de netbeans (https://www.netbeans.org).

Figure 25
Figura 25

Haz clic en el botón download y aparecerá una pantalla con una lista de versiones. Dirigete a la última versión estable y haga clic en el botón download, tal y como se muestra a continuación.

Figure 26
Figura 26

Esto te llevará a una página con algunos enlaces diferentes para la versión de netbeans que has seleccionado. Querremos descargar una versión comprimida de archivos binarios. Haz clic en el enlace binarios y deja que se descargue el IDE.

Figure 27
Figura 27

Dirigete a la carpeta Descargas y copia y pega el archivo zip en una nueva carpeta llamada install_zips, crea esta carpeta en tu directorio de inicio. Una vez que el archivo haya terminado de copiarse, descomprímelo haciendo clic derecho en el archivo y seleccionando la opción de descomprimir del menú. Crea otra carpeta nueva en tu directorio de inicio llamada aplicaciones. Mueve la versión sin comprimir de netbeans a este directorio. Abre la carpeta, busca la carpeta bin, ábrela y haz clic derecho en el archivo llamado netbeans. Elije la opción "pin to desktop". Ahora tenemos un enlace para abrir nuestro IDE de netbeans. pero se ve un poco tosco. Tonemos un icono atractivo para ello. Dirigete con tu navegador a  https://commons.wikimedia.org/wiki/File:Apache_NetBeans_Logo.svg. Guarda el archivo de icono netbeans de la página que se ha cargado

Figure 28
Figura 28

Haz clic derecho en el acceso directo del escritorio de netbeans. Haz clic en el icono y busca el nuevo icono de netbeans que acabas de descargar. Elíjelo como icono del acceso directo del escritorio. Ahora tenemos un acceso directo IDE mas adecuado. Abre el IDE de netbeans y deja que el IDE instale los módulos que necesite. Es posible que también tengas que hacer esto al abrir un nuevo proyecto por primera vez, simplemente deja que el IDE instale los módulos que necesita.

Figure 29
Figura 29

Configurar una partición de intercambio

En este paso, activaremos una partición de intercambio swap y configuraremos nuestro ODROID-N2 para tener siempre activado el espacio de intercambio en el arranque. Esto puede ayudarnos con el IDE y la memoria que necesitaremos al escribir juegos para el ODROID-N2 en el ODROID-N2. En primero lugar comprobaremos si tenemos algún espacio de intercambio habilitado. Ejecuta el siguiente comando en el Terminal MATE, Menú -> System Tools -> MATE Terminal. Es posible que desees hacer clic con el botón derecho en la opción de menú correspondiente para anclar al escritorio y así tener un acceso directo rápido al terminal cuando lo necesites.

$ sudo swapon --show
Si no se muestra texto, es que no tienes habilitado el espacio de intercambio swap. Si ve alguna información impresa, tiene habilitado el espacio de intercambio y puedes omitir el resto de este paso. Cree un nuevo archivo de intercambio en la raíz de la unidad de arranque ejecutando el siguiente comando.
$ sudo fallocate -l 1G /swapfile
Ajusta los permisos en el archivo de intercambio para que sea seguro.
$ sudo chmod 600 /swapfile
Habilita el archivo como un nuevo archivo de intercambio.
$ sudo mkswap /swapfile
Activa el archivo de intercambio.
$ sudo swapon /swapfile
Para habilitar el archivo de intercambio en cada arranque, edita el archivo fstab y agrega la siguiente entrada:
$ sudo nano /etc/fstab
Copia y pega la siguiente línea en la parte inferior del contenido actual del archivo.
/swapfile swap swap defaults 0 0
Reinicia el sistema ejecutando el siguiente comando, sudo shutdown -r now, ¡Y vuala! Ahora tenemos una partición de intercambio activa. Cuando el sistema vuelva a funcionar, puedes verificar que el archivo de intercambio esté activado ejecutando sudo swapon --show. Debería ver una entrada tras ejecutar el comando. De lo contrario, vuelva a realizar el proceso y asegúrate de ejecutar los comandos correctos en orden.

Asignación de los pines GPIO específicos

En este paso utilizaremos el terminal de nuestra placa de pruebas para calcular exactamente los números de los pines GPIO, tal como se expresan en la placa de pruebas. Ahora puedes consultar la documentación para ver dónde está cada pin, pero dependiendo del sistema operativo, puedes encontrarte en una situación en la que los números de pin no coinciden con la documentación. Es divertido conectar un LED al ODROID-N2 y hacer que la luz parpadee

Ahora tendrás que conectar tu placa de prueba al ODROID-N2. Simplemente conecta el conector a los pines de expansión GPIO de la placa. Asegúrese de que esté orientada de la manera correcta, la franja roja en el cable plano debe alinearse con el lado de los pines GPIO que tienen las etiquetas 1 y 2.

Figure 30
Figura 30

Vamos a configurar un circuito simple usando 1 resistencia, 1 LED y 3 puentes usando el kit de ajustes de Hardkernel. Vamos a configurar el siguiente circuito. Sigue la imagen y el diagrama que aparecen a continuación. Tu pin puede ser diferente. Estoy usando el pin número 488 que esta asignado a la posición 7 en la placa de pruebas.

Figure 31
Figura 31

Figure 32
Figura 32

El siguiente diagrama de circuito es muy simple. El circuito tiene dos propósitos. Uno, permitir que el voltaje del pin controle el LED. Esto es manejado por la primera rama del circuito. Dos, permite que el voltaje del pin sea gestionado por un botón. Esto se usa para simular la entrada de un gamepad.

Figure 33
Figura 33

Sigue las imágenes y el diagrama y configura un circuito similar en tu placa de pruebas. Una vez que esté listo, vamos a ejecutar un script para localizar algunos pines viables.. Descargue el siguiente archivo de scripts GPIO (zip) file, https://bit.ly/32vO2Ek. Tiene múltiples scripts para trabajar con los pines GPIO. Una vez que se completa la descarga del archivo, descomprime el archivo zip y mueve los scripts btn_test, btn_prep y pin_finder al directorio de inicio. Limpia la carpeta de descarga moviendo todos los archivos zip a la carpeta install_zips que creamos anteriormente. Esto te dará una copia de seguridad de todos los archivos que necesitas para este tutorial. A continuación, vamos a consultar los archivos pin de GPIO para tener una idea de los números que nuestro sistema operativo Linux ha asignado a los pines. Esto nos dará un rango para trabajar. Vamos a realizar algunas pruebas para determinar qué pin está asociado con qué número GPIO. Ejecute el siguiente comando para ver los números de pin GPIO..

$ sudo ls /sys/class/gpio/
Deberías ver ciertos números al lado de los chips GPIO encontrados. Estos indican números iniciales de pin y pueden ser una indicación de un rango de pin.
/sys/class/gpio/gpiochip64/
/sys/class/gpio/gpiochip128/
Verás diferentes números, pero lo que indica es un rango de números de pin de 64 a 128 y posiblemente de 128 a algún número desconocido. Esto te dará una indicación de qué números GPIO usar cuando comience a buscar pines coincidentes. Ahora, abre un terminal y ejecuta el siguiente comando desde el directorio de inicio, nano pin_finder. Todos los archivos están configurados para funcionar con el número de pin 488 por defecto. Esto te puede funcionar, pero aún debe completar los siguientes pasos para saber cómo encontrar tus propios pines. Edita el texto de la parte superior del archivo, TMP = 488, y cambia el número por uno de los números del rango que identifiscaste anteriormente. O simplemente puedes subir a 489 e intentarlo. Escribe y guarda el archivo, Ctrl + O + INTRO, seguido de Ctrl + X. EjecutA el script con el siguiente comando.
$ sudo ./pin_finder
El script alternará entre el valor alto y bajo del pin de destino. Mueve el conector n. ° 1 de pin a pin, esperando 2 segundos en cada punto para ver si el LED parpadea. Si es así, has encontrado la ubicación del pin que coincide con el número de pin GPIO de Linux.

Figure 34
Figura 34

Cuando encuentre un pin parpadeante, escribe la posición en la placa de pruebas y el número de pin utilizado para encontrarla. Asegúrate de salir del script pin_finder con Ctrl + C cuando el LED esté apagado. Si pierdes el tiempo, simplemente inicia el script e intentalo nuevamente. Abre el btn_test con el comando nano ./btn_test. Edita la línea de la parte superior del archivo e introduce el número del pin que has encontrado. Escribe el archivo y salte con Ctrl + O seguido de Ctrl + X. Ejecuta el script btn_test así, sudo ./btn_test.

Mientras se ejecuta el script, mueve el botón y verás que la salida cambia de 0 a 1 y el LED se enciende y apaga. La siguiente imagen muestra el resultado del terminal durante este proceso.

Figure 35
Figura 35

Configurar un servicio para permisos GPIO

En este paso, configuraremos rápidamente un servicio en Linux que abrirá el pin GPIO que has localizado al usuario odroid para que no tengamos que escribir sudo cada vez que queramos usarlo, y para que nuestro programa Java pueda acceder también sin tener que ejecutar el comando sudo. Edita el script btn_prep usando nano como lo hemos hecho antes. Cambia el número en la parte superior del script al número GPIO que encontraste con el script pin_finder. Abre una terminal y ejecuta los siguientes comandos para fijar los permisos para los archivos prep del botón GPIO. Debes tener un archivo llamado btn_prep y custgpiosvc.service en tu directorio de inicio.

$ sudo chmod 755 ./btn_prep
$ sudo +x 755 ./btn_prep
$ sudo chmod 755 ./custgpiosvc.service
A continuación, copiaremos el script btn_prep al directorio /usr/bin/. Ejecuta el siguiente comando en la terminal. Asegúrate de estar en el directorio de inicio. Si necesitas volver al directorio de inicio, ejecuta estos comandos,
$ sudo cp ./btn_prep /usr/bin/
Ahora instalaremos el servicio systemd para que nuestro sistema establezca permisos para los archivos GPIO y que el usuario odroid pueda acceder a ellos sin ejecutar el comando sudo. Esto nos facilitará el acceso a los pines desde Java.
$ sudo cp custgpiosvc.service /etc/systemd/system && sudo systemctl start custgpiosvc
Comprueba que el servicio está funcionando con el siguiente comando:
$ systemctl is-active custgpiosvc
Deberías ver la palabra "active" como resultado. Para ejecutar el servicio cada vez que se inicie el sistema, deberáa ejecutar systemctl enable custgpiosvc. Ahora reinicia el sistema, introduce sudo shutdown -r ahora.

Configurar proyectos en Netbeans

En este paso, cargaremos el proyecto Java que necesitamos en el IDE de Netbeans y haremos algunos pequeños cambios en la configuración. Primero descargate la versión del proyecto que necesitaremos para este tutorial. Este proyecto se actualizará y será diferente a medida que avancemos en la serie de tutoriales, así que asegúrate de descargar un archivo similar del proyecto en el futuro si continúas.

Netbeans IDE Project v0.5.0 (https://bit.ly/2w7i70z)

El proyecto incluye muchos archivos Java y los revisaremos en un tutorial futuro, pero nos centraremos en un pequeño proyecto para interactuar con los pines GPIO del ODROID-N2. Haremos un análisis más profundo del código en el próximo tutorial. Y revisaremos la API del juego, también en el próximo tutorial, ¡Ya que vamos a trabajar con él para desarrollar algunos juegos!

Descomprime el proyecto una vez que finalice la descarga. Copia el archivo zip original en la carpeta install_zips. Mueve el directorio del proyecto resultante a una nueva carpeta en tu directorio de inicio. Asigna un nombre a la carpeta netbeans_projects. Ahora inicia netbeans y abre el proyecto haciendo clic en la opción de menú Archivo -> Abrir proyecto. Navega hasta la carpeta netbeans_projects que creastes y elije la carpeta MmgGameApiJava_v0-5-0. El proyecto se cargará en netbeans, deja que netbeans instale los módulos necesarios si aparece y te pide que lo hagas. Nos aseguraremos de que el proyecto tenga un ligero cambio de configuración. Haz clic derecho en el proyecto y selecciona la opción de propiedades similar a la que se muestra a continuación.

Figure 36
Figura 36

Asegúrate de que la propiedad Build -> Packaging -> JAR File esté establecida en el siguiente, dist/MmgGameApiJava.jar tal como se muestra a continuación.

Figure 37
Figura 37

¡Estamos listos para ejecutar nuestros programas Java y mostrar la conexión Java a los pines GPIO de Linux! Ha sido un tutorial largo y detallado para configurar nuestro entorno. Espero que hayas aprendido mucho, ciertamente has logrado un montón. Vamos a utilizar esta configuración para crear algunos juegos Java para el ODROID-N2 en el propio ODROID-N2 y usar los pines GPIO para controlar el juego con un simple pad de juego. Este tutorial ha sido el primer paso.

Lectura de pines GPIO con Java

En este paso lo uniremos todo y leeremos el estado de un pin GPIO usando Java, muy bueno. Ve al proyecto que acaba de cargar en netbeans, MmgGameApiJava. Expande la sección Source Packages, selecciona el paquete com.middlemind.OdroidGpio y amplialo. Selecciona el archivo OdroidGpio.java y ábrelo.

Figure 38
Figura 38

Cambia el número de pin GPIO junto a las nuevas líneas de GpioPin. Hay seis para manejar un D-Pad de 4 direcciones y 2 botones de entrada. Por ahora, fija el primer número, 488, en el número de pin GPIO que localizaste con pin_finder. Una vez hecho esto, haz clic derecho en el proyecto MmgGameApiJava y selecciona limpiar y compilar. Abre un terminal y navega al directorio de salida JAR usando el siguiente comando. $ cd ~/netbeans_projects/MmgGameApiJava_0-5-0/dist Asegúreate de que haya un nuevo archivo MmgGameApiJava.jar en el directorio ejecutando el comando, ls -al ./MmgGameApiJava.jar, en el terminal. Prepárate para ejecutar el programa, mientras se ejecuta vamos a alternar el LED y ver qué hace el programa Java. Asegúrate de que tu circuito esté configurado para funcionar con el número de pin que elegiste, verifica tus notas desde el paso pin_finder. Cuando estés listo, haz clic derecho en el archivo OdroidGpio.java y selecciona Run file, en el menú Mientras el programa se esté ejecutando, presiona el botón y manténlo presionado durante un segundo o dos, deberías ver ProcessAPress en la ventana de resultados cuando se presiona el botón tal y como se muestra a continuación.

Figure 39
Figura 39

Con esto concluye nuestro primer tutorial de esta serie: leer el estado de los pines GPIO en Java que se ejecutan en tu propio ordenador personal ODROID-N2 Linux. Es un buen comienzo y un excelente lugar para finalizar este primer tutorial. ¡Manténte al tanto!

Software and Scripts El software y los scripts utilizados en este tutorial se pueden descargar de los siguientes enlaces. Los enlaces también están en las distintas secciones del tutorial donde se necesiten. . Scripts GPIO  (https://bit.ly/2HUJXA1) Netbeans IDE Project v0.5.0 (https://bit.ly/2TguWxy)

Para comentarios, preguntas y sugerencias, visita el artículo original en  http://middlemind.net/tutorials/odroid_go/odroid_jgd_0.html.

Juegos Linux en ODROID: Juegos Linux en ODROID

El recientemente lanzado ODROID-GO Advance tiene mucho que ofrecer a los fanáticos de ODROID y los entusiastas de los juegos retro. El diseño del ODROID lo hace perfecto para juegos retro y los controles integrados para juegos son perfectos para ello.

Aun así, la placa en sí puede hacer mucho más y tenemos la suerte de tener drivers para casi cualquier función, así que me gustaría buscar algunas alternativas aparte de emular consolas retro y probar hasta donde puede llegar el ODROID-GO Advance con un Escritorio. Quiero probar qué tal se maneja con otras aplicaciones sin tener que conectar un ratón o teclado todo el tiempo, y comprobar si los controles del gamepad son intuitivos para estas aplicaciones y los juegos.

Requisitos

Para mis pruebas, he utilizado mi imagen de Debian Buster que ya lancé hace algún tiempo. También instalé un escritorio MATE para tener un entorno de escritorio. Haré un uso muy intensivo de una herramienta llamada antimicro que me permitirá asignar todos los botones a las funciones deseadas. Los programas y juegos que he usado proceden de mi repositorio o directamente de Debian.

Ajustar el Escritorio

Algunas de las aplicaciones que quiero ejecutar requieren una resolución mínima de 640x480. Puesto que ODROID-GO Advance solo tiene una resolución de 480x320, tenemos un problema con ello. Afortunadamente para nosotros, X11 admite el escalado y nos permite aumentar "virtualmente" el tamaño del escritorio hasta escalar la dimensión de la imagen. Con el siguiente comando, podemos conseguir un escritorio virtual con dimensiones de 720x480:

$ xrandr --output DSI-1 --scale 1.5x1.5
Este comando proporciona a tu escritorio un tamaño de 960x480 (cuatro veces el tamaño del escritorio original):
$ xrandr --output DSI-1 --scale 2x2
Puesto que la imagen está escalada, todo se vuelve mucho más pequeño, lo cual hace a su vez que cosas como el texto sean mucho más difíciles de leer, de modo que, si tiene problemas con un texto tan pequeño, esto te puede suponer un problema.

Antimicro

Antimicro es una herramienta que te permite asignar los botones del sistema a cualquier acción que desees. Puede ser que, con solo presionar un botón, presiones una única tecla en tu teclado. Por ejemplo, cuando presiones el botón ARRIBA del D-pad, presionas la tecla ARRIBA de tu teclado. También puede ser una combinación de teclas. Por ejemplo, si presionas el botón I en ODROID-GO Advance, haces ALT + F4 en el teclado..

Incluso puede ser una serie completa de pulsaciones de teclas seguidas, en lugar de pulsarlas al mismo tiempo. Por ejemplo, para el Quake 2, puedes definir un botón que primero activar un "~" para abrir el menú de trucos, luego escribir "give all" seguido de la tecla INTRO y finalmente activar un "~" nuevamente, todo al presionar un único botón. Incluso puedes asignar eventos del ratón, como mover el puntero del mouse o asignar los botones izquierdo y derecho del ratón a los botones de tu gamepad.

Supongo que entiendes lo potente que puede llegar a ser esta aplicación para ayudarte a configurar tus juegos y programas para que se ejecuten únicamente con los botones del gamepad del ODROID-GO Advance en lugar de tener un ratón y un teclado conectados. Para esto, necesitas instalar antimicro-odroid. Ten en cuenta que también existe un antimicro en Debian, pero requiere QT5 que actualmente no está configurado correctamente en arm64, por lo tanto, utiliza mejor el paquete antimicro-odroid.

Figure 1 - Antimicro running on the ODROID-GO Advance mapping mouse movement, buttons and arrow keys
Figura 1: Antimicro ejecutándose sobre el ODROID-GO Advance, asignado a los movimientos del raton, botones y teclas de flecha

La interfaz de usuario de antimicro es bastante grande y requiere que escales el escritorio a un tamaño de 2x2 para que se ajuste.

Firefox

Comencemos con algunas aplicaciones en lugar de juegos. Firefox como navegador web funciona bien en ODROID-GO Advance. He utilizado una configuración básica en antimicro que asigna el stick analógico como puntero del mouse, L y R como botones del mouse y el D-pad como teclas de flecha. Podrías asignar más botones como F11 para ESC a pantalla completa para salir de un video de pantalla completa o algo similar, pero opté por no hacerlo. El elcalado 2x2 es realmente un buen tamaño y tienes buena cantidad de detalle en pantalla, pero al visitar el foro ODROID para leer algo de texto, la experiencia no fue tan buena. Con 2x2, el texto es demasiado pequeño para realmente poder leer algo. Así que opté por un escalado de 1.5x1.5, y aunque perdí algo de espacio, me permitía leer los hilos del foro. El poder usar el D-pad para desplazarte hacia arriba y hacia abajo facilita bastante la navegación y, con el retos, puedes usar el puntero del ratón La desventaja, por supuesto, es que no tienes ningún sistema de entrada. Podría haber usado un teclado en pantalla, pero con ello cubriría la mayor parte de la pantalla, por lo que abandoné esta idea y, en cambio, probé algo que podría ser más sencillo a través de la navegación y terminé configurando en YouTube. Es bastante útil, ya que navegas casi por completo con el ratón, y cuando haces doble clic en un video, se expande a toda pantalla y convierte tu ODROID en un pequeño y agradable reproductor de video. De hecho, me sorprendió bastante que los videos de hasta 720p funcionarán, pero dado que sobrecarga mucho la CPU, sugiero reproducir a 480p, que se asemeja más al tamaño real de la pantalla con una escala de 1.5x1.5. De hecho, el altavoz también funciona bastante bien, y el sonido de los videos musicales e incluso un especial de 4 horas de Looney Tunes suena bastante bien.

Figure 2 - Youtube on the ODROID-GO Advance
Figure 2 - Youtube on the ODROID-GO Advance

Figure 3 - The ODROID-GO Advance is a nice video player on the go
Figura 3: ODROID-GO Advance es un buen reproductor de video

Sin embargo, existe una desventaja con todo esto, en que cuando un video se está reproduciendo la navegación a través de antimicro, parece ralentizarse y el puntero del ratón va un poco lento. Decidí probar usando un ratón real, y en este caso el problema se solucionaba, parece ser que el uso elevado de la CPU que requiere la reproducción del video afecta a antimicro y puede provocar ralentizaciones en la emulación del puntero del ratón. Funciona, aunque se ralentiza un poco.

Clementine

Clementine es mi reproductor de música muy comón para Linux (e incluso en Windows en el pasado). Ejecutarlo en ODROID-GO Advance es muy fácil, y usar antimicro para navegar con un ratón es bastante fácil. Puedes agregar fácilmente tus estaciones de música y listas de reproducción favoritas, y luego usar el ODROID simplemente para navegar entre tu música, audiolibros o lo que sea que pongas. El uso de la CPU es mínimo, ya que utiliza solo del 10 al 15% de la capacidad de la CPU en un núcleo mientras hace streaming vía Internet. Con este reproductor, puedes convertir tu ODROID en un reproductor de música portatil. Agrega un módulo bluetooth, apaga la pantalla y podrá escuchar música durante horas y horas. Usar antimicro hasta aquí, es muy fácil e intuitivo. Puedes asignar fácilmente un grupo de botones para navegar con solo un clic:

  • F5 – Previous Track
  • F6 – Pause
  • F7 – Stop
  • F8 – Next Track
  • CTRL + M – Mute
  • CTRL + Q – Quit

Mapeandolos del I al VI, por ejemplo, te brinda un fácil acceso a tu control a través de tus listas de reproducción.

Figure 4 - Clementine with 1.5x1.5 scaling, works as well in 1x1 and 2x2; just pick which one you like the most
Figura 4 - Clementine con escala de 1.5x1.5, funciona igual de bien que en 1x1 y 2x2; simplemente elige cuál te gusta más.

Juegos

Ok, detengámonos un poco con las aplicaciones aburridas. Supongo que coges la idea: todo lo que funciona bien con solo conectar el ratón o las teclas de flecha, funciona igual de bien en el ODROID-GO usando Antimicro. Puedes configurar combinaciones de teclas o botones para cosas adicionales como en el reproductor de música clementine, pero lo que realmente quiero saber es cómo funcionan los juegos.

Alien vs Predator

Este juego de acción rápida no es un problema para ODROID-GO Advance. Al principio fue un poco difícil de configurar, pero haciendo algunos cambios en el código, funciona perfectamente en ODROID-GO Advance. Necesitas ejecutar este juego sin escalar (1x1), o de lo contrario solo podrás ejecutarlo en modo ventana, En modo 1x1 puedes ejecutarlo en modo de pantalla completa, y se ve increíble. Sin embargo, el juego en sí es un tanto difícil de controlar, especialmente porque vengo de un entorno de juegos de PC con poca experiencia. Jugar a un juego de disparos en primera persona con mandos es difícil para mí, me es complicado encontrar una forma cómoda de jugar. Necesitas un botón para la combinación de teclas ALT + Intro si el juego se inicia en modo ventana, y debe cambiar a modo de pantalla completa para capturar el puntero del ratón correctamente. El diseño de botones es el siguiente:

  • D-pad – Arrow Keys
  • Analog Stick + L and R – Mouse
  • B – Space (pulling switches)
  • A – RSHIFT (jumping)
  • Y – RCTRL (for crouching)
  • X - “]” for cycling through weapons
  • I – ESC (menu)
  • II – free
  • III - “.” (throwing flares, cloaking)
  • IV - “/” (switching view modes – Predator)
  • V – free
  • VI – ALT + Enter (switching full screen mode and back)

Los dos botones libres se pueden configurar fácilmente con una de las muchas otras teclas de funciones del juego: zoom, por ejemplo, o lanzamiento de disco. Dependiendo de tus necesidades, estas teclas se utilizarán muy rápido.

Figure 5 - AVP looks gorgeous on the ODROID-GO Advance
Figura 5: AVP se ve estupendo en ODROID-GO Advance

Figure 6 - Cloaked as a Predator on the hunt for Humans
Figura 6 - Disfrazado de depredador en la caza de humanos.

La experiencia de juego en general es bastante mediocre en mi opinión. El diseño funciona, pero puesto que necesita cambiar entre un dispositivo analógico y caminar y ajustar la vista, no es muy fácil hacerlo con rapidez. Cuando juegas con un Depredador, cuya especialidad es el sigilo y ocultarse, esto está bien, pero las escenas de acción rápida con el Marine o Alien son casi imposibles de pasarlas (o quizás es que yo soy realmente muy malo en este tipo de controles). Me pregunto si al reemplazar el D-pad izquierdo y derecho por el ratón izquierdo y derecho para girar mejoraría la experiencia del juego. El strafing tampoco es muy útil. El juego es muy rápido y fluido, y no he experimentado ningún retardo, por lo que técnicamente nada se interpone en tu camino una vez que aprendes a controlarlo. En general, la experiencia fue agradable.

Corsix-TH (Theme Hospital Clone)

El divertido juego de simulación/gestión Corsix-TH funciona bastante bien en ODROID. Utiliza SDL2, lo que permite ajustarse automáticamente al tamaño de pantalla que tienes. Por lo tanto, funciona sin tener en cuenta el tipo de escalado 1x1, 1.5x1.5 o 2x2. De hecho, probablemente siempre se vea igual. El menú y el texto son bastante difíciles de leer ya que el tamaño fuente es muy pequeño. El juego se renderiza a 640x480 y luego se escala a la resolución que tienes. En general, es una experiencia interesante y bastante jugable con solo el gamepad del ODROID-GO Advance. Usar el stick analógico y L + R para el ratón funciona muy bien, y usar D-pad para las teclas de flecha te permite desplazarte más rápido.

Necesariamente no necesitas más teclas, pero si desea guardar un juego tienes que introducir un nombre, por lo que te sugiero que asignes cualquier tecla del teclado como el "1" para poder "escribir" algo como nombre de archivo y poder guardar el juego. También puedes asignar ALT + Shift + S (para guardar rápidamente) y ALT + Shift + L (para cargar rápidamente) que posiblemente sea suficiente, puesto que probablemente no jugaras a varios niveles a la vez.

Figure 7 - As with most of the 640x480 games, the text is hard to read
Figura 7: Como con la mayoría de los juegos de 640x480, el texto es difícil de leer

Figure 8 - The game itself runs fine and looks good
Figura 8: El juego en sí funciona bien y se ve bien

Como no se requiere una acción extremadamente rápida, se puede jugar bien con los controles del gamepad del ODROID-GO Advance. El juego es bastante jugable con la excepción del texto difícil de leer, aunque no es imposible, y si conoces el juego, probablemente no necesitaras leer nada.

Dune Legacy

El clon de Dune 2, Dune Legacy, es otro juego hecho para una resolución mínima de 640x480. Al igual que Corsix-TH, está escrito en SDL2, por lo que funciona con cualquier resolución, puesto que se escala a la pantalla existente. Una vez más, esto significa que el texto resultará complicado de leer, pero aun así funciona bien. Cuando comienzas el juego por primera vez, se iniciará en 480x320, que se ve bien, hasta que notas que faltan algunos de los botones. Por lo tanto, te sugiero cambiar la resolución a 640x480, que es el mínimo de todos modos. Después de ello, el menú será significativamente más difícil de leer, pero al menos dispondrás de todos los botones.

Figure 9 - As expected, text is very hard to read
Figura 9 – Tal y como se esperaba, el texto es muy complicado de leer

Figure 10 - It’s not that hard to organize larger armies for attacks
Figura 10 - No es tan difícil organizar ejércitos más grandes para atacar

En general, los controles a través del gamepad funcionan bien. Usé el diseño estándar con el ratón y las teclas de flecha asignadas, se adapta a la mayoría de las situaciones. Las teclas de flecha en el D-pad en realidad son muy buenas para desplazarse, y mucho más fáciles que usar el ratón con los bordes de la pantalla. No hay una función para guardado rápido y carga rápida, por lo que esta vez debe asignar al menos un botón para introducir "texto" para guardar las partidas del juego. Otra buena idea es mapear CTRL + 1, CTRL + 2, etc. para asignar grupos con los que puedas saltar entre combates. Como debes llamarlos con 1 y 2 para volver a los grupos que le asignastes, también puede duplicar su entrada de texto para guardar el juego En general, me ha sorprendió lo bien que funciona con los controles. Pudes jugar los primeros 5 niveles de la campaña de Harkonnen sin ningún problema, pero me pregunto cómo funcionará en niveles posteriores donde tienes que organizar diferentes ejércitos para eliminar al enemigo. Dune 2 fue uno de mis juegos favoritos en Amiga, así que estoy muy contento de que esta nueva versión funcione bastante bien en ODROID-Go Advance

Gigalomania

Gigalomania es otro juego de estrategia. Este juego es un clon de Mega-lo-Mania, que es otro juego de Amiga Classic que realmente me gustaba. Este juego no te ofrece muchas opciones en cuanto a gráficos, ya que se presenta en 640x480 y se escala a la resolución de tu escritorio. Como probablemente hayas adivinado, el texto resulta difícil de leer.

Figure 11 - The text is barely readable, especially numbers
Figura 11: el texto apenas se puede leer, especialmente los números

Figure 12 - The numbers are so tiny that it actually becomes an issue
Figura 12: los números son tan pequeños que en realidad terminan siendo un problema

El juego se controla solo con el ratón, y no hay nada más que necesites, de modo que tienes muy poco que asignar dentro de Antimicro para que este juego funcione. Sin embargo, el tamaño tan pequeño de la fuente realmente se convierte en un problema en este juego. Aunque por lo general me desenvolví muy bien en la primera era (10000 a. C.), fallé en el primer intento en el 2000 a. C. (la segunda era), y la razón era que no podía ver el estado de mi ejército. No podía saber si era yo o mi enemigo el que tenía más unidades y quién estaba ganando o perdiendo. Resultó que estaba perdiendo, aunque no lo sabía. Resultaba un tanto molesto y mostraba la clara limitación del escalado de la pantalla.

Hedgewars

Este es complicado. Utiliza Qt5 que, en Debian, es para arm64 compilado frente a OpenGL, aunque las placas arm64 normalmente solo tienen OpenGL ES. Aunque reemplaces Qt5 por una versión para OpenGL ES, el juego en sí aún requiere que OpenGL funcione correctamente. Por lo tanto, necesitamos instalar libgl-odroid para que este juego funcione. Hedgewars tiene una resolución mínima de 640x480, pero como no usa SDL2 sino Qt5, no se escala a 480x320, lo que significa que no se ejecutará tal cual. Para que el juego se ejecute, necesitamos escalar el escritorio 2x2 o de lo contrario el juego no se iniciará. El menú en sí se puede iniciar en modo de pantalla completa y se ve bastante bien. La mayor parte del texto es lo suficientemente grande como para leerlo, pero una parte del mismo sigue siendo muy pequeña. El juego en sí solo puede iniciarse en modo ventana, el modo de pantalla completa no funcionará. El juego tiene bastantes teclas de acceso rápido que quizás quieras asignar, aparte del ratón y las teclas de flecha.

  • 1-5 se pueden asignar al tiempo que tardan las granadas en explotar
  • La puntería con precisión (normalmente desplazamiento a la izquierda) se puede usar para apuntar mejor, o en combinación con 1-5 para saltar
  • Es posible que se necesite el tabulador para cambiar entre los cerdos cuando los utilices.
  • H para centrar la vista al regresar al cerdo activo
  • Intro se usa para saltar hacia adelante
  • Retroceso para saltar e ir hacia atrás
  • Necesitar la tecla espacio para disparar tu arma

Enter, Backspace, and Space probably should be mapped to Y,B,A as you use them most often. The rest of the buttons are pretty much for everything you want. You also might want to map ESC and “Y” to exit the current game, or ALT + F4 to quit the game.

Figure 13 - The game looks good even with a 960x640 desktop resolution
Figura 13: el juego se ve bien incluso con una resolución de escritorio de 960x640

Figure 14 - The text is most of the time big enough to read
Figura 14: la mayoría de las veces el texto es lo suficientemente grande como para poder leerlo

El juego funciona sorprendentemente bien y en su mayor parte es bastante agradable de jugar. Los controles, una vez que están configurados a tu gusto, funcionan sorprendentemente, aunque es un poco más lento que con un ratón real y algo menos preciso. En general, es bastante divertido. Tienes que iniciar el juego desde la consola con:

$ LD_LIBRARY_PATH=/usr/local/lib hedgewars

LZDoom

LZDoom es un motor para ejecutar diferentes juegos con motor Doom, como Doom1, Doom2, Hexen, Heretic, y muchos juegos hechos por fanáticos como Castlevania: Simon’s Destiny, que básicamente son juegos al estilo Castlevania con la perspectiva 3D en primera persona. LZDoom soporta muchas resoluciones diferentes, empezando con 320x200. Recientemente añadí soporte 480x320 para soportar la resolución de la pantalla del ODROID-GO Advance. El motor es bastante avanzado y ofrece características como niebla e iluminación ambiental, pero utiliza OpenGL en segundo plano. Por lo tanto, se ejecuta en gl4es desde @ptitSeb para usar las funciones de OpenGL 2.0. Aunque el motor en sí ofrece soporte para joystick, sugiero no usarlo, y más bien asignar los controles del teclado y el ratón a través de antimicro como de costumbre. La razón de ello es que no puedes navegar por los menús con el joystick, pero dado que el teclado funciona tanto para el menú como para el juego, recomiendo usar el teclado y el ratón como método de entrada. El intro y el espacio son obligatorios, ya que se usan en el menú y en el juego. ESC tambien debe ser mapeado para poder regresar al menú. Debe introducir un nombre para guardar los estados, aunque tener un espacio asignado ya debería ser suficiente, aunque probablemente termines asignando más teclas de todos modos. Sugiero mapear la asignación de armas, los saltos, los ataques primarios y secundarios. Todo lo demás probablemente depende del juego que uses. El juego original de Doom se puede jugar completamente con tan sólo un botón de ataque, un botón de acción (espacio) para activar cosas y tus controles básicos para caminar, de modo que depende de ti cuántos quieras configurar..

Figure 15 - Classic Doom 1 running in LZDoom on the ODROID-GO Advance
Figura 15: El Clásico Doom 1 ejecutándose en LZDoom en ODROID-GO Advance

Figura 16 - Castlevania: Simon’s Destiny se ve simplemente espectacular

En general, LZDoom funciona muy bien en ODROID-GO Advance, y podría superar la versión libretro de prboom por lo versátil y bien que se ejecuta.

OpenXcom

Simplemente adoro este juego. Comencé a jugar en el Amiga, y luego lo jugué en DOS. ¡Hay muchos juegos con el mismo espíritu, como la nueva serie Xcom disponible en Steam y otras plataformas, o la serie UFO (UFO Aftermath, Aftershock, Afterlight) que me encanta!

Figure 17 - The game looks amazing and the big buttons make text easy to read
Figura 17: el juego se ve increíble y los botones grandes hacen que el texto sea fácil de leer

Figure 18 - Even in missions, you never lose overview
Figura 18 - Incluso en las misiones, nunca pierdes información general

Este juego usa el SDL 1.2 estándar en lugar de SDL 2.0, lo que significa que no escala automáticamente la imagen y tienes que escalar tu escritorio a 2x2 para que el juego funcione correctamente. Si seleccionar la resolución 960x480 el juego funcionará muy bien. Afortunadamente, el juego usa fuentes bastante grandes que hacen que el texto sea mucho más fácil de leer. El juego también es rutinario, por lo que no hay prisa al hacer un movimiento, y tienes todo el tiempo del mundo para jugar con los controles. El ratón y las teclas de flecha son nuevamente tu mejor método de control. Puedes usar las teclas de flecha para un desplazamiento rápido y preciso, y el resto se hace con el ratón. La asignación ESC para un acceso más rápido en los menús es bastante útil, y también lo necesitas si desea guardar y cargar partidas, por ejemplo. Para guardar partidas, probablemente necesites asignar una "entrada" para guardar los nombres de las partidas. Pero también puedes asignar el F5 (guardado rápido) y F9 (carga rápida), aunque normalmente yo utilizo más de una partida guardada.

Simplemente adoro este juego. Tiene muchas modificaciones para mejorar la experiencia original con remezclas, música y armas e incluso conversión total. Es compatible con los juegos clásicos Xcom 1 y 2 (Enemy Unknown y Terror from the Deep). Es realmente divertido jugarlo en ODROID-GO Advance.

Quake 2 (yquake2 engine)

Al igual que otros juegos de disparos FPS que hemos mencionado, éste es un tanto difícil de configurar, ya que los juegos estaban destinados al ratón y al teclado. Este juego hace un uso intensivo del ratón para apuntar, lo cual es un problema, ya que el D-pad y el stick analógico están en el mismo lado, lo que significa que tienes que cambiar entre apuntar y caminar. El problema con este juego es que no puede deshabilitar la entrada del juego, e incluso si reasigna los botones, a menudo resulta que hacer algo diferente. Terminé mapeando los movimientos en los botones ABXY (frente, atrás, desplazamiento lateral). Aumenté la velocidad del ratón ya que se usaba para mirar en todas direcciones y era demasiado lento para mí. Utilicé el botón 1 del ratón para disparar, y asigné el D-pad para agacharse, saltar y activar cosas. También asigné botones para las armas y los objetos siguientes y anteriores, así como el ordenador para consultar la información de la misión. El único inconveniente era que navegar por los menús no era como esperaba.

Figure 19 - Quake 2 looks gorgeous on the ODROID-GO Advance and supports high res textures
Figura 19: Quake 2 se ve magnífico en ODROID-GO Advance y admite texturas de alta resolución

El juego funciona sorprendentemente bien, y rápidamente encontré la forma de caminar, apuntar y disparar como quería. Agacharse y saltar me llevo un tiempo acostumbrarme, pero en general el juego funciona muy bien. Desafortunadamente, el juego siempre interpreta los botones como una acción en el gamepad, de modo que no puedes navegar por los menús, ya que cada vez que presiona un botón es lo mismo que presionar intro, por lo tanto, debo decir que no es 100% portátil ya que necesita un teclado para navegar por los menús. El juego se puede configurar para ejecutarse en 480x320, a través del archivo config.ini de juego

RVGL

Este juego de carreras es uno de los pocos juegos que probé que dispone de una asignación de los controles que también funciona para el menú, lo que significa que una vez que haya configurado su gamepad ODROID-GO Advance para el juego, todo funciona como debería ser simplemente usando el mando para navegar por los menús, jugar y todo lo demás. No hay necesidad de antimicro, y dado que el juego usa SDL2, se escala automáticamente al tamaño de la pantalla, por lo que tampoco hay cambios en la escala.

Figure 20 - RVGL has very good graphics and responsive game controls, and this game was made to be played with a controller
Figura 20: RVGL tiene muy buenos gráficos y controles de juego receptivos, este juego fue hecho para jugarse con un mando

Aunque los controles están bien, el juego parece sufrir algunos problemas. Cada vez que aparecen muchos efectos en la pantalla, como una explosión, el juego se ralentiza significativamente. Lo mismo ocurre cuando empieza una carrera. En el momento en que aparece la señal Go, el juego está a 1 FPS durante unos segundos, después de lo cual el juego vuelve a funcionar bien. Todavía no he descubierto la causa de esta ralentización, pero en general debería funcionar mucho mejor. Este juego es perfecto para ODROID-GO Advance, y su diseño de gamepad no tiene tantos botones, pudiendo asignar cómodamente todas las funciones al gamepad, y los controles actúan de forma rápida y precisa. Espero poder encontrar una manera de arreglar del problema de la lentitud

Devilutionx (Motor Diablo 1)

Por último, pero no menos importante, quiero hablar sobre Devilutionx, que es un motor hecho para Diablo 1. Recientemente publiqué un pequeño video sobre este juego en https://oph.mdrjr.net/meveric/other/Videos/GO2 /go2-1.mp4. El juego se ve estupendo en ODROID-GO Advance, y puede controlarse completamente solo con la entrada del ratón, pero probablemente querrás mapear la barra de elementos rápidos para obtener las pociones de salud. El juego también es compatible con el mapeo del mando, pero esto debe hacerse en el propio código de momento o en SDL2 directamente eligiendo el controlador con una variable de entorno. Todavía no he hecho ninguna de estas cosas, pero podría valer la pena, porque durante las escenas de acción rápida, controlar el juego con el ratón emulado puede ser bastante difícil (o quizás mis reflejos son demasiado lentos). En general, el juego se ve y suena maravilloso en ODROID-GO Advance. Tiene excelente música, sonidos y voces en todas partes. Aunque está hecho para 640x480, la fuente es lo suficientemente grande como para que pueda leer todo lo que sucede en la pantalla. Tal vez me tome el tiempo y cree un mapeo SDL2 para ODROID-GO Advance, para que podamos usarlo para este (y otros) juegos que usan SDL2 como base.

Figure 21 - This title screen brings back so many memories
Figura 21: Esta pantalla de título me trae tantos recuerdos

Figure 22 - Even after over 20 years, the game still is phenomenal
Figura 22: incluso después de más de 20 años, el juego sigue siendo fenomenal

Conclusion

Me ha quedado cada vez más claro que una de las principales limitaciones es la baja resolución de 320p. Muchos juegos fueron creados con una resolución de 640x480 en mente, y puedes sentilo por todos lados. Aunque para la mayoría de los juegos, la escala es una posibilidad, a menudo hace que el texto sea muy difícil o incluso imposible de leer. Controlar juegos a través del controlador del juego y asignar el ratón y el teclado a los botones tiene sus limitaciones, especialmente cuando se requieren controles rápidos o si necesitas jugar con mucha precisión, un gamepad realmente no es la solución para ello. Por otro lado, también muestra que con un poco de entrenamiento y la asignación correcta de botones, los juegos se pueden jugar bastante bien. Personalmente, me sorprendió lo bien que funciona Quake 2 después de algunos ajustes en el controlador. Sé que, con seguridad, un mando siempre es más lento que un ratón real, pero aún así vale la pena, y después de algún tiempo, terminas jugando bastante bien con un mando en lugar del ratón y teclado. El ODROID-GO Advance está dirigido principalmente a los juegos de consola retro, pero afortunadamente no se limita a esto. Hay muchas posibilidades de lo que puede hacer con él además de "solo consola", y estoy bastante seguro de habrá muchos más juegos y programas que estarán disponibles para usarse en el dispositivo con el tiempo.

Sistemas Operativos de ODROID-GO Advance: Una Introducción a las Imágenes Precompiladas Disponibles Actualmente

Ahora que ODROID-GO Advance lleva fuera varios meses, hay sorprendentes sistemas operativos que han sido exportados por la comunidad ODROID. Este artículo destaca varios de estos sistemas operativos e incluye enlaces a imágenes precompiladas que te permiten ejecutarlas en tu propio ODROID-GO Advance. Si quieres instrucciones sobre cómo crear una tarjeta SD ODROID-GO Advance a partir de las imágenes detalladas en este artículo, consulta la Wiki del ODROID-GO Advance en https://wiki.odroid.com/odroid_go_advance/make_sd_card. Antes de juguetear, también debes transferir las ROM del juego tal y como se describe en  https://wiki.odroid.com/odroid_go_advance/transferring_game_roms.

Imagen mínima de Ubuntu con EmulationStation

La imagen oficial de Ubuntu de Hardkernel ofrece un arranque extremadamente rápido, una configuración mínima y un excelente emulador que ya está configurado para emular los siguientes sistemas:

  • Atari 2600
  • Atari 5200
  • Atari 7800
  • Atari Lynx
  • Sega Game Gear
  • GameBoy
  • GameBoy Advance
  • GameBoy Color
  • Sega Master System
  • Sega Mega Drive
  • NES
  • PC Engine
  • PC Engine CD
  • PSX
  • Sega CD
  • SNES
  • PSP

¡Simplemente actualiza la tarjeta SD con la imagen, copia los juegos en la carpeta ROMS y enciéndelo!

Figure 1 - EmulationStation is an easy way to launch all of the supported ODROID-GO Advance emulators
Figura 1: EmulationStation es una forma muy fácil de iniciar todos los emuladores ODROID-GO Advance compatibles

EmuELEC para el ODROID-GO Advance

El colaborador del foro @shanti mantiene una compilación de EmuELEC para ODROID-GO Advance, es una versión Alpha. Puede encontrar más información sobre la última versión visitando https://forum.odroid.com/viewtopic.php?f=193&t=37516, puedes ver videos de esta versión en https://youtu.be/r7rDkB9VkFE y https://youtu.be/uC69OLUyA3U. Para instalar EmuELEC, sigue las instrucciones estándar mencionadas anteriormente para copiar la imagen en la tarjeta SD. Ofrece emuladores para los siguientes sistemas:

  • NES
  • SNES
  • SNES with MSU1
  • Genesis (MD)
  • PSX
  • Naomi
  • N64
  • Sega Master System
  • Amiga (with PUAE, working on Amiberry)

Utiliza Retroarch como núcleo, así que la mayoría de los emuladores que ofrece Retroarch y son compatible con libretro están disponibles en esta imagen. Para descargar EmuELEC para ODROID-GO Advance, visita https://test.coreelec.org/mirrors/emuelec/. Asegúrate de usar una tarjeta SD rápida para que los juegos funcionen a plena velocidad.

Figure 2 - EmuELEC for the ODROID-GO Advance offers a wide variety of emulators
Figura 2: EmuELEC para ODROID-GO Advance ofrece una amplia variedad de emuladores

Batocera Linux

El colaborador del foro @nadenislamarre ofrece una versión de Batocera Linux para ODROID-GO Advance, que es una imagen especializada en la ejecución de juegos retro en ordenadores nano. Es un proyecto de código abierto que ya se ejecuta en ODROID-C2, ODROID-XU4 y ODROID-N2. Está disponible para descargarse desde https://batocera.org/download, puedes ver un video en https://www.youtube.com/watch?v=qZQyn40zVHk, https://www.youtube.com/watch?v=FAOCqOzdH58, y https://www.youtube.com/watch?v=dy6U3nmU924.

La imagen ODROID-GO Advance admite una amplia variedad de emuladores, incluido Amiga, Apple II, Atari, Commodore 64, Gameboy, Nintendo, Sega y muchos otros, así como una versión de Kodi para la reproducción multimedia. La última imagen está disponible en https://batocera.org/upgrades/odroidgoa/beta/last/, donde puede seguir el progreso del equipo a medida que exportan los emuladores individuales.

Figure 3 - Batocera Linux for the ODROID-GO Advance is also available on many of the other ODROID devices such as the C2, XU, and N2
Figura 3: Batocera Linux para ODROID-GO Advance también está disponible para muchos otros dispositivos ODROID como C2, XU y N2

Retro Arena OS

El Sistema Operativo Retro Arena ha sido recientemente exportado y lanzado por @Slaminger, es un proyecto en curso abierto a cualquier colaboración. Es compatible con  48 sistemas differentes, algunos de los cuales requieren una BIOS que debe ser instalada manualmente. Puedes descargar la última imagen desde  https://drive.google.com/file/d/1TFph93l7XAiDkd94d-Kp0_a9qEHnaMsF/view?usp=drivesdk, y publicar sugerencias, preguntas, comentarios y contribuciones en el hilo del foro ODROID en https://forum.odroid.com/viewtopic.php?f=193&t=37281.

Figure 4 - Retro Arena is a newly released operating system for the ODROID-GO Advance that supports 48 different systems
Figura 4: Retro Arena es un sistema operativo recientemente lanzado para ODROID-GO Advance que admite 48 sistemas diferentes

Figure 5 - Retro Arena is a newly released operating system for the ODROID-GO Advance that supports 48 different systems
Figura 5: Retro Arena es un sistema operativo recientemente lanzado para ODROID-GO Advance que admite 48 sistemas diferentes

Figure 5 - Retro Arena is a newly released operating system for the ODROID-GO Advance that supports 48 different systems
Figura 5: Retro Arena es un sistema operativo recientemente lanzado para ODROID-GO Advance que admite 48 sistemas diferentes

Debian Buster

Veterano colaborador de los foros ODROID y experto en ODROID @meveric, quien también escribe la columna mensual sobre Juegos Linux en ODROID Magazine, ofrece el mayor repositorio de la comunidad de juegos, sistemas operativos, aplicaciones, herramientas y utilidades ODROID en https://oph.mdrjr. net/meveric. Su sistema operativo favorito es Debian, y no solo mantiene la inmensamente popular ODROID GameStation Turbo para la familia ODROID, sino que también ha exportado la última versión de Debian, con nombre en código Buster, al ODROID-GO Advance. Debian Buster no es necesariamente una imagen de juego para ODROID-GO Advance, sino que en realidad es una versión completamente funcional de Debian Linux que permite que el dispositivo pueda usarse para cualquier tarea que pueda hacer un ordenador Linux de escritorio. Es muy recomendable conectar un teclado al ODROID-GO Advance para usarlo con esta imagen, junto con un módulo WiFi y un ratón

Figure 7 - The ODROID-GO Advance is not only a gaming device, but can also run a full version of Linux for use as a portable computer
Figura 7: ODROID-GO Advance no solo es un dispositivo de juegos, sino que también puede ejecutar una versión completa de Linux para usarla como ordenador portátil

La última versión está disponible para descargarse en https://oph.mdrjr.net/meveric/images/Buster/Debian-Buster64-1.0~RC2-20200208.img.xz, cualquier actualización, corrección de errores y progreso se publica en https://forum.odroid.com/viewtopic.php?f=193&t=37399.

Puesto que constantemente aparece un nuevo desarrollo de esta imagen, en los ODROIDS en general lo primero que debes hacer tras iniciar la imagen es instalar todas las actualizaciones:

$ apt update && apt upgrade && apt dist-upgrade
Si instalas un entorno de escritorio, ya deberías tener instalada la configuración de teclado y te preguntará en la primera instalación por la distribución de teclado a usar. Esta configuración es para tu escritorio X11 con el fin de tener la distribución de teclado deseada. Para la consola, debes instalar la configuración de la consola del mismo modo. Los siguientes comandos permiten cambiar la distribución del teclado y la zona horaria:
$ apt-get install console-setup keyboard-configuration
$ dpkg-reconfigure keyboard-configuration
$ dpkg-reconfigure tzdata
Para activar el WiFi, edita el archivo /etc/network/interfaces o crea uno nuevo en /etc/network/interfaces.d/ y agrega las siguientes líneas:
auto wlan0
iface wlan0 inet dhcp
wpa-essid 
wpa-psk
Si estás utilizando una red "oculta", añade también "wpa-scan-ssid 1" Puede convertir esto en una imagen de escritorio con los controladores de GPU X11 / GBM utilizando setup-odroid, que permite ejecutar muchas aplicaciones y juegos. Incluso puedes aumentar el tamaño del escritorio utilizando uno de los siguientes comandos:
$ xrandr --output DSI-1 scale 1.5x1.5
$ xrandr --output DSI-1 scale 2x2
Para escalar el escritorio a 720x480 o 960x640, puede parecer pequeño, pero permite aún más aplicaciones en el escritorio.

Conclusión

ODROID-GO Advance es un dispositivo potente pero pequeño diseñado específicamente para juegos, pero también puede ejecutar una distribución completa de Linux con facilidad. Las imágenes incluidas en este artículo son las primeras versiones de sistema operativo para el dispositivo que continuarán evolucionando a medida que la comunidad crezca. Asegúrate de consultar cada uno de los hilos para futuras actualizaciones y mejoras, ¡y siéntase libre de hacer tus propias aportaciones!

Conceptos Básicos de ZFS: Empezando a Funcionar en ODROID-H2

ZFS es un sistema de archivos avanzado con muchas características fabulosas que no están disponibles en muchos de los sistemas de archivos tradicionales como ext4. Algunas de las características clave que puedes encontrar en ZFS son:

  • Pool drive storage, varios discos pueden "fusionarse" en un solo sistema de archivos.
  • RAID-Z, permite funcionalidad de raid vía software con amplia variedad de opciones incluso con tan solo dos discos.
  • Copy-on-write, garantiza que los datos de una unidad no se eliminaran hasta que la copia haya finalizado por completo. Esto evita la pérdida de datos en caso de que el sistema falle antes de que se complete la escritura, puesto que los datos originales siguen estando presentes en el disco
  • Snapshots, una instantánea contiene la versión original del sistema de archivos, y el sistema de archivos en tiempo real contiene los cambios realizados desde que se tomó la instantánea.
  • Data Checksums, los datos escritos en ZFS tienen datos de suma de verificación asociados para permitir la verificación y la restauración de datos en caso de degradación de bits u otros posibles problemas de corrupción.

ZFS fue creado de código abierto originalmente por Sun Microsystems en 2001. Sin embargo, después de que Oracle comprase Sun Microsystems, todo pasó a ser de código cerrado. El proyecto OpenZFS es el resultado de esto, el trabajo continuo de código abierto del código original de Sun realizado por muchos de los ingenieros originales. Debido a esto, se ha debatido mucho sobre la licencia de código abierto que utiliza ZFS y si es compatible para su inclusión en el núcleo principal de Linux. Muchas distribuciones de Linux han elegido incluir ZFS, en esta guía usaremos Ubuntu, ya que está disponible en todos los ODROID

Hace varios años, intenté ejecutar ZFS en mi ODROID-XU4 Cloudshell 2, cuando pregunté en los foros me decepcionó saber que el ODROID-XU4 no era capaz de ello. Sin embargo, ahora tenemos el ODROID-H2, que presenta más posibilidades para esta tarea en cuestión. ZFS es bastante pesado en el uso de memoria. La mayor parte de esta memoria se usa para caché, o Caché de Reemplazo Avanzado, ARC, para ser más específico. Algunos dirán que necesitas un GB de memoria por TB de capacidad en el conjunto de ZFS, otros, incluyéndome a mí, hemos descubierto que es un poco exagerado. Sin embargo, para una configuración como un NAS, cuanta más RAM pueda asignarse a ZFS, mejor. Afortunadamente, dado que el ODROID-H2 se puede expandir hasta alcanzar los 32 GB de RAM, esto nos brinda mucha flexibilidad.

Instalación y configuración

Como hemos mencionado anteriormente en esta guía, utilizaremos Ubuntu como nuestra de distribución, más específicamente Ubuntu Server 18.04 LTS. Una vez que todo esté instalado y las unidades deseadas estén conectadas, podemos continuar con los siguientes pasos:

Lo primero que debe hacerse es instalar las utilidades de ZFS a través de apt-get:

$ sudo apt install zfsutils-linux
A continuación, podemos crear el grupo ZFS, o zpool, a partir de las unidades conectadas. Un grupo ZFS es una configuración de unidades.

ZFS admite muchas configuraciones, resumiré algunas para obtener una lista más completa, para buscar una configuración más particular consulta los enlaces al final de esta guía. Por ejemplo, el siguiente comando zpool create con una lista de unidades formando una configuración RAID-0 en un grupo llamado "mypool". Este grupo solo tiene dos unidades 'sdb' y 'sdc', aunque se podrían agregar más unidades, si estuviesen disponibles, a la lista:

$ sudo zpool create mypool /dev/sdb /dev/sdc
El siguiente comando tomará dos unidades 'sdb' y 'sdc' y las duplicará en un grupo llamado 'mypool':
$ sudo zpool create mypool mirror /dev/sdb /dev/sdc
Para protegernos de la pérdida de datos en caso de fallo de la unidad en un sistema con múltiples discos, podemos aprovechar los tipos de RAIDZ de ZFS. RAIDZ, esto es similar a RAID-5, donde se pierde un valor de capacidad de disco en el tamaño total de la agrupación y solo proporciona protección para un único fallo de disco. RAIDZ2, es similar a RAID-6, con doble paridad y tiene la ventaja de proteger contra dos fallos de disco. RAIDZ3, triple pariedad para proporcionar protección contra tres fallos de disco:
$ sudo zpool create mypool raidz /dev/sdb / dev/sdc /dev/sdd /dev/sde /dev/sdf
Aunque el H2 tiene solo dos puntos SATA en las nuevas revisiones, es posible una expansión para puertos SATA adicionales a través de adaptadores NVMe.

Comandos útiles

Configurar un grupo ZFS es bastante simple como hemos visto, afortunadamente la mayoría de resto de comandos son igual de directos. El siguiente comando es uno de los más útiles para recordar, ya que devuelve el estado y la salud de tu grupo:

$ sudo zpool status
El resultado de este comando debería tener el siguiente aspecto:
odroid@copenhagen:~$ sudo zpool status
[sudo] password for odroid: 
  pool: poolc
 state: ONLINE
  scan: scrub repaired 0B in 1h0m with 0 errors on Sun Feb  9 01:24:36 2020
config:

  NAME        STATE     READ WRITE CKSUM
  poolc       ONLINE       0     0     0
    mirror-0  ONLINE       0     0     0
      sda     ONLINE       0     0     0
      sdb     ONLINE       0     0     0

errors: No known data errors
Si todo está bien, deberías ver '0', cualquier otra cosa debería ser una indicación de que se necesita alguna acción. Uno de los posibles comandos para ejecutar sería un scrub, que realiza una verificación de la integridad de los datos. También se puede usar el argumento "-v" para obtener resultados más detallados:
$ sudo zpool scrub mypool
Las instantáneas son una herramienta muy útil para crear puntos de referencia a los que luego puedes volver en caso de problemas. El siguiente comando crea una instantánea llamada "somelabe" del directorio "/home/odroid" en el grupo ZFS llamado "mypool":
$ zfs snapshot mypool/home/odroid@somelabel
Para ver una lista de todas las instantáneas disponibles:
$ sudo zfs list -t snapshot
Para restablecer tu sistema de archivos, o en este caso "/home/odroid", al estado en que se encontraba cuando se tomó la instantánea "somelabel", se puede usar el siguiente comando:
$ sudo zfs rollback mypool/home/odroid@somelabel

Referencías

Esta guía ha sido un punto de partida para familiarizarte con ZFS y resaltar algunas de las características que lo diferencian. Recomiendo a todos los interesados que echen un vistazo a la guía de referencia de Ubuntu ZFS para obtener más información, así como el artículo de Ars Technica (aunque un poco anticuado, la información y la redacción son excelentes).

https://wiki.ubuntu.com/Kernel/Reference/ZFS https://arstechnica.com/information-technology/2014/02/ars-walkthrough-using-the-zfs-next-gen-filesystem-on-linux/

El Punto G: Tu Destino para Todas las Cuestiones Relacionadas con Juegos Android: El Nuevo ODROID-GO Advance Podría Ejecutar Android

Luces, cámaras y TODAS las acciones; Hardkernel tiene una nueva estrella portátil de ordenador de placa reducida (SBC), de nuevo, y se llama ODROID-GO Advance. Orientado a ser un dispositivo portátil de seguimiento para la popular plataforma ESP32 de 10th aniversario de ODROID-GO, la nueva ODROID-GO Advance está predestinada a eclipsar al resto de máquinas de juegos SBC actualmente en el mercado. ¿Por qué? Todo está en las especificaciones,

Figure 1 - The brand new shiny ODROID-GO Advance handheld Linux-based gaming device. Photography courtesy of Hardkernel
Figura 1: el nuevo y brillante dispositivo portátil ODROID-GO Advance para juegos basados en Linux. Fotografía cortesía de Hardkernel

Supone la incursión inicial de Hardkernel en el ámbito de los sistemas en chip Rockchip (SoC) y parece que se han apuntado otro tanto con su diseño SBC. En particular, el ODROID-GO Advance presenta el SoC Rockchip RK3326. Este procesador ARM-Cortex A35 de cuatro núcleos (64 bits) funciona a 1.3GHz con posibilidad de overclocking (aunque, Hardkernel afirma que el overclocking no es muy práctico a velocidades de 1.4GHz y 1.5GHz produciendo resultados imprecisos).

Este SoC fue anunciado en la Feria de Electrónica de Hong Kong 2017. En ese momento, estaba destinado a ser incorporado en tablet 2 en 1; lo que significa que este Rockchip es un SoC bastante potente. Junto con la posibilidad de ser incluido en una tablet, se afirmó que el SoC RK3326 ya tenía soporte para Android 7.1. Lo que significa que tanto Android como un sistema operativo derivado de Ubuntu podían ejecutarse en el RK3326. Combinada esta de información con el rumor de que acabo de escuchar que podemos (o deberíamos) esperar que el soporte de Android llegue "poco después del lanzamiento" del ODROID-GO Advance. Una vez que el lanzamiento de Android llegue a la comunidad ODROID, tendrá todo el potencial de un dispositivo portátil de arranque dual

Corrección

Bueno, la alegría a durado poco. Justo cuando esta columna se iba a imprimir, me han informado que el lanzamiento "inminente" del sistema operativo Android para ODROID-Go Advance se ha archivado oficialmente. Quizás, otra fuente podría desarrollar un sistema operativo Android para este dispositivo portatil, de momento NO se continua trabajando en el desarrollo de Android para ODROID-GO Advance.

Figure -  2 Lots of ports to call, port-of-call; from left to right: left shoulder trigger, power button, audio output jack, GPIO, power jack, USB 2.0 Host port, and right shoulder trigger. Photograph courtesy of Hardkernel.
Figura 2 - Muchos puertos, puerto de escala; de izquierda a derecha: gatillo superior izquierdo, botón de encendido, conector de salida de audio, GPIO, conector de alimentación, puerto USB 2.0 Host y gatillo superior derecho. Fotografía cortesía de Hardkernel.

Completando el resto de las especificaciones de esta plataforma de juego, se presta más atención al potencial ODROID-GO Advance:

  • GPU Male Quad-core
  • Sopore para 1GB DDR3 RAM (La interfaz de memoria es de 32-bit)
  • Almcenamiento Flash SPI
  • Soporte de tarjetas MicroSD
  • REsolución 320x480 con LCD TFT de 3,5"·
  • Altavoz mono ½ Watt con clavija de salida audio
  • Batería recargable LiPo de 3,000mAh
  • Conector de alimentación DC para clavija 2.5mm
  • Pierto Host USB 2.0
  • GPIO 10-pin
  • 10 botones
  • D-Pad
  • Gatillos superiores izquierdo/derecho
  • Joystick Analógico

Todas estas grandes especificaciones se empaquetan en forma de un kit de bricolaje. El ensamblaje es más complicado que con la edición ODROID-GO ESP32. Ten cuidado con las abrazaderas del soporte del cable plano, la fijación de los tornillos y la conexión de la pantalla LCD. Lee las instrucciones detenidamente antes de comenzar montar el ODROID-GO Advance.

Figure 3 - Your ODROID-GO Advance begins life as a sea of parts awaiting your DIY stewardship. Photography courtesy of Hardkernel
Figura 3: su ODROID-GO Advance empieza como un mar de piezas que esperan su mayordomo de bricolaje. Fotografía cortesía de Hardkernel

En el momento del lanzamiento, ODROID-GO Advance funciona con una imagen del sistema operativo Ubuntu Minimal EmulationStation. Sin embargo, recuerda que existe la clara posibilidad de que una versión del sistema operativo Android pueda seguir de cerca a este sistema operativo Ubuntu. Sin embargo, este sistema operativo EmulationStation no se queda atrás, ya que puede soportar una gran cantidad de emuladores de juegos; incluyendo: Atari (2600, 5200 y 7800), GameGear, GameBoy, GameBoy Advance, GameBoy Color, MegaDrive, Nintendo, PC Engine, SEGA y PSP.

Junto con este sistema operativo oficial Hardkernel EmulationStation y el "potencial" para una próxima versión del sistema operativo Android, el popular sistema operativo Batocera.linux OS (Batocera) también estará disponible para ODROID-GO Advance. Permitiendo a los jugadores retro del mundo regocijarse y abrazar los juegos de 8 y 16 bits, Batocera está listo para usar con emuladores integrados con RetroArch, Kodi, mupen64 y PPSSPP. ¡Todo lo que te queda por hacer es buscar ROM!