Hallo liebe Leute,
ich habe nach Jahren der Abstinenz mal wieder etwas gebastelt, bzw. ich bin dabei.
Dabei sind mehrere ESP32 die je einen Bosch BME280 Sensor oder DS18B20 Temperatursensor abfragen. Der Sensor BME280 kann Temperatur, Luftdruck und Luftfeuchtigkeit messen.
Bestellt habe ich diese Sensoren: GY-BME280 bei az-delivery.de – AZ-Delivery
Angeschlossen ist er über I2C an einen ESP32 Node MCU. Jeder ESP wird regelmäßig von einem Raspi befragt.
Nach dieser Anleitung ist es verkabelt:
Ich möchte gern den Sensor ganz Individuell bestimmen ohne jedem ESP einen eigenen Code zu verpassen. Dazu habe ich hier gesehen, dass jeder Bosch Sensor eine einzigartige ID hat: Solved: Re: Unique IDs in Bosch Sensors?
Abfragen tu ich den Sensor im ESP für diesen Faden nach folgendem Code:
/*********
 Complete project details at https://randomnerdtutorials.comÂ
*********/
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
/*#include <SPI.h>
#define BME_SCK 18
#define BME_MISO 19
#define BME_MOSI 23
#define BME_CS 5*/
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme; // I2C
//Adafruit_BME280 bme(BME_CS); // hardware SPI
//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software SPI
unsigned long delayTime;
void setup() {
 Serial.begin(115200);
 Serial.println(F("BME280 test"));
 bool status;
 // default settings
 // (you can also pass in a Wire library object like &Wire2)
 status = bme.begin(0x76);Â
 if (!status) {
  Serial.println("Could not find a valid BME280 sensor, check wiring!");
  while (1);
 }
 Serial.println("-- Default Test --");
 delayTime = 1000;
 Serial.println();
}
void loop() {
 printValues();
 delay(delayTime);
}
void printValues() {
 Serial.print("Temperature = ");
 Serial.print(bme.readTemperature());
 Serial.println(" *C");
Â
 // Convert temperature to Fahrenheit
 /*Serial.print("Temperature = ");
 Serial.print(1.8 * bme.readTemperature() + 32);
 Serial.println(" *F");*/
Â
 Serial.print("Pressure = ");
 Serial.print(bme.readPressure() / 100.0F);
 Serial.println(" hPa");
 Serial.print("Approx. Altitude = ");
 Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
 Serial.println(" m");
 Serial.print("Humidity = ");
 Serial.print(bme.readHumidity());
 Serial.println(" %");
 Serial.println();
}
Wie bekomme ich die Ausgabe der "uniq id" in den Block "printValues()" hinein? Vielen Dank im Voraus. ![]()