Reprogrammer le serveur Web Sonoff Smart Switch

Reprogrammer le serveur Web Sonoff Smart Switch

Dans cet article, vous allez apprendre à flasher le micrologiciel personnalisé dans l’appareil Sonoff, afin de pouvoir le contrôler avec votre propre serveur Web. Je vous recommande de lire mon post précédent pour vous familiariser avec le Sonoff. Nous avons également des ressources supplémentaires qui décrivent comment flasher un micrologiciel personnalisé sur l’appareil Sonoff à l’aide d’un programmeur FTDI et de l’IDE Arduino.

Si vous n’avez pas de Sonoff pourtant, vous pouvez en obtenir un pour environ 5 $ – visitez Conseiller Maker pour trouver le meilleur prix.

Tout d’abord, regardez le didacticiel vidéo étape par étape ci-dessous

Alerte de sécurité

Assurez-vous de débrancher votre Sonoff de la tension secteur. Ensuite, ouvrez le boîtier de la boîte.

avertissement-m

Brochage Sonoff

Le Sonoff est destiné à être piraté, et vous pouvez voir clairement que ces connexions ont été laissées de côté, de sorte que vous pouvez souder des broches et télécharger un firmware personnalisé. C’est le brochage.

sonoff_gpio-r

J’ai soudé 4 broches d’en-tête, de sorte que je puisse facilement connecter et déconnecter les câbles de mon appareil Sonoff.

broches soudées

Préparation de votre module FTDI 3.3V

Vous avez besoin d’un module FTDI pour télécharger un nouveau firmware sur votre Sonoff. Utilisez les schémas fournis comme référence.

1644598085 474 Reprogrammer le serveur Web Sonoff Smart Switch

Avertissement: le téléchargement d’un firmware personnalisé est irréversible et vous ne pourrez plus utiliser l’application eWeLink.

J’ai ajouté un interrupteur à bascule dans la ligne d’alimentation, afin que je puisse facilement allumer et éteindre le Sonoff pour flasher un nouveau firmware sans avoir à débrancher le module FTDI.

J’ai utilisé de la colle chaude pour coller les extrémités des fils ensemble. Cela vous évite d’établir de mauvaises connexions entre le FTDI et le Sonoff à l’avenir.

hot-glue-ftdi

Démarrez votre Sonoff en mode clignotant

Pour flasher un nouveau firmware sur votre Sonoff, vous devez démarrer votre Sonoff en mode flash. Suivez ce processus en 4 étapes :

1) Connectez votre programmateur FTDI 3.3V à votre ordinateur

2) Maintenez enfoncé le bouton Sonoff

maintenez enfoncé le bouton sonoff

3) Basculez l’interrupteur pour mettre sous tension le circuit Sonoff

appliquer-power-to-sonoff

4) Ensuite, vous pouvez relâcher le bouton Sonoff

Maintenant, votre Sonoff devrait être en mode clignotant et vous pouvez télécharger un nouveau firmware.

Ouverture de l’IDE Arduino

Vous devriez avoir le module complémentaire ESP8266 installé dans l’IDE Arduino – Si vous n’avez pas installé le module complémentaire, suivez d’abord ce tutoriel sur Comment installer la carte ESP8266 dans l’IDE Arduino.

Vous pouvez télécharger le croquis complet sur votre Sonoff (remplacer par votre SSID et votre mot de passe) :

/*********
  Rui Santos
  Complete project details at https://raspberryme.com  
*********/

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

MDNSResponder mdns;

// Replace with your network credentials
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";

ESP8266WebServer server(80);

String webPage = "";

int gpio13Led = 13;
int gpio12Relay = 12;

void setup(void){
  webPage += "<h1>SONOFF Web Server</h1><p><a href=\"on\"><button>ON</button></a>&nbsp;<a href=\"off\"><button>OFF</button></a></p>";  
  // preparing GPIOs
  pinMode(gpio13Led, OUTPUT);
  digitalWrite(gpio13Led, HIGH);
  
  pinMode(gpio12Relay, OUTPUT);
  digitalWrite(gpio12Relay, HIGH);
 
  Serial.begin(115200); 
  delay(5000);
  WiFi.begin(ssid, password);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  
  if (mdns.begin("esp8266", WiFi.localIP())) {
    Serial.println("MDNS responder started");
  }
  
  server.on("/", [](){
    server.send(200, "text/html", webPage);
  });
  server.on("/on", [](){
    server.send(200, "text/html", webPage);
    digitalWrite(gpio13Led, LOW);
    digitalWrite(gpio12Relay, HIGH);
    delay(1000);
  });
  server.on("/off", [](){
    server.send(200, "text/html", webPage);
    digitalWrite(gpio13Led, HIGH);
    digitalWrite(gpio12Relay, LOW);
    delay(1000); 
  });
  server.begin();
  Serial.println("HTTP server started");
}
 
void loop(void){
  server.handleClient();
} 

Afficher le code brut

Préparation de votre IDE Arduino

Avoir votre appareil Sonoff toujours en mode clignotant.

  1. Sélectionnez votre numéro de port FTDI sous le Outils> Port > COM14 (dans mon cas)
  2. Choisissez votre carte ESP8266 parmi Outils> Conseil > Module ESP8266 générique
  3. Sélectionner Mode flash : « DOUT »
  4. Appuyez sur le bouton Télécharger

1644598085 877 Reprogrammer le serveur Web Sonoff Smart Switch

Attendez quelques secondes pendant le téléchargement du code. Vous devriez voir un message indiquant « Téléchargement terminé ».

Dépannage

Si vous essayez de télécharger l’esquisse et que le message d’erreur suivant s’affiche :

warning: espcomm_sync failed
error: espcomm_open failed

Cela signifie que votre Sonoff n’est pas en mode flash. Vous devrez répéter le processus décrit dans la section « Démarrer votre Sonoff en mode clignotant » décrite plus haut dans ce guide.

Circuit final

Après avoir téléchargé le code, réassemblez votre Sonoff. Soyez très prudent avec les connexions de tension secteur.

C’est exactement la même procédure que celle indiquée dans le guide d’introduction.

sonoff_circuit

Adresse IP ESP8266

Ouvrez le moniteur série Arduino à un débit en bauds de 115200. Connectez GPIO 0 de votre ESP8266 à VCC et réinitialisez votre carte.

Après quelques secondes, votre adresse IP devrait apparaître. Dans mon cas c’est 192.168.1.70.

esp adresse ip

Manifestation

Pour la démonstration finale, ouvrez n’importe quel navigateur à partir d’un appareil connecté au même routeur que votre Sonoff. Tapez ensuite l’adresse IP et cliquez sur Entrée !

serveur Web

Désormais, lorsque vous appuyez sur les boutons de votre serveur Web, vous pouvez contrôler le commutateur Sonoff et tout appareil qui y est connecté.

Liste des tutoriels Sonoff :

Emballer

C’est tout pour le moment, j’espère que vous vous êtes amusé à découvrir l’appareil Sonoff. Assurez-vous de vous abonner à mon blog, car je publierai plus de tutoriels sur le Sonoff.

Avez-vous des questions? Laissez un commentaire ci-dessous!

Merci d’avoir lu,

Rui