Tous les capteurs reliés au RPI par Wifi avec module ESP8266
Modérateur : Francois
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Bonsoir Clemzo.
Dans la puce esp8266 il y a plusieurs types de mémoires.
-32KBytes de RAM (instructions) ,96KBytes of data RAM(données), 64KBytes boot ROM
-De la memoire flash SPI pour les programmes et/ou les données persistantes (512Kbytes sur un esp-01).
Dans la mémoire flash on retrouve plusieurs plages en fonction du firmware utilisé.
- Boot Loader.
- Programme utilisateur.
- SDK Espressif.
-configuration utilisateur.
-Configuration Wifi.
C’est la partie Utilisateur qui change en fonction du firmware Flashé.
-Sur les commandes AT il n’y a pas grand-chose car c’est une librairie du DSK qui gère les commandes AT
--(A partir de la version 1.0.0 du SDK).
-Sur NodeMCU c’est l’interpréteur Lua et un petit système de fichiers.
-Sur un programme compilé avec l’IDE Arduino / ESP8266 c’est le code compilé par l’IDE.
-Sur un programme en C c’est le code compilé par gcc.
Il est toujours possible d’écrire ses propres données.
- Dans de la mémoire flash libre de la partie utilisateur.
-Dans la partie configuration utilisateur.
-Sur les mémoires flash > 512K après les 512K (ESP-12).
En Lua c'est très facile car on dispose d'un système de fichier.
Il existe un utilitaire développé en python esptool qui permet de lire et d'écrire dans les différents types de mémoire.
On peut toujours revenir en arrière, il suffit de flasher à nouveau l’ESP8266 avec un firmware.
On peut Flasher par parties pour conserver par exemple les données de configuration de l'utilisateur ou du WIFI.
A+
SMBA38
Dans la puce esp8266 il y a plusieurs types de mémoires.
-32KBytes de RAM (instructions) ,96KBytes of data RAM(données), 64KBytes boot ROM
-De la memoire flash SPI pour les programmes et/ou les données persistantes (512Kbytes sur un esp-01).
Dans la mémoire flash on retrouve plusieurs plages en fonction du firmware utilisé.
- Boot Loader.
- Programme utilisateur.
- SDK Espressif.
-configuration utilisateur.
-Configuration Wifi.
C’est la partie Utilisateur qui change en fonction du firmware Flashé.
-Sur les commandes AT il n’y a pas grand-chose car c’est une librairie du DSK qui gère les commandes AT
--(A partir de la version 1.0.0 du SDK).
-Sur NodeMCU c’est l’interpréteur Lua et un petit système de fichiers.
-Sur un programme compilé avec l’IDE Arduino / ESP8266 c’est le code compilé par l’IDE.
-Sur un programme en C c’est le code compilé par gcc.
Il est toujours possible d’écrire ses propres données.
- Dans de la mémoire flash libre de la partie utilisateur.
-Dans la partie configuration utilisateur.
-Sur les mémoires flash > 512K après les 512K (ESP-12).
En Lua c'est très facile car on dispose d'un système de fichier.
Il existe un utilitaire développé en python esptool qui permet de lire et d'écrire dans les différents types de mémoire.
On peut toujours revenir en arrière, il suffit de flasher à nouveau l’ESP8266 avec un firmware.
On peut Flasher par parties pour conserver par exemple les données de configuration de l'utilisateur ou du WIFI.
A+
SMBA38
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Merci beaucoup pour toutes ces précisions.
Maintenant serait-il possible de programmer l'ESP pour une utilisation en autonome comme je m’apprête à faire et sans le flasher/"blanchir" pouvoir le réutiliser conjointement avec un arduino ou RPI (uniquement commandes AT) et basculer d'un mode à l'autre facilement ?
je sais je ne fais jamais dans la simplicité...
Merci encore
Maintenant serait-il possible de programmer l'ESP pour une utilisation en autonome comme je m’apprête à faire et sans le flasher/"blanchir" pouvoir le réutiliser conjointement avec un arduino ou RPI (uniquement commandes AT) et basculer d'un mode à l'autre facilement ?
je sais je ne fais jamais dans la simplicité...
Merci encore
Raspberry Pi B, B+, Orange Pi et Arduino Pro Mini
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Re bonsoir Clemzo.
Pour ne pas avoir à flasher l'ESP8266 et pour pouvoir l'utiliser en mode autonome ou en mode connecté avec un arduino ou un RPi il y a peut-être la solution nodemcu / Lua.
On peut programmer en lua un serveur Telnet qui peut en même temps:
-Gérer de capteurs / actionneurs.
-être à l'écoute d'un client Telnet.
l'arduino ou le RPi envoient des ordres par un client Telnet (Sous forme par exemples de fichiers Lua à lancer).
C'est facile en lua car il existe sur nodemcu une gestion de fichiers. (dofile("xxx.lua" pour éxecuter un programme lUA).
On peut même envoyer en Telnet un texte d'un source Lua qui serra interprété.
On peut se passer du serveur Telnet mais il faut implémenter un mini protocole pour envoyer des ordres en filaire ou en Wifi.
Bon courrage.
SMBA38.
Pour ne pas avoir à flasher l'ESP8266 et pour pouvoir l'utiliser en mode autonome ou en mode connecté avec un arduino ou un RPi il y a peut-être la solution nodemcu / Lua.
On peut programmer en lua un serveur Telnet qui peut en même temps:
-Gérer de capteurs / actionneurs.
-être à l'écoute d'un client Telnet.
l'arduino ou le RPi envoient des ordres par un client Telnet (Sous forme par exemples de fichiers Lua à lancer).
C'est facile en lua car il existe sur nodemcu une gestion de fichiers. (dofile("xxx.lua" pour éxecuter un programme lUA).
On peut même envoyer en Telnet un texte d'un source Lua qui serra interprété.
On peut se passer du serveur Telnet mais il faut implémenter un mini protocole pour envoyer des ordres en filaire ou en Wifi.
Bon courrage.
SMBA38.
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
OK merci.
Ne maîtrisant pas du tout LUA, je vais dans un premier temps rester basic et faire mes première armes avec l'IDE Arduino.
merci pour ces éclaircissements biens utiles.
Ne maîtrisant pas du tout LUA, je vais dans un premier temps rester basic et faire mes première armes avec l'IDE Arduino.
merci pour ces éclaircissements biens utiles.
Raspberry Pi B, B+, Orange Pi et Arduino Pro Mini
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Bonsoir,smba38 a écrit :Hello Clemzo
As tu avant de compiler sélectionné le type de carte esp8266 générique?
Seuls les exemples associés à la carte en cours de traitement s'affichent.
Et il y des erreurs de compilation si l'on compile avec un croquis qui ne correspond pas à la carte.
Il faut également sélectionner esptool comme programmateur avant de téléverser.
si je sélectionne pas la carte esp8266 générique, j'ai la même erreur que toi.
SMBA38
Je me suis lancer, j'ai appuyer sur le bouton téléverser et...ça marche po!
J'ai pourtant bien selectionné le bon port, la bonne carte : ESP8266 generique, le bon programmateur : esptool, checké le cablage et PB de synchro :
Code : Tout sélectionner
Le croquis utilise 185 360 octets (35%) de l'espace de stockage de programmes. Le maximum est de 524 288 octets.
warning: espcomm_sync failed
error: espcomm_open failed
Une idée ?
Raspberry Pi B, B+, Orange Pi et Arduino Pro Mini
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Hello Clemzo,
Quel ESP-xx as tu?
Quel convertisseur USB/Série (en 3,3v) utilises tu.
Il faut ponter CH_PD sur VCC pour activer le module
Il faut ponter GPIO0 sur GRND pour pouvoir flasher
et Relier le GPIO15 à la masse (si présent).
As tu essayé de flasher l'ESP8266 avec le même convertisseur USB/série que celui que tu utilises avec l'IDE Arduino/ESP8266?.
Le N° de port COM est-il le bon dans l'IDE?.
SMBA38.
Quel ESP-xx as tu?
Quel convertisseur USB/Série (en 3,3v) utilises tu.
Il faut ponter CH_PD sur VCC pour activer le module
Il faut ponter GPIO0 sur GRND pour pouvoir flasher
et Relier le GPIO15 à la masse (si présent).
As tu essayé de flasher l'ESP8266 avec le même convertisseur USB/série que celui que tu utilises avec l'IDE Arduino/ESP8266?.
Le N° de port COM est-il le bon dans l'IDE?.
SMBA38.
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Bonjour smba38,
Je te remercie pour ta patience.
Pour répondre à tes questions la version de mon ESP est le modele 01 (de base).
En effet j'ai bien verifier tous les éléments, mais pout ma part j'avais le GPIO0 sur CTS du convertisseur USB/ttl suivant ce schma : https://www.openhomeautomation.net/wp-c ... 30x464.jpg (j'ai tester les 2 méthodes sans mieux)
Mon convertisseur est basé sur une puce CH340 qui bien reconnu par Windows et qui me permet de "jouer" avec mes arduinos sans PB, il fourni du 3,3v ou 5v suivant les besoins (switch).
Je pense que dans mes manip certaines données ont pu être flashées, car maintenant je ne peux plus me servir de l'ESP que ce soit en autonome ou en complément.
=> je vais devoir reflasher un firmware.
D'ou ma question : te serait-il possible de faire une fiche de synthèse avec tous les éléments que tu as recueillis et validés concernant l'ESP 8266 (methodes, schemas, adresses, astuces, etc.) et que l'on demanderait à François d'épingler comme un tuto, parce que ce module est un excellent partenaire de jeux pour tout possesseur de raspberry pi, arduino ou même bricoleur fou.
Je m'y collerais bien mais je suis loin d'avoir autant de maitrise (mon cas de figure aujourd'hui en est la meilleur demonstration )
Je te remercie pour ta patience.
Pour répondre à tes questions la version de mon ESP est le modele 01 (de base).
En effet j'ai bien verifier tous les éléments, mais pout ma part j'avais le GPIO0 sur CTS du convertisseur USB/ttl suivant ce schma : https://www.openhomeautomation.net/wp-c ... 30x464.jpg (j'ai tester les 2 méthodes sans mieux)
Mon convertisseur est basé sur une puce CH340 qui bien reconnu par Windows et qui me permet de "jouer" avec mes arduinos sans PB, il fourni du 3,3v ou 5v suivant les besoins (switch).
Je pense que dans mes manip certaines données ont pu être flashées, car maintenant je ne peux plus me servir de l'ESP que ce soit en autonome ou en complément.
=> je vais devoir reflasher un firmware.
D'ou ma question : te serait-il possible de faire une fiche de synthèse avec tous les éléments que tu as recueillis et validés concernant l'ESP 8266 (methodes, schemas, adresses, astuces, etc.) et que l'on demanderait à François d'épingler comme un tuto, parce que ce module est un excellent partenaire de jeux pour tout possesseur de raspberry pi, arduino ou même bricoleur fou.
Je m'y collerais bien mais je suis loin d'avoir autant de maitrise (mon cas de figure aujourd'hui en est la meilleur demonstration )
Raspberry Pi B, B+, Orange Pi et Arduino Pro Mini
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Bonsoir Clemzo.
N'utilise pas le CTS (clear to Send) et le DTR (data terminal ready)
Fait directement les pontages sur l'ESP8266.
-CH_PD sur VCC pour activer le module
-GPIO0 sur GRND pour pouvoir flasher
Essaye de flasher un firmware Avant d'utiliser l'IDE Arduino / ESP8266.
Au boot de l'ESP8266 la vitesse de liaison série est de 74880 bauds.
Essaye de configurer ta liaison à cette vitesse pour voir les messages de boot.
Pour la documentation, c'est pas une mauvaise idée mais il faut du temps pour la faire.
Tous les messages que j'ai écrits sur l'ESP8266 sont sur le sujet actuel.
Il suffit de faire une recherche sur SMBA38 pour tous les consulter.
A+
SMBA38
N'utilise pas le CTS (clear to Send) et le DTR (data terminal ready)
Fait directement les pontages sur l'ESP8266.
-CH_PD sur VCC pour activer le module
-GPIO0 sur GRND pour pouvoir flasher
Essaye de flasher un firmware Avant d'utiliser l'IDE Arduino / ESP8266.
Au boot de l'ESP8266 la vitesse de liaison série est de 74880 bauds.
Essaye de configurer ta liaison à cette vitesse pour voir les messages de boot.
Pour la documentation, c'est pas une mauvaise idée mais il faut du temps pour la faire.
Tous les messages que j'ai écrits sur l'ESP8266 sont sur le sujet actuel.
Il suffit de faire une recherche sur SMBA38 pour tous les consulter.
A+
SMBA38
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Merci pour ces conseils.smba38 a écrit :Bonsoir Clemzo.
N'utilise pas le CTS (clear to Send) et le DTR (data terminal ready)
Fait directement les pontages sur l'ESP8266.
-CH_PD sur VCC pour activer le module
-GPIO0 sur GRND pour pouvoir flasher
Essaye de flasher un firmware Avant d'utiliser l'IDE Arduino / ESP8266.
Au boot de l'ESP8266 la vitesse de liaison série est de 74880 bauds.
Essaye de configurer ta liaison à cette vitesse pour voir les messages de boot.
J'en ai bien conscience et loin de moi l'idée de t'embarquer dans une galère.smba38 a écrit :Pour la documentation, c'est pas une mauvaise idée mais il faut du temps pour la faire.
En effet je suis tous ces échanges depuis le début, il n'y a pas de soucis.smba38 a écrit :Tous les messages que j'ai écrits sur l'ESP8266 sont sur le sujet actuel.
Il suffit de faire une recherche sur SMBA38 pour tous les consulter.
A+
SMBA38
Merci encore.
Raspberry Pi B, B+, Orange Pi et Arduino Pro Mini
- 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
Hello les amis
Excusez-moi d'intercaler un message qui n'a rien à voir avec cette conversation intéressante concernant l'ESP avec l'IDE Arduino.
Je poursuis mes investigations au sujet de capteurs dont les données sont transmises par wifi et fonctionnant de manière autonome sur batterie Li-ion de 3.7V. L'idée a été lancée de rendre ces capteurs encore plus autonomes en rechargeant la batterie avec des cellules solaires. Je suis tombé sur un composant qui semble bien être exactement ce qui convient. Il s'agit du LTC3105, un convertisseur step-up DC-DC parfaitement adapté à la recharge et au maintien d'une batterie de 3.7V à partir d'une cellule solaire. La charge commence à partir d'une tension d'entrée de 0,25V. J'en ai commandé quelques exemplaires pour des tests. Cela devrait permettre de maintenir la batterie chargée sans devoir s'en occuper, sauf bien sûr si le capteur doit surveiller la cave !
Afin de fixer la fréquence d'envoi des mesures du capteurs, je pense conserver cette donnée dans la mémoire EEPROM de l'Atmega. Au départ, je me disais qu'il faudrait provisoirement connecter un petit module muni d'un écran LCD pour pouvoir modifier cette fréquence. Cependant, en discutant avec un ami, nous avons évoqué une autre manière d'intervenir. En effet, une nouvelle fréquence pourrait être attribuée au capteur dans l'unité centrale et lors de l'envoi d'une donnée du capteur, l'unité centrale pourrait communiquer au capteur la nouvelle fréquence qui est alors engrangée dans l'EEPROM de l'atmega. Ainsi, pas besoin d'intervenir localement sur le capteur. Tout se fait par wifi. Bon, y a plus qu'à réaliser tout ça !
Excusez-moi d'intercaler un message qui n'a rien à voir avec cette conversation intéressante concernant l'ESP avec l'IDE Arduino.
Je poursuis mes investigations au sujet de capteurs dont les données sont transmises par wifi et fonctionnant de manière autonome sur batterie Li-ion de 3.7V. L'idée a été lancée de rendre ces capteurs encore plus autonomes en rechargeant la batterie avec des cellules solaires. Je suis tombé sur un composant qui semble bien être exactement ce qui convient. Il s'agit du LTC3105, un convertisseur step-up DC-DC parfaitement adapté à la recharge et au maintien d'une batterie de 3.7V à partir d'une cellule solaire. La charge commence à partir d'une tension d'entrée de 0,25V. J'en ai commandé quelques exemplaires pour des tests. Cela devrait permettre de maintenir la batterie chargée sans devoir s'en occuper, sauf bien sûr si le capteur doit surveiller la cave !
Afin de fixer la fréquence d'envoi des mesures du capteurs, je pense conserver cette donnée dans la mémoire EEPROM de l'Atmega. Au départ, je me disais qu'il faudrait provisoirement connecter un petit module muni d'un écran LCD pour pouvoir modifier cette fréquence. Cependant, en discutant avec un ami, nous avons évoqué une autre manière d'intervenir. En effet, une nouvelle fréquence pourrait être attribuée au capteur dans l'unité centrale et lors de l'envoi d'une donnée du capteur, l'unité centrale pourrait communiquer au capteur la nouvelle fréquence qui est alors engrangée dans l'EEPROM de l'atmega. Ainsi, pas besoin d'intervenir localement sur le capteur. Tout se fait par wifi. Bon, y a plus qu'à réaliser tout ça !