envois de la température d'une DS18b20 avec un ESP-01 en modbus

Bonjour,

je désire envoyé la température de mon ballon d’eau chaude en Modbus TCP.

pour ce faire je me suis dit que je pourrai utiliser un module ESP-01 avec une sonde DS18b20( c’est la seul que j’avais avec un long câble )

mais ça ne fonctionne pas j’ai qu’un seul envoi est après mon “modbus maitre” me dit qu’il à pas de réponse

je pense que la librairie “One Wire” me bloque mon code

quelqu’un aurai une idée ?

Merci de votre aide

#include <ESP8266WiFi.h>
#include <ModbusTCPSlave.h>
#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into port 4 on the Arduino
#define ONE_WIRE_BUS 4

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensors(&oneWire);
//WIFI Settings
//byte ip[]      = { 192, 168, 1??, ??};
//byte gateway[] = { 192, 168, 1??, 1 };
//byte subnet[]  = { 255, 255, 255, 0 };

ModbusTCPSlave Mb;



void setup()
{

  Mb.begin("???", "???");
  sensors.begin();
  delay(1000);
/*  Mb.MBInputRegister[0] = 100;
  Mb.MBInputRegister[1] = 65500;
  Mb.MBInputRegister[2] = 300;
  Mb.MBInputRegister[3] = 400;
  Mb.MBInputRegister[4] = 500;

  Mb.MBHoldingRegister[0] = 1;
  Mb.MBHoldingRegister[1] = 2;
  Mb.MBHoldingRegister[2] = 3;
  Mb.MBHoldingRegister[3] = 4;
  Mb.MBHoldingRegister[4] = 5;
*/
}

void loop()
{ 
  sensors.requestTemperatures();
  
  Mb.MBHoldingRegister[0] = sensors.getTempCByIndex(0);
 
  Mb.Run();
  
 
  delay(10);
 }

est-ce que vous arrivez déjà à faire fonctionner l'exemple de base?

tant que ça ne fonctionne pas sans votre DS18b20, pas la peine de s'acharner

Oui l'exemple de base fonctionne avec des Radom .

Dès que j'introduis la DS18b20 ça ne fon4ionne plus

Merci