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?