Bonjour au Forum et bonne année à tous.
Je viens vers vous avec une question.
Pour remplacer des MKR1010 qui plante leur Wifi regulièrement, je veux essayer un ESP32.
Donc j'achète un ESP32, le branche sur mon IDE Arduino(après avoir fait les update de l'IDE),
Ecris (réécris) le programme et le teste.
Le problème viens de la communication vers le serveur WEB local(raspberry avec nginx).
Avec un Arduino, après avoir envoyer le HTTP POST vers une page php, je reçoit la sortie de la
page pHP (les echo), le retour est comme suit:
J'ai mis les divers retour en couleur, en bleu le retour Arduino, En vert la sortie des commande POST, en Brun la page PHP
C'est pratique, car si une erreur est fait dans la syntaxe soit de l'Arduino, soit de la page PHP, soit du format de la base de donnée, les message de retour me disent ou aller chercher.Citation:
******* Input >Serial : n
********** Connection au Web server (loop) **********
25-1-16 9:48:47
Valeur Val:DTE=1737020927&TT=17.84&Rh=53.63&tps=0.03&Wdbm=-65&PP=1027,4
Envoit*
HTTP/1.1 200 OK
Server: nginx/1.18.0
Date: Thu, 16 Jan 2025 09:48:46 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
1f7
<!-- RECOIT LES DONNEE DE L'ESP32-WROOM_32 W1
***** Données SHT31, TT et RH
***** Données BMP280 PP et TTbm
-->
Page depart file recoit_W1.php<br>2025-01-16 10:48:46
Variable reçues ; TT= 17.84 Rh =53.63 PP=1027 TTbm=0
Date : 25-01-16 Heure=10:48:47
Connexion réussie
sql=INSERT INTO Ttemps(Epoch,Jour,Heure) VALUES(1737020927,'25-01-16','10:48:47')
trouve la dernière ligne
lastligne =286
sql= INSERT INTO Data(tpsID,TT,RH,PP,TTbm,Dbm) VALUES(286,17.84,53.63,1027,0,-65)
<fin d'insert
0
**** Fin de lecture ******
******************* WiFi disconnected *****************
Cependant, le même code sur un ESP32 me donne comme réponse,
Donc en fait je n'ai aucun retour de la commande HTTP POST ni de la page PHP. Cependant la page PHP est bien executée, car les données sont bien ajoutées dans la base de donnée.Citation:
********** Connection au Web server (loop) ***********
Valeur Val:DTE=1737021301&TT=3.93&Rh=98.49&PP=1029.88&tps=5.93&Wdbm=-59
Envoit
Mweb disponible
H
**** Fin de lecture ******
**** WiFi disconnected ****
J'ai regardé sur le WEB, mais on me parle de commande HTTPGET avec des includes pour l'ESP32 qui sert de serveur WEB, mais ce n'est pas mon cas, le ESP32 est utilisé comme client WEB.
Le code "partiel " utilisé est :
Le code pour le MKR1010 et l'ESP32 sont les mêmes.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 #include <Arduino.h> #include <WiFi.h> #include <time.h> #include <ESP32Time.h> WiFiClient Mweb; ..................................... void EnvoiData() { ..................... int result = Mweb.connect(server, 80); if (result == 1) { Wifi=true; if(1){Serial.print("Envoit\n");} Mweb.println(F(WEBPOST)); Mweb.println(F(Hosts)); Mweb.println(F("Connection: close")); Mweb.print(F("Content-Length: ")); Mweb.println(machaine.length()); Mweb.println(F("Content-Type: application/x-www-form-urlencoded")); Mweb.println(); Mweb.println(machaine); delay(1000); while (Mweb.connected()) { if (Mweb.available()) { char c = Mweb.read(); Serial.print(c); } } ......................
Est-ce le WiFiClient pour le ESP32 qui ne retourne pas de réponse de la page PHP ?
Ou autre chose??
Merci
Michel