¿Meadow es el sucesor de Netduino?


La compañia Wildernesss Labs tras comprar  en 2016   Netduino y trabajar en secreto dos años  en  2018,  sacaron vía crowfounding  (en Kickstarter)  su proyecto estrella: Meadow , una  plataforma IoT estándar de .NET de pila completa   que  intenta combinar lo mejor de todos los mundos,  pues tiene el poder de RaspberryPi,  el factor de computación de un Arduino y la capacidad de administración de una aplicación móvil. ¿Y la mejor parte? funciona con .NET Standard completo en hardware de IoT real

Existe una brecha cada vez mayor entre los desarrolladores y las empresas que desean construir hardware conectado y la capacidad de hacerlo. Meadow intenta  cerrar esa brecha y permite a los diez millones de desarrolladores de .NET crear experiencias de hardware realmente interesantes con la misma facilidad con la que crean aplicaciones web o móviles en la actualidad.

Meadow  permite a los desarrolladores ejecutar aplicaciones completas de .NET Standard 2.x en un microcontrolador e incluye un conjunto de controladores de hardware y API en la parte superior que hace que el desarrollo de hardware sea plug and play.   Sin embargo, Meadow no se limita a los desarrolladores .Net, intentando  abrir el desarrollo de hardware a desarrolladores de todo tipo, poniendo especialmente foco en el ambiente empresarial .

Meadow IoT Kickstarter

 

Microordenador vs Microcontrolador: las Raspberry Pis son ordenadores completos  y los Ardunios son pequeños dispositivos (en su mayoría) de una sola tarea.  Es quizás  una exageración tener Ubuntu en un ordenador solo para encender un dispositivo así que por lo general, es deseable  que los dispositivos de IoT ocupen desde el punto de vista del  hardware como del sw  lo menos posible a si que  puede ser una buena  idea que  nuestro core de IoT corra  un sistema  operativo mas estable en cuanto a cortes o interrupciones  ( como lo haría en un microcontrolador pero con muchísima mas potencia del calculo).

Meadow  en principio  ha sido diseñado para ejecutarse en una variedad de microcontroladores, y la primera placa se basa en la MCU STM32F7 (insignia de STMicroelectronics) con coprocesador ESP-32 e   implementando. WiFi, BLE, 32 MB de RAM, 32 MB de Flash. 25 puertos GPIO, PWM, I2C, SPI, CAN, UART y cargador de batería LiPo integrado, todo ello en el factor de forma Adafruit Feather.

Lo interesante pues es que el factor de forma Feather sirva  como placa de desarrollo o incrustarlo. Es realmente un gran diseño   basada en  MCU STM32F7 en un bajísimo factor de forma  y con  casi tantos puertos GPIO (25) tanto  analógicos como digitales como estamos acostumbrados en Arduino o Netduino.

En el sitio de  Meadow Kickstarter dicen que se está ejecutando en Mono Runtime y admite la API .NET Standard 2.0 lo  cual  significa que probablemente ya sepa cómo programarlo  pues  la mayoría de las bibliotecas de NuGet son compatibles con .NET Standard, por lo que una gran cantidad de software de código abierto debería “simplemente funcionar” en cualquier solución que admita .NET Standard.

En términos de NanoFramework y TinyCLR; si bien esos son grandes esfuerzos, son significativamente diferentes a Meadow. Ambos esfuerzos se basan en .NET MicroFramework. Como tal, no son compatibles con .NET completo. No hay genéricos en ninguno de ellos, por ejemplo, ni hay soporte para las bibliotecas estándar .NET. 

 

Funciones empresariales

Meadow  incluye soporte para actualizaciones seguras por aire (OTA), lo que permite que las instalaciones de campo de IoT se gestionen de forma remota; una característica clave para las implementaciones empresariales de IoT.

Meadow abrirá todo un nuevo conjunto de posibilidades para el desarrollo de cosas conectadas. Y como funciona con un dispositivo de  ultrabaja energía, podrá colocarlo en todas partes. Las instalaciones de baterías, energía solar e incluso energía a través de Ethernet (POE) se convertirán en algo común, lo que significa que para muchos de estos dispositivos, el acceso físico será limitado, por lo que la administración centralizada es un requisito absoluto.

Además de las actualizaciones de OTA, Wilderness Labs tiene planes para el monitoreo de campo básico, informes de fallas y análisis para asegurarse de que los dispositivos Meadow funcionen in situ.

