Go Down

Topic: Compteur de j'aime Facebook sur Arduino (Read 3269 times) previous topic - next topic

hbachetti

Normalement, si la broche RESET de la UNO est à la masse, le processeur de la UNO n'initialise pas l'UART donc les pins RX et TX sont libres.
Refais la manip avec l'ESP01.
Vérifie les fils.
Donne un petit coup de reset à l'ESP01 avant de charger.
Normalement une petite LED bleue clignote sur l'ESP01.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

achappard

Je viens de tester sur un windows. Et là Bim !! le programme est bien uploadé et la scan marche très bien !
Du coup, je reste sans voix...


achappard

Après plusieurs essais sur Window, l'upload du programme sur l'esp passe une fois sur 2à en moyenne. Pensez-vous que cela puisse venir des mes câbles? Ce sont ceux de l'arduino stater kit fr (des câbles dupont je crois) qui sont assez fin.




hbachetti

#20
Apr 05, 2019, 02:08 pm Last Edit: Apr 05, 2019, 02:08 pm by hbachetti
Quote
Après plusieurs essais sur Window, l'upload du programme sur l'esp passe une fois sur 2à en moyenne. Pensez-vous que cela puisse venir des mes câbles? Ce sont ceux de l'arduino stater kit fr (des câbles dupont je crois) qui sont assez fin.
Il faut voir si en faisant un reset de l'ESP01 cela se passe mieux.

Quand je charge un ESP01 je le fais avec un FTDI. Mais j'ai deux boutons "RESET" et "BOOT" :



Sur ce schéma il y a un peu d'électronique pour provoquer un reset automatique par le DTR du FTDI. N'y prête pas attention. Seuls les deux boutons sont importants.

Le principe est simple :
Avec un montage comme celui-ci :
- appuyer sur BOOT
- appuyer sur RESET
- relâcher RESET
- relâcher BOOT
- lancer le chargement

Dans ton cas, GPIO est déjà à la masse.

Il faudrait câbler un bouton poussoir RESET entre les pins RST et GND de l'ESP01.

Avant de charger appuies un petit coup sur le bouton.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

achappard

J'ai trouvé comment faire marcher l'upload à chaque fois : Quand l'UNO est alimenté via USB et que donc que le module esp l'est aussi, avant d'uploader le programme, je déconnecte la broche d'alim 3.3V et la reconnecte.

Après je n'ai plus de soucis.

Cool, j'arrive maintenant à appeler ma page web qui me retourne le nombre de fans facebook. Mais un truc me turlupine : Si je comprends bien, le programme, je le balance sur le module ESP et non sur la uno. N'est-ce pas ?

Comment récupérer ensuite la valeur sur la uno et ensuite faire mon mic-mac avec l'afficheur ? C'est la passerelle entre UNO <=> ESP que je ne parviens pas à voir.

Dois-je écrire un nouveau programme, et l'uploader sur la UNO ? Si oui, comment communiquer la valeur récupérée par l'esp à mon arduino ?

J'espère être assez clair (?)


hbachetti

Quote
J'ai trouvé comment faire marcher l'upload à chaque fois : Quand l'UNO est alimenté via USB et que donc que le module esp l'est aussi, avant d'uploader le programme, je déconnecte la broche d'alim 3.3V et la reconnecte.
Cela revient à faire un reset de l'ESP01, sans le bouton que je conseillais plus haut.

Quote
Dois-je écrire un nouveau programme, et l'uploader sur la UNO ? Si oui, comment communiquer la valeur récupérée par l'esp à mon arduino ?

Il faut passer par une ligne série.

Coté ESP01 envoyer périodiquement la valeur par un Serial.println(), par exemple quand elle change.

Côté UNO lire la ligne série en permanence. Quand des caractères sont disponibles (voir Serial.available), lire ceux-ci dans un buffer. Quand ce caractère vaut '\n' terminer le buffer par un '\0' et l'envoyer à l'afficheur.

