I would use CAN bus - as long as all the nodes have a unique ID, it has lossless arbitration; i.e. even if all the nodes decided to transmit at the same time, it’ll self arbitrate losslessly and all the nodes will wait their turn.
(Read up on CAN bus, it really is elegant)
You’ll want 4 connections: VCC, GND, CAN+, CAN-. I’d recommend RJ45 patch cables, with the power pins tripled up:
Then just order a bulk load of ethernet patch cables.
Bonus thought 1: I’m designing a low-CPU-load CAN bus transceiver for Raspberry Pi. It’ll be ready soon.
Bonus thought 2: Making a board based on the LPC11C22 would be a single chip CAN bus uC solution (it has a built-in transceiver) and it has a ROM CAN bootloader, so a pushswitch on the PCB to trigger the bootloader mode and the Raspberry Pi can just download new firmware on, over the existing CAN bus. Easy peasy.
Bonus thought 3: You don’t necessarily need to make waterproof enclosures - conformal coating spray on the PCB will go a long way to making it condensation proof.
Bonus thought 4: I am so on board with helping with this.
Bonus thought 5: Maybe make VCC 12V or 24V and have a 5V buck regulator on each board. There are chinese buck ICs that cost peanuts each.