Transcript
Page 1: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA INGENIERÍA CIVIL TELEMÁTICA

INTRODUCCIÓN A LA INGENIERÍA TELEMÁTICA

Big Bang Arcade Pi

NOMBRE ROL

MATÍAS MUÑOZ A. 201530005-4

MATÍAS SANHUEZA L. 201530008-9

PROFESOR: WERNER CREIXELL F.

Page 2: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

Índice

Índice 2 Introducción 3 Objetivos 3 Recursos Utilizados 4 ¡Manos a la obra! 5 Anexo 1 11 Disclaimer 13 Bibliografía/Referencias 13

Page 3: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

Introducción

Ante la constante presión que vivimos el día a día en nuestra vida, los momentos de recreación se ven mermados debido a una alta exigencia en nuestras tareas. Está más que comprobado que jugar, además de ser parte importante de nuestro desarrollo cuando niños, es un método importante de distracción que nos saca de la rutina. Necesario en prácticamente todas las etapas de nuestra vida, no siempre sabemos el cómo y con qué realizarlo. Peor aún, en nuestra universidad no existen tantas instancias para poder hacerlo. Es por eso que en nuestro proyecto de Introducción a la Ingeniería Telemática implementamos un emulador de plataformas/consolas clásicas como lo es el Super Nintendo, Atari, Mame, Neo-Geo, SEGA, entre varios otros. Que utilizando como unidad de procesamiento la Raspberry Pi, es una solución potente a muy bajo costo. Nuestro proyecto está basado en el conocido emulador RetroPie. Dentro de este proyecto desarrollamos una pequeña utilidad donde mediante una página web podemos administrar el comportamiento de los distintos emuladores que se se estén ejecutando.

Objetivos

I. Integrar tecnologías (software y hardware) existentes para la entretención de la comunidad a bajo costo, sin tener un conocimiento profundo en programación ni electrónica.

II. Aprender:A. Configuración de la Raspberry-Pi.B. Manejo de comandos básicos en linux. Como:

1. Instalación y/o remoción de paquetes (sudo apt-get install y/o purge).2. Definición de permisos de usuarios sobre ciertas carpetas.3. Programar la ejecución de tareas en algún momento del sistema (modificación del crontab).4. Mover, copiar/pegar, eliminar archivos, carpetas. (mv, cp, rm, cp -r, rm -r).

C. Utilización de Python y algunas de sus librerías incluidas para crear una forma de administración vía web para algunos procesos Linux y las plataformas del emulador de juegos.

Page 4: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

Recursos Utilizados

Hardware:• Raspberry Pi v1 Modelo B• Tarjeta SD de preferencia de 8gb (clase 10)• Adaptador de corriente para la RPi• Cable de Video componente o HDMI para la conexión hacia tu monitor. (Si tu monitor es vga

puedes emplear un conversor HDMI-VGA)• Joystick USB• Monitor• Teclado (para configurar la RPi)Adicional:• Sistema de audio• Tarjeta Wi-Fi USB • Cable Ethernet

Software:• Imagen de disco. Descargable desde http://blog.petrockblock.com/retropie/retropie-downloads/Este será el sistema operativo que correrá nuestra máquina⚠ Importante: Debes descargar la imagen correspondiente para el modelo de tu Raspberry Pi⚠ En este proyecto utilizamos la RPi 1

• Software para quemar la imagen de disco en la tarjeta SD:Windows: Win32DiskImager http://sourceforge.net/projects/win32diskimager/Mac OS X: http://www.tweaking4all.com/hardware/raspberry-pi/macosx-apple-pi-baker/

• Cliente FTP. Para poder “instalar” nuestros juegos.Windows/Mac OS X: FileZilla https://filezilla-project.org/download.php

• PuTTY. Cliente SSH para Windows. Nos permite administrar la Raspberry sin tecladoℹ En Sistemas Operativos UNIX (como Linux, Mac OS X) no es necesario instalar un cliente SSH.

Generalmente lo traen incluido como servicio (basta con usar el terminal de sistema).• Script para administrar los emuladores de SNES, NES y Atari vía web. Puede ser descargado desde

https://github.com/matisanh/retropie-administrator

Page 5: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

¡Manos a la obra!

I. Lo primero que hay que hacer es instalarle el sistema operativo a la RPi. Para esto, hay dos formas. 1. La primera y más simple es descargar una imagen de disco desde la página del desarrollador de

RetroPie. Como lo mencionábamos anteriormente, es sumamente importante descargar la versión correspondiente a tu Raspberry.Una vez descargada la imagen, procedemos a quemarla en nuestra tarjeta SD con los software sugeridos.

