I am building a very large device -- imagine a shipping container. I plan to have many sensors of various sorts distributed around the container -- imagine temp, CO, etc. I cannot use bluetooth or any other sort of radio, and there will be no wifi, so everything has to be wired and local. I will have a Pi (or something equivalent) with many fewer IO pins than I have sensors. I don't want to have to run a bunch of wires from every sensor to the Pi -- for one thing there would be wires all over the place, and for another there aren't enough pins on the Pi. My idea is to build a local Arduino daisy chain, something like: Eacn sensor (to make it easy) has its own controlling Ard. and they are linked to one another by ... what? ... twisted pair? Then the Pi somehow indexes each Ard by some assigned ID? Okay, I'm clearly running out of my knowledge here. Thanks for any guidance you can offer.
You will encounter serious problems with transmitting data reliably over long wires, from multiple nodes, no matter what you do.
I2C communications are out of the question for distances of more than a few cm, but what you describe could be realized with a multidrop RS485 serial bus. RS422 is also a possibility.
There will be a master node and many slave nodes. Individual RS485 interfaces are required for each node, and the programming will be a LOT of work.
Ethernet using CAT5 or CAT6 wiring would also be appropriate. As said, lots of programming and testing.
Thank you!
Thank you! (Both)
Depending on what Arduino you use, there can be many sensors per Arduino, maybe as high as 20.
If I had $200 it looks like an Opta RS485 would just solve the problem, no?
Look at MODBUS, link and physical layers. It's simple, been around since 1979 and can be implemented cheaply. There are newer networks and protocols, but this probably hits all the buttons for simplicity, low cost and literal tons of examples and documentation because it's so old.
That could be a master node, but so could a Mega with an RS485 adapter, for far less $.
I would second Ethernet as suggested by @Paul_KD7HB
for the sensor nodes have a look at the WT32-ETH01 module
depending on interface protocols used (e.g. I2C, SPI, serial RS232, etc) and distances to the sensors a single WT32-ETH01 could support several sensors
you could run a TCP or UDP server/client protocol over Ethernet for the nodes reporting to the Raspberry Pi
EDIT: if interested in RS485 have a look at the 2-Channel RS485 module for Raspberry Pi Pico - it has a Standard Raspberry Pi Pico header so saves the problems associated with interconnecting wires
agree.
check Modbus RTU - it's based on RS485 and should work in the size of a shipping container. And you will find lot of industry grade sensors for Modbus already.
have a look at the Waveshare ESP32-S3-ETH supports POE and onboard camera