Projets IoT

Pont RF SONOFF (433 MHz) Hack utilisant Tasmota

Maria Hernández
· 7 min de lecture
Envoyer par email

SONOFF permettent à chacun de transformer différents espaces tels que les maisons et les bureaux traditionnels en espaces intelligents à bas prix. Ils fournissent une variété de produits sans fil pour les solutions de contrôle et de surveillance, adaptés à la création d'un POC Internet des objets ( IoT ) sans avoir à dépenser des centaines de dollars.

Cependant, si vous souhaitez créer un POC, vous aimeriez probablement avoir le contrôle de l'architecture et des services sur lesquels vos données seront hébergées et affichées. Sur cette base, j'ai décidé d'aller plus loin et de pirater le cerveau des produits SONOFF, en créant mes propres solutions à petit prix.

Si vous voulez apprendre à pirater le pont SONOFF 433 MHz pour créer des choses sympas, vous devriez terminer ce guide. Fais-moi confiance!

Exigences

Services et outils :

Étape par étape

  1. Compréhension de l'architecture
  2. Piratage du pont RF
  3. Configuration du pont RF
  4. Configuration du nœud RED (MQTT)

1. Compréhension de l'architecture

La chose la plus importante que nous devons faire avant de commencer toute intégration est de comprendre l’architecture qui la sous-tend.

Pour cette intégration, nous allons appliquer l'architecture suivante :

Fondamentalement, les appareils RF envoient un indicateur chaque fois qu'un appareil change d'état. Ces indicateurs sont reçus dans le pont RF SONOFF pour ensuite transmettre les données reçues à Node-RED via MQTT ; cela ne peut être fait que si le firmware du pont est remplacé, dans ce cas, nous avons décidé d'opter pour Tasmota . Une fois les données reçues dans Node-RED, vous pourrez les manipuler selon vos besoins, ainsi que les connecter à des services tiers tels que des plateformes IoT Ubidots , des services de réseaux sociaux, des assistants vocaux ou tout autre service fourni. à votre esprit qui pourrait vous permettre de communiquer via une API.

2. Piratage du pont RF

1. Retirez les caches noirs des 4 vis du côté inférieur du pont. Ensuite, retirez les vis à l'aide du tournevis approprié.

2. Retirez soigneusement le dessus afin de retirer le PCB principal. Une fois démonté, vous devriez avoir le résultat suivant :

3. Prenez doucement la carte et soulevez l'écran LED. Ensuite, retirez la mousse située sous l'écran et changez l'état de l' interrupteur sur OFF, comme indiqué ci-dessous :

4. Pour pouvoir modifier le firmware SONOFF du pont, vous devez utiliser un adaptateur série USB. Pour pouvoir connecter l'adaptateur au pont, vous devez souder quelques embases mâles dans les broches comme vu ici :

Une deuxième option consiste à ne pas souder les broches, mais à utiliser des câbles de connexion mâles et à les maintenir avec votre doigt pendant le processus de téléchargement.

5. Établissez la connexion suivante entre le module et le pont :

6. Appuyez sur le bouton de réinitialisation du pont et, tout en appuyant sur le bouton, connectez l'adaptateur série USB à votre ordinateur.  

REMARQUE IMPORTANTE : Pour pouvoir télécharger le micrologiciel, vous devez avoir installé le pilote VCP CP210x USB vers UART Bridge . Si vous ne l'avez pas, cliquez ici pour le télécharger .

7. En fonction du système d'exploitation utilisé, reportez-vous aux outils suivants pour télécharger le Tasmota . Cliquez ici pour télécharger le fichier bin.

Windows : nodeMCU-flasher .

1. Démarrez nodeMCU-flasher.

2. Dans l'onglet « Opération », sélectionnez le port COM attribué au pont.

3. Dans l'onglet " Config" , sélectionnez le Tasmota .bin .

4. Dans l'onglet « Avancé », assurez-vous que les paramètres correspondent aux configurations suivantes :

  • Débit en bauds: 115200
  • Taille du flash : 1 Mo
  • Vitesse du flash : 40 MHz
  • Mode SPI : DOUT

Comme le montre l'image ci-dessous :

5. Pour terminer, cliquez sur « Flash » et préparez votre pont SONOFF avec Tasmota.

Linux/MacOS : esptool

  1. Reportez-vous au README pour exécuter la commande requise pour flasher le micrologiciel. Gardez à l'esprit les configurations suivantes :
  • Débit en bauds: 115200
  • Taille du flash : 1 Mo
  • Vitesse du flash : 40 MHz
  • Mode SPI : DOUT

8. Une fois le micrologiciel téléchargé, placez l' interrupteur sur ON et assemblez le pont.

