Dialogue Nodemcu ESP8266 vers Pi 4 controler la transmission des données

Bonjour à tous,

sans refaire l’historique de ma station météo, je me suis servi du tuto de la framboise pour afficher mes valeurs météo sur une page web en me servant d’un Pi4 avec serveur apache, myphp etc…
Évidement il y a un souci.
J’ai bien mes infos dans le Nodemcu, le serveur a l’air de fonctionner sur le Pi 4 (j’ai importer mes valeurs enregistrées au format csv dans phpmyadmin et j’affiche les valeurs courbes etc… mais je n’arrive pas à faire évoluer ma base de données avec les valeurs transmises.
Si quelqu’un a une idée comment pister le souci, défaut communication en émission, réception ou autre ?

Voici le code du Nodemcu

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

const char* ssid = "";
const char* password = "";

float temp;
float pres;
float humid;

void setup () {
 
  Serial.begin(115200);
 //WiFi.begin(ssid, password);
    Serial.println();
  WiFi.softAP(ssid, password);
  IPAddress ip(192, 168, 0, 49);
  IPAddress gateway(192, 168, 0, 254);
  IPAddress subnet(255, 255, 255, 0);
  WiFi.config(ip, gateway, subnet);

  IPAddress apip = WiFi.softAPIP();
  Serial.print("Please visit: \n");
  Serial.println(apip);
 
  while (WiFi.status() != WL_CONNECTED) {
 
    delay(1000);
     Serial.print ( "Connected to " ); Serial.println ( ssid );
  Serial.print ( "IP address: " ); Serial.println ( WiFi.localIP() );
 
  }
 
}
 
void loop() {
temp=22.3;
pres=997;
humid=20;
 
  if (WiFi.status() == WL_CONNECTED) { 
 
    HTTPClient http;  
  
    
    Serial.print("Temperature = ");
    Serial.println(temp);
    Serial.print("Pression = ");
    Serial.println(pres);
    Serial.print("Humidity = ");
    Serial.println(humid);
    delay(1);
    
    String url = "192.168.0.48/html/meteo/receive.php?capteur=1&temperature=";
    String url2 = url + temp;
    String url3 = url2 + "&pression=";
    String url4 = url3 + pres;
    String url5 = url4 + "&humidite=";
    String url6 = url5 + humid;
    Serial.println("envoi trame");   
    http.begin(url6); 
    int httpCode = http.GET();
 
    if (httpCode > 0) {
 
      String payload = http.getString();
      Serial.println(payload);
 
    }
 
    http.end();
 
  }
 
  delay(30000);
 
}

J’ai adapté pour les essais, valeurs fixes pour la transmission, et masqué les identifiants de connexion pour la publication mais le Nodemcu est bien connecté au reseau.

votre ESP est en borne d'accès Wi-Fi

  WiFi.softAP(ssid, password);
  IPAddress ip(192, 168, 0, 49);
  IPAddress gateway(192, 168, 0, 254);
  IPAddress subnet(255, 255, 255, 0);
  WiFi.config(ip, gateway, subnet);

Comment parle-t-il à votre autre réseau local ?

Oups.... j'ai peut etre mal compris l'exemple...je n'ai que ça

ben là vous avez créé un réseau Wi-Fi avec des adresses en 192.168.0.xxx

Il se peut que votre box WiFi à la maison ait le même genre d'adresse, comme chez votre voisin aussi, mais rien ne relie les deux réseaux..

il ne faut pas déclarer votre ESP en point d'accès WiFi, il faut utiliser ce que vous avez commenté: //WiFi.begin(ssid, password);, en rejoignant le réseau Wi-Fi existant chez vous. ça donnera ainsi accès à internet ou au réseau local existant chez vous à votre ESP et donc à votre Pi4 qui sans doute est sur le réseau de la maison.

(ou alors vous n'avez que le Pi4 connecté en WiFi sur l'ESP ?)

bref - quel est la topologie du réseau que vous souhaitez et qui doit pouvoir accéder quoi ?

Merci je viens de comprendre mon erreur... et oui mon réseau interne est bien en 192.168.0.xx

eureka :slight_smile:

Merci beaucoup, une petite faute de frappe dans l'adresse et c'est ok maintenant