廉价的有线多点网状网络


11

我希望为交互式舞池制作15 x 15的负载传感器和RGB LED网格。每个节点将由arduino驱动,整个楼层将由RaspberryPi管理。我正在尝试找出使节点与Pi进行通信的最佳方法。理想情况下,网络应具有以下特征:

  • 每节点成本低
  • Raspberry Pi作为主节点,arduino节点作为从节点
  • 知道每个节点在网格中的位置的能力
  • 修复:如果某个节点发生故障,它并不能消除所有其他节点。
  • 可以轻松更换损坏的节点
  • 每个节点的电子设备之间的距离约为12英寸
  • 主机将距离矩阵5至10英尺。

到目前为止,我一直在努力学习一些想法。

I2C 这将允许每个节点可寻址,但是,似乎Arduino仅允许多达127个地址,并且此矩阵将至少具有225个节点。

SPI 如果以菊花链方式链接,则很容易知道每个节点在矩阵中的位置。但是,如果一个节点要在断开所有通信之后中断所有节点,它将停止通信。(对吗?)我可以将每一行雏菊单独地链接起来,因此,如果发生故障,则只会影响该行。

1-Wire 1-wire也看起来很有希望。我必须弄清楚自己确定节点放置的方式,可以通过多种方式来实现。

自定义串行 每个节点的四个侧面都有一个串行连接(rx / tx)。这将允许它直接与其每个邻居进行通信,并传递未发送给它的消息。如果一个节点发生故障,由于到每个目的地都有多个路径,因此该消息将自动在断开的节点周围路由。这个选项有点疯狂,我宁愿避免一些自定义和令人费解的事情。

USB 这将在每个节点中需要一个USB集线器。

XBee 太贵了。

其他想法或选择?


既然您确实提到了XBee,nRF24节点便宜得可笑,并且可以进行网状网络连接。

它们会扩展到近距离内包含225个以上节点的系统吗?
Jeremy Gillick 2014年

我不明白为什么不这样,每个收音机都可以一次收听另外6个收音机。

在我看来,每个节点使用Arduino并不是一种便宜的方法。这些是相当昂贵的通用设备。为什么不基于一种AVR芯片(如ATiny)构建更简单的定制板呢?如果您要构建225个节点,那么$ 30 /节点将变得非常昂贵。
邓肯C

最终,每个节点都将执行自定义AVR。我将首先使用arduino制作原型。每个节点甚至都不需要很聪明,所以如果我能找到一种简单的方法来对每个面板的输入/输出进行多路复用/多路分解而不使用微控制器,那就更好了。
杰里米·吉利克

Answers:



0

我想我会使用RS-485。

使用此标准,您可以编写自己的通信协议,并且使用arduino,可以很容易地与Serial类一起使用。作为Arduino的扩展,您只能使用MAX485,因为它使用Arduino的UART-cip。

我绝对没有使用rasperypi的经验,但我认为它也具有UART-Cip的含义,即您也可以连接MAX485。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.