Skip to content

explo(ambiance): piloter un ruban WLED sur le LAN comme alternative aux ampoules BLE #209

Description

@CCoupel

Contexte

Issue d'exploration volontairement tenue hors du milestone v10.0.0 (décision utilisateur du
2026-09-02). Le milestone v10.0.0 est engagé sur le BLE direct vers les ampoules Philips Hue
déjà en possession. Cette issue conserve la trace de l'alternative écartée, qui reste la
meilleure option purement technique identifiée au cadrage.

Référence : _work/reports/planner-v10-cadrage-20260902-192243.md §3.2.

L'idée

Un ESP32 (~5 €) flashé avec WLED — firmware tiers mature et très largement déployé — pilotant
un ruban adressable WS2812B/SK6812 (~10-20 €) posé dans la salle. Le serveur lui parle en LAN.

Pourquoi c'était la recommandation du cadrage

  • Zéro dépendance Go ajoutée. WLED expose une API JSON en HTTP (/json), une API HTTP simple
    (/win), et deux protocoles temps réel en UDP — WARLS (port 21324) et DDP (port 4048).
    Tout est net/http + net stdlib. C'est le patron déjà retenu pour Groq, appelé sans SDK, en
    net/http pur
    (internal/server/ai_groq.go).
  • Découverte gratuite : WLED s'annonce en mDNS, et le projet dépend déjà de
    github.com/grandcat/zeroconf (server-go/go.mod:8).
  • Aucun firmware à écrire ni maintenir côté projet — WLED se flashe une fois via un installeur
    web.
  • Synchronisation parfaite, sans limite de débit : un paquet UDP change tout le ruban. À
    comparer au BLE, où N ampoules = N écritures GATT séquentielles sans aucune atomicité de groupe.
  • Aucun risque pour le temps réel des buzzers : pas de radio 2,4 GHz supplémentaire côté
    serveur, contrairement au BLE qui partage la bande avec le WiFi porteur du timing de buzz.
  • Cohérence multiplateforme : UDP/HTTP purs, aucun cgo, aucune API système — le binaire
    Windows et le binaire Linux/ARM se comportent à l'identique. C'est précisément le point qui
    fait l'objet d'un spike de faisabilité dédié côté BLE.

Pourquoi ce n'est pas dans v10.0.0

L'utilisateur possède déjà des ampoules Hue Bluetooth et souhaite les exploiter. WLED suppose un
achat de matériel (~20 €) et un ruban à installer physiquement.

Ce qui rend cette exploration bon marché le jour venu

L'issue « événements d'ambiance normalisés » du milestone v10.0.0 introduit une interface de
pilote d'éclairage
derrière laquelle le matériel est interchangeable. Ajouter un pilote WLED
reviendrait donc à écrire ce seul pilote, sans toucher au vocabulaire d'événements, à l'écrivain
asynchrone, à la configuration ni à la conduite depuis /anim.

Quand reprendre cette piste

  • Si le spike de faisabilité BLE conclut que la voie ne tient pas sur Windows (contrainte dure du
    cadrage) — c'est le repli naturel.
  • Si le désynchronisme mesuré entre ampoules BLE rend les effets visuellement décevants.
  • Si la coexistence 2,4 GHz dégrade le timing de buzz.
  • Ou simplement pour un rendu d'ambiance plus enveloppant qu'un petit nombre d'ampoules.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogItem du backlog BuzzMasterenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions