Faites briller votre Recalbox avec Hyperion!

Hyperion (https://github.com/hyperion-project/hyperion) est un projet libre et open source pour transformer votre RaspberryPi en système Ambilight !

Avec Hyperion et recalbox, vous allez transformer votre système de retrogaming et multimedia system en une magnifique experience immersive !

I - Description

Tout d’abord, nous ne parlons pas d’utiliser Hyperion avec une partie de votre recalbox comme Kodi. Vous serez capable d’utiliser les fonctions d’Hyperion dans CHACUN DES JEUX RETRO auquel vous jouez sur Recalbox !

Hyperion avec recalbox

L’image que vous voyez sur votre TV (LCD ou CRT) sera dynamiquement étendu sur le mur avec des leds RGB.

A quoi ça ressemble? Regardez avec Sonic 3 sur Sega Megadrive/Genesis:

Sonic Title Sonic Plane Sonic Stage 1

Et en vidéo:

II - Materiel

Hyperion supporte de nombreuses bandes de LED (voir https://hyperion-project.org/wiki/Supported-hardware) avec differents protocoles:

  • SPI: LPD6803, LPD8806, APA102, WS2812b, and WS2801
  • USB: AdaLight et SEDU
  • PWM: WS2812b

Les tests ont été faits sur WS2812b avec PWM et SPI. Je n’ai jamais réussi à faire fonctionner PWM correctement, nous allons donc décrire comment faire votre installation recalbox/hyperion avec le mode WS2812b en SPI. Cette section est absente du wiki Hyperion, nous allons donc expliquer comment l’utiliser ici (et mettre à jour le wiki Hyperion avec ces informations).

La prise en charge de WS2812b avec un fil sur SPI a été ajoutée par penfold42 avec ce commit. Merci.

Le tutoriel suivant utilise un fer à souder. Si vous en possedez déjà un, le reste du matériel est plutôt bon marché. Mais si vous souhaitez faire quelque chose sans soudure, voir le tutoriel ici : https://hyperion-project.org/threads/raspberry-pi-3-mediacenter-hyperion-ambilight-no-soldering.77/

Vous aurez besoin de:

  • votre recalbox
  • une bande de led WS2812b
  • une resistance de 330 Ohms à mettre sur le pin data
  • quelque chose pour couper la bande
  • un fer à souder
  • des files ou connecteurs pour connecter la bande de leds
  • un level shifter pour passer le voltage de data à 5V , ou un regulateur de tension pour réduire le VCC des leds.
  • des jumpers dupont pour connecter facilement les fils sur le RaspberryPi
  • une alimentation de 4A (min) 5v

N’hésitez pas à visiter le pour trouver tout ce dont vous avez besoin.

Bien sûr si vous voulez économiser vous pouvez :

  • souder directement (pas de connecteurs ni dupont)
  • Utilisez une alimentation 3A. J’ai testé ma bande de 220 led hyperion avec une Aukru 5V 3A et ça fonctionnait presque bien, mais quand toutes les leds sont blanches, la fin de la bande est un peu jaune…

III - Câblage

Leds

Mesurez les bords de votre TV et coupez 1 bande par bord selon cette mesure.

Soudez les bandes ensemble OU soudez des connecteurs sur les bandes. Suivez les flêches sur la bande pour savoir quel connecteur utiliser (IN ou OUT).

Voici un apercu du resultat:

connectors connectors

Le système

Pour autoriser le Rpi à envoyer des données aux LEDs, vous avez le choix:

  • Baisser le voltage LED à 4.7V avec un convertisseur
  • Redresser le signal du GPIO à 5V
A - Régulateur de tension

Circuit voltage regulator

(image originale du wiki hyperion)

Si vous êtes sur RPI2 ou 3, vous avez plus de GPIO mais le placement reste le même.

Le RPi est connecté sur sa propre alimentation et sur la masse de l’alimentation des LEDs.

Le RPi envoie les données à travers le SPI MOSI GPIO vers le câble données des LEDs.

Le régulateur est connecté entre les LEDs et leur alimentation.

B - Level shifter (non testé)

Si vous choisissez de réguler le voltage des GPIO, utilisez le schema au dessus, enlevez le régulateur et connectez le level shifter entre le GPIO MOSI et le câble données des LEDs.

IV - Configuration

Hypercon

Hypercon est une interface graphique qui vous permet de configurer votre installation Hyperion et créer le fichier de configuration a placer sur la recalbox.

Téléchargez et démarrez Hypercon en suivant le tutoriel officiel: https://hyperion-project.org/wiki/HyperCon-Information

hypercon screenshot

Vous trouverez de nombreuses ressources sur la confiuguration d’Hypercon sur le wiki Hyperion: https://hyperion-project.org/wiki/HyperCon-Guide

Voici comment configurer Hypercon pour votre recalbox et le WS2812b en mode spi:

  • Hardware
  • Type -> WS281X-SPI
  • RGB Byte Order -> GRB
  • Construction and Image Process -> configure depending of your installation
  • Blackborder Detection -> Enabled
    • Threshold -> 5
    • mode -> osd
  • Process
    • Smoothing
      • Enabled -> True
      • Time -> 200ms
      • Update Freq -> 20
      • Update Delay -> 0
  • Grabber
    • Internal Frame Grabber
      • Enabled -> True
      • Width -> 64
      • Height -> 64
      • Interval -> 200
      • Priority Channel -> 890
    • GrabberV4L2
      • Enabled -> False
  • External
    • Booteffect / Static Color -> configure the boot effect you like here!

Cliquez ensuite sur le bouton Create Hyperion Configuration et sauvegardez le fichier json en hyperion.config.json.

Copiez ce fichier sur votre recalbox (en ssh ou par le partage réseau) dans /recalbox/share/system/config/hyperion/hyperion.config.json (config/hyperion/hyperion.config.json sur le réseau)

Activer le service Hyperion dans recalbox.conf

Activez simplement Hyperion dans recalbox.conf (voir le wiki):
Changez la ligne hyperion.enabled=0 en hyperion.enabled=1

Modifiez le fichier config.txt sur la partition boot et ajoutez la ligne dtparam=spi=on:

mount -o remount,rw /boot && echo 'dtparam=spi=on' >> /boot/config.txt

Redémarrez la recalbox.

V - Profitez de l’arc en ciel

Vous avez un système ambilight totalement fonctionnel! Testez des jeux retro, des films et animes avec Kodi et laissez la beauté des couleurs améliorer votre expérience multimedia!