Tous les capteurs reliés au RPI par Wifi avec module ESP8266

Parce que les applications du Raspberry Pi sont illimités...

Modérateur : Francois

Répondre
freedom2000
Messages : 4
Enregistré le : ven. 6 mars 2015 22:03

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par freedom2000 » ven. 6 mars 2015 22:22

smba38 a écrit :Bonsoir Jean-Marie.

Le Deep Sleep est intéressant car il conserve des informations sur la connexion Wifi, mais il consomme plus.
Le deepsleep (avec lua) a un gros défaut : il est limité à environ 15 minutes. Du coup l'ESP doit se réveiller et entrer en mode actif totues les 15 minutes ce qui finit pas pomper rapidement du jus...

JP

Avatar du membre
Jean-Marie
Raspinaute
Messages : 240
Enregistré le : sam. 24 janv. 2015 18:01
Localisation : Arlon, Belgique
Contact :

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par Jean-Marie » ven. 6 mars 2015 23:34

Hello freedom2000,

Même si tu n'as pas de RaspBerry (pour le moment ;) ), reste avec nous pour l'ESP8266. Il n'y a pas beaucoup d'endroits où on en discute en français. De plus, ton expérience de flashage du NodeMCU et retour aux commandes AT est très intéressante et sera sans doute très utile à plus d'un ici. Merci pour le lien en rapport.

L'horloge temps réel de Maxim coûte 3 à 4 € et consomme 2µA. C'est une solution mais c'est quand même 57 fois plus gourmand que le TPL5010.

Attention, le Deep_Sleep de l'ESP consomme 60µA et exige effectivement un réveil toutes les 15 minutes, alors que le Power_Down ne consomme que 1µA.

Les batteries rechargeables AAA ont souvent une capacité de 1350mAH. Même avec une consommation de 60µA, cela laisse quand même une autonomie (sans réveil !) de 30 mois.

Une autre question: les batteries rechargeables font 1,2V et même un peu plus quand elle sortent de la charge. Il faut donc 3 batteries en série mais on risque de dépasser 3,6V. Comment faire ?
Une solution serait d'utiliser 4 batteries en série, suivies d'un régulateur 3.3V low drop. Quelqu"un aurait-il une autre idée ?
Modifié en dernier par Jean-Marie le sam. 7 mars 2015 09:15, modifié 1 fois.

domi
Administrateur
Messages : 3233
Enregistré le : mer. 17 sept. 2014 18:12
Localisation : Seine et Marne

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par domi » sam. 7 mars 2015 08:18

Jean-Marie a écrit :Une autre question: les batteries rechargeables font 1,2V et même un peu plus quand elle sortent de la charge. Il faut donc 3 batteries en série mais on risque de dépasser 3,6V. Comment faire ?
Bonjour,

Pourquoi ne pas utiliser une batterie 18650 qui fourni 3,7 volts.
Exemple sur eBay
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.

Avatar du membre
Jean-Marie
Raspinaute
Messages : 240
Enregistré le : sam. 24 janv. 2015 18:01
Localisation : Arlon, Belgique
Contact :

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par Jean-Marie » sam. 7 mars 2015 09:19

Hello Domi,

C'est la première fois que je vois ce genre de batterie. 3,7V et 6000mA ! :o
Par contre, cela ne résout pas la question de savoir comment on réduit la tension de 3,7V à 3,3V. La différence est trop petite pour fonctionner avec un régulateur de tension. J'ignore si un convertisseur buck peut fonctionner dans ces conditions. Quelqu'un a-t-il de l'expérience ?

domi
Administrateur
Messages : 3233
Enregistré le : mer. 17 sept. 2014 18:12
Localisation : Seine et Marne

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par domi » sam. 7 mars 2015 10:08

Bonjour,

Vu qu'il faut baisser de 0,5 volt, je pense qu'une réduction de tension par résistance devrait suffire. Il faut calculer sa valeur en fonction de la puissance consommée.

Je laisse les électroniciens me reprendre car même si je me débrouille un peu dans les choses simples, l'électronique n'est pas ma spécialité.

On peut faire un montage de ce genre, mais vu le peu d'intensité consommée, et la faible tension à atténuer, je pense qu'une simple résistance en série devrait suffire.
Pont_diviseur_tension.svg.png
Pont de resistances
Pont_diviseur_tension.svg.png (3.64 Kio) Vu 7706 fois
Avis aux électroniciens, mes compétences s’arrêtent ici, et je ne voudrais pas écrire de bêtises qui pourraient être destructrices pour le montage de Jean-Marie

Cdt,
Domi
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.

smba38
Modérateur
Messages : 193
Enregistré le : mar. 24 févr. 2015 09:28
Localisation : Bourgoin

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par smba38 » sam. 7 mars 2015 10:16

