Saya mencari untuk membuat 15 x 15 grid sensor beban dan LED RGB untuk lantai dansa interaktif. Setiap node akan digerakkan oleh arduino dan seluruh lantai akan dikelola oleh RaspberryPi. Saya mencoba mencari cara terbaik untuk membuat node berkomunikasi dengan Pi. Idealnya jaringan akan memiliki karakteristik ini:
- Biaya rendah per node
- Raspberry Pi sebagai master, arduino node sebagai slave
- Kemampuan untuk mengetahui di mana setiap node berada di grid
- Penyembuhan: Jika sebuah simpul turun, itu tidak menghilangkan yang lainnya.
- Dapat dengan mudah mengganti node yang rusak
- Elektronik untuk setiap node akan terpisah ~ 12 inci
- Master akan berjarak 5 - 10 kaki dari matriks.
Sejauh ini saya telah bekerja keras selama beberapa hari.
I2C Ini akan memungkinkan setiap node untuk dialamatkan, namun, tampaknya Arduino hanya akan mengizinkan hingga 127 alamat dan matriks ini akan memiliki setidaknya 225 node.
SPI Jika daisy dirantai akan mudah untuk mengetahui di mana setiap node dalam matriks. Tetapi jika satu node memutuskan semua node setelah itu akan berhenti berkomunikasi. (kanan?) Saya dapat membuat setiap baris daisy dirantai secara terpisah, jadi jika salah satu turun hanya mempengaruhi baris itu.
1-Kawat 1-kawat juga terlihat menjanjikan. Saya harus mencari tahu cara saya sendiri menentukan penempatan simpul, yang dapat dicapai dengan berbagai cara.
Serial Kustom Setiap node memiliki koneksi serial (rx / tx) untuk masing-masing keempat sisinya. Ini akan memungkinkannya untuk berkomunikasi dengan masing-masing tetangga secara langsung dan menyampaikan pesan yang tidak ditujukan kepadanya. Jika satu node turun, pesan akan secara otomatis dialihkan di sekitar node yang rusak karena ada beberapa jalur ke setiap tujuan. Opsi ini sedikit gila dan saya lebih suka menghindari sesuatu yang begitu custom dan berbelit-belit.
USB Ini akan membutuhkan hub USB di setiap node.
XBee Terlalu mahal.
Pikiran atau pilihan lain?
sumber
Jawaban:
Untuk I2C Anda dapat mencoba http://www.linear.com/product/LTC4312
Ini akan memungkinkan Anda untuk membuat dua jaringan I2C untuk mengatasi semua node.
Namun, perkabelan untuk I2C akan menjadi mimpi buruk, tetapi mungkin perlu jika Anda ingin agar node independen.
sumber
Saya pikir saya akan menggunakan RS-485.
Dengan standar ini, Anda dapat menulis protokol komunikasi Anda sendiri dan dengan Arduino mudah digunakan dengan kelas Serial. Sebagai ekstensi untuk Arduino, Anda hanya menggunakan MAX485 karena menggunakan cip UART dari Arduino.
Saya sama sekali tidak memiliki pengalaman dengan rasperypi tapi saya pikir itu juga memiliki UART-Cip apa artinya, bahwa Anda juga dapat menghubungkan MAX485.
sumber