Я хочу зробити 15 х 15 сітки датчиків навантаження та RGB світлодіоди для інтерактивного танцювального майданчика. Кожен вузол керуватиме ардуїно, а всім поверхом керуватиме RaspberryPi. Я намагаюся з'ясувати найкращий спосіб, щоб вузли спілкувалися з Пі. В ідеалі мережа мала б такі характеристики:
- Низька вартість одного вузла
- Малина Пі як господар, ардуїно вузли як раби
- Можливість знати, де кожен вузол знаходиться в сітці
- Зцілення: Якщо вузол опускається, він не виймає всіх інших.
- Може легко замінити зламані вузли
- Електроніка для кожного вузла буде ~ 12 дюймів
- Майстер буде знаходитися в 5 - 10 футах від матриці.
Поки я працював над декількома ідами.
I2C Це дозволило б адресувати кожен вузол, однак, схоже, що Arduino дозволить отримати до 127 адрес, а ця матриця матиме щонайменше 225 вузлів.
SPI Якщо Дейзі прикутий, було б легко дізнатися, де кожен вузол знаходиться в матриці. Але якби один вузол зламав усі вузли після нього, він би перестав спілкуватися. (правда?) Я міг би кожен рядок маргаритки прикувати окремо, тож якщо один знизиться, це вплине лише на цей ряд.
1-провідний 1-провід також виглядає перспективно. Мені доведеться розібратися у власному способі визначення розміщення вузлів, якого можна досягти різними способами.
Спеціальна послідовна версія Кожен вузол має послідовне з'єднання (rx / tx) для кожної з чотирьох сторін. Це дозволить їй безпосередньо спілкуватися з кожним із своїх сусідів та передавати повідомлення, які не адресовані йому. Якщо один вузол повинен спуститися вниз, повідомлення буде автоматично направлено навколо зламаного вузла, оскільки до кожного пункту призначення є кілька шляхів. Цей варіант трохи божевільний, і я вважаю за краще уникати чогось такого звичного і перекрученого.
USB Для цього знадобиться концентратор USB у кожному вузлі.
XBee Занадто дорого.
Інші думки чи варіанти?