Habe geschrieben das ich mit dem P82B715 habe vor mittlerweile mehr als 5J 20Meter überbrückt habe.
Je nach Kabel kann man versuchen den Takt runtersetzen so wie die PullUp Widerstände anpassen, nur aufpassen das man nicht unter 1K kommt.
Ob es noch vernünftig funktioniert muss man testen.
Die P8B715 sind nach der Corona verdammt teuer geworden auch die CN nachbauten
Schade, das du nicht alles liest und nicht alle Fragen beantwotest bzw. alle wichtigen Informationen lieferst.
Hi,
MQTT geht? Dann mein Vorschlag:
void setup() {
String DeviceName = "TestDevice";
String mqttTopicRestartDevice = DeviceName + "/RestartDevice";
// MQTT / WLAN usw.
mqttClient.setCallback(callbackMqtt);
mqttClient.subscribe(mqttTopicRestartDevice.c_str());
}
void callbackMqtt(char* topic, byte* payload, unsigned int length) {
String msg = "";
for (unsigned int i = 0; i < length; i++) {
msg += (char)payload[i];
}
if(strcmp(topic, mqttTopicRestartDevice.c_str()) == 0) {
int readRestartDevice = msg.toInt();
if(readRestartDevice > 0) {
ESP.restart();
}
}
}
Eigentlich hab ich n bissl mehr Code außenrum, deshalb das hin- und her konvertiere und die Strings. Aber prinzipiell musst du damit nicht mehr in den Keller, MQTT Explorer:
Gruß
Grundsätzlich sollte doch erst mal der Fehler beseitigt werden, dann muss man keine Krücke bauen.
Die habe ich vor einiger Zeit in der Bucht gekauft:
[ESP8266 NodeMcu V3 Lua WIFI micro USB 32bit CH340 Modul Board Arduino - e06](https://ESP8266 NodeMcu V3 Lua WIFI micro USB 32bit CH340 Modul Board Arduino - e06)
und
[BME280 Sensor 3.3V Temperatur Luftfeuchtigkeit Luftdruck Arduino SPI I2C Modul](https://BME280 Sensor 3.3V Temperatur Luftfeuchtigkeit Luftdruck Arduino SPI I2C Modul)
Vielen Dank für das Beispiel!
Ich habe erstmal den Bustakt reduziert. mal abwarten ob das was bringt.
Vielen Dank an Alle fürs mitdenken!!!
Deine Links funktionieren nicht.
Was für Biblothek für BME wird benutz?
Adafruit macht bei ESP keine Probleme. Zeige mall dein Program.
Was für Biblothek für BME wird benutz?
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
Der Code stammt größtenteils vom Make-Magazin (make 6/2021 - Füllstandsmessung einer Regenwasserzisterne. Weiß nicht ob ich den hier einfach so posten darf...
Die BME-Abfrage und MQTT habe ich irgendwie dazwischen gefriemelt - bin eher Hobbbybastler und kein Programmierprofi...
das sieht dann so aus:
// BME280 initialisieren
// Die Default-Adresse des Sensors ist 0x77
// Für andere Adresse oder I2C-Bus: bme.begin(ADRESS, Wire1)
bool bme_status;
bme_status = bme.begin(0x76);
if (!bme_status) {
Serial.println("Keine Verbindung zum BME280.");
while (1);
} else {
Serial.println("BME280 Sensor verbunden");
}
und dann:
//wenn Messwert vorliegt dan an MQTT-Server senden:
if (!mqttclient.connected()) {
reconnect();
}
float temp = bme.readTemperature();
dtostrf(temp, 5, 2, buffer); //4 is mininum width, 2 is precision
mqttclient.publish("/Zisterne/Temperatur_vorn", buffer);
//wenn Messwert vorliegt dan an MQTT-Server senden:
if (!mqttclient.connected()) {
reconnect();
}
float press = (bme.readPressure() / 100.0F);
dtostrf(press, 5, 2, buffer); //4 is mininum width, 2 is precision
mqttclient.publish("/Zisterne/Luftdruck", buffer);
//wenn Messwert vorliegt dan an MQTT-Server senden:
if (!mqttclient.connected()) {
reconnect();
}
float humi = bme.readHumidity();
dtostrf(humi, 5, 2, buffer); //4 is mininum width, 2 is precision
mqttclient.publish("/Zisterne/Luftfeuchte", buffer);
Vielleicht hilft das ja auch sochon so.
Ich sehe nirgend wo die Anpassung für Luftdruck am deinem Ort, bedeutet die Werte sind falsch. Wo zu zwei Nachkommastellen bei Luftdruck? Der wird immer auch bei DWD in Ganzzahl angegeben, das gleiche für Feuchte, bei Temp reicht eine Stelle nach Komma,
So genau sind die BME schon vom Werk nicht.
Bei allen BME280 was nutze, sind mittlerweile um die 10, wird der Luftdruck kompensiert zum meinem Ort, 10Km Luftlinie zu DWD, also sollte das passen
Luftfeuchte und Temp wird nach einem eingestellt nach werten was wurden mit Profi gerät gemessen.
Habe leider kein Zugang mehr, die Firma ist weg vom Fenster
Oha! Ich bin mal ganz naiv davon ausgegangen dass die Sebnsoren irgendwie kalibriert sind... Vielen Dank für den Hinweis!!!
Ein wenig schon ist alles im EEPROM im Chip hinterlegt. was ich festgestellt habe wen man bei Temp den wert zu Realer Temp anpasst meistens +-1°C stimmt die im ganzem Bereich nicht wie bei HUT11 Sensoren wo die bei niedriger Temp zu wenig zeigen bei höherer zu viel um 1, 1,5°.
Hinweis, der BME darf nicht nass werden sonst ist Feuchte "Einheit" defekt, nach austrocknen zeigte Unsinn, Temp und Druck war ok.
Ansonsten brauchst Du einen Vergleichswert, der möglichst nahe bei Dir liegt und auf gleicher Höhe und der seinen auf Meeresspiegel umgerechneten Druck bereit stellt.
Ich benutze dafür den Flughafen Nürnberg.
In einer relativ konstanten Wetterlage kannst Du dann damit Deinen Druck kalibrieren.
Gruß Tommy
Wie machst du das denn? So wie sich das für mich darstellt könntest du doch gleich den Wert aus Nürnberg verwenden. Wie bestimmest du denn die tatsächliche Differenz zwischen deinem Standort und dem Flh Nürnberg?
Ups, ich sehe gerade, die Seite gibt es nicht mehr. Sorry.
Da gab es bei stabilem Wetter keine Differenz. ca. 8 km Entfernung und gleiche Höhe)
Gruß Tommy