Tanie przewodowe sieci wielopunktowe


11

Chcę stworzyć siatkę czujników obciążenia 15 x 15 i diody LED RGB do interaktywnego parkietu tanecznego. Każdy węzeł będzie prowadzony przez arduino, a cała podłoga będzie zarządzana przez RaspberryPi. Próbuję znaleźć najlepszy sposób, aby węzły komunikowały się z Pi. Idealnie sieć miałaby następujące cechy:

  • Niski koszt na węzeł
  • Raspberry Pi jako mistrz, arduino węzły jako niewolnicy
  • Zdolność wiedzieć, gdzie znajduje się każdy węzeł w siatce
  • Leczenie: jeśli węzeł się zepsuje, nie usuwa wszystkich pozostałych.
  • Może łatwo zastąpić uszkodzone węzły
  • Elektronika dla każdego węzła będzie oddalona o około 12 cali
  • Mistrz będzie w odległości 5 - 10 stóp od matrycy.

Do tej pory pracowałem nad kilkoma idiami.

I2C Pozwoliłoby to na adresowanie każdego węzła, jednak wydaje się, że Arduino zezwoli tylko na 127 adresów, a ta matryca będzie miała co najmniej 225 węzłów.

SPI Jeśli łańcuch jest połączony, łatwo byłoby wiedzieć, gdzie jest każdy węzeł w macierzy. Ale jeśli jeden węzeł miałby przerwać wszystkie węzły po tym, jak przestałby się komunikować. (prawda?) Mógłbym mieć każdą stokrotkę z rzędu związaną osobno, więc jeśli ktoś zejdzie na dół, wpływa to tylko na ten rząd.

1-Wire 1-Wire również wygląda obiecująco. Musiałbym wymyślić własny sposób określania umiejscowienia węzłów, który można osiągnąć na wiele sposobów.

Niestandardowy szeregowy Każdy węzeł ma połączenie szeregowe (rx / tx) dla każdej z czterech stron. Pozwoliłoby to komunikować się bezpośrednio z każdym sąsiadem i przekazywać wiadomości, które nie są do niego adresowane. Gdyby jeden węzeł miał się zepsuć, komunikat byłby automatycznie kierowany wokół uszkodzonego węzła, ponieważ do każdego miejsca docelowego prowadzi kilka ścieżek. Ta opcja jest trochę szalona i wolałbym unikać czegoś tak niestandardowego i skomplikowanego.

USB Wymagałoby to koncentratora USB w każdym węźle.

XBee Zbyt drogie.

Inne myśli lub opcje?


Odkąd wspominałeś o XBee, węzły nRF24 są absurdalnie tanie i mogą być połączone w sieć.

Czy skalowaliby się do systemu ponad 225 węzłów w bliskiej przestrzeni?
Jeremy Gillick

Nie rozumiem, dlaczego nie, każde radio może jednocześnie słuchać 6 innych radiotelefonów.

Wydaje mi się, że Arduino na węzeł nie jest tanią drogą. Są to dość drogie urządzenia ogólnego zastosowania. Dlaczego nie zbudować prostszej płyty niestandardowej opartej na jednym z układów AVR, takiej jak ATiny? Jeśli budujesz 225 węzłów, wówczas 30 USD / węzeł staje się naprawdę drogie.
Duncan C

Ostatecznie planowanie niestandardowego AVR dla węzła jest planem. Najpierw będę prototypować to z arduino. Każdy węzeł nie musi nawet być inteligentny, więc byłoby jeszcze lepiej, gdybym mógł znaleźć prosty sposób na multipleksowanie / usuwanie danych wejściowych / wyjściowych z każdego panelu bez mikrokontrolera.
Jeremy Gillick

Odpowiedzi:


1

W przypadku I2C możesz wypróbować http://www.linear.com/product/LTC4312

Umożliwi to utworzenie dwóch sieci I2C do adresowania wszystkich węzłów.

Jednak okablowanie dla I2C będzie koszmarem, ale może być konieczne, jeśli chcesz, aby węzły były niezależne.


0

Myślę, że użyłbym RS-485.

Dzięki temu standardowi możesz napisać własny protokół komunikacyjny, a dzięki arduino jest łatwy w użyciu z klasą Serial. Jako rozszerzenia dla Arduino używasz tylko MAX485, ponieważ używa UART-cip Arduino.

Nie mam absolutnie żadnego doświadczenia z rasperypi, ale myślę, że ma on również UART-Cip, co oznaczałoby, że możesz także podłączyć MAX485.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.