ESP8266

DEEP SLEEP, L’ESP8266 basse consommation sommeil profond

Donc, vous avez construit ce projet génial en utilisant du matériel a base ESP8266 et de batterie LiPo, et de SparkFun ESP8266 Thing ou Adafruit plumes Hourra .  Vous venez de connecter votre NodeMCU à une batterie USB . Mais après une nuit d’essai grandeur nature, vous vous rendez compte que la batterie ne dure pas très longtemps. 

Lisez ces quelques lignes et passez en mode SLEEP…

Il existe quatre types de modes de sommeil pour l’ESP8266: absence de sommeil, sommeil moderne, sommeil léger et sommeil profond.

Ils ont tous des fonctions différentes:

En écrivant ses quelques lignes, j’ai pensé comparer avec l’ESP32, voici ce que dit le site d’espresssif.

Remarque:

• * Parmi les SoC de la série ESP32, les ESP32-D0WDQ6 et ESP32-D0WD ont une fréquence CPU maximale de 240 MHz, les ESP32-D2WD et les ESP32-S0WD ont une fréquence CPU maximale de 160 MHz.

• Lorsque le Wi-Fi est activé, la puce bascule entre les modes Actif et Modem-veille. Par conséquent, la consommation d’énergie change en conséquence.

• En mode veille modem, la fréquence de la CPU change automatiquement. La fréquence dépend de la charge du processeur et des périphériques utilisés.

• En veille prolongée, lorsque le coprocesseur ULP est activé, des périphériques tels que GPIO et I²C peuvent fonctionner.

• Lorsque le système fonctionne dans le modèle surveillé par le capteur ULP, le coprocesseur ULP fonctionne régulièrement avec le capteur ULP et le CAN avec un cycle de travail de 1%, de sorte que la consommation d’énergie est de 100 µA.

Revenons a nos moutons, voici la description des différents modes de sommeil.

NO SLEEP

Le paramètre No-Sleep gardera tout en permanence. De toute évidence, c’est le plus inefficace et drainera le plus courant. 

MODEM-SLEEP

Modem-sleep est le mode par défaut pour l’ESP8266. Cependant, il n’est activé que lorsque vous êtes connecté à un point d’accès.

En mode veille modem, l’ESP8266 désactive autant que possible le modem (WiFi). Il éteint le modem entre les intervalles DTIMBeacon. Cet intervalle est défini par votre routeur.

LIGHT SLEEP

Light-sleep remplit la même fonction que Modem-sleep, mais éteint également l’ horloge système et suspend le processeur. Le processeur n’est pas éteint; c’est juste au ralenti.

DEEP SLEEP

Tout est éteint sauf l’horloge temps réel (RTC), qui permet à l’ordinateur de conserver l’heure. Puisque tout est éteint, c’est l’option la plus économe en énergie. 

Si vous avez besoin de plus de détails, assurez-vous de consulter la documentation .

DEEP-SLEEP

Modem-sleep et Light-sleep sont utiles si votre ESP8266 doit encore fonctionner et que vous souhaitez disposer d’options d’alimentation supplémentaires. Ils sont également facilement configurables dans les paramètres WiFi de l’ ESP8266 . Mais, si vous avez besoin d’un certain contrôle de la puissance, le sommeil profond est la voie à suivre.

Avec Deep-sleep, notre structure d’application peut suivre les étapes suivantes:

  1. Effectuer une action (lire à partir d’un capteur)
  2. Dormir pendant quelques n microsecondes
  3. Répéter

Il est important de noter que le temps de sommeil est spécifié en microsecondes (µs).

Fait amusant, vous ne pouvez pas dormir pour toujours. Selon le SDK ESP8266, vous ne pouvez dormir que 4 294 967 295 µs, ce qui correspond à environ 71 minutes. Je crois d’ailleurs que l’ESP32 règle ces problèmes.

Connexion

Concernant le câblage du mode SLEEP rien de bien sorcier il faut raccorder la broche GPIO16 (D0) à la broche RST.

Passons maintenant à un extrait decode. Dans cet exemple, nous utiliserons l’interface de l’IDE Arduino.

/**
* An example showing how to put ESP8266 into Deep-sleep mode
*/
void setup() {

Serial.begin(115200);

Serial.setTimeout(2000);

// Wait for serial to initialize.
while(!Serial) { }
Serial.println(« I’m awake. »);
Serial.println(« Going into deep sleep for 20 seconds »);
ESP.deepSleep(20e6); // 20e6 is 20 microseconds
}
void loop() {
}

