right  Home
site logo
OBJETS COMMUNICANTS, de A à Z !
(Tutoriels & vidéos de vulgarisation pour tous les niveaux)
Tuesday, March 19, 2024
Main Menu
Who am I?
Research News
Selected Publications
Teaching
CV
Links and other news
Home
 
 
Valid  HTML 4.0

Tutoriel : Capteur de température communicant sans fil, imperméable (waterproof), autonomie 2 mois minimum avec une simple pile !
Tayeb LEMLOUMA, juillet 2019.

Capteur de température communicant
Durée - 🕖 35min05s
★ Lien : https://1do.me/Uk

Dans cette série vidéo de vulgarisation (tout niveaux), je vais vous expliquer comment fabriquer un capteur de température communicant en WiFi, imperméable (waterproof) et avec une autonomie 2 mois minimum avec une seule pile ! (Tutoriel & vidéo de vulgarisation pour tous les niveaux)

Pour la partie estimation de la durée d’autonomie de l’objet, l’estimation faite dans ce tutoriel est approximative et elle considère les situations où l’objet consomme le plus d’énergie par exemple en prenant une consommation supérieure en ampère pendant la période du « deep sleep » et une durée plus que raisonnable pendant la période d’éveil de l’objet. Par conséquent, attendez vous à plus de d’autonomie que prévu ce qui est une bonne chose pour nous !

Mots clés : IoT, WoT, IoE, Objets communicants, Objets connectés, Internet des objets, ESP8266, ESP01, ESP12E, Nodemcu, Arduino Nano, Arduino IDE, Capteur, Actionneur, Programmation, Espace intelligent, Maison intelligentes, Algorithmes adaptatifs


Tutoriel : Apprenez à fabriquer un objet connecté par vous même, de A à Z, et pour moins de 10 € !
Tayeb LEMLOUMA, octobre 2018.

Objet connecté
Dans cette série vidéo de vulgarisation (tout niveaux), je ne me contenterais pas de vous expliquer comment faire un prototype ! Nous irons jusqu’au bout pour créer un objet connecté indépendant et utilisable dans la vie de tous les jours ! L’objet connecté (actionneur) va servir pour contrôler n’importe quel équipement (télé, ampoule, ordinateur, radiateur, etc.), de n’importe où (en local ou sur Internet) et sans avoir besoin d’un logiciel particulier ou d’une application particulière. Il suffit d’un navigateur Web sous n’importe quel système d’exploitation !

Je vous recommande de visionner les quatre parties de cette série dans l’ordre ! A la fin de la troisième partie, je vous dévoilerai quelques perspectives que vous pouvez faire par vous-même pour continuer le projet.. Dans la quatrième partie, je vous montrerai comment fabriquer notre carte de circuit imprimé d'une manière professionnelle et dévoilerai la perspective de détailler une mini box qui interagit avec des capteurs et actionneurs dans le contexte d'un espace connecté et intelligent.

Partie 1 - 🕖 23min17s
★ Lien : https://1do.me/pZ
Dans cette partie, nous allons apprendre comment créer une maquette de programmation. Cette dernière va nous servir pour programmer notre objet connecté et plus spécifiquement la carte ESP8266 (version 01). La maquette est conçue pour faciliter la programmation de plusieurs cartes.

Vidéo partie 1 Vidéo partie 1


Partie 2 - 🕖 36min12s
★ Lien : https://1do.me/7n
Dans cette partie, nous allons programmer l’objet connecté en utilisant la maquette fabriquée dans la première partie. Nous utiliserons l’IDE Arduino IDE pour la programmation. La vidéo contient aussi une démonstration de notre programme. Ce dernier rend la carte ESP8266 prête à être intégrée dans un objet connecté indépendant.

Vidéo partie 2 Vidéo partie 2


Partie 3 - 🕖 36min15s
★ Lien : https://1do.me/eG
Dans cette partie, nous allons finaliser notre objet connecté. Il n’est pas question de s’arrêter à un prototype (comme on peut trouver un peut partout !). Nous allons donc, concevoir un modèle 3D, l’imprimer, intégrer les composants électroniques nécessaires et assurer le bon branchement. Je vous montrerais aussi une petite démonstration de l’objet fini. A la fin, une série de perspectives intéressantes vous permettra de poursuivre ce projet et vous ouvrira les portes vers le monde des objets connectés (à petit prix !)

