Hack d’une prise Alfawise murale étanche

Hack d’une prise Alfawise murale étanche

16 April 2019 4 By Ferrader

Bonjour tout le monde,

Aujourd’hui, je me suis amusé à changer le firmware d’une prise Alfawise étanche qui me permettra de piloter la pompe de mon système de récupération d’eau de pluie.

Comme c’est encore tout frais et afin d’éviter d’oublier des étapes, je vais vous montrer comment “Hacker” celle-ci.

La prise Alfawise comme les prises SonOff est basée sur un relais piloté par un microcontrôleur Esp8266 donc ce tutoriel est appliquable à quasiment tous les systèmes basés sur ce microcontrôleur.

L’Esp8266 est assez cool car il permet de faire des objets connectés pilotés directement via le réseau Wifi très facilement et pas mal d’industriel “Lowcost” l’utilise pour fabriquer des prises “intelligentes”. On avait déjà un peu abordé le sujet dans le post sur le NodeMcu. ( http://miniprojets.net/index.php/2018/04/24/nodemcu-ou-comment-piloter-des-prises-via-le-wifi-pour-moins-de-10e/ )

Pour le matériel nécessaire à cette transformation, il faudra:

  • Un convertisseur FTDI
  • Des câbles dupont
  • Un câble mini USB
  • Un fer à souder et de l’étain
  • Un cutter ou un couteau
  • Un trombone (oui ça fait toujours classe de dire que l’on hack quelque chose avec un trombone)
  • Un ordinateur afin de faire “la programmation”
  • Un pistolet à colle chaude
  • La Prise Alfawise

Maintenant que vous avez tout cela, nous pouvons passer à l’étape du démontage. Attention avant de démonter, vous devez toujours débrancher la prise 220v! Pour la programmation, seule l’alimentation via le convertisseur FTDI sera nécessaire et suffisante, ne travaillez jamais avec du 220V branché et accessible facilement!!!

Pour démonter, la prise rien de plus simple, il faut dans un premier temps soulever le capot supérieur afin de voir les composants internes.

Débranchez les fils rouge (phase) et noir (neutre) et enlevez le capot supérieur.

Après on débranche les fils du bouton poussoir afin d’éviter de les endommager quand on enlèvera la carte du boitier inférieur

Maintenant avec un cutter, on va couper et enlever la colle qui maintien la carte dans le boitier

Voilà maintenant vous avez la carte accessible et prête à passer à l’étape de préparation

Pour préparer la carte, il faut la retourner afin d’avoir accès aux pastilles de programmation

Les pastilles se trouvent sur la photo ci-dessus en haut à droite et marquées 3.3,RX,TX et GND

Et voilà passons à l’étape un peu tricky, il faut souder un câble sur chaque pastille (3.3V, GND, TX, RX) en faisant attention à ne pas faire de court-circuit.

Une fois cela fait, on peux brancher les câbles sur le convertisseur FTDI en respectant bien le voltage d’alimentation car certain convertisseur comme le mien possède un jumper qui permet de choisir entre du 5V et du 3.3V pour le Vcc (Pour un Esp8266, il faut prendre 3.3V.Donc on connecte de la façon suivante:

  • Carte –> FTDI
  • 3.3V –> vcc
  • RX –> TX
  • TX –> RX
  • GND –> GND

Petite astuce: Si lors de l’étape de Flashage, un échec de communication se produit, il faudra peut-être inverser le RX et le TX, car certains convertisseurs possèdent des bornes inversées

Une fois cela fait, vous êtes prêt à brancher le tout sur l’ordinateur. Mais avant cela, il faut mettre l’Esp8266 en mode Flashage.

Pour cela, il faut faire créer une connexion là où à l’origine il y avait un bouton de prévu comme sur les photos suivantes (j’ai essayé avec le bouton poussoir du boitier inférieur de la prise mais cela ne marchait pas)

Je vous l’avais dis que ça fait classe de hacker un truc avec un trombone!

Bon une fois cela fait et tout en gardant le trombone en place, il suffit de brancher le tout à l’ordinateur grâce au câble mini USB.

Normalement, si tout ce passe bien, un nouveau port COM doit être détecté, si ce n’est pas le cas, il faudra surement installer les bons drivers pour votre convertisseur FTDI. (Souvent basé sur un convertisseur CH340G)

Si tout est ok, on enlève le trombone et on peux passer à l’étape de programmation

Pour la programmation de cette prise, j’utilise le firmware Espurna.

Voici le lien explicatif du projet: https://github.com/xoseperez/espurna/wiki ainsi que le lien de téléchargement direct des firmwares https://github.com/xoseperez/espurna/releases

Clairement, ce gars est badass vu le nombre de matériel qu’il rend compatible! Je vous invite fortement à fouiner un peu sur son projet.

Pour notre cas, on utilisera le firmware
espurna-1.13.5-itead-sonoff-basic.bin ou plus récent

Pour flasher le firmware, j’utilise le soft ESPEasy, issue de ce site: https://github.com/letscontrolit/ESPEasy/releases

Il suffit de le télécharger, le dézipper et de mettre le firmware téléchargé précédemment dans le dossier.

Une fois que cela est fait, il faut double-cliquer sur FlashESP8266.exe

La fenêtre suivante apparait avec le port COM normalement déjà renseigné. Il ne vous reste plus qu’à choisir le firmware

Vous n’avez plus qu’à cliquer sur Flash et c’est parti mon kiki!

Si tout ce passe bien au bout de 2-3 min vous aurez un Flash Ok (s’il est Failed, débranchez l’USB, vérifiez le RX,TX, pensez au trombone et rebrancher)

Voilà vous avez enfin fini la programmation de votre prise!

Maintenant, il faut se connecter dessus afin de pouvoir la piloter à distance.

Donc afin de travailler en toute sécurité, vous devez remonter la prise dans son boitier. Il faut respecter les étapes suivantes:

  • Dessouder les 4 câbles dupont installés précédemment
  • Remettre en place la carte dans son boitier en la refixant bien avec de la colle chaude
  • Reconnecter le bouton poussoir (pas nécessaire mais utile quand on a pas d’ordinateur et que l’on est à coté de la prise)
  • Reconnecter les fils rouge et noir
  • Disjoncter le circuit qui va accueillir la prise au niveau du tableau électrique
  • Brancher la phase, le neutre et la terre sur la prise comme indiqué dans le manuel
  • Remettre en route le disjoncteur

Une fois tout cela fait, si vous regarder maintenant sur votre ordinateur du coté des réseaux Wifi, vous avez normalement un nouveau réseau qui est apparu et qui se nomme ESPURNA-XXXXX

Vous allez pouvoir vous connecter dessus avec le mot de passe suivant : fibonacci

Maintenant allez sur votre navigateur internet et tapez l’adresse suivante:
http://192.168.4.1

On va vous demander un login et un mot de passe qui sont les suivants “admin” pour le login et “fibonacci” pour le mot de passe

Il va falloir changer le mot de passe tout de suite car le firmware refuse de vous laisser travailler tout nu (c’est à dire avec un mot de passe par défaut, c’est une question d’hygiène et de sécurité informatique)

La prise va rebooter et vous devrez vous reconnecter sur le réseau ESPURNA-XXXXX avec le nouveau mot de passe (Faite attention souvent votre OS garde en mémoire l’ancien mot de passe associé au réseau et refuse de se reconnecter sur celui-ci donc il faut lui faire oublier le réseau pour ensuite pouvoir se reconnecter)

Une fois la reconnection faite, vous pouvez retourner sur la page
http://192.168.4.1 avec pour login “admin” et mot de passe celui que vous avez défini.

Vous allez vous retrouver sur la page suivante:

On voit que le Switch est sur Off, ce qui correspond bien à la réalité comme la photo ci-dessous

Je sais ce que vous pensez: Mon dieu, il nous parle de sécurité électrique mais il nous montre une image où la prise n’est pas dans son boitier… (oui je sais mais pour la démonstration c’était plus simple…)
Bon revenons à nos moutons

Maintenant sur la page et que vous cliquez sur le On –> Tadam! il passe normalement à On comme sur la capture suivante

Et si tout c’est bien passé vous avez du entendre un petit clac et la led d’état du relais s’allume comme illustré par la photo suivante (qui est toujours avec un système sans protection…)

Hourra, ça marche!!!

Maintenant, il ne reste plus qu’à programmer la prise pour qu’elle se connecte sur le réseau Wifi de votre maison.

Pour cela, il faut allez sur l’onglet WIFI et vous allez tomber sur la page suivante:

Faite un “Scan now” pour vérifier que votre prise voit votre réseau (ici on observe qu’elle voit mes réseaux et ceux de mes voisins)

Il suffit alors de cliquez sur Add network et de remplir les champs correctement.

Il faut savoir que si vous mettez plusieurs réseaux, la prise se connectera toujours sur le réseau donc le signal est le plus fort (C’est pratique pour quelqu’un qui comme moi a des répéteurs Wifi qui peuvent tomber en panne de temps en temps).

Maintenant que tout est ok, vous pouvez cliquer sur Save puis sur Reboot.

On peux maintenant se reconnecter sur notre réseau Wifi habituel.

Une fois cette étape faite, il faut allez dans les paramètres de votre routeur afin de connaitre l’adresse IP qui est attribuée à votre prise (pour moi c’est la Freebox qui gère l’adressage donc cela ressemble à cela)

Il ne me reste alors plus qu’à aller dans mon navigateur internet et taper l’adresse http://192.168.1.39/, rentrez le login et le mot de passe définis précédemment pour retrouver le contrôle à distance de ma prise.

Voilà c’est tout pour ce petit “Hack”. Je vous expliquerai dans un prochain post comment faire pour la connecter à un système domotique (style Jeedom grâce au protocole MQTT).

Je vous remet les adresses des différents sites qui m’ont permis de construire ce tutoriel:

https://github.com/xoseperez/espurna/wiki

https://github.com/letscontrolit/ESPEasy/releases

et au cas où, voici l’archive contenant le firmware et le logiciel nécessaire au Flashage.

J’espère que ce post aura été clair et vous aidera dans le futur. N’hésitez pas à me faire des retours si un truc cloche ou que vous bloquez sur un point.

Bon continuation à tous,

Ferrader