hack_Ikea_frekvens_esp8266

Hack Ikea Frekvens panel – ESP8266

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. 🙂

Click to rate this post!
[Total: 2 Average: 4.5]

 

Achat

Pour se procurer ce magnifique objet, il suffit de se rendre sur le site marchand Ikea

ikea_frekvens_panel

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 :

Board_frekvens_ikea

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 :

ikea_frekvens_nude

 

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 » :

cablage_frekvens

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.

cablage_frekvens_ikea

Pour récupérer les boutons, il faut récupérer les fils rouge / noir / blanc qui étaient soudés sur le PCB vert.

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.

NodeMCU_schema

 

Voilà ce que ça donne au final :

nodemcu_frekvens_ikea

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)

config_wifi_frekvensConfig_apiweb

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 :

frekvens_ikea_hack

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 !

12 comments

  1. 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 🙂

    1. 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.

  2. 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

    1. 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.

      1. 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

  3. 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,

  4. 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 !

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.