Dans cet exemple, nous nous connectons en série, passons en veille pendant 20 secondes et répétons. Vous pouvez utiliser cet exemple comme passe-partout pour d’autres programmes.

ESPEASY et DEEP SLEEP

L’ESP8266 peut être réglé sur sommeil profond avec ESPEASY. Vous devez toujours connecter GPIO-16 (D0) avec la broche RST pour que cela fonctionne.

Que fait le mode veille au réveil:

  • Effectuez une tentative de connexion au SSID et au SSID2 s’il est défini.
  • S’il ne parvient pas à se connecter et que vous avez activé l’option Mettre en veille en cas d’échec de la connexion , il se remettra immédiatement en veille.
  • Il enverra toutes les lectures du capteur en même temps (les délais sont ignorés, sauf pour Message Delay sur la page des paramètres avancés)
  • Il s’éteindra et dormira pendant le nombre de secondes défini dans le paramètre Délai de veille . Deepsleep utilise un compteur interne 32 bits en ussec. Cela signifie que cela fonctionne jusqu’à 4294 secondes, des délais plus longs ne fonctionneront pas. Par exemple, le temps de sommeil le plus long est d’environ 1 heure et 11 minutes .

Cela économise beaucoup d’énergie et vous permet d’utiliser l’ESP8266 avec des piles.

Notez qu’il est recommandé de définir l’intervalle des messages sur 100 (ou moins) dans la page des paramètres avancés, car vous souhaitez que l’unité diffuse des messages le plus rapidement possible afin d’économiser la précieuse batterie.

Utilisation du mode Veille prolongée pour les appareils alimentés par batterie, voir ici.

pour plus de détails c’est par là:
https://www.letscontrolit.com/wiki/index.php/SleepMode

Bref, vous l’aurez compris, si vous fabriquez un truc un peu nomade ou que vous souhaitez gagner en autonomie, pensez deep sleep.

Publié par admin dans ESP8266, 0 commentaire

ESP EASY & JEEDOM

Piloter un ESP8266 flashé avec ESPEASY grâce à JEEDOM.

Un ESP8266 – NodeMCU – peut fonctionner seul, mais pour mon projet un serveur JEEDOM installé sur un Raspberry PI3 pilotera les ESP . Le choix de JEEDOM est arbitraire, je testerai dans un second temps d’autres systèmes, je pense notamment à Domoticz ou encore à home-assistant.
Lorsque mon installation sera terminée, je me ferai un avis sur les systèmes d’exploitation domotique.
Je profite de ce post pour vous parler également de NEXTDOM qui est un fork open source de JEEDOM , qui vous permettra d’obtenir pas mal de plugins payant, gratuitement !! mais je ferais un article spéciale sur l’installation d’un serveur de domotique.

Revenons à nos moutons, voici la marche a suivre pour faire fonctionner nos ESP8266 avec JEEDOM:

Installer le plugin ESPeasy depuis le market (gratuit)

Une fois les dépendances installé ainsi que le demon OK, il va falloir rendre visible JEEDOM pour ESPEASY, il faut pour cela passer en mode inclusion :

Une fois votre serveur domotique en mode inclusion il va falloir paramétrer ESPeasy avec les renseignements fourni par JEEDOM afin qu’ils puissent communiquer ensemble:

Rendez vous donc dans ESP easy Mega de votre ESP, onglet controllers afin de définir le protocole de communication (généric HTTP)

On lui fournit ensuite l’adresse et le port de communication. Une erreur fréquente est d’oublier de cocher la case ENABLE.

  • Protocol : choisissez Generic HTTP
  • Locate Controller : choisissez Use IP address
  • Controller IP : indiquez l’adresse IP de la box Jeedom
  • Controller Port : indiquez 8121
  • ENABLED
  • Enregistrez avec submit

Enfin dernière étape, on sort du mode inclusion de JEEDOM:

Pour aller un peu plus loin, voici un peu de lecture:

Je reviendrai plus en détails sur l’intégration et les divers paramétrages, mais en gros voici à quoi ressemble l’intégration d’un ESP dans JEEDOM:

Publié par admin dans ESP8266, JEEDOM, WEMOS D1, WIFI, 0 commentaire