Y debido a que Meadow usa .NET, las empresas pueden usar equipos existentes e inversiones de código para construir IoT, en lugar de tener que contratar nuevos desarrolladores que se especialicen en hardware. Es una propuesta de valor similar a la que sus creadores hicieron en Xamarin; había desarrolladores existentes que querían hacer dispositivos móviles, así como muchas inversiones existentes en código empresarial los cuales fueron habilitados en una plataforma completamente nueva ( Microsoft adquirió Xamarin por más de 400 millones de dólares, en gran parte por su valor en el mercado empresarial).

Seguridad 

Otro aspecto importante del aspecto Meadow se intenta centrar en la seguridad. Meadow presenta consideraciones de seguridad básicas, desde la seguridad a nivel de hardware y las actualizaciones seguras, pero Wilderness Labs también se compromete a enviar componentes de software destinados a facilitar la seguridad desde una perspectiva de UX. No es suficiente tener actualizaciones seguras por aire (OTA ) , firmware firmado, revocación de certificados terciarios, etc., pueso la seguridad debe llegar hasta el final.

El pirateo del bot Mirai funcionó porque muchas de estas cámaras de seguridad conectadas tenían nombres de usuario y contraseñas predeterminados, asi  que no es una cuestión   banal.

En este nuevo enfoque enviaran componentes que puede ingresar y brindar una experiencia de usuario fantástica y fácil para cambiar esas cosas, así como orientación y educación para el desarrollador para ayudar a la gente a comprender cómo aprovechar las funciones de seguridad en la pila Meadow.

Inteligencia artificial en IoT

Recientemente, Pete Warden, director de TensorFlow en Google, escribió que la mayor parte de la inteligencia artificial se realizará en microcontroladores , y Meadow es la primera plataforma de desarrollo de microcontroladores que cumple con esa promesa, permitiendo ejecutar visión artificial a través de TensorFlow y otros paquetes de inteligencia artificial de alto nivel localmente en chip.

Se espera que la IA desempeñe un papel clave en IoT con la visión artificial y otros algoritmos de aprendizaje profundo que se ejecutan en imágenes y otros datos de sensores en la fuente para agilizar la recopilación de datos y permitir que los dispositivos tomen decisiones en el campo. Sin embargo, Meadow es la primera plataforma de microcontroladores de IoT que se enfoca específicamente en casos de uso de IA.

Mercado emergente

Se espera que el mercado global de IoT supere los USD $ 1 billón / año para 2025 , y se prevé que gran parte de ese dinero se gaste en herramientas, plataformas y servicios para desarrolladores. Y ese mercado está listo para la disrupción, mientras que los microcontroladores están preparados para convertirse en la forma dominante de computación , con un estimado de 75B de ellos in situ y conectados para 2025, casi todo el desarrollo de microcontroladores hoy en día se realiza en lenguajes de bajo nivel como C / C ++ , y las herramientas no han cambiado mucho desde la década de 1980.

Una de las cosas que ha frenado a IoT hasta ahora es la barrera de entrada; existe una variedad fantástica de nuevos dispositivos informáticos que pueden hacer todo lo que puede hacer una computadora en miniatura y más; sólo cuestan unos pocos dólares, pueden funcionar con una batería de tipo botón durante años y, sin embargo, programarlos es un trabajo duro durante los años 80 ”, comentó Bryan.

Diferencias con Neduino

Hardware

Si bien Meadow está diseñado para ejecutarse en una variedad de microcontroladores de 32 bits, su primera placa se basa en el chip STM32F7 de STMicroelectronic con 32 MB de almacenamiento flash y 16 MB de RAM , el sucesor del chip STM32F4 muy popular que se encuentra en varias placas de desarrollo de microcontroladores, incluido Netduino. La serie F7 es dos veces más poderosa pero usa la mitad de la energía de los chips F4 e incluye una serie de características interesantes, como un códec JPEG integrado para manejar transmisiones de video y cámara, así como un acelerador de gráficos 2D para proporcionar UX en un variedad de pantallas.

También están trabajando en una placa basada en ESP32 que traerá características y conectividad de alta gama a un mercado de bajo precio. Esperaremos con ansias el día en que pueda incorporar una placa Meadow basada en ESP32 en productos por menos de $ 10.

