Le Sonoff RF R3 est sorti au printemps 2019. La nouveauté, c'est qu'on peut y installer le firmware Tasmota de façon simple via OTA.
Malheureusement Itead, son fabriquant ne propose pas d'outil sous Linux (Grrr...) : il n'existe qu'un fichier .exe... Mais en allant faire un tour dans le dépôt Github, on voit que les sources sont en python. Du coup, c'est jouable sous Linux à condition de faire quelques manips supplémentaires. Je détaille dans cette page mes démarches sous Ubuntu 18.04 (qui à ce jour ne fonctionne pas... mais j'ai posé la question ici https://github.com/itead/Sonoff_Devices_DIY_Tools/issues/21).

I- Récupération des sources sur son ordi + corrections

On récupère les fichiers sur le dépôt Github ici : https://github.com/itead/Sonoff_Devices_DIY_Tools

On lance le programme qui se trouve dans le dossier "/code" avec la commande :

python tool_01DIY85.py

À l'exécution, j'ai eu des erreurs dues pour la plupart à un problème d'indentation fait avec la touche Tab au lieu de l'espace. Il faut donc corriger les fichiers et les lignes concernées avec un éditeur de texte (aller dans les préférences et régler pour que la touche tab soit remplacée par des espaces) et remplacer les tabulations par des espaces (en général 4 espaces = 1 tabulation). Les 2 fichiers concernés par ces problèmes étaient "tool_01DIY85.py" et "lan_ewlink_api.py".

En dehors de ces erreurs, on peut en avoir d'autres à cause de modules python (bibliothèques) manquants : qu'à cela ne tienne, en se basant sur les messages d'erreur, on va les installer via la commande "pip install".

II- Installation des modules python nécessaires

Sous Ubuntu 18.04, j'ai dû installer Pyside2 avec la commande :

pip install PySide2

Installation du module "zeroconf" :

pip install zeroconf

 Installation du module "requests" :

pip install requests

Au final, le lancement de "tool_01DIY85.py" se fait correctement !!! Maintenant que l'on a l'outil fonctionnant sous GNU/Linux, occupons-nous de notre appareil.

III- Mise à jour du firmware iTead

Le module Sonoff RF R3 a un mode DIY proposant le téléversement d'un firmware via OTA mais il faudra éventuellement mettre d'abord à jour le firmware eWelink (vers une version 3.1 ou supérieure). Mes modules avaient le firmware 2.6.1.

Sources :

IV- Flashage

a) Récupération du firmware Tasmota

Il faut récupérer sur cette page https://github.com/arendst/Sonoff-Tasmota/releases, le firmware "sonoff-basic.bin" ou "sonoff_classic.bin" qui pèsent respectivement autour de 423 koet 490 Ko car par exemple le firmware "sonoff-FR.bin" faisant plus de 500 ko, il sera refusé par le programme de flashage (on pourra mettre à jour via OTA une fois dans Tasmota, cf plus bas). Au moment de l'écriture de cet article, il s'agissait de la version 6.6.0 de Tasmota.
Remarque : NE PAS UTILISER le firmware "sonoff-minimal.bin" car il ne permet pas le flashage OTA !!!

B) Création du point d'accès Wi-Fi

Il faut créer un point d'accès avec son ordinateur. Sous Ubuntu 18.04, pour configurer le point d'accès, il faut utiliser la commande :

nm-connection-editor

On saisit comme mot de passe WPA, 20170618sn". Par contre, pour obtenir le bon SSID, il faut obligatoirement changer le nom de sa machine dans "Paramètres"-> "Détails" en indiquant "sonoffDiy".

Ensuite, on va dans "Paramètres" -> "Wi-Fi" et on active "Allumer le point d'accès Wi-Fi..." :

Sonoff Hotspot Ubuntu18 04

C) Passage du module Sonoff en mode DIY

Débrancher le module si ce n'est déjà fait. Mettre le Sonoff en mode DIY en insérant un cavalier sur les 2 plots dédiés puis le rebrancher. La diode bleue va clignoter 1 fois toutes les secondes. Dès que la connexion sera faite au point d'accès, elle clignotera 2 fois en 1 seconde.

On lance le programme DIY Tools :

python tool_01DIY85.py

Normalement le module Sonoff devrait apparaître dans la fenêtre, si ce n'est pas le cas (en dehors d'une erreur dans le nom du point d'accès ou du mot de passe, sensibles à la casse), j'ai pu me connecter en appuyant sur le bouton pendant 2-3 secondes.

Malheureusement, sous Ubuntu, le flashage n'aboutit pas... La barre de progression reste à 0%.

Remarque : il est possible via l'outil de flashage de ne plus avoir à passer par le point d'accès en configurant l'accès au réseau en appuyant sur le bouton en bas à droite "Change SSID _Password" en indiquant les codes d'accès à sa box Wi-Fi ! Ainsi, au prochain lancement de l'outil de flashage plus besoin d'activer le point d'accès

D) Flashage sous Windows 10

Du coup, je n'ai eu que comme autre solution que de me rabattre vers Windows 10 et de travailler en réseau privé (au départ, ça ne marchait pas car mon réseau était paramétré comme réseau public...). Là, le flashage s'est bien passé (Gr....).

Carton rouge ! Pour mon 2e module, il a été impossible d'arriver à un flashage réussi. Bref rien ne vaut le flashage traditionnel avec les fils et l'adaptateur série FDTI.

E) Flashage traditionnel

On va donc passer par une méthode éprouvée et sûre en flashant de façon filaire. L'avantage c'est qu'on pourra flasher directement le bon firmware "sonoff-FR.bin" qui ne passait pas via OTA.

Source : https://github.com/arendst/Sonoff-Tasmota/issues/5921

Sonoff RFR3 Flashage plots

J'ai inséré (je n'ai pas eu besoin de souder) les fils sur les plots GND, 3.3V, Rx et Tx et relié comme d'habitude à l'adaptateur série FDTI. Pour mettre le module en mode "téléchargement", au branchement il faut appuyer sur le bouton qui connecte le GPIO0 à GND.

F) Connexion et Mise à jour du Firmware Tasmota

Après que le flashage se soit bien déroulé, il suffit de se connecter au nouveau réseau wifi ayant un nom sous la forme de "sonoff-xxxx" et de saisir les identifiants de connexion du réseau Wi-Fi sous lequel fonctionnera le module.

Ensuite on se connecte (il faudra trouver son adresse IP via la commande : nmap -sP 192.168.1.0/24) et on met à jour le firmware avec la version qui nous intéresse (par exemple "sonoff-FR.bin").

Pour fixer une adresse IP, on va dans le mode console de Tasmota et on saisit la commande :

IPAddress1 192.168.1.xx

G) Fin du flashage

Une fois toutes les manipulations faites, pour éviter d'éventuels conflits en cas d'utilisation de la broche GPIO16 (qui sert au mode DIY), on débranche le module, on enlève le cavalier sur les 2 broches puis on redémarre.