Red de malla multipunto con cable barata

11

Estoy buscando hacer una cuadrícula de sensores de carga de 15 x 15 y LED RGB para una pista de baile interactiva. Cada nodo será conducido por un arduino y todo el piso será manejado por un RaspberryPi. Estoy tratando de descubrir la mejor manera de que los nodos se comuniquen con el Pi. Idealmente, la red tendría estas características:

  • Bajo costo por nodo
  • Raspberry Pi como el maestro, arduino nodos como esclavos
  • Capacidad para saber dónde está cada nodo en la cuadrícula
  • Curación: si un nodo cae, no elimina a todos los demás.
  • Puede reemplazar fácilmente los nodos rotos
  • La electrónica para cada nodo estará a ~ 12 pulgadas de distancia
  • El maestro estará a 5 - 10 pies de distancia de la matriz.

Hasta ahora he estado trabajando en algunas ideas.

I2C Esto permitiría que cada nodo sea direccionable, sin embargo, parece que Arduino solo permitirá hasta 127 direcciones y esta matriz tendrá al menos 225 nodos.

SPI Si se conecta en cadena, sería fácil saber dónde está cada nodo en la matriz. Pero si un nodo rompiera todos los nodos después, dejaría de comunicarse. (¿verdad?) Podría hacer que cada fila se encadenara por separado, por lo que si una baja, solo afectará a esa fila.

1-Wire 1-wire también parece prometedor. Tendría que descubrir mi propia forma de determinar la ubicación de los nodos, que podría lograrse de varias maneras.

Serie personalizada Cada nodo tiene una conexión en serie (rx / tx) para cada uno de sus cuatro lados. Esto le permitiría comunicarse con cada uno de sus vecinos directamente y transmitir mensajes que no están dirigidos a él. Si un nodo cayera, el mensaje se enrutaría automáticamente alrededor del nodo roto ya que hay varias rutas a cada destino. Esta opción es un poco loca y preferiría evitar algo tan personalizado y complicado.

USB Esto requeriría un concentrador USB en cada nodo.

XBee Demasiado caro.

¿Otros pensamientos u opciones?

Jeremy Gillick
fuente
Como mencionó XBee, los nodos nRF24 son ridículamente baratos y pueden conectarse en red.
¿Escalarían a un sistema de más de 225 nodos en un espacio cerrado?
Jeremy Gillick
No veo por qué no, cada radio puede escuchar otras 6 radios a la vez.
Me parece que un Arduino por nodo no es una forma barata de hacerlo. Esos son dispositivos de uso general bastante caros. ¿Por qué no construir una placa personalizada más simple basada en uno de los chips AVR como un ATiny? Si está construyendo 225 nodos, entonces $ 30 / nodo se vuelve realmente costoso.
Duncan C
En última instancia, hacer un AVR personalizado por nodo es el plan. Solo voy a crear prototipos con arduino primero. Cada nodo ni siquiera necesita ser inteligente, por lo que sería aún mejor si pudiera encontrar una manera simple de mux / demux la entrada / salida de cada panel sin un microcontrolador.
Jeremy Gillick

Respuestas:

1

Para I2C puede probar http://www.linear.com/product/LTC4312

Esto le permitirá crear dos redes I2C para direccionar todos los nodos.

Sin embargo, el cableado para I2C será una pesadilla, pero podría ser necesario si desea que los nodos sean independientes.

Treesrule14
fuente
0

Creo que usaría RS-485.

Con este estándar, puede escribir su propio protocolo de comunicación y con arduino es fácil de usar con la clase Serial. Como extensiones para el Arduino, solo usa el MAX485 porque usa el UART-cip del Arduino.

No tengo absolutamente ninguna experiencia con el rasperypi, pero creo que también tiene un UART-Cip, lo que significaría que también puede conectar el MAX485.

Jonas Peter
fuente