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

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 » lun. 13 avr. 2015 21:43

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

Avatar du membre
Clemzo
Messages : 55
Enregistré le : ven. 17 oct. 2014 16:36

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

Message par Clemzo » lun. 13 avr. 2015 21:53

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
Raspberry Pi B, B+, Orange Pi et Arduino Pro Mini

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 » lun. 13 avr. 2015 22:17

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.

Avatar du membre
Clemzo
Messages : 55
Enregistré le : ven. 17 oct. 2014 16:36

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

Message par Clemzo » mar. 14 avr. 2015 00:12

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.
Raspberry Pi B, B+, Orange Pi et Arduino Pro Mini

Avatar du membre
Clemzo
Messages : 55
Enregistré le : ven. 17 oct. 2014 16:36

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

Message par Clemzo » mar. 14 avr. 2015 00:28

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
Bonsoir,

Je me suis lancer, j'ai appuyer sur le bouton téléverser et...ça marche po! :roll:
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
Visiblement pas de PB de syntaxe ou de cohérence.

Une idée ?
Raspberry Pi B, B+, Orange Pi et Arduino Pro Mini

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 » mar. 14 avr. 2015 09:38

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.

Avatar du membre
Clemzo
Messages : 55
Enregistré le : ven. 17 oct. 2014 16:36

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

Message par Clemzo » mar. 14 avr. 2015 16:41

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 :( )
Raspberry Pi B, B+, Orange Pi et Arduino Pro Mini

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 » mar. 14 avr. 2015 18:23

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

Avatar du membre
Clemzo
Messages : 55
Enregistré le : ven. 17 oct. 2014 16:36

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

Message par Clemzo » mar. 14 avr. 2015 19:10

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.
Merci pour ces conseils.
smba38 a écrit :Pour la documentation, c'est pas une mauvaise idée mais il faut du temps pour la faire.
J'en ai bien conscience et loin de moi l'idée de t'embarquer dans une galère.
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
En effet je suis tous ces échanges depuis le début, il n'y a pas de soucis.
Merci encore.
Raspberry Pi B, B+, Orange Pi et Arduino Pro Mini

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 » mar. 14 avr. 2015 21:56

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 ! :D

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 !

Répondre

Retourner vers « Et tout le reste »