Una gran diferencia con Netduino es  que la placa Meadow F7 está diseñada para ser compatible con el factor de forma Adafruit Feather  ( claramente diferente  a Natduino que se diseño para tener el mismo factor de forma que Arduino ). Además incluye un conector de batería y un cargador integrado, por lo que puede funcionar fácilmente con una batería o conectarse a un panel solar para uso indefinido mediante recarga solar. Aisimismo por diseño, el F7 también está destinado a ser integrable por defecto.

Lo interesante pues es que el factor de forma Feather sirva  como placa de desarrollo o incrustarlo. Es realmente un gran diseño   basada en  MCU STM32F7 con coprocesador ESP-32 e   implementando. WiFi, BLE, 32 MB de RAM, 32 MB de Flash. 25 puertos GPIO, PWM, I2C, SPI, CAN, UART y cargador de batería LiPo integrado  en un bajísimo factor de forma  y con  casi tantos puertos GPIO (25) tanto  analógicos como digitales como estamos acostumbrados en Arduino o Netduino.

Software

Meadow ejecuta un puerto personalizado de Mono sobre un NuttX muy modificado (un µRTOS). De ahí proviene el  soporte estándar .NET. No se basa en Netduino de ninguna manera. Es una pieza de tecnología completamente nueva que han desarrollando desde cero durante los últimos dos años. Existe alguna relación con el  proyecto Netduino.Foundation  pues  han portado Netduino.Foundationa Meadow, y obteniendo todo el atractivo de la última versión de C # y .NET completo para crear una API aún mejor para todos esos controladores.

El proyecto se inició porque .NETMF había desaparecido y no había ningún progreso real allí ni la comunidad pudo participar realmente en él. Es cierto que se inició como un spin-off de .NETMF pero, aparte del motor de ejecución y una buena parte de mscorlib, todo el  código se escribió desde cero.

Han mejorado muchas cosas,  actualizándolo en lo que respecta al sistema de compilación, Wilderness Labs lo ha hecho verdaderamente portátil para los RTOS de CMSIS,  han reelaborado el motor de depuración y han agregado varios objetivos de referencia para MCU con diferentes conjuntos de funciones.

TODO el código es completamente de código abierto ( como el de Netduino ) . Desde el código nativo, a las bibliotecas de clases hasta la extensión de Visual Studio. Dos años de trabajo pueden parecer que el proyecto todavía está en él ‘Es una infancia, pero están orgullosos de que esto se ejecute en SoC SMT32 (de la serie L0 a H7) y, sí, también en ESP32. Hay NuGets funcionales y totalmente utilizables para GPIO, I2C, SPI, Serial, ADC, PWM, Wi-Fi, Networking (con soporte SSL / TLS) y otros.

Es cierto que no admiten bibliotecas .NET completas. En su lugar, han seguido prácticamente la API de .NET UWP para que se pueda reutilizar una gran cantidad de código sin demasiado trabajo pues en el   mundo del IOT cada línea de código importa, se debe considerar cada ciclo de CPU, cada mA que el sistema drena de la batería y así sucesivamente: es decir todo lo que podamos hacer más eficiente es importante.

Conclusión

Tras dos años en el mercado Meadow  es una plataforma  con mucho futuro  pero con mucho  recorrido  para crecer

Es como vemos bastante interesante, pero hay algunas cosas nos  impiden retroceder:

PROS

 

  • La  placa Meadow F7 está diseñada para ser compatible con el factor de forma Adafruit Feather e incluye un conector de batería y un cargador integrado, por lo que puede funcionar fácilmente con una batería o conectarse a un panel solar para uso indefinido mediante recarga solar .Ademas por diseño, el F7 también está destinado a ser integrable por defecto. Lo interesantes pues es que el factor de forma Feather sirva  como placa de desarrollo o incrustarlo.  .
  • Hay muchas variables en este sistema. Si podemos elegir entre tener genéricos o código en C # usando una herramienta increíble como Visual Studio, no lo deberíamos pensar dos veces y lo  ideal  seria optar por lo último. En general, es genial que haya más opciones disponibles que permitan a los desarrolladores de .NET codificar para IoT y sistemas integrados utilizando su lenguaje favorito;NET para codificar para IoT y sistemas integrados utilizando su lenguaje favorito;NET para codificar para IoT y sistemas integrados utilizando su lenguaje favorito
  • También hay cierta fragmentación en el espacio de .NET IoT, lo que significa que tenemos varias soluciones pequeñas, pero ninguna que sea utilizada por muchos desarrolladores. Un esfuerzo común, dirigido por .NET Foundation, habría sido un mejor enfoque.  Nano Framework está en el camino correcto, pero  todavía está en su infancia. Al final, el no compromiso de Microsoft con IoT / .NET Micro Framework es ahora un gran problema, ya que habría sido la plataforma perfecta y natural para el desarrollo de IoT basado en Azure ;

