I collect data from over 30 temperature sensors in my WAGO PLC-based home automation system. So far I've been using a module from the DS2482-800, which I made into a Raspberry Pi . However, I decided to free myself from the complexity of the RPi and the complications of maintaining a Linux device living on a micro SD card.
I have not found anything on the market that suits my needs, i.e. to support an extensive sensor network and to use an Ethernet connection. I'm tired of archaic RS232 or modules programmable via a separate USB cable and ancient dedicated software.
To build a fully independent and self-contained module, I reached for an ESP32 with Ethernet support. I added an extension with a DS2482-800 after I2C and plugs, a housing from a 3D printer and out came a pretty neat module that has been living in my cupboard for a few weeks.
The key for me in my role as a user is the browser-accessible interface, offering:
- a view of the current temperature/humidity or sunshine intensity readings
- graphs with stored data
- system configuration, allowing the user to change the admin password, select connection via Ethernet or Wi-Fi (+add AP authentication parameters), set a fixed IP address, specify the hostname (mDNS), upload new firmware, archive the configuration, reset the module to factory settings.
- sensor configuration for selecting the temperature reading unit, defining the 1-wire network configuration (parasite mode: 2-wire or 3-wire), specifying sensor names, assigning a modbus address to the sensors, enabling data logging (from up to 16 sensors), specifying the sensor type for the 2438 module, downloading sensor settings to JSON / playback from file.
- mODBUS configuration to specify the module number and enable/disable Modbus functionality.
- configure MQTT allowing you to specify the IP and port of the Broker, provide credentials, specify message prefix and sending interval.
- display the message log of the module.
My module reads data from 32 sensors, although the software limit is set to 254. However, I have no way of testing this.
Finally, 2 words explaining why I choose the DS2482-800, despite its price. I want to be able to connect the sensors along the wires I have, which are not laid out with a 1-wire network in mind. In my installation, a twisted-pair cable runs to each wall connector. The network is therefore star-shaped. Each additional sensor causes interference to build up. The DS2482-800 has 8 independent channels. When a new sensor causes unstable readings, I switch it to the next fresh channel and build the network further. Brute force prevails, but needs hardware backup.
If anyone has any suggestions for further development/functionality - I would appreciate comments. Regarding questions about post MODBUS integration with PLC - I am available.
As no less than 5 boards are ordered for the JLCPCB, I still have 4 redundant ones. I have assembled 1 module and can resell +/- at cost if anyone would like to test in their installation.
I have not found anything on the market that suits my needs, i.e. to support an extensive sensor network and to use an Ethernet connection. I'm tired of archaic RS232 or modules programmable via a separate USB cable and ancient dedicated software.
To build a fully independent and self-contained module, I reached for an ESP32 with Ethernet support. I added an extension with a DS2482-800 after I2C and plugs, a housing from a 3D printer and out came a pretty neat module that has been living in my cupboard for a few weeks.
The key for me in my role as a user is the browser-accessible interface, offering:
- a view of the current temperature/humidity or sunshine intensity readings
- graphs with stored data
- system configuration, allowing the user to change the admin password, select connection via Ethernet or Wi-Fi (+add AP authentication parameters), set a fixed IP address, specify the hostname (mDNS), upload new firmware, archive the configuration, reset the module to factory settings.
- sensor configuration for selecting the temperature reading unit, defining the 1-wire network configuration (parasite mode: 2-wire or 3-wire), specifying sensor names, assigning a modbus address to the sensors, enabling data logging (from up to 16 sensors), specifying the sensor type for the 2438 module, downloading sensor settings to JSON / playback from file.
- mODBUS configuration to specify the module number and enable/disable Modbus functionality.
- configure MQTT allowing you to specify the IP and port of the Broker, provide credentials, specify message prefix and sending interval.
- display the message log of the module.
My module reads data from 32 sensors, although the software limit is set to 254. However, I have no way of testing this.
Finally, 2 words explaining why I choose the DS2482-800, despite its price. I want to be able to connect the sensors along the wires I have, which are not laid out with a 1-wire network in mind. In my installation, a twisted-pair cable runs to each wall connector. The network is therefore star-shaped. Each additional sensor causes interference to build up. The DS2482-800 has 8 independent channels. When a new sensor causes unstable readings, I switch it to the next fresh channel and build the network further. Brute force prevails, but needs hardware backup.
If anyone has any suggestions for further development/functionality - I would appreciate comments. Regarding questions about post MODBUS integration with PLC - I am available.
As no less than 5 boards are ordered for the JLCPCB, I still have 4 redundant ones. I have assembled 1 module and can resell +/- at cost if anyone would like to test in their installation.