ESP8266 – Présentation –

L’ESP8266 est un circuit intégré à microcontrôleur avec connexion Wi-Fi développé par le fabricant chinois Espressif. Il va nous servir de passerelle pour nos équipements à piloter.

L’ESP8266 possède autant de versions que de clones, personnellement j’utilise des WEMOS D1 mini, qui me paraissent d’un bon rapport qualité prix.

L’ESP8266 d’Espressif Systems n’est autre qu’un microcontrôleur à cœur Tensilica Xtensa LX106 (processeur RISC 32 bits) complété de fonctionnalités Wifi associées à une mémoire flash contenant le firmware.

En gros, c’est une carte Arduino connecté en WIFI, mais je la trouve plus facile de prise en main pour un néophyte. Elle possède les mêmes type de sortie qu’un raspberry PI, mais en cas de pépin, ça vous coûtera beaucoup moins cher.

Quelques chiffres:

  • 32-bit RISC CPU: Tensilica Xtensa LX106, 80 MHz ;
  • 64 Kio de RAM instruction, 96 Kio de RAM data ;
  • QSPI flash externe – 512 Kio à 4 Mio (supporte jusqu’à 16 Mio) ;
  • IEEE 802.11 b/g/n Wi-Fi ;
  • 16 broches GPIO ;
  • Interfaces SPII²C ;
  • Interface I²S avec DMA (partageant les broches avec les GPIO) ;
  • UART sur des broches dédiées, plus un UART dédié aux transmission pouvant être géré par GPIO2 ;
  • 1 10-bit ADC

Les modules à base d’ESP8266  sont conçu pour une utilisation via l’interface série et fournissent une connectivité Wifi en prenant en charge les protocoles réseaux TCP/IP, mais aussi des fonctionnalités de plus haut niveau comme HTTP.

On peut donc, depuis une carte Arduino, simplement envoyer des requêtes HTTP et obtenir les réponses. Autrement dit, on spécifie des URL et on reçoit le contenu des pages.

Mais l’ESP8266 est un microcontrôleur, exactement comme l’Atmel AVR ATmega328p d’une carte Arduino Uno ou le AT91SAM3X8E (ARM Cortex-M3) d’une Arduino Due. C’est un composant programmable pouvant recevoir un code à exécuter, dès lors qu’on dispose du compilateur et des outils de programmation adaptés.

L’ESP8266 peut se programmer de plusieurs façons :

  • Avec des scripts Lua, interprétés ou compilés, avec le firmware NodeMCU2 ;
  • En C++, avec l’IDE Arduino3 ;
  • En JavaScript, avec le firmware Espruino4 ;
  • En MicroPython, avec le firmware MicroPython5 ou CircuitPython6 ;
  • En C, avec le SDK d’Espressif ;
  • En C, avec le SDK esp-open-sdk7 basé sur la chaîne de compilation GCC ;
  • En Go, avec le framework Gobot8.

Mais quelques développeurs ont eu une bien meilleure idée. Si le cœur de l’ESP8266 n’est qu’un microcontrôleur (à 80 Mhz tout de même) qui ne fait qu’exécuter un programme, pourquoi ne pas lui faire exécuter un code compilé !  Et c’est ainsi qu’a vu le jour ESP EASY.

Vous l’aurez compris, ce composant sait faire à peu prêt tout, sauf le café. Le projet ESP-EASY promet une utilisation simple de ce composant, sans mettre les doigts dans du code, et c’est ce que nous allons tester ici, très vite je l’espère….

Publié par admin dans Non classé, 0 commentaire

Liste des capteurs pour ESP EASY

Pour votre ESP8266, voici la liste des capteurs compatibles, ESP EASY sans programmation. grace a quelques lignes de codes, il vous est possible de configurer a peu prêt n’importe quel capteur.

https://www.letscontrolit.com/wiki/index.php/Devices

