シリアルモニターによって示されるESP32のコードを作成します。18B20ダラス温度センサーのアドレスとその温度を記述します。
ESP32でDallas 18B20温度センサーのアドレスと温度を読み取り、シリアルモニターに表示するには、OneWireライブラリとDallasTemperatureライブラリを使用します。使用できるコードの例を以下に示します：

```
#include <OneWire.h>
#include <DallasTemperature.h>

// Pin de datos del sensor
#define ONE_WIRE_BUS 4

// Instancia de la clase OneWire
OneWire oneWire(ONE_WIRE_BUS);

// Instancia de la clase DallasTemperature
DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(9600);
  sensors.begin();
}

void loop() {
  sensors.requestTemperatures();
  for (int i = 0; i < sensors.getDeviceCount(); i++) {
    Serial.print("Sensor ");
    Serial.print(i);
    Serial.print(" address: ");
    printAddress(sensors.getAddress(i));
    Serial.print(" temperature: ");
    Serial.println(sensors.getTempCByIndex(i));
  }
  delay(1000);
}

void printAddress(DeviceAddress deviceAddress) {
  for (uint8_t i = 0; i < 8; i++) {
    if (deviceAddress[i] < 16) Serial.print("0");
    Serial.print(deviceAddress[i], HEX);
    if (i < 7) Serial.print(":");
  }
```

このコードは、OneWireとDallasTemperatureライブラリをインクルードすることから始まります。センサーデータピンを 4 に設定し、OneWire クラスのインスタンスを初期化します。このインスタンスは、次にDallasTemperatureクラスのインスタンスを初期化するために使用されます。

setup()関数で、シリアル通信が開始され、センサーの読み取りがsensors.begin()で開始されます。

loop()関数では、温度の読み取りがsensors.requestTemperatures()で要求されます。次に、sensors.getDeviceCount() メソッドで各センサーを走査する。各センサーについて、printAddress()関数を使用してアドレスが16進数で表示され、sensors.getTempCByIndex(i)を使用して温度が摂氏で表示される。最後に、次の読み取りまでに1秒の遅延が追加される。

printAddress()関数を使用して、センサーアドレスを "xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx "の形式で表示します。