Windows: Utilizaremos el Software Win32 Disk Imager. Que puede ser descargado desde la página de su desarrollador. Luego de su instalación debemos ejecutar esta aplicación con permisos de Administrador. Posteriormente veremos la ventana que aparece en la Imagen 1 y en el ícono de la carpeta azul seleccionamos la ubicación de la imagen de disco. Seleccionamos la letra correspondiente a la tarjeta SD. ¡¡¡¡CUIDADO!!!! Asegúrate que la letra seleccionada es efectivamente la de tu tarjeta SD, pues si seleccionas la incorrecta borrarás toda la información contenida en esa unidad.El siguiente paso es hacer click en Write y esperar hasta que termine el proceso. Puede tardar varios segundos.

Una vez terminado el proceso con Win32 Disk Imager, expulsamos de forma segura la tarjeta SD y la insertamos en nuestra Raspberry Pi. Es todo en Windows.

Mac OS X: Utilizaremos el Software ApplePi-Baker. Que puede ser descargado desde la página de su desarrollador. Al ejecutar la aplicación veremos una ventana como la de la Imagen 2, en esa ventana seleccionaremos nuestra tarjeta SD y seleccionaremos la ubicación de la imagen de disco que contiene la estructura de RetroPie.

Imagen 1.Ventana Principal. http://elinux.org/

Page 6: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

Después de seleccionar la imagen de disco, se te solicitará tu contraseña para que se ejecute el proceso. Debes esperar hasta que finalice y expulsar de forma segura la tarjeta SD. Se inserta en la Raspberry Pi y hasta aquí el proceso con Mac OS X.

Linux: Si usas Ubuntu, y no te gusta usar el terminal, te puede servir utilizar ImageWriter (Imagen 3). El proceso es muy intuitivo al igual que en OS X y Windows. Obviamente, si es de tu preferencia, puedes utilizar el Terminal. Te advertimos desde ya, que usar el comando dd puede resultar muy perjudicial si no sabes lo que haces. Te recomendamos leer esta documentación (en inglés) que te puede ayudar a quemar una imagen en Linux.

Imagen 2. Ventana principal ApplePi-Baker.

Imagen 3. ImageWriter. https://www.raspberrypi.org/

Page 7: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

Posteriormente, cualquiera sea la forma de quemar la imagen de disco en la SD, debes introducirla en tu Raspberry Pi, encenderla y esperar, pues automáticamente se instalará toda la arquitectura de RetroPie.

2. La segunda forma en la que puedes instalar RetroPie es mediante un Script que descarga e instala todos los paquetes necesarios. Necesitas tener Raspbian y tener una conexión a internet configurada en la Raspberry. Estos son los pasos a seguir:

Primero necesitas instalar 2 paquetes con:

Y ahora puedes descargar la última versión del instalador de RetroPie con los siguientes comandos:

Para ejecutar el Script de instalación debes escribir en tu terminal las siguientes lineas:

Tal como se ve en la Imagen 4, hay 2 opciones.

La primera opción permite una instalación y compilación de algunos de los paquetes de una forma más rápida que la segunda, pero la desventaja es que es probable que no se instale la última versión del emulador. Te recomendamos esta opción si eres impaciente.La segunda opción instala todas y últimas dependencias del emulador. Compilar todo puede tardar varias horas pero vale la pena para tener las últimas versiones del programa. Si seleccionas esta opción te aparecerá un pantalla como la de la Imagen 5.

1| sudo apt-get update 2| sudo apt-get install -y git dialog

1| cd 2| git clone git://github.com/petrockblog/RetroPie-Setup.git

1| cd RetroPie-Setup 2| chmod +x retropie_setup.sh 3| sudo ./retropie_setup.sh

Imagen 4. Pantalla de bienvenida. http://blog.petrockblock.com/

Page 8: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

La opción seleccionada por defecto instala todos los paquetes del emulador.

II. Luego de instalar el Sistema Operativo de nuestro emulador de juegos en nuestra Raspberry Pi, la encendemos y dejamos que inicie normalmente. Una vez que cargue RetroPie, se nos solicitará configurar los controles. Solo hay que seguir las instrucciones que nos entreguen. ¡Hasta este paso estás casi listo para jugar!

III. Para jugar, lógicamente debes tener juegos. El cómo y qué hacer para tener tus juegos en el emulador te lo contamos a continuación.

Lo primero es conseguir algunos juegos (recuerda que Google es tu mejor amigo) para tu plataforma favorita (lo que más hay en la web son juegos de NES, SNES, MAME). Estos archivos son conocidos también como ROMs⚠ Debes saber que descargar ciertos juegos desde internet es ilegal en gran parte del mundo, por lo

tanto, sé cuidadoso con lo que descargues.Una vez que tienes los ROMs para jugar, los debes pasar a tu Raspberry Pi. Para que el proceso sea más simple crearemos un servidor FTP en nuestra Raspberry Pi con las siguientes lineas:

Si bien ya con esa configuración puedes acceder a la RPi mediante FTP, sugerimos crear un usuario cuyo home sea una especie de acceso directo a la carpeta donde están todos los emuladores:

Imagen 5. Opciones para instalar. http://blog.petrockblock.com/