Bonjour à tous.

Pour répondre à freedom2000, il est possible de recompiler Lua pour ajouter une fonctionnalité d’un deepsleep plus étendu.
Mais en Lua les nombres peuvent prendre de très grandes valeurs, j'ai essayé le node.dsleep sur 1/2 heure, ça marche.
Je ne pense pas qu'il existe une limite (raisonnable) et ça doit passer avec plusieurs heures.

Pour le deepsleep sur la carte de test nodemcu, il faut relier le GPIO16 (D0) au RST.
Sur la puce c’est les pin32 (EXT_RST) et pin8 (XDD_DCDC).

Le PB c’est que ces pins ne sont pas toujours disponibles sur les PCB ESP-XX.
La carte nodemcu est à base de ESP-12 et ce PCB dispose du GPIO16, du RST et même de l’ADC (A0).


J’ai vu sur le WEB que certains sont arrivés à souder directement sur la puce CMS pour récupérer les pins manquantes.
http://41j.com/blog/2015/01/esp8266-analogue-input/

Voici le schéma de la carte de test nodemcu (ESP-12). (cliquer sur View raw pour télécharger le PDF)
https://github.com/nodemcu/nodemcu-devk ... _ESP12.PDF

J’ai vu sur le web un autre firmware alternatif (et ça fait peur).
https://github.com/nekromant/esp8266-frankenstein.
On peut faire d’une façon différente les mêmes choses qu’avec les commandes AT.

Une des fonctionnalités intéressante de ce firmware et la possibilité d’utiliser le protocole TFTP ( Trivial FTP) pour flasher le firmware à distance.

Il existe une commande AT pour faire la même chose, je ne suis pas arrivé à la faire marcher et en plus on ne peut pas choisir son firmware, c’est celui d’Espressif qui est utilisé.

Avec Lua on peut à distance modifier un programme mais on ne peut pas encore flasher le firmware.

Il va bientôt exister des antivirus pour les esp8266 car il doit surement y avoir des trous de sécurité comme sur tous les systèmes accessibles via TCP/IP.

Il faut bien suivre les modifications des différents firmwares sur Github: https://github.com.
La lecture des fichiers README.MD permet de se tenir au courant des dernières modifications.

C’est pratique pour par exemple rechercher les derniers firmwares.

En indiquant dans le moteur de recherche de GitHub « nodemcu » on peut facilement récupérer le binaire Windows de NodeMcuFlasher (sous linux il existe le programme python esptool.py).
Nodemcuflasher contient un firmware auto extractible (INTERNAL) si l'on veut utiliser un fichier externe, il faut décocher les cases par défaut et ajouter le PATH du binaire.
Ne pas oublier de relier temporairement GPIO0 sur GRND pour que la puce autorise la modification du firmware.

https://github.com/nodemcu/nodemcu-firm ... ild/latest
NodeMcu flasher.JPG
Attentioon ne cocher que la case correspondant au fichier.bin avec un offset =0x00000
NodeMcu flasher.JPG (54.66 Kio) Vu 7706 fois
A+
SMBA38.
Modifié en dernier par smba38 le sam. 7 mars 2015 18:08, modifié 9 fois.

Veloce
Messages : 79
Enregistré le : sam. 24 janv. 2015 20:12

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par Veloce » sam. 7 mars 2015 10:31

Jean-Marie a écrit : Par ailleurs, il faut apprendre comment gérer les collisions, le fait que deux postes périphériques peuvent tenter de se linker et d'envoyer leur mesure en même temps à l'unité centrale. Pour tester ça, il faudrait disposer d'au moins deux postes périphériques. Donc, je dois aussi attendre mes nouveaux ESP-12.
Comment ça des collisions ? Pas du tout !
Souviens-toi : sur le serveur tu as fait AT+CIPMUX=1
Alors le premier module qui va vouloir établir la connexion va prendre le numéro 0, le deuxième le numéro 1, etc.
J'imagine qu'on ne peut pas ouvrir des centaines de connexions simultanées, donc il faut veiller à faire AT+CIPCLOSE à la fin de chaque envoi.

Il te restera à trier les patates entre les messages de tes modules:

Code : Tout sélectionner

+IPD,0,7,Bonjour
+IPD,1,9,Guten Tag
+IPD,2,3,Ola
Tu peux répondre à chacun en utilisant son numéro de connexion. Mais comme celui-ci peut changer d'une fois sur l'autre, il va falloir imaginer un protocole pour reconnaitre chaque module. Par exemple faire commencer chaque message par un numéro de module...

Veloce ;)

Veloce
Messages : 79
Enregistré le : sam. 24 janv. 2015 20:12

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par Veloce » sam. 7 mars 2015 11:18

