Ikea est une super enseigne, on y trouve de tout (bon ok, surtout en meuble) mais ils se diversifient de plus en plus. Notamment, vous avez pu voir qu’ils s’étaient lancés dans la domotique avec le gamme Tradfri. Dans l’ensemble, les produits qu’ils proposent sont d’un très bon rapport qualité/prix … c’est d’ailleurs leur plus gros atout… Il me semble.
Dans cet article, une fois n’est pas coutume, on va détourner l’un de leur produit pour l’adapter à nos besoins.
Comme d’habitude, le nom du produit est imprononçable et je m’y reprend à 3 fois pour bien l’écrire mais ça vaut quand même le coup de vous en parler.
Nous allons donc détourner le Frekvens panel d’Ikea afin de le piloter à travers un ESP8266.
PS : avant d’aller plus loin, je dois vous dire que ce détournement n’est pas de moi et je vous conseille d’aller visiter le github de son initiateur. D’ailleurs, je ferai référence à son travail dans la suite parce que rien ne vaut la source. 🙂
Achat
Pour se procurer ce magnifique objet, il suffit de se rendre sur le site marchand Ikea
Lien : https://www.ikea.com/fr/fr/p/frekvens-eclairage-a-led-multifonction-noir-30420354/
Prix : ~= 40€ (Peut être en solde parfois à (29€) )
Pour le NodeMCU, vous pouvez vous le procurer en mode pressé ici :
Prix : ~= 8€ en prime
Bon alors cet appareil est un afficheur LEDs (monochrome) qui permet « d’ambiancer » vos soirées. Il réagit selon la musique (ou le bruit) et fait clignoter ses LEDs selon le programme que vous aurez sélectionné.
Il est muni de 2 boutons. Un pour ON/OFF et l’autre pour choisir le programme lumineux.
Conceptuellement, il est très abouti et qualitatif. Même si pour nous, cela n’aura pas grand intérêt, il est prévu pour s’imbriquer avec les autres produits de la gamme. Comme avec des LEGO, vous pourrez monter votre propre architecture sonore et créer votre propre configuration pour animer vos soirées.
Démontage du Frekvens panel
Voici la partie la plus complexe. Démonter cet appareil s’est révélé être très complexe. En effet, hormis les quelques vis à enlever, il a fallu comprendre comment accéder à la carte électronique pour l’enlever. J’ai énormément galéré et j’ai finalement réussi … mais je vous renvoie vers cette vidéo Youtube qui m’aurait bien été utile …
Avec cette vidéo, vous comprendrez mieux comment il faut faire pour tout démonter.
Je n’ai donc pas grand chose à rajouter dans cette section… Ah si … bonne chance !!! 😉
Détournement matériel avec l’ESP8266
Préparation du panel
Une fois la carte électronique sortie de son boitier, voici ce que l’on a :
Alors, dans cette image, c’est l’arrière du panel (de l’autre côté, il y a les LEDs 16×16). Le PCB blanc est composé des 16 contrôleurs LEDs et le PCB vert, c’est le « cerveau ». Il comprend le microcontrôleur et la gestion des boutons et du microphone avec un ampli op très connu (LM358).
Notre objectif est donc de se substituer au PCB vert pour le remplacer par un ESP8266. Il faut donc dessouder.
La meilleure méthode (comme souvent) pour dessouder est d’utiliser un pistolet à air chaud.
Une fois effectué, vous devait obtenir ceci :
Adaptation matérielle avec un ESP8266
Une fois effectué, il nous reste à câbler le panel vers un ESP8266. Pour des raisons de commodité et rapidité, j’ai donc utilisé un NodeMCU.
Voici le schéma de câblage proposé par « @frumpurino » :
L’autre avantage du NodeMCU, c’est qu’il est muni d’un régulateur de tension qui permettra de transformer le 3.9VDC (tension peu commune 😉 ) en 3.3VDC et du coup alimenté le micro et les LEDs.
Pour récupérer les boutons, il faut récupérer les fils rouge / noir / blanc qui étaient soudés sur le PCB vert.
Pour cet article, on oubliera la gestion du micro pour 2 raisons :
- Je n’en ai pas besoin personnellement
- Il faudrait utiliser un ampli op que le NodeMCU n’a pas.
Cependant, ce microphone pourrait être utile pour de la détection de présence ou encore déterminer un niveau de bruit. Ce genre de besoin est demandé parfois pour les résidences secondaires.
Schéma du nodeMCU
Voyons comment on peut tout relier.
Voilà ce que ça donne au final :
Maintenant que tout est câblé, il ne reste plus qu’à coder.
Bon comme d’habitude, pour des raisons de rapidité et simplicité, utilisons l’IDE Arduino.
Un firmware qui va bien
En plus d’avoir trouvé un super détournement, l’auteur de ce hack a aussi développé une librairie Arduino. Basée sur la librairie GFX adafruit, cela va largement faciliter le développement d’un firmware pour contrôler le panel 16×16.
Les fonctionnalités actuelles
- Paramétrage WiFi en mode STA ou AP
- Mise à jour OTA
- Afficher du texte défilant
- Afficher un caractère fixe
- Accès à une API WEB
Toutes ces fonctions ne seront peut-être pas disponibles (ou buggées) à la sortie de l’article, mais je mets tout le projet sur mon github afin que vous puissiez suivre l’évolution ou que vous puissiez contribuer.
Voici à quoi l’interface WEB ressemble (Jquery + Bootstrap stockés dans la flash)
Il est aussi possible de changer la configuration du panel via une API :
http://<IP>/api?text=bonjour&size=&scroll=&light=&x=&y=
La page renverra OK en retour.
Vous pourrez alors l’intégrer facilement dans votre box domotique avec un plugin HTTP REST.
Et Voilà le résultat :
Conclusion
Alors ce hack n’est pas très évident pour tout le monde car il nécessite des compétences en soudure et démontage mais, je trouve qu’il en vaut vraiment la peine car l’objet en lui même est très beau et que les fonctionnalités rajoutées (mise en mode connecté) sont un vrai plus. Bref un bon DIY WAF …
Si ce hack intéresse énormément de personnes, je peux créer un PCB qui viendrait en lieu et place du PCB vert et qui permettrait (en plus d’être plus propre) d’ajouter un ampli op pour gérer le microphone et rajouter par exemple une photorésistance afin de gérer la luminosité automatiquement.
Bref, dites moi en commentaire s’il y a des intéressés et n’hésitez pas à contribuer !
A bientôt !
En promo à 15€ jusqu’au 4 aout !!!
Merci !
Ça vaut le coup !!
38,98€ chez nous en Allemagne, vous avez de la chance!
Bon il ne me reste plus qu’à trouver une bonne excuse pour l’acheter et m’amuser avec 🙂
J’ai l’impression que l’isolation entre les LED de ce boitier n’est pas terrible, la lumière ça semble baver sur les LED voisines.
Oui tu as tout a fait raison… J’aurais du le mettre dans l’article… Pour avoir une bonne qualité visuelle, il faut d’une part le regarder bien en face et d’autres part baisser la luminosité pour limiter la pollution.
Je pense qu’il y a une coquille sur le schéma de câblage.
J’ai fais comme indiqué sur le schéma (GND-D5-D6) et ça clignote un peu dans tous les sens.
Si je décale sur D5-D6-D7 ça marche.
Merci beaucoup pour ce hack, j’ai acheté 2 boitiers en promo, il ne me reste plus qu’a les faire fonctionner de concert
Oups, tu as raison, je vais mettre à jour le schéma.
Merci !
Bonsoir,
Quand vous dites de concert ? C’est de pouvoir les chainer entre eux afin d’agrandir la zone d’affichage ? En possédant 4, je souhaiterais les lier et je suis preneur de votre solution.
Encore merci à Akila pour cet article.
Bonjour,
Non je ne pense pas que l’on puisse agrandir la zone d’affichage. Si je ne me trompe pas, c’est uniquement électriquement et physiquement que les cubes s’emboîtent. Il y a différents types de cubes avec des fonctions différentes.
Fred
Bonjour,
Il semble que le « Frekvens panel » ne soit plus disponible sur le site Ikea. J’ai essayé plusieur sites Ikea.
Dommage ^^
Bonjour,
merci pour se détournement, Je découvre ce hack bien utile, mais j’ai quelques questions
– à quoi sert les boutons et quel est leurs fonctions ?
– après avoir programmer l’esp8266, la board reste constamment allumé est-ce normale ?
– est ce que le ssid est visible après la programmation ?
Par avance merci pour ce que vous faite, c’est plaisant de vous lire.
Cordialement,
Salut,
Je viens de réaliser ce hack, ça marche presque nickel, mais je rencontre un pb avec l’API …
J’ai du louper un truc car lorsque j’appelle l’API avec http:///api?text=bonjour&size=&scroll=&light=&x=&y=
Cela ne change pas l’affichage, il faut que j’appelle ensuite http:///apiweb pour basculer l’affichage avec les infos passées par l’API.
malgré qq heures passées pour comprendre comment contourner ce probleme, je seche un peu.
Merci pour votre aide !