Дешева провідна багатопоточна мережа


11

Я хочу зробити 15 х 15 сітки датчиків навантаження та RGB світлодіоди для інтерактивного танцювального майданчика. Кожен вузол керуватиме ардуїно, а всім поверхом керуватиме RaspberryPi. Я намагаюся з'ясувати найкращий спосіб, щоб вузли спілкувалися з Пі. В ідеалі мережа мала б такі характеристики:

  • Низька вартість одного вузла
  • Малина Пі як господар, ардуїно вузли як раби
  • Можливість знати, де кожен вузол знаходиться в сітці
  • Зцілення: Якщо вузол опускається, він не виймає всіх інших.
  • Може легко замінити зламані вузли
  • Електроніка для кожного вузла буде ~ 12 дюймів
  • Майстер буде знаходитися в 5 - 10 футах від матриці.

Поки я працював над декількома ідами.

I2C Це дозволило б адресувати кожен вузол, однак, схоже, що Arduino дозволить отримати до 127 адрес, а ця матриця матиме щонайменше 225 вузлів.

SPI Якщо Дейзі прикутий, було б легко дізнатися, де кожен вузол знаходиться в матриці. Але якби один вузол зламав усі вузли після нього, він би перестав спілкуватися. (правда?) Я міг би кожен рядок маргаритки прикувати окремо, тож якщо один знизиться, це вплине лише на цей ряд.

1-провідний 1-провід також виглядає перспективно. Мені доведеться розібратися у власному способі визначення розміщення вузлів, якого можна досягти різними способами.

Спеціальна послідовна версія Кожен вузол має послідовне з'єднання (rx / tx) для кожної з чотирьох сторін. Це дозволить їй безпосередньо спілкуватися з кожним із своїх сусідів та передавати повідомлення, які не адресовані йому. Якщо один вузол повинен спуститися вниз, повідомлення буде автоматично направлено навколо зламаного вузла, оскільки до кожного пункту призначення є кілька шляхів. Цей варіант трохи божевільний, і я вважаю за краще уникати чогось такого звичного і перекрученого.

USB Для цього знадобиться концентратор USB у кожному вузлі.

XBee Занадто дорого.

Інші думки чи варіанти?


Оскільки ви згадали про XBee, вузли nRF24 смішно дешеві і можуть бути мережевими.

Чи могли б вони масштабуватися до системи з 225+ вузлів у близькому просторі?
Джеремі Гіллік

Я не бачу, чому ні, кожне радіо може прослухати одночасно 6 інших радіо.

Мені здається, що Arduino на вузол - це не дешевий шлях. Це досить дорогі пристрої загального призначення. Чому б не побудувати більш просту плату на базі одного з мікросхем AVR, як ATiny? Якщо ви будуєте 225 вузлів, то $ 30 / вузол стає дуже дорогим.
Дункан C

Зрештою, виконати спеціальний AVR на вузол - це план. Я просто спершу прототипую це з ардуїно. Кожен вузол навіть не потребує розумності, тому було б ще краще, якби я міг знайти простий спосіб mux / demux вводу / виводу з кожної панелі без мікроконтролера.
Джеремі Гіллік

Відповіді:


1

Для I2C ви можете спробувати http://www.linear.com/product/LTC4312

Це дозволить вам зробити дві мережі I2C для адреси всіх вузлів.

Однак проводка для I2C буде кошмаром, але це може знадобитися, якщо ви хочете, щоб вузли були незалежними.


0

Думаю, я би використовував RS-485.

За допомогою цього стандарту ви можете написати власний протокол зв'язку та з arduino його легко використовувати з класом Serial. В якості розширень для Arduino ви використовуєте лише MAX485, оскільки він використовує UART-cip Arduino.

У мене немає абсолютно ніякого досвіду роботи з расперипі, але я думаю, що він також має UART-Cip, що означає, що ви також можете підключити MAX485.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.