Here is part of my Proview.se installation to log some temperature and humidity values in our factory.
The loggers are built on Arduino Ethernet with PoE and runs ModbusTCP (look for “Mudbus” on Github ) and the sensors are SHT75 from Sensirion. The communication protocol to the sensor is https://github.com/siamect/arduino-sht75-sensor-and-modbus-tcp Most of the code comes from this project https://github.com/practicalarduino/SHT1x
We have expanded the number of loggers from 5 to 15 without any problems.
It is important to have the sensor far away from the box because the PoE converter is generating some heat. The unit is mounted with the ethernet cable coming from below so that the sensor is the lowest point. The material is acrylic. the box is a standard Arduino box purchased from RS-Components.
The communication between the sensor and the Arduino is digital. The reason to why the signals go to the Ax pins is because they are closer to the pins with the power and ground. The Ax pins can be configured either as digital signals as in this case or analog inputs.
The “Air-Card” in the USB port of the computer is sending SMS when things goes wrong. I use sms server tools3 for that. Proview is configured to execute a script that creates an sms file for each user.
The ZyXel switches provide Power over Ethernet. Only 4 of the ports are PoE capable
And no… it is not dust on the switches…
Hello! Congratulations on creating what I believe to be the greatest control for Arduino! I work with Modbus devices for the company I work for as well as a hobby and I am having an issue I hope you can help me with. I am trying to move data from a temp sensor (Dallas DS18B20) using the one wire lib combined with your Mudbus TCP/IP. The master is an HMI (MapleSystems) and I am able to write to all of the coils but I can’t seem to read the Holding Registers. The temp sensor data shows in the Serial Monitor but I can’t see it with Modscan32 (I use this for testing prior to creating HMI program). Perhaps I can send you my program to give a little push in the right direction? I have tried the following: Mb.R == tempC; , digitalWrite(tempC, Mb.R);
As you can see I am pretty new to writing this code but I have a good solid working knowledge of Modbus RTU and IP protocols. If you have the time please contact me! Thank you for your time!
Sorry for my late reply… Did you solve the problem?