1| sudo apt-get install vsftpd

1| sudo useradd retro #Crea el user retro 2| sudo passwd retro #Creamos una contraseña para el user retro 3| chroot_local_user=YES #Comenzamos a configurar el home del user retro 4| sudo usermod --home /home/pi/RetroPie/roms retro 5| sudo service vsftpd restart #Reiniciamos el servicio para que

#los cambios sean efectivos

Page 9: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

Ahora lo que resta es establecer la conexión vía FTP a la RPi usando las credenciales creadas y subir los ROMs. Como lo mencionamos en la Página 4 (recursos utilizados), usamos un cliente FTP para conectarnos a la RPi con los siguientes datos:Servidor: [DIRECCIÓN IP DE LA RASPBERRY PI]Nombre de usuario: retroContraseña: playUna vez ingreses al sistema verás una serie de carpetas como la de la Imagen 6.

Es en una de esas carpetas —que representa cada una plataforma/carpeta/sistema de juego diferente— donde debes dejar tu ROM(generalmente en formato zip). ¡Ahora solo debes reiniciar la Raspberry Pi y ver los nuevos juegos cargados en el sistema!

One More Thing…

Ya que suponemos que no tendrás todo el tiempo el teclado conectado a la RPi, y tampoco querrás desconectarla de la energía solo para salir del emulador o recargar juegos nuevos, desarrollamos un script que te permite ingresar a una página web desde tu dispositivo móvil o computador y desde ahí ejecutar varios procesos que harán que la experiencia de jugar un juego emulado en la Raspberry Pi sea muy grata. (Imagen 7).

Imagen 6(referencial). Estructura de carpetas RetroPie.

Page 10: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

Para implementar este servicio debes descargarlo y agregarlo al crontab para que se ejecute al iniciar el sistema con las siguientes lineas:

ℹ Nota: El puerto puede ser cambiado en el archivo main.pyℹ En esta versión del script, solo es posible cerrar RetroPie(volver al terminal), apagar, reiniciar y cerrar emuladores como SNES, NES y Atari. Pretendemos en un futuro que esta página pueda cerrar cualquier emulador que esté corriendo, además de poder subir los ROMs a través de esta misma vía y así no tener que usar el protocolo ftp para la gestión de los archivos de juegos.

Imagen 7. Página web de administración. Formato móvil.

1| cd 2| git clone git://github.com/matisanh/retropie-administrator 3| mv retropie-administrator/* RetroPie 4| cd 5| mkdir logs 6| sudo crontab -e Debes agregar la siguiente linea al final del archivo:@reboot sh /home/pi/RetroPie/launcher.sh >/home/pi/logs/cronlog 2>&1 Guardas los cambios y reinicias. Para acceder a la página debes ingresar con tu navegador a la IP de la Raspberry Pi especificando el puerto (8080) y verás que ya se está ejecutando el servidor web. Ej: http://ip-rpi:8080/

Page 11: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

Anexo 1

Para darle un toque más lindo y que llame la atención, puedes hacerle un case como el que hicimos nosotros. Para eso necesitamos:• Un monitor de pantalla plana de 19”• Alargador con interruptor corta corriente• Parlante• Joystick USB• Materiales de carpintería• Pintura, madera, bisagras, clavos.

Los pasos para armarlo los puedes encontrar en cualquier tutorial en internet, por lo tanto, solo te mostraremos parte de nuestro proceso de construcción.

Medidas que utilizamos expresadas en cmsNotar que la madera que se empleó fue ecoplac

Se le da forma a la madera y se unen las partes

Page 12: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

Así se ve todo unido

Le agregamos un poco de estilo

Y se pinta

Page 13: Big Bang Arcade Pi · PDF fileuniversidad tÉcnica federico santa marÍa ingenierÍa civil telemÁtica introducciÓn a la ingenierÍa telemÁtica big bang arcade pi nombre rol

Disclaimer

Todas las marcas corresponden a sus propios dueños y/o desarrolladores. Todos los procesos fueron utilizados con fines de aprendizaje. Recordamos que bajar ROMs sin haberlos adquiridos va en contra de las leyes de la gran mayoría de los países.

Bibliografía/Referencias

Nada hubiera sido posible sin haber consultado las siguientes páginas.

-http://pydoc.org/2.2.3/BaseHTTPServer.html-https://docs.python.org/2/library/simplehttpserver.html-http://startbootstrap.com/template-overviews/freelancer/-http://www.instructables.com/id/Raspberry-Pi-Launch-Python-script-on-startup/-http://elinux.org/RPi_Easy_SD_Card_Setup-http://blog.petrockblock.com/2012/07/22/retropie-setup-an-initialization-script-for-retroarch-on-the-raspberry-pi/

Dudas, comentarios, reclamos o avisos de copyrights a: matias.sanhueza [@] sansano.usm.cl matias.munozat [@] sansano.usm.cl

1s-2015


Recommended