Jean-Marie a écrit :Hello Domi,
C'est la première fois que je vois ce genre de batterie. 3,7V et 6000mA ! :o
Par contre, cela ne résout pas la question de savoir comment on réduit la tension de 3,7V à 3,3V.
La différence est trop petite pour fonctionner avec un régulateur de tension.
J'ignore si un convertisseur buck peut fonctionner dans ces conditions. Quelqu'un a-t-il de l'expérience ?
D'après le datasheet il tient jusqu'à 3,6 V.
Avec une diode Shottky type SB140 en série, tu auras une chute de tension d'environ 0,4V, exactement ce qu'il faut !
Ca consommera moins qu'un convertisseur, et je ne parlerai même pas du prix...

Veloce :roll:

Avatar du membre
Jean-Marie
Raspinaute
Messages : 240
Enregistré le : sam. 24 janv. 2015 18:01
Localisation : Arlon, Belgique
Contact :

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par Jean-Marie » sam. 7 mars 2015 18:20

Hello les amis,

A la page 10 de ce document, on trouve un tableau de la consommation électrique du module avec des valeurs différentes de ce que je vous ai données pour le Deep Sleep. Je ne sais pas quelles sont les vraies valeurs mais de toute manière, ce que je veux montrer dans ce tableau, c'est la grande variation de consommation selon qu'on est en réception ou en émission. Cela pose un problème dans le schéma de limitation de tension par résistances proposé par Domi.
492.jpg
492.jpg (114.56 Kio) Vu 7687 fois
Si on est en réception, la consommation est de 60 mA. Pour faire chuter le courant de 0,4V avec un courant de 0,06A, il faut une résistance R1 de 0,4V / 0,06A = 6,66 Ohms. Mais si on passe à 215mA (émission), la chute de tension sera de 0,215A x 6,66 Ohms = 1,43V. Le module se retrouvera donc avec une tension de 3,7V - 1,43V = 2,27V. Il sera donc en panne.

La solution de Veloce avec une diode Schottky en série sur l'alimentation serait effectivement la bonne solution car la chute de tension à travers la diode est constante, quelle que soit l'intensité du courant.

_____________________________________________________________________________________________________________________________________

Hello smba38
Pour le deepsleep sur la carte de test nodemcu, il faut relier le GPIO16 (D0) au RST.
Que faut-il faire pour sortir du deepsleep ? simplement interrompre la liaison GPIO16-RST ?

En ce qui concerne Frankenstein, c'est probablement plus complet que les commandes AT, mais bon, il faut oser se lancer.
J'aimerais bien essayer le nodemcu, mais seulement sur mes nouveaux ESP qui ont été commandés le 28 février. Par contre, j'aurai besoin de BEAUCOUP d'explications car je ne connais rien à ces GitHub et je ne sais pas comment les utiliser. De plus, je veux aussi être capable de reflasher les commandes AT si nécessaire.

______________________________________________________________________________________________________________________________________

Hello Veloce
Comment ça des collisions ? Pas du tout !
Souviens-toi : sur le serveur tu as fait AT+CIPMUX=1
Alors le premier module qui va vouloir établir la connexion va prendre le numéro 0, le deuxième le numéro 1, etc.
J'imagine qu'on ne peut pas ouvrir des centaines de connexions simultanées, donc il faut veiller à faire AT+CIPCLOSE à la fin de chaque envoi.
Ça c'est super ! C'est donc le TCP qui gère tout seul ! Je crois avoir lu qu'on peut aller jusqu'à 4 connexions mais je ne savais pas que c'était aussi simple. Trier les patates et répondre à chacun n'est pas non plus compliqué à faire.
En tous cas ton sujet a fait péter tous les compteurs.
Oui, et à mon avis c'est pas encore fini. On a encore beaucoup à découvrir avec cette puce. Enfin moi, car c'est surtout toi et smba38 qui apportez les infos :P
Merci pour tout.

Avatar du membre
Jean-Marie
Raspinaute
Messages : 240
Enregistré le : sam. 24 janv. 2015 18:01
Localisation : Arlon, Belgique
Contact :

Re: Tous les capteurs reliés au RPI par Wifi avec module ESP

Message par Jean-Marie » sam. 7 mars 2015 21:16

Hello,

Vous pouvez vous procurer le document suivant à cette adresse
493.jpg
493.jpg (63.09 Kio) Vu 7681 fois
A ce propos, SMBA38, tu peux déjà m'éclaircir un peu les idées.
Est-ce que le Espressif IoT SDK a quelque chose à voir avec le firmware du NodeMCU ?
S'ils sont différents, peux-tu un peu expliquer leur usage et les différences ?
Et est-ce encore différent de MQTT ?

Répondre

Retourner vers « Et tout le reste »