Vidéo partie 3 Vidéo partie 3


Partie 4 - 🕖 34min11s
★ Lien : https://1do.me/3v
Réalisation du circuit imprimé PCB (printed circuit board)

Vidéo partie 4

La réalisation du circuit imprimé (PCB) est l'une des perspectives citées à la fin de la vidéo 3/3. Ici, la réalisation a été effectuée en utilisant le logiciel (interface Web) EasyEDA. Notez bien -dans la première figure suivante- que notre circuit a été légèrement modifié, en intégrant -principalement- un transformateur plus silencieux (HLK-PM03) et un SSR plus petit (G3MB-202PL). Notre PCB va nous permettre d’avoir un modèle 3D plus discret améliorant ainsi la qualité d’expérience de l’utilisateur.

shéma du circuit circuit en 3D PCB vue d'en haut

Recommandations
Si vous avez attentivement visualisé les trois parties des vidéos précédentes. Voici un résumé de recommandations pour le branchement et le test de notre code informatique qui transforme la carte ESP8266 version 01 en un vrai objet connecté : un actionneur qui permet de commander n’importe quel équipement électrique en WiFi. Vous avez compris qu’il faut d’abord programmer l’ESP8266 (lui téléverser notre code), puis rendre l’ESP8266 autonome avec notre code comme seul code de démarrage de l’ESP8266.

  • En mode programmation (téléversement [i.e. upload] d’un code) :
      • Respectez strictement le branchement expliqué dans la vidéo, si nécessaire vérifiez votre branchement !
      • La broche GPIO-0 (de l’ESP8266) [câble jaune dans notre maquette] à GND du Power Supply
      • GPIO-2 (ESP8266) à vide (important)
      • GND (Arduino Nano) à GND (ESP8266)
      • Brancher l’USB de l’Arduino Nano (avant l’appui sur le bouton Reset de notre maquette)
      • Et bien sur, assurez vous du branchement expliqué dans la vidéo :
        • GND (Arduino) à RST (Arduino)
        • GND (Arduino) à GND (ESP8266)
        • RX (Arduino) à RX (ESP8266)
        • TX (Arduino) à TX (ESP8266)
      • Avant d’uploader notre code vers l’ESP8266, n’oubliez pas ces étapes nécessaires :
        • Assurez-vous de brancher l’USB de l’Arduino Nano (avant le Reset de l’ESP8266)
        • Appui sur le bouton Reset –IMPORTANT de le faire à chaque upload- (i.e. appui sur le petit bouton poussoir de notre maquette détaillée dans la vidéo [c’est l’équivalent de connecter le RST à GND pour initialiser l’ESP8266])
        • S’assurer que le bon port est sélectionné dans l’Arduino IDE (pour nous c’est le /dev/cu.wchusbserial1420 [voir la vidéo])
        • S’assurer que bon type de carte ("Generic ESP8266 Module") est sélectionné
        • Ne pas ouvrir le « moniteur série » de l’Arduino IDE durantl’upload du programme (je recommande de l’ouvrir avant l’upload, pour voir l’exécution du programme depuis son début quand le upload sera terminé)
        • Si nécessaire redémarrer le Arduino IDE
      • Uploader le code depuis l’Arduino IDE en appuyant sur l’icône ronde contenant une flèche (comme expliqué dans la vidéo)
      • Pendant le téléversement : surveiller les messages d’erreur de l’Arduino IDE et la présence de clignotement de l’Arduino Nano

    • Avec la nouvelle version du package ESP8266, en date de juillet 2019, (i.e. Arduino core for ESP8266 qui utilise le esptool.py v2.6 pour l'upload du code de l'arduino IDE vers l'ESP8266), si à la fin du upload vous voyez ce message : 
      • Leaving...
        Hard resetting via RTS pin...
      • Ne vous inquiétez pas ! Le code est bien transféré :
          • Eteingnez l'alimentation de l'ESP8266
          • Déconnecter le câble jaune (i.e. GPIO-0 de l'ESP8266 à vide)
          • Rallumez l'ESP8266, il se mettra à exécuter notre code

    • En cas de manipulation d’un ESP01 pour la toute première fois : il est nécessaire pour notre application SMART POWER PLUG (développé dans la vidéo) d’initialiser l’EEPROM une seul fois. Par conséquent :
      • Dé-commenter la section d’initialisation de l’EEPROM (lignes 108-117) de notre code, uploader le code
      • Une fois le code est uploadé, commenter ces même lignes puis, uploader de nouveau le code (qui sera le code final rendant ainsi l’ESP8266 autonome)
        • Si erreur :
          • N’oublier pas d’enlever le GPIO-02 de l’ESP8266 (câble bleu de notre maquette) lors de l’upload
          • Si nécessaire recommencer l’upload avec un nouvel appui au préalable sur le bouton Reset
  • En mode normal (i.e. si on a déjà uploadé le code vers l’ESP8266 et qu’on utilise l’ESP01 d’une manière autonome) :
    • Respectez strictement le branchement expliqué dans la vidéo, si nécessaire vérifiez votre branchement !
    • Éteignez l’ESP8266
    • S’assurez des branchements, notamment :
    • GPIO-0 (ESP8266) à vide
    • Si tout va bien et on a déjà testé le code avec l’ESP8266, vous pouvez enlever définitivement le GND (ESP8266) connecté à l’Arduino Nano dans notre maquette. C’est importantsi on termine tous les tests et on ne veut plus utiliser l’Arduino Nano pour que notre objet soit indépendant. Sinon pendant les premier tests :
      • Garder le GND de l’ESP01 tel qu’il est
      • Ouvrer le moniteur série de l’Arduino IDE avant l’upload pour voir les traces de notre programme exécuté sur l’ESP8266
    • Utiliser le GPIO-2 (ESP8266) selon votre application (par exemple sur la broche du Led de notre maquette ou branché au relai comme expliqué dans la vidéo)
    • Appuyez sur le petit bouton Reset
    • Éteignez l’alimentation de l’ESP
    • Mettre sous tension à nouveau l’ESP01 pour voir que notre code est autonome
    • Si l’étape d’initialisation de l’EEPROM (i.e. l’upload de notre code non commenté expliqué ci-dessus) s’est bien passée alors dans le moniteur série de l’Arduino IDE vous allez voir que, grâce à notre code, l’ESP va se mettre en mode AP (Access Point WiFi).
    • Si l’initialisation de l’EEPROM ne s’est pas bien déroulée, l’ESP01 va essayer de se connecter à un faux AP (selon les valeurs initiales de l’EEPROM tout neuf). Après plusieurs tentative, notre code va finir par obliger l’ESP à se mettre en mode AP (Access Point WiFi) permettant ainsi de le contacter directement sans passer par le réseau local. Voici un exemple de traces de avec mauvaise initialisation de l’EEPROM :  

      ** WELCOME TO ESP8266 **
      Version 0.1a Aug 2018 by Tayeb L.
      Lecture de EPROM..
      -- SSID : *72e6826f2828c7e06⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮*
      Existance de conf WiFi :-)
      -- Mot de passe : *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮*
      Statut de connexion: debutConnect
      Connecting to
      72e6826f2828c7e06⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮
      [SSID: *72e6826f2828c7e06⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮*, PASSWORD: *⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮⸮*]
      .
      .
      ...
      Fin de tentative de connexion au WiFi, état: echecConnect
      Connexion WiFi impossible, se mettre en mode AP..
      Setting Object with A.P. Mode ...
      A.P. Ready
      AP IP address:
      192.168.1.50
      Web Server started
      You can connect to the ESP8266 at this URL:
      https://192.168.1.50/

      shéma du circuit circuit en 3D PCB vue d'en haut
      Screenshots of the Web interface of the ESP8266-01 with our code using an iPhone

       
    • Une fois l’ESP8266 démarré, vous pouvez vous connecter directement en WiFi à la borne de notre ESP82266 qui sera nommée « SmartPowerPlug_XXXX ». Ensuite, il faut aller sur l’interface Web programmée, i.e. https://192.168.1.50 pour commander n’importe quel appareil électrique branché à notre objet connecté basé sur l’ESP8266 version 01. Si vous êtes sous Windows et vous êtes confrontés à des problèmes d’affichage avec votre navigateur Web, je vous recommande d’utiliser Internet Explorer (MS I.E.)
Liens utiles
Matériel pour l’objet connecté
1. Carte ESP8266, version 01 (1,64€, ShenZhen, Chine) : https://goo.gl/Cy24Xc
2. Relais à état solide 25 ampères (2,89 €, ShenZhen, Chine, attention j’en ai reçu 1 sur 2 qui ne fonctionne pas mais qui a été rapidement remplacé) : https://goo.gl/TQJ5a5
3. Transformateur 110V/220V pour 3.3V 700mA 2.3W (1,30 €, Shenzhen,Guangdong, Chine) : https://goo.gl/vP3kGx
4. Fiche male achetée à Bricorama (1,60 €, France)
5. Prise murale achetée à Bricorama (1,75 €, France)

Matériel pour la maquette de programmation
1. Platine d'essai (6,60€, France) : https://goo.gl/auhmzW
2. Alimentation externe de platine d'essai en 3.3v (2,95€, France) : https://goo.gl/xyMW32
3. Arduino Nano (2,34 €, ShenZhen, Chine) : https://goo.gl/kFuUgp
4. 10 résistances carbones 330 ohm (2,09€, France) : https://goo.gl/XnKb95
5. 10 résistances carbones 10 K ohm (2,09€, France) : https://goo.gl/gV7rZA
6. 10 condensateurs 1000µF (3,20€, France) : https://goo.gl/C643YW
7. 120 câbles colorés (2,99€, ShenZhen, Chine) : https://goo.gl/RTfkSx
8. 180 Mini Boutons (6,45€, France) : https://goo.gl/VMU8EX
9. 100 Leds 5mm 3mm (1,00€, Chine) : https://goo.gl/8FmaLR
10. Chargeur secteur 12 V 2 A (13,39€, Royaume-Uni) : https://goo.gl/sJXwqr
11. Câble mini USB male/male, 30cm (1,00€, Chine) : https://goo.gl/tm4Rkf
12. Transformateur HLK-PM03 (2,46€) : https://goo.gl/jQSJZv
13. Relai G3MB-202P (1€) : https://goo.gl/fXgHMM
14. Transistor 2N2222A (100 pièces pour 1€) : https://goo.gl/qiyVhR
15. Attaches MountScrew Terminal-Block (20 pièces pour 1,24€) : https://goo.gl/rVNvV3
16. Mini interrupteur (40 pièces pour US $0.86) : https://goo.gl/Esm8xp
17. Vis Standoff Screw (300 pièces $4.97) : https://goo.gl/riix83
18. Fiche pour attacher l'ESP8266 (10 pièces pour US $0.74) : https://goo.gl/67PifD

Lien de configuration pour l’Arduino IDE (Partie 2 de la série vidéo)
https://arduino.esp8266.com/stable/package_esp8266com_index.json

Logiciels
Arduino IDE : https://1do.me/OM
OpenSCAD : http://1do.me/B8
Cura : http://1do.me/u-
Driver Mac OS X pour Arduino Nano (pour mon modèle !) : https://1do.me/ZC

Autre matériel
1. Fer à souder 48W (29€, France) : https://goo.gl/ELiiKj (ou pour le TS100: https://goo.gl/KqQd2i)
2. Fil à souder 100g/1mm (2,58€, Chine) : https://goo.gl/8DSKD8
3. Multimètre Vici VC97 (19,60€, Hong Kong) : https://goo.gl/bWLgtB
4. Pistolet à Colle Chaude, 60W (7,59€, Chine) : https://goo.gl/ckLWSz
5. Imprimante 3D Ultimaker 2+ (2 299 €) : http://1do.me/Al

Mots-clés
IoT, WoT, Objets connectés, Internet des objets, ESP8266, Arduino Nano, Programmation, Impression 3D, PCB, Circuit imprimé, EasyEDA, Jlcpcb, Capteur, Actionneur,


 
Who am I? CV Publications News Links Contact Me Home
Top of page