I have a need to monitor several sensor nodes, all within a couple meters, with small polled data readings (a few bytes) at low sample rates.
Rather than implementing something like an RS-485 network, I think this simple network will work. Each sensor node will have a PIC18F micro. Each sensor node UART Tx line would be paralleled via tri-state buffers, and connected to the host Rx. The host Tx line would be connected in parallel with all the sensor node Rx lines.
The host would send a message "node 1 send data". Node 1 would enable its tri-state buffer, communicate as needed, and disable its buffer. Other nodes would respond when queried. No data is sent by a node until requested, so no data sync problems. The nodes only see data send by the host, so no need to strain through a large stream of data looking for commands, nor the possibility of misinterpreting data streams as a command. 9600 baud is fine for this app.
Any problems with this idea?
Rather than implementing something like an RS-485 network, I think this simple network will work. Each sensor node will have a PIC18F micro. Each sensor node UART Tx line would be paralleled via tri-state buffers, and connected to the host Rx. The host Tx line would be connected in parallel with all the sensor node Rx lines.
The host would send a message "node 1 send data". Node 1 would enable its tri-state buffer, communicate as needed, and disable its buffer. Other nodes would respond when queried. No data is sent by a node until requested, so no data sync problems. The nodes only see data send by the host, so no need to strain through a large stream of data looking for commands, nor the possibility of misinterpreting data streams as a command. 9600 baud is fine for this app.
Any problems with this idea?