Plugin namePlugin statusPlugin number
Internal GPIO handlingNORMALP000 (core)
Switch Input – SwitchNORMALP001
Analog Input – InternalNORMALP002
Generic – Pulse counterNORMALP003
Environment – DS18b20NORMALP004
Environment – DHT11/12/22 SONOFF2301/7021NORMALP005
Environment – BMP085/180NORMALP006
Analog input – PCF8591NORMALP007
RFID – WiegandNORMALP008
Switch Input – MCP23017NORMALP009
Light/Lux – BH1750NORMALP010
Extra IO – ProMini ExtenderNORMALP011
Display – LCD2004NORMALP012
Position – HC-SR04/RCW-0001NORMALP013
Environment – SI7021/HTU21DNORMALP014
Light/Lux – TSL2561NORMALP015
Communication – TSOP4838NORMALP016
RFID – PN532NORMALP017
Dust – Sharp GP2Y10NORMALP018
Switch input – PCF8574NORMALP019
Communication – Serial ServerNORMALP020
Regulator – Level ControlNORMALP021
Extra IO – PCA9685NORMALP022
Display – OLED SSD1306NORMALP023
Environment – MLX90614NORMALP024
Analog input – ADS1115NORMALP025
Generic – System InfoNORMALP026
Energy (DC) – INA219NORMALP027
Environment – BMx280NORMALP028
Output – Domoticz MQTT HelperNORMALP029
Environment – BMP280NORMALP030
Environment – SHT1XNORMALP031
Environment – MS5611 (GY-63)NORMALP032
Generic – Dummy DeviceNORMALP033
Environment – DHT12 (I2C)NORMALP034
Communication – IR TransmitNORMALP035
Display – OLED SSD1306/SH1106 FramedNORMALP036
Generic – MQTT ImportNORMALP037
Output – NeoPixel (Basic)NORMALP038
Environment – ThermocoupleNORMALP039
RFID – ID12LA/RDM6300NORMALP040
Output – NeoPixel (Word Clock)NORMALP041
Output – NeoPixel (Candle)NORMALP042
Output – ClockNORMALP043
Communication – P1 Wifi GatewayNORMALP044
Gyro – MPU 6050TESTINGP045
Hardware – Ventus W266TESTINGP046
Environment – Soil moisture sensorTESTINGP047
Motor – Adafruit Motorshield v2TESTINGP048
Gases – CO2 MH-Z19NORMALP049
Color – TCS34725DEVELOPMENTP050
Environment – AM2320NORMALP051
Gases – CO2 SenseairNORMALP052
Dust – PMSx003TESTINGP053
Communication – DMX512 TXTESTINGP054
Notify – ChimingTESTINGP055
Dust – SDS011/018/198DEVELOPMENTP056
Display – HT16K33TESTINGP057
Keypad – HT16K33TESTINGP058
Switch input – Rotary EncoderNORMALP059
Analog input – MCP3221TESTINGP060
Keypad – PCF8574/MCP23017TESTINGP061
Keypad – MPR121 TouchTESTINGP062
Keypad – TTP229 TouchNORMALP063
Gestrure – APDS9960DEVELOPMENTP064
Notify – DFPlayer-Mini MP3TESTINGP065
Color – VEML6040TESTINGP066
Weight – HX711 Load CellTESTINGP067
Environment – SHT30/31/35TESTINGP068
Environment – LM75ATESTINGP069
Output – NeoPixel Ring ClockTESTINGP070
Communication – Kamstrup Multical 401TESTINGP071
Environment – HDC1080 (I2C)TESTINGP072
Display – 7-segment displayNORMALP073
Light/Lux – TSL2591TESTINGP074
Display – NextionTESTINGP075
Energy (AC) – HLW8012/BL0937TESTINGP076
Energy (AC) – CSE7766TESTINGP077
Energy (AC) – Eastron SDM120C/220T/230/630TESTINGP078
Motor – Wemos MotorshieldTESTINGP079
Switch input – iButtonTESTINGP080
Generic – CRONTESTINGP081
Position – GPSTESTINGP082

https://espeasy.readthedocs.io/en/latest/Plugin/_Plugin.html#list-of-official-plugins

Publié par Francois dans ESP8266, 0 commentaire

L’eclairage du lundi, du solaire pour notre ESP8266!

Salut,

je viens de finir de recevoir le matos pour charger les batteries (18650) pour mes ESP8266 a base de ESP EASY. Pour ce faire, on va pas réinventer la roue pour la partie chargeur, on trouve pas mal de chose entre 5 et 10 euros sur amazon. Par exemple, niveau cellule, j’ai fait le choix de cellule mono-cristallin à souder, ce qui me permettra de pouvoir choisir le nombre de cellules, par application et un prix de revient un peu moins élevé.