CONTRAS

  • Con 50$  al cambio , es extremadamente cara en comparación con Arduino, Raspberry Pi y otras ofertas similares.
  • Hay un esfuerzo para portar .NET a varios chips SDT y ESP32: https://nanoframework.net/ .  pues  no olvidemos  que se puede obtener una placa de desarrollo ESP32 por menos de 10 $ ( y menos) 
  • Es bueno recordar el fracaso del AGent smartwatch  también en quickstarter  patrocinada por Secret Labs ( los fundadores de Netduino). La idea era muy buena pues ya en 2013  este reloj  pretendía ser un reloj  inteligente con tinta electronica  y con el soporte .Net. Este  proyecto  desgraciadamente  precipito la caída de Secrets LAbs y con ello la de Netduino que fue comprado por Wilderness Labs. 

 

 

 

 

 

 

Fundada en 2016, Wilderness Labs es el fabricante de placas Netduino y el creador de Meadow. Para obtener más información, puede encontrar su blog en blog.wildernesslabs.co .

Hackear un sensor PIR


Es relativamente utilizar  sensores PIR Panasonic de ultra baja potencia, componte  que es usado  en la mayoría de los sensores de proximidad.

Estos sensores están disponibles en varias variantes (series WL y VZ, rango de 5-12m, corriente inactiva de 1-6uA) siendo la corriente de detección activa de este sensor de ~ 30uA (durante el movimiento), y el  consumo de  corriente cuando esta inactiva de  sólo  2uA.

Cuando se ensambla junto a otros componentes en un sensor de proximidad , que es lo habitual  , la corriente inactiva total del  conjunto  será de alrededor de 10uA, por lo que como vemos el consumo es bastante ajustado.

Como  el voltaje de entrada de los PIR de Panasonic es de 2.3-4V , en algunas  placas   cuentan con el siguiente puente de soldadura para cambiar su VCC de la fuente de la batería a la fuente de 3.3V 

El sensor de movimiento PIR predeterminado en  los famosos  módulos  HC-SR501  es precisamente  el mismo sensor de Panasonic , usando alrededor de 60uA en inactivo, y la corriente de detección activa es ~ 200uA.

 

 

El sensor PIR del HC-SR501 tiene un rango de voltaje de alimentación de aproximadamente 3.9V a 24V lo cual lo hace ideal para usarlo por ejemplo con un Arduino como vemos  en el siguiente esquema.

 

Este rango  tan amplo de alimentación es genial, pero cuando estamos operando con una batería LiPo que se agota desde 4.2V cuando está completamente cargada pero todavía durará mucho tiempo sin modificaciones en el sensor PIR. Cuando el voltaje de la batería cae por debajo de 3.8-2.9V, el sensor PIR se disparará continuamente,pero como no queremos eso  necesitamos que el sensor PIR funcione hasta los 3.3V que marcarán el estado de la batería descargada.

En  estas   placas  , es patente  que el sensor PIR tiene un diodo y un regulador:

      • El diodo tiene un enorme voltaje directo de 0.6V, por lo que como mínimo deberá quitar este diodo y sustituirlo por un puente. También puede cruzarlo soldando un cable a los 2 terminales del diodo o con un poco de estaño intentar tocar ambos terminales  (como en la imagen de mas abajo).
      • El regulador tiene otra caída de voltaje de 0.1-0.25V, por lo que para alimentar el circuito con  el rango de entrada de voltaje más bajo absoluto para el PIR, también se puede quitar el regulador  ya que el regulador es lineal, por lo que será muy poco eficiente cuanto mayor sea el voltaje de entrada.

El diodo (y el regulador) deberían salir fácilmente si calienta repetidamente los terminales . La vía  mas simple de  hace esta pequeña modifiación  es reemplazar  estos componentes ( excepto la masa del regulador ) por simples  puentes de soldadura como se muestra a continuación.

