インタラクティブなダンスフロア用に、負荷センサーとRGB LEDの15 x 15グリッドを作成したいと考えています。各ノードはArduinoによって駆動され、フロア全体はRaspberryPiによって管理されます。私はノードがPiと通信するための最良の方法を見つけ出そうとしています。理想的には、ネットワークには次の特性があります。
- ノードあたりの低コスト
- マスターとしてのRaspberry Pi、スレーブとしてのarduinoノード
- 各ノードがグリッドのどこにあるかを知る能力
- 修復:ノードがダウンしても、他のノードはすべて削除されません。
- 壊れたノードを簡単に置き換えることができます
- 各ノードの電子機器は約12インチ離れています。
- マスターはマトリックスから5〜10フィート離れています。
これまでのところ、私はいくつかのイデアについて苦労しています。
I2C これにより、各ノードをアドレス指定できるようになりますが、Arduinoでは最大127個のアドレスしか許可されず、このマトリックスには少なくとも225個のノードがあるようです。
SPI デイジーチェーン接続されている場合、各ノードがマトリックスのどこにあるかを簡単に知ることができます。しかし、1つのノードが通信を停止した後ですべてのノードを切断した場合。(右?)各行を個別にデイジーチェーンで接続できるので、1つがダウンしてもその行にのみ影響します。
1-Wire 1-wireも有望に見えます。ノードの配置を決定する独自の方法を理解する必要があります。これは、さまざまな方法で実現できます。
カスタムシリアル 各ノードには、4つの側面のそれぞれにシリアル接続(rx / tx)があります。これにより、各ネイバーと直接通信し、自分宛でないメッセージを渡すことができます。1つのノードがダウンした場合、各宛先へのパスがいくつかあるため、メッセージは自動的に壊れたノードの周りにルーティングされます。このオプションは少しおかしいので、あまりにもカスタムで複雑なものは避けたいと思います。
USB これには、各ノードにUSBハブが必要です。
XBee高 すぎる。
他の考えやオプション?