Hello, oui oui, c'est ce que j'ai ecrit juste au dessus...smba38 a écrit :Hello Fidoboulettes
Juste avant de lancer le flash du firmware du ponte temporairement le Gpio RST à la masse pour faire un reset.
SMBA38
Tous les capteurs reliés au RPI par Wifi avec module ESP8266
Modérateur : Francois
-
- Messages : 33
- Enregistré le : mar. 26 mai 2015 07:18
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
C'est la saison des ESP qui ne veulent plus se faire flasher.....
Pour ma part je suis un peu en pause sur mon projet (travaux à la maison en priorité...) , mais je galère à utiliser les rx/tx d'un esp01 en tant que gpio via l'IDE Arduino.
J'ai pas mon Pc sous la main pour vous demander de l'aide sur le message d'erreur, vous aller devoir patienter jusqu'à demain
Bon courage pour vos flashage, je n'ai malheureusement pas d'idées pour vous aider
Pour ma part je suis un peu en pause sur mon projet (travaux à la maison en priorité...) , mais je galère à utiliser les rx/tx d'un esp01 en tant que gpio via l'IDE Arduino.
J'ai pas mon Pc sous la main pour vous demander de l'aide sur le message d'erreur, vous aller devoir patienter jusqu'à demain
Bon courage pour vos flashage, je n'ai malheureusement pas d'idées pour vous aider
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Hello à tous les flasheurs.
C'est bizarre les difficultés que vous avez pour flasher.
Pour ma part je n'éprouve pas trop de problème car j'utilise le kit NodeMcu (<8€ sur Ali express)
http://www.aliexpress.com/snapshot/6641 ... 3919887214
Ce kit est à base de ESP-12 avec 4MO de mémoire flash.
Comme le convertisseur USB /série est intégré aucun problème pour Flasher.
Mais attention, il existe plusieurs versions de Kit j'ai vu une V2 (A base de ESP-12E?).
http://fr.aliexpress.com/item/NodeMcu-L ... 97795.html
Il faut également prendre la dernière version du NodeMcu firmware programmer (esp8266flasher)
https://github.com/nodemcu/nodemcu-flasher
Cette version ne nécessite pas (sur le kit NodeMcu) de ponter le GPIO0 à la masse.
On trouve pas mal d'infos sur bbs.nodemcu.com
Par exemple celle ci
http://bbs.nodemcu.com/t/dtr-and-rts-in ... lasher/220
J'ai le pressentiment qu'une partie des problème provient de l'Alimentation.
SMBA38.
C'est bizarre les difficultés que vous avez pour flasher.
Pour ma part je n'éprouve pas trop de problème car j'utilise le kit NodeMcu (<8€ sur Ali express)
http://www.aliexpress.com/snapshot/6641 ... 3919887214
Ce kit est à base de ESP-12 avec 4MO de mémoire flash.
Comme le convertisseur USB /série est intégré aucun problème pour Flasher.
Mais attention, il existe plusieurs versions de Kit j'ai vu une V2 (A base de ESP-12E?).
http://fr.aliexpress.com/item/NodeMcu-L ... 97795.html
Il faut également prendre la dernière version du NodeMcu firmware programmer (esp8266flasher)
https://github.com/nodemcu/nodemcu-flasher
Cette version ne nécessite pas (sur le kit NodeMcu) de ponter le GPIO0 à la masse.
On trouve pas mal d'infos sur bbs.nodemcu.com
Par exemple celle ci
http://bbs.nodemcu.com/t/dtr-and-rts-in ... lasher/220
J'ai le pressentiment qu'une partie des problème provient de l'Alimentation.
SMBA38.
Modifié en dernier par smba38 le lun. 8 juin 2015 23:31, modifié 2 fois.
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Hello Fidoboulettes,
Tu n'as peut-être pas vu mon message du Dim 7 Juin 2015 22:13.
Essaye de ne faire qu'un seul appel dans ton programme lua -> bmp085.init(sda,scl).
Si l'initialisation du module fonctionne, tu devrais un des messages " Init done" ou " iic config failled"
Dans ton code la première ligne en commentaire --BMP085.lua indique t'elle le nom de ton fichier lua ?.
Si c'est oui, c'est peut-être une erreur car le module bmp085.lua porte déjà ce nom.
Lua est sensible à la casse on devrait donc pouvoir avoir BMP085.lua et bmp085.lua , mais essaye de ne pas mettre le même nom au programme et au module
SMBA38.
Tu n'as peut-être pas vu mon message du Dim 7 Juin 2015 22:13.
Essaye de ne faire qu'un seul appel dans ton programme lua -> bmp085.init(sda,scl).
Si l'initialisation du module fonctionne, tu devrais un des messages " Init done" ou " iic config failled"
Dans ton code la première ligne en commentaire --BMP085.lua indique t'elle le nom de ton fichier lua ?.
Si c'est oui, c'est peut-être une erreur car le module bmp085.lua porte déjà ce nom.
Lua est sensible à la casse on devrait donc pouvoir avoir BMP085.lua et bmp085.lua , mais essaye de ne pas mettre le même nom au programme et au module
SMBA38.
Modifié en dernier par smba38 le mar. 9 juin 2015 19:39, modifié 1 fois.
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Bonjour !
Edit : j'ai trouvé la solution, voir en fin de post
Me concernant, je galère donc avec les PIN 1 et 3 (TX et RX) de l'ESP-01 sur l'Arduino IDE
Ils peuvent être définit comme GPIO de la manière suivante :
Et on est censé pouvoir les mettre à LOW/HIGH de la manière suivante :
Mon problème est au niveau de la compilation, j'obtiens ceci :
J'ai bien inclus "gpio.h", qui d'ailleurs contient cette fonction :
Ici on voit bien que mon programme fait passer des "unsigned int" alors que la fonction demande des uint32. J'ai donc tenté de déclarer des variables, mais ça ne change rien...
Voilà, si quelqu'un a une idée. J'ai beau jouer avec les type de variables, je coince...
Bonne journée
-------
Edit :
bon finalement j'ai trouvé une solution à mon problème de compilation
Après avoir lu ce sujet, et nottament le dernier post : http://www.esp8266.com/viewtopic.php?f=9&t=478&start=20 , je me suis renseigné sur le mot-clé "extern" en C
Et je suis en autre tombé sur ce site : http://en.cppreference.com/w/cpp/langua ... ge_linkage
En gros, j'ai un programme C++, mais la fonction GPIO_OUTPUT_SET est déclaré en C.
Il faut donc faire le lien entre les deux de la manière suivante :
Et là, ça compile.
A tester maintenant sur mon module
Edit : j'ai trouvé la solution, voir en fin de post
Me concernant, je galère donc avec les PIN 1 et 3 (TX et RX) de l'ESP-01 sur l'Arduino IDE
Ils peuvent être définit comme GPIO de la manière suivante :
Code : Tout sélectionner
// Set rx and tx as gpio
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1);
Code : Tout sélectionner
GPIO_OUTPUT_SET(1, 1); //GPIO 1 is High
GPIO_OUTPUT_SET(1, 0); //GPIO 1 is Low
Mon problème est au niveau de la compilation, j'obtiens ceci :
Code : Tout sélectionner
HelloServer.cpp:(.text+0x388): undefined reference to `gpio_output_set(unsigned int, unsigned int, unsigned int, unsigned int)'
Code : Tout sélectionner
#define GPIO_OUTPUT_SET(gpio_no, bit_value) gpio_output_set(bit_value<<gpio_no, ((~bit_value)&0x01)<<gpio_no, 1<<gpio_no,0)
....
void gpio_output_set(uint32 set_mask,
uint32 clear_mask,
uint32 enable_mask,
uint32 disable_mask);
Code : Tout sélectionner
...
#include "gpio.h"
uint32 GPIO_LS_OUT = 1; //GPI01 / TX
uint32 GPIO_LS_IN = 3; //GPI03 / RX
uint32 LS_LOW = 0;
uint32 LS_HIGH = 1;
GPIO_OUTPUT_SET(GPIO_LS_OUT, LS_HIGH); // GPIO 1 is High
Bonne journée
-------
Edit :
bon finalement j'ai trouvé une solution à mon problème de compilation
Après avoir lu ce sujet, et nottament le dernier post : http://www.esp8266.com/viewtopic.php?f=9&t=478&start=20 , je me suis renseigné sur le mot-clé "extern" en C
Et je suis en autre tombé sur ce site : http://en.cppreference.com/w/cpp/langua ... ge_linkage
En gros, j'ai un programme C++, mais la fonction GPIO_OUTPUT_SET est déclaré en C.
Il faut donc faire le lien entre les deux de la manière suivante :
Code : Tout sélectionner
extern "C" {
#include "gpio.h"
}
A tester maintenant sur mon module
- 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
YOUPPPIE !!!
L'intuition de l'anomalie d'alimentation était la bonne, en ce sens que ma breadboard, pour une raison que je vais encore examiner, faisait chuter la tension à 2,8V à l'entrée du module dès le branchement de celui-ci.
J'ai reporté le même schéma sur une autre breadboard, alimentée par l'alim spécifique des breadboards.
Voici l'image :
Les connexions sont les suivantes:
Voici l'image Terminal du boot en 74880 baud :
Il se termine par du charabia car il passe en 115200 Baud et correpond à "ready".
Voici l'image l'image du boot en 115200 Baud. Le charabia de départ correspond à ce qui a été vu en 74880 Baud :
J'y ai ajouté la ncommande AT+GMR qui donne les versions AT et SDK ainsi que la date de compilation.
Il me reste à examiner les autres modules et la breadboard défectueuse avant d'intégrer l'ESP dans la chaîne Horloge+MOSFET+µC.
Je suis curieux d'examiner la breadboard défectueuse car en plus c'est une nouvelle que je n'avais encore jamais utilisée.
L'intuition de l'anomalie d'alimentation était la bonne, en ce sens que ma breadboard, pour une raison que je vais encore examiner, faisait chuter la tension à 2,8V à l'entrée du module dès le branchement de celui-ci.
J'ai reporté le même schéma sur une autre breadboard, alimentée par l'alim spécifique des breadboards.
Voici l'image :
Les connexions sont les suivantes:
- VCC à 3,3V de l'alim
- CH_PD à 3,3V par R de 4,7k
- GND à GND de l'alim
- GPIO15 à GND
- GPIO2 à 3,3V par R de 4,7k
- GPIO0 à 3,3V par R de 4,7k
- Rx à TX du convertisseur
- Tx à Rx du convertisseur
- GND du convertisseur à GND de l'alim
Voici l'image Terminal du boot en 74880 baud :
Il se termine par du charabia car il passe en 115200 Baud et correpond à "ready".
Voici l'image l'image du boot en 115200 Baud. Le charabia de départ correspond à ce qui a été vu en 74880 Baud :
J'y ai ajouté la ncommande AT+GMR qui donne les versions AT et SDK ainsi que la date de compilation.
Il me reste à examiner les autres modules et la breadboard défectueuse avant d'intégrer l'ESP dans la chaîne Horloge+MOSFET+µC.
Je suis curieux d'examiner la breadboard défectueuse car en plus c'est une nouvelle que je n'avais encore jamais utilisée.
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Coucou Jean-Marie,
C'est bien vrai qu'a nos âges, il faut bien surveiller la tension.
Sur mon alim qui resemble à la tienne, il est possible de choisir la tension à gauche ou à droite du breadboard.
Pour trouver une panne en électronique ou un bug en programmation on ne cherche jamais au départ sur les parties les plus évidentes.
SMBA38.
C'est bien vrai qu'a nos âges, il faut bien surveiller la tension.
Sur mon alim qui resemble à la tienne, il est possible de choisir la tension à gauche ou à droite du breadboard.
Pour trouver une panne en électronique ou un bug en programmation on ne cherche jamais au départ sur les parties les plus évidentes.
SMBA38.
- 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 SMBA38
D'habitude je prends des médocs contre l'hypertension, mais cette fois, j'aurais dû en prendre contre l'hypotension !
Si je fais les connexions pour parcourir tout le trajet positif et tout le trajet negatif, ma breadboard défectueuse accumule une résistance totale de 223 Ohms, alors que la breadboard qui marche accumule 18 Ohms.
223 Ohms, c'est totalement intolérable. Pourtant, au démontage, elle paraît en excellent état et semble faite des mêmes matériaux que les autres !!!
Entre nous, tu ne peux pas mettre l'alim du côté que tu veux car les + et - sont à l'envers. A moins de mettre l'alim avec les entrées du côté Breadboard.
D'habitude je prends des médocs contre l'hypertension, mais cette fois, j'aurais dû en prendre contre l'hypotension !
Si je fais les connexions pour parcourir tout le trajet positif et tout le trajet negatif, ma breadboard défectueuse accumule une résistance totale de 223 Ohms, alors que la breadboard qui marche accumule 18 Ohms.
223 Ohms, c'est totalement intolérable. Pourtant, au démontage, elle paraît en excellent état et semble faite des mêmes matériaux que les autres !!!
Entre nous, tu ne peux pas mettre l'alim du côté que tu veux car les + et - sont à l'envers. A moins de mettre l'alim avec les entrées du côté Breadboard.
- 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
Voilà, j'ai flashé mes 5 modules avec le tout dernier SDK datant du 5 juin 2015: esp_iot_sdk_v1.1.1_15_06_05
Je n'ai pas eu de difficulté avec le progranne ESPFlasher.exe (Choisir WIN32/Release ou WIN64/Release selon votre PC).
Voici la config que j'ai utilisée (le répertoire bin de esp_iot_sdk_v1.1.1 a été importé dans G:\ par facilité) :
Dans l'onglet Advanced du programme, le Baudrate est à adapter au Baudrate qui prévaut dans votre module avant flashage.
Après flashage, le Baudrate est à 115200.
La commande AT+GMR donne la réponse suivante au Terminal:
Je n'ai pas eu de difficulté avec le progranne ESPFlasher.exe (Choisir WIN32/Release ou WIN64/Release selon votre PC).
Voici la config que j'ai utilisée (le répertoire bin de esp_iot_sdk_v1.1.1 a été importé dans G:\ par facilité) :
Dans l'onglet Advanced du programme, le Baudrate est à adapter au Baudrate qui prévaut dans votre module avant flashage.
Après flashage, le Baudrate est à 115200.
La commande AT+GMR donne la réponse suivante au Terminal:
-
- Messages : 33
- Enregistré le : mar. 26 mai 2015 07:18
Re: Tous les capteurs reliés au RPI par Wifi avec module ESP
Bonjour SMBA38 (et les autres aussi... ),smba38 a écrit :Hello Fidoboulettes,
Tu n'as peut-être pas vu mon message du Dim 7 Juin 2015 22:13.
Essaye de ne faire qu'un seul appel dans ton programme lua -> bmp085.init(sda,scl).
Si l'initialisation du module fonctionne, tu devrais un des messages " Init done" ou " iic config failled"
Dans ton code la première ligne en commentaire --BMP085.lua indique t'elle le nom de ton fichier lua ?.
Si c'est oui, c'est peut-être une erreur car le module bmp085.lua porte déjà ce nom.
Lua est sensible à la casse on devrait donc pouvoir avoir BMP085.lua et bmp085.lua , mais essaye de ne pas mettre le même nom au programme et au module
SMBA38.
effectivement, ton message du dimanche soir est passé entre les gouttes... fô dire que chez moi c'était la tempête ce WE....
alors, déjà, j'ai réussi à re-flasher mon ESP-01... par contre le 201... c'est mort pour l'instant....
Sinon,, la première ligne en commentaire c'était le nom initial du script que j'avais donné... je l'avais évidement changé puisque je faisait appel au script d'initialisation qui portait le même nom...
Le soucis que j’essayai de rapporter ce n’était pas tant ds la première partie du script qui semblait fonctionner (même si je n'ai pas encore compris comment convertir la pression en hpa) mais bien la partie d'envoi des données vers thinspeak (que j'ai integré par la suite ds le script initial) et qui me fait rebooter mon ESP...
Je suis vraiment un noob là dedans et je pensais pouvoir adapter un script existant à mon besoin, du coup du bête copier-coller.... De plus, je n'ai rien trouvé de "parlant" sur le net à propos de ce capteur...
J'ai un peu ré-ecrit le script (qui plante toujours) en essayant de prendre en compte (je crois) tes remarques...
Pour Information, mon objectif final n'est pas de transmettre des données vers thinkspeak mais en local avec domoticz d'installé sur mon rapsberry... (Domoticz utilisant les commandes json pour transmettre des données)
Voici ce que j'ai écrit:
-- readbmp.lua
bmp085 = require('bmp085')
port = 80
--ESP-01 mappings
sda = 3
scl = 4
bmp085.init(sda, scl)
--lecture données - Conversion pression en hpa???
p = bmp085.getUP()
print(p)
t = bmp085.getUT(false)
print(t)
--- Get temp and send data to thingspeak.com
function sendData()
-- connection to thingspeak.com
print("Sending data to thingspeak.com")
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, payload) print(payload) end)
-- api.thingspeak.com 184.106.153.149
conn:connect(80,'184.106.153.149')
conn:send("GET /update?key=P83INDG3TKMOJHL2&field1="..t.."&field2="..p.." HTTP/1.1\r\n")
conn:send("Host: api.thingspeak.com\r\n")
conn:send("Accept: */*\r\n")
conn:send("User-Agent: Mozilla/4.0 (compatible; esp8266 Lua; Windows NT 5.1)\r\n")
conn:send("\r\n")
conn:on("sent",function(conn)
print("Closing connection")
conn:close()
end)
conn:on("disconnection", function(conn)
print("Got disconnection...")
end)
end
-- send data every X ms to thing speak
tmr.alarm(2, 15000, 1, function() sendData() end )
--Rénitialisation bmp?
--bmp085 = nil
--package.loaded['bmp085']=nil
merci à toi (vous) de prendre le temps de me lire...