Es evidente  que el quitar estos componentes al circuito conlleva dos peligros evidentes:

    • Podemos quemar el circuito si invertimos la polaridad al no contar con el diodo de protección
    • Si eliminamos el regulador también hay riesgo de quemadura del sensor  sobre todo si sobre-alimentamos el circuito

A pesar no obstante de estos riesgos es evidente  que el circuito podrá ser alimentado por menor tensión (3.3V) consumiendo ademas menos corriente , lo cual es muy importante cuando alimentamos estos sensores con fuentes recargables

 

Consejo para una fácil desoldadura:

Estos componentes son SMD y podrían ser un poco difíciles de desoldar si nunca antes lo ha hecho. Afortunadamente, hay un truco bastante fácil: derrita un montón de soldadura en la punta del soldador; esto aumentará la masa térmica de la punta. Para el diodo, caliente un lado y luego muévalo rápidamente hacia el otro, luego de un lado a otro hasta que el diodo se desprenda. Si este es un diodo realmente pequeño (algunos PIR tienen diodos pequeños y algunos más grandes), entonces puede simplemente conectar / cortar los terminales del diodo con un pequeño cable de puente sin tener que desoldarlo.

Si desea hacer que el PIR tenga una potencia aún más baja, debe quitar el regulador y conectar el regulador VIN a VOUT. Con un montón de soldadura derretida en su punta de hierro, toque los 3 cables del regulador y debería salir inmediatamente, luego deje caer la soldadura derretida en el centro y las almohadillas derechas donde estaba el regulador (como se ve en la foto de arriba).

 

Repetimos   que deberia tener en cuenta que  una vez  realice estas modificaciones, el PIR se podrá alimentar  hasta 5 V y deberá conectarse correctamente  pues ya no hay protección de diodo inverso

Diversion con Raspberry Pi


Son tiempos complicados     en los  que debemos  usar todos los recursos disponibles en aras de  hacer mas llevadera esta nueva etapa de nuestra vida en la que por desgracia estamos inmersos.

Precisamente en este contexto vamos a  ver  como podemos usar una Raspberry Pi como consola de juegos sin tener que manipular o modificar el fw   que se tenga(normalmente RaspBian)  , es decir ,sin tener que recurrir a cambiar  la imagen de la SD.

En este post,pues  querido lector  vamos a ver lo sencillo  que es si cuenta con una Raspberry Pi  con Raspbian instalado( o cualquier  otra  maquina  corriendo con  Linux)   , las cuales   quizás estén usando para otro cometido , también  pueda  usarla  con unos simples pasos en una divertida consola de juegos retro.

 

La importancia del sistema operativo

En efecto  partiendo   de una Raspberry Pi ( o algunos de su clones  como Orange Pi o Banana Pi  ) o incluso un ordenador con  Ubuntu (16.04 LTS o posterior) o una distribución basada en Debian relacionada,  como Linux Mint 18 / 19  es factible instalarle Retropie , es decir  una capa de personalización con una interfaz desde donde ejecutar los diferentes emuladores para poder jugar a juegos retro.

Es  importante destacar de hecho que toda la interfaz de RetroPie así como los emuladores son de código abierto, por lo que cualquier usuario puede colaborar en el desarrollo y reportar posibles errores detectados durante la instalación o el juego.

Si parte de una Orange Pi   que tiene un chip  ARM , en este post se explica  como  instalar ARMbian  , si por el contrario   posee una Raspberry Pi , los pasos para instalar  Raspbian  son mucho mas  sencillos como se citan en este post

Primer paso :revisar la SD y otros

Si la tarjeta SD es mayor de 4 GB,  si aun no  lo ha hecho  para qeu nos quepa  los juegos    y sus emuladores  debera expandirla antes para  que la Raspberry pueda utilizar el espacio restante, para lo cual deberá iniciar la herramienta de configuración Raspberry Pi (raspi-config).

Para  ello desde una consola (o  desd e la interfaz de Retropie seleccionando el icono del menú RetroPie y luego seleccionando  RASPI-CONFIG)  introduciremos  lo siguiente y pulsaremos  Intro:

sudo raspi-config

Una vez compleatdo el proceso  elegiremnos  Expand Filesystem expand_rootfs del menú  y  reiniciaremos la Raspberry  por ejemplo mediante el interfaz grafico o utilizadno el siguiente comando

sudo reboot

Ahora  podemos asegurarnos de que todos los paquetes estén actualizados. Presiona F4 para volver a la línea de comandos, y ejecute los siguientes comandos:

