ich Betreibe als Testaufbau (allerdings mit kürzeren Kabeln) eine Sehr ähnlich Konstellation schon seit einem Jahr ohne Problem.
Da habe ich ein ESP8266 mit dem selben Sensor und selben Wiederständen. Nur ca. 15cm Kabel, und drinnen. aber macht das soviel unterschied?
Ok, das hatte ich nicht mehr in Erinnerung, dass es ein ESP32 ist.
Dann brauchst du den Levelshifter nicht.
Nur ein Testaufbau im trocknen, warmen Zimmer ist immer was anderes als außerhalb des Hauses.
Und bitte, Widerstand ohne ie.
Dennoch vermute ich ein Problem mit der Betriebsspannung. Ich kann in dem Datenblatt keine eindeutige Info über die zu verwendende Betriebsspannung finden. Auch in der Artikelbeschreibung sehe ich davon nichts. Die Platine sieht aus, als hätte die einen Spannungsregler onboard, dann bräuchte dies Modul 5Volt, was wiederum schlecht für I2C ist.
Mein Tipp, besorge dir ein Modul, welches eindeutig mit 3,3V arbeitet.
eigentlich laufen diese Module problemlos mit 3,3V. Der BME280 selbst kann weit genug runter, der Spannungsabfall am Längsregler stört da micht weiter und der Levelshifter macht das mit den Pegeln auch ausreichend passend.
Ich vermute Übertragungsfehler auf dem I2C bei der Kabllänge, schonmal den I2C-Clock runtergeschaltet?
die einfachste Variante um den Fehler jetzt weiter einzukreisen sehe ich darin den Aufbau mit einem kurzen Kabel noch mal auf den Tisch zu legen und ein paar Tage laufen lassen.
Es ist eigentlich relativ unsinnig, zwischen einem 3,3V µC und einem 3,3V I2C Sensor einen Levelshifter zu montieren.
Wenn der Level Shifter auf der Sensorplatine drauf ist hat man da wenig Entscheidungsfreiheit.
Ein Level Shifter Zwischen 3,3V und 3,3V ist mal kein Problem.
Ein 3,3V Spannungsstabilisator der mit 3,3V versorgt wird kann Probleme geben. Um sicher zu sein müßte man das Model kennen. Es gibt ultra-Low Dropout Regler. da wäre 3,3 V Eingang fast zulässig.
Wenn man eine 5V Versorgung schon hat, dann sollte man die 5V zum Sensor führen und nicht die 3,3V.
Grüße Uwe
Ich hatte mal das gleiche Problem. Ursprünglich hatte ich ein ISDN Kabel mit 4 parallel liegenden Adern dran. Abhilfe schaffte dann ein 2x2x0.4 Telefonkabel mit verdrillten Adern und zusätzlicher Abschirmung(Alufolie).
Jetzt schaffe ich über 3m vom Sensor bis zum ESP32.
Was absolutes Gift für den BME280 ist: 1 Tropfen Wasser und das Teil versagt seinen Dienst.
Hab selbst schon 2 Teile verschrottet. Da hat auch keine Trocknung mit Reis oder Katzenstreu geholfen.
Wasserfestes Gehäuse (AP Abzweigdose) mit einigen 3mm Löchern unterhalb des Sensors für die Luftzirkulation verwendet, jetzt rennt das Teil schon seit über einem Jahr in meiner Wetterstation. Der zuvor verwendete DHTxx-Schrott ist bei mir längst Geschichte.