Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Development
  3. NodeManager
  4. DS18B20 ESP32 nodemanager problem

DS18B20 ESP32 nodemanager problem

Scheduled Pinned Locked Moved NodeManager
temperatureds18b20esp32node manager
2 Posts 1 Posters 817 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    A3V
    wrote on last edited by
    #1

    Hi,
    I tried to used Nodemanager on ESP32 using ardruine platformIO and cannot get DS18B20 working.
    I first tried Nodemaneger and a simple relay : this works fine.
    I use Nodemanager 1.8.0 Development branch
    and mysensors/MySensors 2.3.2
    DallasTemperature 3.10.0
    OneWire 2.3.7
    The problem occors at boot: It simple reboots with rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
    There is no other error.
    I tried to change the #include <sensors/SensorDs18b20.h>
    and it seems the problem starts when _sensors->begin(); is called.
    As a work around I changed the following:

    public:
    	SensorDs18b20(int8_t pin, uint8_t child_id = 0): Sensor(pin) {
    		_name = "DS18B20";
    		// initialize the library
           		OneWire* oneWire = new OneWire(_pin);
    		_sensors = new DallasTemperature(oneWire);
    		// initialize the sensors
           		//register a new child for each sensor on the bus
    		//for(int i = 0; i < _sensors->getDeviceCount(); i++) {
    		//	new Child(this,FLOAT,nodeManager.getAvailableChildId(child_id+i),S_TEMP,V_TEMP,_getAddress(i));
                    new Child(this,FLOAT,nodeManager.getAvailableChildId(child_id),S_TEMP,V_TEMP,_name);
        //	}
    	};
    

    and moved the _sensors.begin to onSetup:

    // define what to do during setup
    	void onSetup() {
    		_sensors->begin();
            for (int i = 1; i <= children.size(); i++) {
    			children.get(i);
    			nodeManager.sendMessage(children.get(i)->getChildId(),V_ID,_getAddress(i-1));
    		}
    	};
    

    Now it works but I can only have 1 sensor per pin.

    Any idea how to get this going correctly again?
    Regards, A3

    1 Reply Last reply
    0
    • A Offline
      A Offline
      A3V
      wrote on last edited by
      #2

      Updated the ESP-IDF from 4.4.0 to latest 5.1.1 and rebuild.
      Framework updated automatically to framework-arduinoespressif32 @ 3.20004.220825 (2.0.4)
      Test with 2 sensors on the same pin : Works fine.

      However there are two no blocking error messages:

      E (1275) gpio: gpio_isr_handler_remove(480): GPIO isr service is not installed, call gpio_install_isr_service() first
      

      Complete startup messages:

      163 MCO:BGN:INIT GW,CP=R-NGF---,FQ=240,REL=255,VER=2.3.2
      168 MCO:BGN:BFR
      169 NM:INIT:VER=1.9-dev
      171 NM:INIT:INO=Testcontroller v1.0
      174 NM:INIT:LIB VER=2.3.2 CP=R-NGF---
      178 NM:BFR:INIT
      1310 GWT:TIN:CONNECTING...
      1313 GWT:TIN:IP: 192.168.68.28
      1317 MCO:BGN:STP
      1335 NM:STP:ID=0 M=0
      1340 NM:LOOP:RELAY(1):SET t=2 v=0
      1359 NM:MSG:SEND(2) t=42 p=2864B875D0013C99
      1392 NM:MSG:SEND(3) t=42 p=28920675D0013CB4
      E (1275) gpio: gpio_isr_handler_remove(480): GPIO isr service is not installed, call gpio_install_isr_service() first
      E (1276) gpio: gpio_isr_handler_remove(480): GPIO isr service is not installed, call gpio_install_isr_service() first
      1407 NM:STP:HW V=0 F=240 M=49480
      1421 NM:LOOP:RELAY(1):SET t=2 v=0
      3424 MCO:REG:NOT NEEDED
      3426 MCO:BGN:INIT OK,TSP=NA
      3429 NM:MSG:SEND(1) t=2 p=0
      3968 NM:LOOP:2864B875D0013C99(2):SET t=0 v=22.75
      4537 NM:LOOP:28920675D0013CB4(3):SET t=0 v=22.19
      4542 NM:MSG:SEND(2) t=0 p=22.75
      4545 NM:MSG:SEND(3) t=0 p=22.19
      
      1 Reply Last reply
      0

      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

      With your input, this post could be even better 💗

      Register Login
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      13

      Online

      12.0k

      Users

      11.2k

      Topics

      113.4k

      Posts


      Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • MySensors
      • OpenHardware.io
      • Categories
      • Recent
      • Tags
      • Popular