DEMANDE D'AIDE

ADOU
lun, 01/13/2020 - 03:37
Bonjour j'ai réaliser un point d'accés avec esp01 pour conaitre la température et humiditer tout fonctionnait au début mais aprés mon moniteur série d'arduino n'arrive plus à affiche adresse ip.(que je doit utiliser pour me connecter)
le probleme ait que mon moniteur serien'arrive plus a afficher les donner
voila le code
#include <SoftwareSerial.h>
#include "DHT.h"
#define DHTTYPE DHT22
#define DHTPIN 12 // Pin Data DHT 22
#define DEBUG true
SoftwareSerial espSerial(6, 7); // RX | TX
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
Serial.begin(9600); //Serial monitor
espSerial.begin(115200); //ESP Baud rate
dht.begin();
sendData("AT+RST\r\n",2000,DEBUG); // reset module
sendData("AT+CWMODE=2\r\n",1000,DEBUG); // ESP01 sebagai access point
sendData("AT+CIFSR\r\n",1000,DEBUG); // Cek ip address
sendData("AT+CIPMUX=1\r\n",1000,DEBUG); // Konfig multiple connections
sendData("AT+CIPSERVER=1,80\r\n",1000,DEBUG); //server on port 80
}
float baca_suhu(){
float temp = dht.readTemperature();
if (isnan(temp)){
Serial.println("Failed to read from DHT sensor!");
return;
}
return(temp);
}
float baca_kelembaban(){
float hum = dht.readHumidity();
if (isnan(hum)){
Serial.println("Failed to read from DHT sensor!");
return;
}
return(hum);
}
int Id_koneksi;
void loop(){
if(espSerial.available()){
//kirim data ke browser
if(espSerial.find("+IPD,")){
delay(300);
Id_koneksi = espSerial.read()-48;
String webpage;
webpage = "HTTP/1.1 200 OK\r\n";
webpage += "Content-Type: text/html\r\n";
webpage += "Connection: close\r\n";
webpage += "Refresh: 20\r\n"; //refresh browser 15 detik
webpage += "\r\n";
webpage += "<!DOCTYPE HTML>\r\n";
webpage += "<html>\r\n";
webpage += "<body style=\"background-color:powderblue;\">";
webpage +="<h1 align=\"center\" style=\"font-size:80px;\">DHT Monitor</h1>";
espsend(webpage);
if(baca_suhu() != 0){
String div_suhu="<p style=\"font-size:60px;\">Temperature: ";
String div_suhu_data = String(baca_suhu(), 2);
div_suhu+= div_suhu_data;
div_suhu+=" ℃"; //code Hexa untuk derajat Celcius
div_suhu+="</p>";
espsend(div_suhu);
}
else{
String sensor_status="sensor is not conneted";
espsend(sensor_status);
}
if(baca_kelembaban() != 0){
String div_kelembaban="<p style=\"font-size:60px;\">Kelembaban: ";
String div_kelembaban_data = String(baca_kelembaban(), 2);
div_kelembaban+= div_kelembaban_data;
div_kelembaban+=" %"; //code Html untuk persen
div_kelembaban+="</p>";
espsend(div_kelembaban);
}
else{
String sensor_status="sensor is not conneted";
espsend(sensor_status);
}
String webpage2;
webpage2="</body></html>";
espsend(webpage2);
String closeCommand = "AT+CIPCLOSE="; //menutup koneksi
closeCommand+=Id_koneksi;
closeCommand+="\r\n";
sendData(closeCommand,3000,DEBUG);
}
}
}
//kirim data ESP ke halaman web browser
void espsend(String d){
String cipSend = " AT+CIPSEND=";
cipSend += Id_koneksi;
cipSend += ",";
cipSend +=d.length();
cipSend +="\r\n";
sendData(cipSend,1000,DEBUG);
sendData(d,1000,DEBUG);
}
//menampilkan data dari ESP di Serial Monitor
String sendData(String command, const int timeout, boolean debug){
String response = "";
espSerial.print(command);
long int time = millis();
while( (time+timeout) > millis()){
while(espSerial.available()){
char c = espSerial.read();
response+=c;
}
}
if(debug){
Serial.print(response); //Tampilkan respon ESP di serial monitor arduino
}
return response;
}
merci d'avance
Anonyme
lun, 01/13/2020 - 09:52
Je suis désolé ADOU en dehors qu fait que tu parles d'un ESP01 et que le code ne correspond pas du tout à ce module je ne comprends pas grand chose à ton code qui me parait d'une complexité inutile si tu veux uniquement avoir un module qui t'affiche une page HTML avec des infos sur la température et l'humidité.
De plus je n'ai jamais rien compris au commande "AT" qui ne fonctionnent pas toujours et dont je fuis comme la gale !
Donc ne compte pas trop sur mon aide.
Anonyme
mar, 01/14/2020 - 14:54
Par contre j'ai écrit un code qui me semble beaucoup plus clair mais comme je n'utilise que des Wemos D1 je l'ai écrit pour cette carte, je pense que tu n'auras pas de difficulté particulière avec la tienne
Voilà mon code qui n'est peut être pas optimisé à 100 % mais plus concis :
Pour l'utiliser il faut se connecter sur le Réseau dont le SSID est ServeurMeteo et lancer 192.168.4.1 dans un navigateur !
Après une utilisation prolongée j'ai apporté quelques modifications en gras dans le code car DHT22 donne des erreurs de temps à autre
Je prépare une vidéo démo sur youtub !
Walter
lun, 01/13/2020 - 14:24
Bonjour Adou, question bête mais ton IDE arduino est bien configuré en 9600 bauds?
Sinon essaye de tout mettre en commentaire sauf le Serian.begin et de mettre un 'Serial.println("Coucou!");' dans la fonction loop pour voir ce qui ce passe.
Sinon tu n'a rien mis sur les broches TX/RX de ta carte arduino?
Anonyme
lun, 01/13/2020 - 15:02
Joubliai je ne pense pas que ton code puisse fonctionner car tu as plusieurs lignes
return;
Alors que dans une fonction non vide ( void ) il faut utiliser :
return(Valeur);
Autrement le compilateur plante !!!!
Anonyme
mar, 01/14/2020 - 14:51
Mon code a été modifié suite à des erreurs du DHT22 !
ADOU
jeu, 03/19/2020 - 17:17
BONJOUR WOLFRAM69
JE RENCONTRE DE PROBLÈME DE PORT QUAND JE SÉLECTIONNÉ COMME CHOIX DE CARTE ( esp8266 GENERIC)
et quand je selectionne la carte uno j'ai de probleme de biblotheque de #include <ESP8266WiFi.h>
merci d'avance
Anonyme
jeu, 03/19/2020 - 18:42
Quel est le type exacte de carte ?
ADOU
ven, 03/20/2020 - 16:54
LA CARTE UNO
Anonyme
ven, 03/20/2020 - 17:57
Il n'y a pas de WIFI dans une carte Arduino UNO !!!! C'est évident que cela ne puisse pas fonctionner !!!!!
Mon code est écrit pour une WEMOS D1 R1 il faut tout lire dans mes posts !!!
ADOU
ven, 03/20/2020 - 18:46
SVP LE SCHEMA DE CABLAGE
Anonyme
ven, 03/20/2020 - 20:36
Pour qu'elle carte ?