Problème de connexion entre UNO et ESP8266

le projet consiste a envoyer les info d un système composer des capteurs liée avec arduino uno et un module wifi esp8266-01 et je doit afficher ces information dans aws iot core le problème que j arrive pas a connecter le esp avec wifi d après un programme qui contient tout comment je peux régler ce problème

heuu... là il va falloir :

  • être plus clair (et éditer le titre pour être plus explicite)
  • montrer ce que tu as déjà fait...

Sans ça, on va avoir du mal à aider

1 Like

Code ? Schéma ? Capteur ?

capteurs

C'est un peu vague...

programme

Lequel ?
Merci de prendre quelques minutes pour lire les bonnes pratiques du forum francophone. En particulier la description précise du problème ET le titre explicite. Les titre sont utilisés par le moteur de recherche du forum - merci de respecter ces quelques règles.

1 Like

C'est pour un stage, un projet étudiant ?

As-tu déjà un programme pour connecter ton ESP8266 au Wifi ?

1 Like

hello
c'est à rendre pour quand ?

les touches de ponctuation sont cassées sur votre clavier ?

apres 2 jours

Déjà un peu de lecture :

#include <ESP8266wifi.h>
#include <SoftwareSerial.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiServer.h>
#include <WiFiUdp.h>
#include <PubSubClient.h>

// WiFi credentials
const char* ssid = "........";
const char* password = ".........";

// AWS IoT Core endpoint and credentials
const char* awsEndpoint = ".............";
const int awsPort = 8883;
const char* awsClientId = "............";
const char* awsUsername = ".............";
const char* awsPrivateKey =
const char* awsCertificate = "
// MQTT topics
const char* topicCapteur1 = "votre-topic-capteur1";
const char* topicCapteur2 = "votre-topic-capteur2";

WiFiClient wifiClient;
PubSubClient mqttClient(wifiClient);

int ledRouge = 12;
int ledVert = 13;
int boutonPomper = 3;
int boutonTurbinage = 4;

void setup() {
pinMode(ledRouge, OUTPUT);
pinMode(ledVert, OUTPUT);
pinMode(boutonPomper, INPUT);
pinMode(boutonTurbinage, INPUT);
Serial.begin(9600);

connectToWiFi();
connectToAWS();
}

void loop() {
int capteur1 = analogRead(A0);
Serial.println(capteur1);
int capteur2 = analogRead(A1);
Serial.println(capteur2);
if (capteur1 > 10) {
digitalWrite(ledVert, HIGH);
} else {
delay(3000);
digitalWrite(ledVert, LOW);
}

if (capteur2 > 10) {
digitalWrite(ledRouge, HIGH);
if (capteur1 > 10) {
digitalWrite(ledRouge, LOW);
}
}

if (capteur1 < 10 && capteur2 < 10) {
digitalWrite(ledVert, LOW);
digitalWrite(ledRouge, LOW);
}

publishData("capteur1", String(capteur1));
publishData("capteur2", String(capteur2));

mqttClient.loop();
}

void connectToWiFi() {
Serial.println("Connecting to WiFi...");
WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}

Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}

void connectToAWS() {
Serial.println("Connecting to AWS IoT Core...");
mqttClient.setServer(awsEndpoint, awsPort);
mqttClient.setCallback(callback);

while (!mqttClient.connected()) {
if (mqttClient.connect(awsClientId)) {
Serial.println("AWS IoT Core connected");
mqttClient.subscribe(topicCapteur1);
mqttClient.subscribe(topicCapteur2);
} else {
Serial.print("Failed, rc=");
Serial.print(mqttClient.state());
Serial.println(" Retrying in 5 seconds...");
delay(5000);
}
}
}

void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message received on topic: ");
Serial.println(topic);

String message = "";
for (int i = 0; i < length; i++) {
message += (char)payload[i];
}

Serial.print("Message received: ");
Serial.println(message);
}

void publishData(const char* topic, String data) {
char charData[data.length() + 1];
data.toCharArray(charData, sizeof(charData));

mqttClient.publish(topic, charData);
Serial.print("Published data: ");
Serial.println(data);
}

projet étudiant

Bonsoir,

Merci de prendre quelques minutes pour lire les bonnes pratiques du forum francophone et les appliquer.

En particulier, la mise en forme du code avec les balises code.

99% des personnes qui viennent sur le forum on besoin d'aide donc merci de trouver un titre un peu plus explicite pour ce fil de discussion.

Qu'est-ce qui ne va pas avec ce code ?

l'esp n'arrive pas a se connecter au wifi.

Il y a des exemples dans la bibliothèque wifi. Les as-tu essayés ?

il marhe avec les exemples

Il faut alors que tu essayes de reprendre ton code, morceau par morceau jusqu'à ce que cela commence à dysfonctionner. En testant chaque partie progressivement.

Commence par un premier code qui se connecte à ton réseau wifi, puis ajoute la partie suivante (connexion à AWS ?) etc.

Peux-tu mettre une photo ou un lien qui montre quelle carte tu utilises ?

Une remarque, sans rapport avec ton problème de Wifi.

Si c'est bien cette carte, voici le pinout :

Il n'y a que 4 GPIO adressables (0, 1, 2, 3) et la 1 et la 3 sont aussi utilisées par la liaison série (Serial). Dans ton code, tu utilises des pins A0, A1, 12 et 13.

Es-tu sûr que ce code soit adapté à cette carte ?

J'ai un doute sur comment tu as connecté ton esp8266-01 à ton Arduino Uno, tu peux mettre un schéma ?

Ton programme est donc téléversé sur le Uno ?
Tu pourrais dire qu'elle exemple tu as testé ?
Tu as mis quoi comme programme sur ton ESP8266-01 ?

Tu n'a pas pris le temps de lire les recommandations données par @fdufnews, du coup ton code est illisible :frowning: