J'essaye de construire une station météo connectée suivant le projet :
(ESP8266 & BME280 IoT Weather Station | IoT Projects Ideas)
L'IDE compile correctement mais je n'ai pas de communication entre le moniteur série et l'ESP Node MCU (donc pas de fonctionnement). Le code est le suivant :
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include <Blynk.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char auth[] = "*****"; // You should get Auth Token in the Blynk App.
char ssid[] = "The IoT Projects"; // Your WiFi credentials.
char pass[] = "XXXXXX-XXXX-XXXX";
float temperature;
float pressure;
float humidity;
float altitude;
define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme; // For I2C interface
void setup() {
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
Serial.println(F("BME280 Sensor event test"));
if (!bme.begin(0x76))
{
Serial.println("Could not find a valid BME280 sensor, check wiring!");
while (1);
}
}
void loop() {
Blynk.run(); // Initiates Blynk
temperature = bme.readTemperature();
pressure = bme.readPressure() / 100.0F;
humidity = bme.readHumidity();
altitude = bme.readAltitude(SEALEVELPRESSURE_HPA);
double dewPoint = dewPointFast(temperature, humidity);
Serial.print("Temperature = ");
Serial.print(temperature);
Serial.println("*C");
Serial.print("Pressure = ");
Serial.print(pressure);
Serial.println("hPa");
Serial.print("Humidity = ");
Serial.print(humidity);
Serial.println("%");
Serial.print("Approx. Altitude = ");
Serial.print(altitude);
Serial.println("m");
Serial.print("Dew point = ");
Serial.print(dewPoint);
Serial.println(" *C");
Serial.println();
Blynk.virtualWrite(V1, temperature); // For Temperature
Blynk.virtualWrite(V2, pressure); // For Pressure
Blynk.virtualWrite(V3, humidity); // For Humidity
Blynk.virtualWrite(V4, altitude); //For Approx. Altitude
Blynk.virtualWrite(V5, dewPoint); // For DewPoint
delay(1000);
}
double dewPointFast(double celsius, double humidity)
{
double a = 17.271;
double b = 237.7;
double temp = (a * celsius) / (b + celsius) + log(humidity * 0.01);
double Td = (b * temp) / (a - temp);
return Td;
}
Je ne comprends pas où est le problème. Serez vous l'âme charitable en mesure de m'aider ?
oui, les serial.print n'affichent rien.
l'ESP8266 utilisé est le NodeMCU (basé sur ESP-12)
le capteur est un BME280 (puce Bosch I2C) connecté de façon classique : SCL vers D1 et SCA vers D2). J'ai essayé le capteur connecté de cette façon avec un sketch plus classique et le capteur BME280 fonctionne).
Merci pour ta réponse. Oui j'ai bien réglé le moniteur série sur 9600 bauds. Sans succès. J'ai aussi modifié et recompilé sur 115200 sans plus de succès. ci-dessous l'impression écran.
Non, capteur débranché => pas d'affichage. D'ailleurs je ne comprends pas la présence du "F" dans l'instruction " Serial.println(F("BME280 Sensor event test"));"
Merci pour le masquage des infos Blynk mais il s'agit des infos du site web !
Serial.print("Write something on the Serial Monitor");
is used, the string to be printed is normally saved in RAM. If your sketch prints a lot of stuff on the Serial Monitor, you can easily fill the RAM. If you have free FLASH memory space, you can easily indicate that the string must be saved in FLASH using the syntax:
Serial.print(F("Write something on the Serial Monitor that is stored in FLASH"));
Peux-tu fournir une référence de ton module ESP8266, ou une image, ou un pinout (schéma des pins) : je pense que tu n'as pas connecté le capteur comme il faut. Les D1 et D2 sur le module du site où tu as trouvé le montage sont peut-être différents de ceux de ta carte.
Ce programme date de février 2021. Il ne devrait plus fonctionner tel quel car depuis début Janvier 2022, Blynk ne fonctionne plus de cette manière.
Il faut ouvrir un compte sur : https://blynk.io/ et il y a un abonnement mensuel. En tant qu'ancien utilisateur de Blynk, j'avais un abonnement à prix réduit mais je n'ai pas donné suite.
J'avais des applis qui fonctionnaient avec l'ancien Blynk. Elles ne fonctionnent plus désormais.
Donc, le programme n'arrivant pas à se connecter à Blynk, ça tourne sans fin.
Rajoute deux mouchards avant et après Blynk.begin (auth, ssid, pass); et tu verra ce message :
jusqu'ici c'est bon
[68] Connecting to Livebox
Je te mets ci dessous le programme modifié que j'ai testé.
OK pour l'utilisation de la mémoire flash au lieu de la RAM. Ci après la photo du module NodeMCU acheté sur Aliexpress. Pour moi çà correspond au PINOUT standard (il manque juste la LED habituelle sur le circuit imprimé !)
Merci fitness04 pour ta réponse. J'ai ouvert un compte gratuit sur Blynk : 2 projets seulement sont possible dans la version gratuite et j'ai bien vu que la méthode de connexion avait changé (la doc en ligne n'est d'ailleurs pas à jour). Je galère à trouver le Token qui est apparemment la méthode de connexion la plus simple (je ne suis pas programmeur, loin de là !). J'ai essayé ton sketch modifié est apparemment çà se connecte sur le site blynk (mais le token n'est pas OK). Donc çà avance un peu et je n'ai pas de message d'erreur "could not find BME280 sensor" ce qui semble indiquer que le BME est trouvé à la bonne adresse. En comparant ton sketch avec le miens apparemment seule la bibliothèque "wire.h" diffère (conflit ?). Je continue mes expériences
Rectificatif : il manquait aussi " ``` #define BLYNK_PRINT Serial". Après modification et compilation du sketh initial, le wifi est OK et on a accès au serveur Blynk.
Quelques nouvelles après quelques jours d'inactivité sur le sujet pour cause d'obligations domestiques ...
Le sketch ci après fonctionne et pourra vous donner quelques indications au cas ou vous seriez intéressé. Pour info, le Token est fourni par Blynk lors de l'inscription (à conserver précieusement donc). Le site en ligne et l'appli ont des bugs plus ou moins importants, la doc n'est pas à jour mais l'essentiel est dans la découverte ... Je vais continuer à fignoler et développer l'interface car je voudrais ajouter un anémomètre et utiliser la mise en veille pour installer l'électronique à l'extérieur. Merci à tous les intervenants de ce site pour leur aide précieuse, je reviendrai sans doute pour la suite du développement ...