Я собираюсь сделать сетку датчиков нагрузки 15 х 15 и светодиодов RGB для интерактивного танцпола. Каждый узел будет управляться Arduino, а весь этаж будет управляться RaspberryPi. Я пытаюсь выяснить, как лучше связать узлы с Пи. В идеале сеть должна иметь следующие характеристики:
- Низкая стоимость на узел
- Raspberry Pi как хозяин, узлы arduino как рабы
- Возможность узнать, где находится каждый узел в сетке
- Исцеление: если узел выходит из строя, он не уничтожает все остальные.
- Может легко заменить сломанные узлы
- Электроника для каждого узла будет на расстоянии ~ 12 дюймов
- Мастер будет на расстоянии 5 - 10 футов от матрицы.
До сих пор я трудился над несколькими идеями.
I2C Это позволит каждому адресу быть адресуемым, однако, похоже, что Arduino разрешит только до 127 адресов, и эта матрица будет иметь по крайней мере 225 узлов.
SPI Если бы была подключена гирлянда, было бы легко узнать, где находится каждый узел в матрице. Но если один узел сломает все узлы после того, как он прекратит связь. (верно?) Я мог бы соединить каждую гирлянду в ряд отдельно, поэтому, если один из них выйдет из строя, это повлияет только на этот ряд.
1-Wire 1-wire также выглядит многообещающе. Я должен был бы придумать свой собственный способ определения размещения узлов, что может быть достигнуто различными способами.
Custom Serial Каждый узел имеет последовательное соединение (rx / tx) для каждой из четырех сторон. Это позволило бы ему общаться с каждым из его соседей напрямую и передавать сообщения, которые не адресованы ему. Если один узел должен был выйти из строя, сообщение будет автоматически направлено вокруг сломанного узла, поскольку существует несколько путей к каждому месту назначения. Этот вариант немного сумасшедший, и я предпочел бы избегать чего-то такого необычного и запутанного.
USB Для этого потребуется USB-концентратор в каждом узле.
XBee слишком дорого.
Другие мысли или варианты?