sudo apt-get update
sudo apt-get upgrade

Reinicie la Raspberry una vez más.

Si aun no lo ha hecho ,la ejecucion de  RASPI-CONFIG es importante. Entrando en ello, se pueden hacer muchas cosas:

    • Se puede cambiar la contraseña de usuario por defecto (pi),
    • Podemos configurar lenguaje en change locale quitando el inglés y ponienodo el español. Para eso bajamos hasta en_GB.UTF-8 UTF-8 y lo desmarcamos con la tecla Espacio. Bajamos hasta es_ES.UTF-8 UTF-8 y la marcamos pulsando la tecla Espacio. Ahora pulsamos la tecla Tabulador e pulsamos Enter. En la siguiente pantalla seleccionamos la opción es_ES.UTF-8.
    • También podemos cambiar el TimeZone, el Keyboard y ponemos nuestro pais si usamos wifi. Tecla tabulador para elegir Select, o Back, o Finish, terminar. 
    • En Wifi (último epígrafe), ponemos nuestro ESSID y password, para poner conectarnos.  Y salidremos , bien con F4, y escribiendo emulationstation o bien  con los botones del mando ( como veremos mas adelante)

Instalación Retropie

Como comentamos anteriormente, en este post vamos  a instalar RetroPie en nuestra Raspberry Pi, aunque  estos pasos son extrapolables a otros tipos de maquinas o placas con Linux y sus variantes.

Afortunadamente la mayoría de los videojuegos “antiguos”  se pueden emular desde la versión 1 de Raspberry Pi,aunque  sin embargo, algunos juegos de videoconsolas como PS1 o NS64, necesitaremos emularlos en las Raspberry Pi mas modernas ( 2 ,3 o mejor 4).

En Retropie , de hecho ,se dispone un numero considerable de videoconsolas para emular videojuegos  entre las cuales destacamos las siguientes:

        • NES , es decir Nintendo Entertainment System – Super Nintendo Entertainment System
        • Atari 800 – Atari 2600 – Atari ST/STE/TT/Falcon
        • Amstrad CPC
        • Game Boy – Game Boy Color – Game Boy Advance
        • Sega Game Gear
        • MAME
        • PC x86
        • NeoGeo
        • Nintendo 64
        • Sega Master System – Sega Mega Drive / Genesis – Sega Mega-CD – Sega 32X
        • Playstation 1
        • Sinclair ZX Spectrum

 

Para ejecutar RetroPie-Setup, debe ser miembro del grupo root / admin lo cual  es lo normal siempre qeu haya instalado con las opciones por defecto  y no haya tocado nada.

Antes de empezar desde una consola en Raspbian  comprobaremos si hay actualizaciones del sistema operativo, por lo que escribiremos lo siguiente en el caso de que no  lo haya hecho en el paso anterior:

sudo apt-get update && sudo apt-get upgrade

Ahora  instalaremos los paquetes necesarios para el script de instalación de RetroPie:

sudo apt-get install -y git dialog unzip xmlstarlet

Descargaremos  también  el último script de configuración de RetroPie:

git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git

Ahora  , suponiendo que estemos en el home del usuarios ,  nos iremos  a  la carpeta con el script de configuración:

cd RetroPie-Setup

Ya podemos  ejecutar el script  mediante sudo  con:

sudo ./retropie_setup.sh

La pantalla debería verse / similar en este punto:

script de configuración de retropie 4-0-2

 

Ahora  nos  iremos  a la primera opción (Instalación Básica) ,lo cual  instalará los paquetes principales que son equivalentes a los que se proporcionan con la imagen RetroPie SD. 

Tenga en cuenta que esta será la versión de 32 bits de RetroPie  lo que significa que algunos emuladores como Daphne (Dragon’s Lair) no funcionarán de fábrica en esta versión pues Daphne y algunos otros emuladores solo tienen una versión de 64 bits lanzada para su uso, mientras que esta instalación es para la familia de CPU de 32 bits.

 

Configurar RetroPie

EmulationStation se puede ejecutar desde el terminal escribiendo emulationstationel terminal.

Una vez  arrancado  podemos  ir a Configuración / Configuración y habilitar el inicio automático  para que arranque nuestra raspberry Pi   con el interfaz RetroPie ,aunque esta opcion no es muy aconsejable si usa la  raspberry pi para otros cometidos  pues ademas la vuelta desde un  emulador no siempre es muy efectiva

