Nombre de connexions E-Mail Statistiques du site
Bio

mardi 11 juin 2019
Nombre de visites : 1418

Arduino - L’ESP8266 (et première station météo connectée)

Au fil des pérégrinations sur le net, à la recherche d’infos et tutos sur l’arduino, je suis tomber sur cet article : https://www.fais-le-toi-meme.fr/fr/electronique/materiel/esp8266-arduino-wifi-2-euros.

L’ESP8266 est un micro contrôleur comme l’arduino qui a en plus un connecteur Wifi.
Il est tres simple à programmer. Mais il faut préférer un esp avec une prise micro usb pour pouvoir le flasher.
Moi, j’ai plusieurs ESP8266-01 : c’est le petit de la famille. Peu de ports GPIO (2, voir 4 en réutilisant les ports TX et RX

int ledPinInt = 1 ;//internal Pin TX
//pour que la led fonctionne, il ne faut pas de Serial !!!
int ledPinExt = 3 ;//external, sur le pin RX

). Mais il est tout petit.

Pour me faire la main, j’ai decidé de me faire un capteur de température/humidité/pression connecté. Pour récupérer ces valeurs, je le connecte à un bme280. En effet, on peut utiliser les GPIO 0 et 2 pour en faire un connecteur I2C.
Attention, astuce, il faut ajouter la ligne

Wire.begin(2, 0) ; // set I2C pins (SDA = GPIO2, SCL = GPIO0), default clock is 100kHz

avant d’accéder au bme280 (pour l’ESP8266-01, sinon, ça marche sur un nodemcu (ESP-12).

Tout allait le mieux du monde. J’ai donc décidé de faire une petite plaque avec les composants soudés. Évidemment, j’ai fait ça à l’arrache : l’esp était trop près du bme280, donc, obligé de le retourner et donc de repenser mon câblage.

Première connexion avec un accu 18650 : ça marche pas ... j’essaie avec deux piles AAA (3V au total) : pas mieux. Bon si c’est les volts qui manquent, je passe à 3 piles AAA (au risque de cramer mes composants qui sont sensés fonctionner en 3.3V...), ca marche toujours pas.. Pas assez d’ampères ? mes connaissances en électricité sont faibles...

Quelques recherches sur le net me donne la solution : il faut connecter le pin CH_PD sur le 3.3V en plus du VCC...

Retentative : ca marche !! Enfin, presque, le bme280 n’envoie pas de données. Je reste en inversant les pins I2C, et évidemment, ça marche... Dessoudage, ressoudage. Faire et défaire, c’est travailler...

entre temps, j’ai imprimé une coque pour protéger mon montage, trouvée sur thingiverse.

Et voila la bête :

Le montage coté composants


Le montage coté cablage


LED jaune !!!


LED verte !!!

Premier essai en fonctionnement continu (un appel par minute). La première 18650 ne tient que 3h30 heures, je suis déçu. La deuxième tient 7h00 heures... Bref, j’ai encore du boulot.
L’ESP8266 peut être basculer en "sleep mode" plus ou moins agressif. Mais ça veut dire qu’il doit envoyer les données et non juste attendre qu’on lui demande (avec le Wifi coupé, c’est pas facile de répondre à des requêtes http...). Je dois repenser mon code. De plus, je vais être obligé d’enlever les LED, ça fait joli mais ça consomme de l’électricité... Et utiliser les "sleep mode".

Le premier est jouable avec l’ESP01 : il suffit de couper le Wifi entre deux mesures. ça doit réduire la consommation de 70% a peu prés (à tester).

Le mieux est de passer en "sleep mode" mais sur l’ESP01, il faudrait souder un tout petit fils pour qu’il puisse se réveiller...

Comme j’ai des ESP12 qui me permettent de connecter ce GPIO (le 16) au RST (Reset) facilement, je vais faire le test avec...

Affaire à suivre




Répondre à cet article