3. Configuration du pont RF

1. Connectez le pont à n'importe quelle alimentation. À ce stade, le pont créera un AP (point d'accès). Scannez les réseaux disponibles sur votre ordinateur et établissez la connexion WiFi avec celle appelée « sonoff-xxx ».

Une fois la connexion établie, ouvrez votre navigateur préféré et entrez la direction suivante : http://192.168.4.1 . À ce stade, vous serez redirigé vers une page de configuration WiFi.

2. Saisissez le SSID et le mot de passe du réseau souhaité avec lequel vous souhaitez établir la connexion et cliquez sur Enregistrer.

3. Après avoir établi la connexion, utilisez une application de scanner réseau pour connaître la nouvelle adresse IP attribuée au pont RF. Nous vous recommandons fortement d'utiliser Fing , que l'on peut facilement trouver sur le Google Play Store ou sur l'App Store d'Apple. Fing est un excellent outil pour localiser facilement l'adresse IP d'un appareil.

Après avoir trouvé l'adresse IP attribuée au pont, saisissez-la à nouveau à l'aide du navigateur Web.

4. Lors de la configuration finale, vous devez définir le module à utiliser, en l'occurrence le pont RF. Pour cela, rendez-vous dans « Configuration > Configurer le module ». Ensuite, choisissez « 25 Bridge » comme type de module et cliquez sur « Enregistrer ».

4. Configuration de Node-RED (MQTT)

À des fins de test, vous pouvez exécuter Node-RED localement sur votre ordinateur. Si vous envisagez de déployer une solution, nous vous recommandons d'exécuter Node-RED dans un Raspberry Pi connecté au même réseau que le pont RF.

1. Pour configurer le serveur MQTT, allez dans « Configuration > Configure MQTT » sur le pont RF. Ensuite, attribuez les configurations suivantes :

  • Hôte : adresse IP de l'ordinateur / adresse IP du Raspberry Pi. Dans mon cas, l'adresse IP attribuée est 10.0.0.23
  • Port: 1883
  • Client : laissez la valeur par défaut
  • Utilisateur : laissez la valeur par défaut
  • Mot de passe : laissez la valeur par défaut
  • Sujet : rfbridge
  • Sujet complet : %topic%/%prefix%/

Ayant pour résultat :

Pour terminer, appuyez sur le bouton « Enregistrer » .

2. Démarrez Node-RED localement en exécutant la commande suivante dans votre terminal :

noeud-rouge

Si vous ne l'avez pas déjà installé, cliquez ici .

3. Une fois Node-RED démarré, ouvrez un navigateur Web et écrivez l'adresse IP suivante 127.0.0.1 et le port 1880 (c'est-à-dire http://127.0.0.1:1880 ) pour ouvrir l'interface Web de Node-RED.

4. Cliquez ensuite sur le menu Node-RED dans le coin supérieur droit, puis sur « Importer > Presse-papiers » et collez le code ci-dessous :

[{"id": "ff00dda7.75ff7", "type": "mqtt in", "z": "c32623f3.82eec", "name": ", "topic": "rfbridge/tele/RESULT", "qos": "1", "datatype": "auto", "courtier": "9584b3e4.576fd", "x": 220, "y": 240, "wires": [["e629731e.a86648"] ]},{"id": "e629731e.a86648", "type": "debug", "z": "c32623f3.82eec", "name": ", "active": true, "tosidebar": true ,"console":false,"tostatus":false,"complete":false","x":500,"y":240,"wires":[]},{"id":"9584b3e4.576fd ","type": "mqtt-broker", "z": "","name": "Courtier local", "broker": "10.0.0.23", "port": "1883", "clientid": "","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"" ,"closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

5. Dans l'onglet « Connexion » du nœud MQTT, attribuez comme « Serveur » la même adresse IP attribuée comme hôte dans le pont RF. Dans mon cas, l'hôte attribué était 10.0.0.23 :

Pour enregistrer les modifications, cliquez sur « Mettre à jour ».

6. Pour commencer à exécuter le flux Node-RED, cliquez sur " Déployer ".

À ce stade, le nœud MQTT changera son statut en « Connecté ».

Ensuite, sélectionnez l'onglet de débogage pour visualiser les messages entrants.

5. Résumé

En quelques minutes seulement, nous avons pu pirater le pont RF SONOFF sans avoir à être un expert en matériel.

Maintenant que vous êtes en mesure de manipuler les données pour les gérer avec n'importe quel service de votre choix, c'est à votre tour de commencer à étendre les capacités des solutions proposées par les produits SONOFF pour créer des solutions IoT à faible coût.

Projets IoT plus utiles :