Avant de souder je vais finir d’imprimer des supports pour les cellules, je ferais peut-être éventuellement une video sur le brasage de l’aluminium .

VIKOCELL Kit de bricolage pour panneaux solaires 10pcs 6×6
Contrôleur de charge polaire

Je compte utiliser les panneau pour alimenter la station météo et la camera IP du jardin, pas de grosse dépense du coup, mais qui j’espère me suffira pour être autonome tout l’hiver.

Bonne semaine

F

Publié par admin dans blog, 0 commentaire

ESP EASY – introduction

WEMOS D1 – ESP8266 –

Allez, un moment donné va falloir mettre les mains dans le camboui ! Bon on connait tous la multitude de produits différents pour domotiser notre habitat. Mais voilà c’est cher, propriétaire et bien souvent envoyé au cloud ! Pour remplacer tout ça on va utiliser une puce :

NodeMCU, ESP8266, Wemos appelez là comme vous voulez tout ça c’est pareil ! Cette puce fonctionne avec des programmes / projets opensource. J’ai décidé de la flasher avec ESP EASY


Le principe, est de changer le programme interne aux microcontrôleurs à base d’ESP8266.

ESP Easy, est un firmware pour créer des objets connectés, et ce, sans aucune ligne de code!

Ce firmware ou sketch embarquant un mini serveur web à la manière d’une camera IP, sur lequel on va configurer nos capteurs, et pouvoir réaliser des actions (fonction script).


https://www.amazon.fr/gp/product/B076FBY2V3/ref=oh_aui_detailpage_o04_s00?ie=UTF8&psc=1

Il faudra donc télécharger le programme pour flasher ce nouveau sketch, et le sketch (firmware) proprement dit.

Lien vers ESP Easy Flasher et les sketch ESP8266 :

https://github.com/letscontrolit/ESPEasy/releases

https://www.letscontrolit.com/wiki/index.php/ESPEasy

Après avoir télécharger ESP EASY FLASHER il ne vous reste plus qu’a envoyé le nouveau programme, rien de compliquer il suffit de selectionner:

Une fois le logiciel téléverser, on va se connecter avec son téléphone sur le point d’accès wifi créer et on va se rendre à l’adresse :
192.168.4.1 avec son navigateur préféré ^^

Renseignez les paramètres d’accès WIFI afin que l’ESP8266 puisse se connecter a votre réseau.

Ensuite, rendez vous a l’adresse ip attribuée par votre réseau

L’ensemble des explications sont accessibles ici : opendomotech.com

Je ne rentre pas plus en détails dans l’utilisation du WEMOS nouvellement flasher dans cet article, je vous prépare ça pour plus tard.

Soyez fort

bon week

F

Publié par Francois dans ESP8266, 0 commentaire

Jour 2 – Avancement du projet – ESP8266

Bon les premières pièces sortent doucement de l’imprimante, j’essaie d’avancer doucement. Une fois terminé, je publierais mes pièces sur Thingverse, éventuellement ça peu servir…. En attendant j’ai ouvert un compte vite fait mais je modélise à l’aide thinkercad du coup c’est pas l’idéal pour partager, dès fois qu’un âme charitable passe par là… (fanf63(@)protonmail.fr).

 

Parallèlement a tout ce qui est design, je mène mes premiers essais afin d’avoir quelques choses d’autonome, partant du principe qu’une camera IP revient à 4 centimes /jour d’électricité compté 10 pour votre serveur à base de raspberry etou plus pour vos serveurs a base d’ancien PC.

Du coup régime sec, pour les capteurs IOT, surtout que la recherche des batteries 18650 semble bien aléatoire depuis l’arrivé d’acteur majeur sur le marché.

Shiel: alimentation via 18650
Le serveur JEEDOM et son 1er acolyte

Côté serveur, a tord ou a raison mon choix c’est portée sur un raspberry 3A+ pensant que celui consommé moins que le B, ce qui est faux à travail identique… Du coup il est prêt pour en recevoir plein sa gueule, j’ai abandonné le stockag SD pour du DD SSD ! Le tout devant rentrer en fonction ce week end, après que l’ensemble des essais ont était mené a bien.

RPI3 SSD
RPI 3 A+ SSD 64Go
LCD / ESP82266 / ESPEASY / RELAY / BM280
Publié par admin dans blog, 0 commentaire