เครือข่าย Multipoint Mesh แบบมีสายราคาถูก


11

ฉันกำลังมองหาเซ็นเซอร์โหลด 15 x 15 ตารางและ LED RGB สำหรับฟลอร์เต้นรำแบบโต้ตอบ แต่ละโหนดจะถูกขับเคลื่อนโดย arduino และพื้นทั้งหมดจะถูกจัดการโดย RaspberryPi ฉันพยายามหาวิธีที่ดีที่สุดในการให้โหนดสื่อสารกับ Pi นึกคิดเครือข่ายจะมีลักษณะเหล่านี้:

  • ราคาต่อโหนดต่ำ
  • ราสเบอร์รี่ปี่ในฐานะปรมาจารย์โหนดอาร์ดิโนเป็นทาส
  • ความสามารถในการรู้ว่าแต่ละโหนดอยู่ในตาราง
  • การเยียวยา: ถ้าปมลงไปมันจะไม่นำออกมาทั้งหมด
  • สามารถแทนที่โหนดที่เสียหายได้อย่างง่ายดาย
  • อุปกรณ์อิเล็กทรอนิกส์สำหรับแต่ละโหนดจะห่างกัน ~ 12 นิ้ว
  • เจ้านายจะอยู่ห่างจากเมทริกซ์ 5 - 10 ฟุต

จนถึงตอนนี้ฉันได้ทำงานหนักกว่าสองสามเณร

I2C นี่จะอนุญาตให้แต่ละโหนดสามารถกำหนดแอดเดรสได้ แต่ดูเหมือนว่า Arduino จะอนุญาตได้เพียง 127 ที่อยู่เท่านั้นและเมทริกซ์นี้จะมีอย่างน้อย 225 โหนด

SPI ถ้าเดซี่ถูกล่ามโซ่มันจะง่ายต่อการรู้ว่าแต่ละโหนดอยู่ในเมทริกซ์ แต่ถ้ามีหนึ่งโหนดที่จะแตกโหนดทั้งหมดหลังจากนั้นก็จะหยุดสื่อสาร (ใช่ไหม) ฉันสามารถแยกเดซี่แต่ละแถวออกจากกันได้ดังนั้นหากใครลงไปมันจะมีผลกับแถวนั้นเท่านั้น

1-Wire 1-wireนั้นดูมีแนวโน้ม ฉันต้องหาวิธีของตัวเองในการกำหนดตำแหน่งของโหนดซึ่งสามารถทำได้หลายวิธี

Custom Serial แต่ละโหนดมีการเชื่อมต่อแบบอนุกรม (rx / tx) สำหรับแต่ละสี่ด้าน วิธีนี้จะช่วยให้สามารถสื่อสารกับแต่ละประเทศเพื่อนบ้านได้โดยตรงและส่งต่อข้อความที่ไม่ได้ส่งไปถึง หากมีหนึ่งโหนดที่จะลงไปข้อความจะถูกกำหนดเส้นทางโดยอัตโนมัติรอบ ๆ โหนดที่ขาดเนื่องจากมีหลายเส้นทางไปยังแต่ละปลายทาง ตัวเลือกนี้บ้าไปหน่อยและฉันต้องการหลีกเลี่ยงสิ่งที่กำหนดเองและซับซ้อน

USB สิ่งนี้จะต้องมีฮับ USB ในแต่ละโหนด

XBee แพงเกินไป

ความคิดหรือตัวเลือกอื่น ๆ ?


เมื่อคุณพูดถึง XBee แล้วโหนด nRF24 นั้นราคาถูกและสามารถเชื่อมต่อเครือข่ายได้

พวกเขาจะขยายไปสู่ระบบของ 225+ โหนดในพื้นที่ใกล้เคียง?
Jeremy Gillick

ฉันไม่เข้าใจว่าทำไมไม่วิทยุแต่ละเครื่องสามารถฟังวิทยุอื่น ๆ ได้ 6 รายการพร้อมกัน

ดูเหมือนว่า Arduino ต่อโหนดไม่ใช่วิธีที่ประหยัด อุปกรณ์เหล่านี้มีราคาแพงพอสมควร ทำไมไม่สร้างบอร์ดที่กำหนดเองที่ง่ายขึ้นโดยใช้หนึ่งในชิป AVR เช่น ATiny หากคุณสร้าง 225 nodes ราคา $ 30 / nodes จะแพงมาก
Duncan C

ในที่สุดการทำ AVR กำหนดเองต่อโหนดคือแผน ฉันจะทำต้นแบบกับ arduino ก่อน แต่ละโหนดไม่จำเป็นต้องฉลาดดังนั้นมันจะดียิ่งขึ้นถ้าฉันสามารถหาวิธีที่ง่ายในการ mux / demux อินพุต / เอาต์พุตจากแต่ละพาเนลโดยไม่มีไมโครคอนโทรลเลอร์
Jeremy Gillick

คำตอบ:


1

สำหรับ I2C คุณสามารถลองhttp://www.linear.com/product/LTC4312

สิ่งนี้จะช่วยให้คุณสร้างเครือข่าย I2C สองเครือข่ายเพื่อจัดการกับโหนดทั้งหมด

อย่างไรก็ตามการเดินสายสำหรับ I2C จะเป็นฝันร้าย แต่อาจจำเป็นถ้าคุณต้องการให้โหนดเป็นอิสระ


0

ฉันคิดว่าฉันจะใช้ RS-485

ด้วยมาตรฐานนี้คุณสามารถเขียนโปรโตคอลสื่อสารของคุณเองและด้วย arduino มันใช้งานง่ายกับคลาสอนุกรม ในฐานะที่เป็นส่วนขยายสำหรับ Arduino คุณจะใช้ MAX485 เพราะมันใช้ UART-cip ของ Arduino

ฉันไม่มีประสบการณ์กับ rasperypi อย่างแน่นอน แต่ฉันคิดว่ามันมี UART-Cip ด้วยเช่นกันซึ่งหมายความว่าคุณสามารถเชื่อมต่อ MAX485 ได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.