El arranque de RetroPie requiere un poco de paciencia, pero básicamente nos advertirá sobre la detección  o no del gamepad.

 

retropie guia de instalacion
Emulacion por medio de  teclado

Una vez nos aparezca  la EmulationStation y se nos ponga en la pantalla de ‘RetroPie’  , si solo disponemos de unteclado   USB   pulsaremos una tecla hasta que veamos ‘keyboard’ y ya entramos en su configuración.

Por resumirlo, lo del teclado se haría así:

 

A partir de este momento, ya podríamos actuar, acordándonos de que la tecla más importante, en el teclado, es la Z, la de Launch (iniciar, OK, aceptar…)


Si se equivoca, pulsando la tecla F4, se sale de la configuración, pasando a modo consola. Y, cuando esté en el ‘prompt’ de consola, puedes escribir sudo reboot,para reiniciar el sistema, o sudo shutdown -h now) para cerrarla y apagar. O puedes escribir emulationstation y vuelves a la pantalla de Configuración General.

Emulacion por medio de un gamepad USB

Aunque un teclado nos puede valer , lo realmente divertido es  usar Gamepads para jugar ,( los hay por 5€)

 Hay infinidad de mandos USB que son compatibles con RetroPie, basta hacer una pequeña búsqueda en Amazon.

Puede utilizar cualquier tipo de controlador USB, incluido un controlador USB NES, aunque sus juegos son más limitados, ya que tiene menos botones que la mayoría de los juegos más recientes.

Si está configurando RetroPie en su máquina arcade lo podrá configurar todo de igual forma.

Antes de empezar  conectaremos los Gamepads     a nuestra Raspberry Pi


Los mandos para jugar se configuran de una  manera similar  a un teclado .

Para configurar los mandos para que funcionen con el sistema de menús y los juegos, arranque RetroPie. La Raspberry iniciará automáticamente la interfaz de usuario de RetroPie, donde se le pedirá que configure el controlador.

Mantwega  presionado uno de sus botones para configurarlo, y siga las instrucciones en la pantalla

Si se equivoca, no se preocupe, puede acceder a este menú de configuración más tarde pulsando Start en la interfaz de usuario de RetroPie o escribiendo F4 en su teclado y reiniciando RetroPie.

Algunos juegos requieren una configuración adicional del mando en el juego. Esto se puede hacer entrando en el sistema de menús de un juego y mapeando el controlador allí (aunque esto no es necesario para la mayoría de los juegos).

configuracion-mandos-retropie

Es importante,mencionar lo del HotKey  pues es el mandato para salir de un juego.  Si no se asigna nada,  pregunta si quiere que se asigne el botón por defecto (o no). Si  Le dice que YES, y entonces  asigna el Pulsar simultáneamente Select+Start,( es decir los botones centrales del  s Gamepads      ) , lo cual  es un gesto muy fácil, y vale perfectamente para salir de cualquier juego.

Si tuviésemos un mando de PlayStation, estos serían las completas equivalencias:

 

Si su gamepad no cuenta con una de las opciones (digamos, las palancas analógicas) presiona un botón hasta que RetroPie la ignore e indique «Not Defined». La confirmación en «OK» se hace con el botón equivalente a «A». El teclado puede ser configurado como un control secundario, o salir al rescate en caso de que RetroPie no haya detectado correctamente a los botones del gamepad y sea necesario volver atrás.


 

Confuguraciones adicionales


Respecto a las configuraciones generales, en realidad, se puede dejar todo ‘por defecto’.

Ya tenemos configurado así que vamos, en la ES (EmulationStation) al identificativo de Retropie – Configuration y… Aceptar. Entonces nos sale esto:

retropie guia de instalacion

Viéndolo muy por encima, vamos seleccionando (y Aceptar) cada cosa y viendo que pone, por ejemplo en Audio, que sea por HDMI. Es-Themes y Splash- Screen es cosa de tuneo, Files Manager es para navegar por los archivos (usando Linux, es mucho más cómodo meter la SD en el PC y trabajar desde ahi).

 

Buscando ROMs

Oficialmente  deberiamos comprar las ROM  si es  que no disponemos del juego original

Si cuenta con los juegos originales  hay algunas web en las que puede buscar, y descargar, una a una, ‘roms’ de juegos, que  presentan ordenados por formatos de emulación, y alfabéticamente.