Côté UNO il vaut mieux utiliser un SoftwareSerial afin de ne pas mobiliser le Serial hardware, ce qui t'obligerait à débrancher l'ESP01 à chaque chargement de la UNO, et te priverait du terminal.

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

Artouste

Après je n'ai plus de soucis.
:smiley-mr-green:

Mode taquin 8)

Peut etre simplement pour l'instant ? ;)

J'ai lu un peu "en diagonale"



Mais il semblerait que ta manip d'upload au travers du uno expose ton esp8226 (ESP01) à des niveaux excedant ce qui est toléré sur ses  GPIO .


Si ça peut te rassurer, c'est comme çà que j'ai "programmé" mon/mes 1er esp8266 (ESP01)   :smiley-cool:



A l'epoque la doc dispo de chez espressif etait...  éparse, succincte et ambigue en ce qui concerne ce point particulier de tolerance V des GPIO.


Je ne me souviens pas en avoir cuit (au moins à cause de çà :smiley-twist: ) , mais ce n'est pas une bonne pratique



achappard

#24
Apr 05, 2019, 03:22 pm Last Edit: Apr 05, 2019, 03:31 pm by achappard
Quote
Coté ESP01 envoyer périodiquement la valeur par un Serial.println(), par exemple quand elle change.

Côté UNO lire la ligne série en permanence. Quand des caractères sont disponibles (voir Serial.available), lire ceux-ci dans un buffer. Quand ce caractère vaut '\n' terminer le buffer par un '\0' et l'envoyer à l'afficheur.
Du coup c'est bien 2 programmes si je comprends bien. Donc une fois mon programme sur le module ESP01, je peux déconnecter le RST<->GND de l'arduino ? Ouvrir un nouveau programme vierge et le balancer sur l'arduino ?

Je vais regarder les lignes série : je ne connais pas (encore)


funkTLS

Il faut passer par une ligne série.

Coté ESP01 envoyer périodiquement la valeur par un Serial.println(), par exemple quand elle change.

Côté UNO lire la ligne série en permanence. Quand des caractères sont disponibles (voir Serial.available), lire ceux-ci dans un buffer. Quand ce caractère vaut '\n' terminer le buffer par un '\0' et l'envoyer à l'afficheur.

Côté UNO il vaut mieux utiliser un SoftwareSerial afin de ne pas mobiliser le Serial hardware, ce qui t'obligerait à débrancher l'ESP01 à chaque chargement de la UNO, et te priverait du terminal.
ça me semble bien compliqué pour le besoin initial ::) Enfin ça ne l'est peut-être pas..

Mais un ESP avec plus de pins aurait été tout à fait autonome à faire ce que tu souhaites, sans devoir brancher et faire communiquer un Arduino Uno avec un ESP-01

Ou me trompe-je ?

hbachetti

Il est parfaitement possible de communiquer avec un TM1637 avec l'ESP01 seul, apparemment.

Voir mon post #3 : https://github.com/wrightmac/TestInTime/blob/master/ESP01_SimpleClock.ino

Code: [Select]
TM1637 tm1637(2,0);

Mais il n'y a que deux GPIOs, il ne faudra pas pas avoir d'autres besoins.

@achappard : si cela te tente, cela te permettrait d'aller plus vite. Cela devrait marcher.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

achappard

#27
Apr 05, 2019, 04:46 pm Last Edit: Apr 05, 2019, 05:04 pm by achappard
Quote
si cela te tente, cela te permettrait d'aller plus vite. Cela devrait marcher.
Le soucis c'est que je débute et que je ne vois pas comment alimenter l'ESP sans l'arduino

Je vais continuer de regarder pour faire le 2eme programme.

hbachetti

Tu peux continuer à alimenter l'ESP01 avec la UNO, charger le programme ESP01 avec la UNO. Rien ne s'y oppose.
Ensuite tu branches le TM1637 sur l'ESP01 au lieu de le brancher sur la UNO.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

achappard

J'avoue que je préférerai le faire en avec le SoftwareSerial pour le défi !

Go Up