Flasher un sonoff R2 sous tasmota.

Et sans soudure

Sommaire

Objectif

Installer le firmware libre tasmota sur un sonoff pow r2

Contexte

J’utilise depuis près d’un an deux sonoff pow r2 pour suivre la consommation de mon lave linge et de mon lave vaisselle afin de déclencher des routines en fonction de leur consommation électrique. S’il ne faut pas s’attendre à une précision exceptionnelle, la fiabilité du capteur est elle sans faille. À l’époque j’étais allé au plus simple en bootant sous windows et en utilisant l’exécutable .exe qui va bien.

Mais ce matin lorsque le facteur a déposé les deux sonoff que j’avais commandé il y a quelques semaines, j’ai pris le temps d’apprivoiser l’utilitaire esptool.py. Et cela a été d’une surprenante facilité, en voici le déroulé.

Le nécessaire

  1. Un Sonoff pow r2 ~12€
  2. Un adaptateur serie/usb ~2€
  3. Des connecteurs Dupont ~2€

Pour moins de 20€, on se retrouve donc avec une solution très efficiente, compatible rail din, et surtout capable d’encaisser jusqu’à 15A ou 3500W. C’est donc une proposition qui joue dans une catégorie bien différente des prises xiaomi zigbee que j’apprécie aussi beaucoup mais que je réserve pour d’autres utilisations.

Les étapes pour Flasher

ATTENTION, il ne faut pas alimenter votre Sonoff en 220v et le connecter en usb en même temps. Le flash se réalise en ne branchant QUE les câbles Dupont sur votre adaptateur usb. Si l'idée vous venait de faire quand même ce "double branchement", sachez que vous le ferez au prix d'une nouvelle carte mère.

La première étape est de récupérez le firmware sur le github du projet tasmota, puis de lancez votre terminal préféré, et de se placez dans le dossier de ce téléchargement.

Installation des dépendances python

Je vous laisse choisir les commandes qui siéent à votre distribution.

apt install python-pip
pip install –upgrade esptool
dnf install python-pip
pip install –upgrade esptool

Schéma de montage adaptateur – Sonoff pow

Il vous est possible de souder des connecteurs pour brancher vos câbles Dupond - mais cela n’est pas vraiment indispensable - il faut juste que la connexion se fasse le temps du flashage. En effet, comme il possible de mettre à jour votre capteur en ota avec tasmota, vous n’aurez plus besoin par la suite de réutiliser ces pins. À noter que la plaque de prototypage visible sur les photos est purement optionnelle, vous pouvez vous en passer.

adaptateur sonoff pow r2
vcc ou 3,3 vdd
gnd gnd
rx tx
tx rx

Vous pouvez à présent relier votre Sonoff à votre pc, en oubliant pas de mettre le capteur en mode programmation. Pour se faire appuyez sur le bouton, puis branchez le câble usb.

Récupérer le port de son adaptateur série

ls -al /dev/serial/by-id/

Vider la mémoire du Sonoff

esptool.py --port /dev/ttyUSB0 erase_flash

Débrancher, puis rebranchez le câble usb pour redémarrer le capteur.

Flasher le firmware

esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 sonoff-FR.bin

Débrancher, puis rebranchez le câble usb pour redémarrer le capteur. Vérifier qu’un nouveau réseau wifi est apparu (sonoff-XXXX, voir l’étape d’après). Si c’est la cas rangez les Dupond et l’usb, vous n’en aurez plus besoin. Sinon réessayez tout depuis le début.

Configuration

La suite va être triviale, le plus difficile est derrière vous. Alimentez votre Sonoff pow en 220V puis scannez les réseaux alentours à la recherche d’un réseau répondant au nom de “sonoff-XXXX” et connectez-vous dessus. Renseignez votre ssid et votre mot de passe wifi.

Le Sonoff va redémarrer et se connecter à votre réseau. Terminez en vous rendant sur son adresse ip, puis allez dans /Configuration, /Configuration Module, et choississez sonoff pow R2.

Sources

https://github.com/arendst/Sonoff-Tasmota/wiki/sonoff-pow-r2 http://manpages.ubuntu.com/manpages/xenial/man1/esptool.1.html
https://lecluseo.scenari-community.org/CircuitPython/co/g_installMP.html

Have fun