Дешевые проводные многоточечные сети


11

Я собираюсь сделать сетку датчиков нагрузки 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 слишком дорого.

Другие мысли или варианты?


Поскольку вы упоминали XBee, узлы nRF24 смехотворно дешевы и могут быть объединены в сеть.

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

Я не понимаю, почему нет, каждая радиостанция может слушать 6 других радиостанций одновременно.

Мне кажется, что Arduino на узел не является дешевым способом. Это довольно дорогие устройства общего назначения. Почему бы не создать более простую пользовательскую плату на основе одного из чипов AVR, например ATiny? Если вы строите 225 узлов, то $ 30 / узел становится действительно дорогим.
Дункан C

В конечном счете, создание собственного AVR для каждого узла - это план. Сначала я буду прототипировать его с помощью Arduino. Каждый узел даже не должен быть умным, поэтому было бы еще лучше, если бы я мог найти простой способ мультиплексирования / демультиплексирования ввода / вывода с каждой панели без микроконтроллера.
Джереми Гиллик,

Ответы:


1

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

Это позволит вам создать две сети I2C для адресации всех узлов.

Тем не менее, проводка для I2C будет кошмаром, но это может быть необходимо, если вы хотите, чтобы узлы были независимыми.


0

Я думаю, что я бы использовал RS-485.

С этим стандартом вы можете написать свой собственный коммуникационный протокол, а с Arduino его легко использовать с классом Serial. В качестве расширений для Arduino вы используете только MAX485, потому что он использует UART-чип Arduino.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.