Tutoriel SONOFF : Un Smart Switch Wi-Fi pour 5 $
Dans ce guide, vous apprendrez comment contrôler n'importe quel appareil 110-240V pour 5 $ l'appareil SONOFF d'Itead . Comparé aux prises intelligentes WiFi à 30 $ IoT à plus grande échelle. De plus, il est basé sur la populaire puce Wi-Fi ESP8266, ce qui le rend compatible avec l'environnement Arduino et d'autres ressources comme nos bibliothèques ESP chez Ubidots .
Le SONOFF est livré avec son propre firmware et sa propre application mobile, mais nous pensons que sa principale valeur réside en réalité dans son format et son prix bas. C'est pourquoi nous avons décidé de faire un peu de piratage et de libérer toute sa puissance !
Aperçu
Sois prudent! Ne manipulez pas le SONOFF lorsqu'il est connecté aux lignes 110/240V AC
Le SONOFF contient un relais, une puce WiFi ESP8266 et les circuits requis pour l'alimenter avec la ligne CA d'une prise de courant. Il est également livré dans un joli emballage qui lui donne un aspect plus professionnel qu'un projet de bricolage moyen à la maison.
Exigences
Installation
- Démontez l'appareil SONOFF, cela permet d'accéder au brochage SONOFF TTL, dont nous aurons besoin pour programmer l'ESP8266 intégré. Vous devrez souder quatre broches, celles-ci sont illustrées dans l'image ci-dessous.
- Connectez les broches UARTbee aux broches SONOFF, en suivant ce brochage :
UARTbee | SONOFF |
---|---|
Capital-risque | CVCC |
Émission | RX |
RX | Émission |
GND | GND |
Allez dans l'IDE Arduino, cliquez sur Fichiers -> Préférences et entrez cette URL pour pouvoir accéder aux bibliothèques ESP8266 pour Arduino :
http://arduino.esp8266.com/stable/package_esp8266com_index.json
dans le URL du gestionnaire de cartes supplémentaires . Ce champ prend en charge plusieurs URL, en les séparant par des virgules, au cas où vous auriez déjà saisi d'autres URL.
- Ouvrez le gestionnaire de cartes depuis Outils -> Carte et installez la plateforme ESP8266. Sélectionnez votre carte ESP8266 dans Outils > Carte après l'installation.
- Téléchargez la Ubidots ESPMQTT ici .
- Maintenant, cliquez sur Sketch -> Inclure la bibliothèque -> Ajouter une bibliothèque .ZIP.
- Sélectionnez le fichier .ZIP d' Ubidots ESPMQTT puis cliquez sur « Accepter » ou « Choisir » .
- Fermez l'IDE Arduino et ouvrez-le à nouveau.
Créer une variable Ubidots
- Ubidots .
- Allez dans Sources et cliquez sur le symbole plus orange .
- Définissez le nom de la source de données et vérifiez l'étiquette
4. Créez une nouvelle variable pour le relais et vérifiez l'étiquette
Créer un widget de bouton
Désormais, pour contrôler l'appareil SONOFF, vous devrez créer un widget bouton dans votre compte Ubidots . Ce widget définira votre variable RELAY sur « 1 » ou « 0 » :
- Accédez au Dashboard et cliquez sur l' icône orange plus .
- Cliquez sur Contrôle -> Commutateur et sélectionnez la source de données et la variable à contrôler créées auparavant.
Codage de votre SONOFF
Voici le code qui allume/éteint l'appareil SONOFF. Pour utiliser ce code n'oubliez pas de changer le TOKEN avec le token de votre compte Ubidots . Modifiez WIFISSID et PASSWORD avec vos informations d'identification réseau.
Pour télécharger le code dans le SONOFF, vous devrez :
- Connectez l'UARTbee au port USB de votre PC.
- Appuyez sur le bouton de SONOFF et déconnectez l'USB en même temps.
- Tout en appuyant toujours sur le bouton, reconnectez l'USB.
Ces étapes visent à mettre le SONOFF en mode programmation.
Lorsque vous êtes prêt, téléchargez le code depuis l'IDE Arduino :
/****************************************** * Inclure les bibliothèques ****** **********************************/ #include " Ubidots ESPMQTT.h" /****** ********************************** * Définir les constantes ************* ***************************/ #define TOKEN "..." // Votre TOKEN Ubidots #define WIFINAME "..." / /Votre SSID #define WIFIPASS "..." // Votre Wifi Pass #define MQTTCLIENTNAME "..." // Votre nom de client MQTT, il doit être unique donc nous vous recommandons de choisir un nom ASCCI aléatoire #define RELAY 12 #define LED 13 Client Ubidots (TOKEN, MQTTCLIENTNAME) ; /****************************************** * Fonctions auxiliaires ****** **********************************/ rappel nul (sujet char*, charge utile octet*, longueur int non signée) { Serial.print("Message arrivé ["); Serial.print (sujet); Série.print("] "); pour (int je = 0; je <length;i++) { Serial.print((char)payload[i]); } Serial.println(); if ((char)payload[0] == '1') { digitalWrite(RELAY, HIGH); //On relay digitalWrite(LED, LOW); //On led } if ((char)payload[0] == '0') { digitalWrite(RELAY, LOW); //Off relay digitalWrite(LED, HIGH); //Off led } } /**************************************** * Main Functions ****************************************/ void setup() { // put your setup code here, to run once: Serial.begin(115200); client.wifiConnection(WIFINAME, WIFIPASS); pinMode(RELAY, OUTPUT); pinMode(LED, OUTPUT); digitalWrite(LED, HIGH); client.begin(callback); client.ubidots Abonnez-vous("relay","sonoff"); //Insérer la source de données et les étiquettes de variable } client.loop(); }
Branchez votre Smart Switch et commencez à contrôler les choses
Il est désormais temps de rendre les choses « intelligentes » en y ajoutant votre SONOFF ; contrôler vos lumières, ouvrir ou fermer votre garage, etc.
Aller plus loin…
Ubidots est un service cloud permettant à des milliers d'ingénieurs du monde entier de créer IoT , tant dans le domaine de l'éducation que de l'entreprise. Pour savoir comment Ubidots peut aider votre entreprise, consultez nos fonctionnalités ou laissez-nous un message.