Estas son  algunas:

    • emuparadise.me
    • coolrom.com 
    • gamestorrents.to  
    •  freeroms.com


Por cierto que parece ser que estos sistemas admiten añadir, en las carpetas donde cargas los juegos, unas subcarpetas de nombre ‘images‘ que contengan archivos JPG, PNG, etc, de esos juegos cargados, para verlos cuando arranque el sistema. Y el propio sistema tiene una cosa que se llama ‘SCRAPER’, en la que no vamos a entrar, por la que, vía internet, se pueden ‘documentar’, con imágenes, los juegos instalados.

Por suerte, tanbien   hay algunas ROMs gratuitas que podemos usar, MAMEdev.org tiene una lista de estas ROMs gratuitas y legales. La.

Como ejemplo las ROMs de Gridlee y Super Tank. se pueden descargar

Carga de juegos

Ahora, debe copiar sus archivos rom en los directorios rom correctos asociados. Si siguió los pasos anteriores, el directorio principal para todas las roms es ~/RetroPie/roms(o /home/pi/RetroPie/roms, que es lo mismo aquí). En este directorio hay un subdirectorio para cada sistema emulado compatible, por ejemplo, NES, SNES, Sega Megadrive, etc.

Se debe prestar atención a las extensiones de los archivos rom pues algunos emuladores usan .zip mientras que otros usan una extensión de archivo personalizada asociada con el emulador en cuestión. Por ejemplo, el emulador Atari 2600 puede usar .a26, .bin y .rom.

 

Las ROMs pueden instalarse desde al menos tres vias :

  • A través de SSH/SFTP (a través de su red) .Lo ideal   es  conectarse  con otro ordenador  usando  FileZilla y buscando el siguiente directorio:
/home/pi/RetroPie/roms

Descomprima cada ROM de juego y suba cada carpeta de juego a su respectiva carpeta de sistema de juego.Después de haber copiado estos directorios, reinicie RetroPie.

  • Desde la SD con un ordenador Linux. Si pinchamos la SD del Retropie en el ordenador (con Linux, porque las particiones son EXT4 y Windows no las vera) vemos que consta de tres particiones: boot y retropie (es decir, es como un sistema debian, porque los juegos hay que cargarlos, en Retropie, en la ruta (de esta partición ‘retropie’… /home/pi/RetroPie/roms/. Y dentro de esa carpeta ‘roms’ vemos muchas subcarpetas, que corresponden, cada una, a un tipo de emulación… y a cada una de ellas deben ir  los juegos (las ‘roms’) que corresponda a esa plataforma.
  • Se pueden cargar  juegos tambien desde un pendrive, Siga los siguintes pasos :

1- Pendrive vacío, formateado en FAT32. Crear en él una carpeta (vacía) llamada retropie.
2- Insertar este pendrive en el Retropie arrancado (instalará automáticamente unas carpetas, tardando cerca de 2 minutos)
3- Sacarlo, volver al PC y copiar los juegos en sus correspondientes carpetas del pendrive
4- Volver a insertar en pendrive en en el Retropie… y transferirá, automáticamente, los archivos cargados.

Los juegos (las ‘roms’) tiene que cargarse en el formato apropiado… o en *.zip yY esto hay que irlo conociendo (conociendo las ‘extensiones’), a la hora de copiar los juegos. Por ejemplo, los juegos de Atari7800 vienen como *.a78, los de GameBoy con *.gb, los de GameBoy Color como *.gbc, los de Nintendo 64 como *.n64, los típicos de Nintendo (‘Nintendo Entertainment System’) como *.nes, los de Supernintendo como *.smc y los más gordos, de la Play Station One (PSX), la Play Station Portable (PSP) suelen venir como *.iso, o *.img, o con un .bin mas un .cue, etc. Los de las consolas Nintendo vienen como *.nds
Y, según pod3emos leer, los de PSX, en .cue .cbn .img .iso .m3u .mdf .pbp .toc .z .zn

 

Una nota legal

La mayoría de los juegos retro son propiedad de sus respectivas empresas (¡sí, incluso los más antiguos!) y están protegidos por las leyes de derechos de autor. Por lo tanto y desgraciadamente, la descarga de ROMs se considera piratería  a no ser que se desargue un juego que ya dispongamos en el formato original.

Aunque puede encontrar toneladas de ROMs en cualquier sitio de Torrent  tenga en cuenta que no debería descargar ningún título con derechos de autor.