Günstigster Weg, um mit einem Fez Panda II (oder Arduino-Board) zu kommunizieren?

Ich habe eine Anwendung, bei der ich 30 Fez Panda II-Boards miteinander verbinden werde. Sie werden auf einer Fläche von etwa 100 x 150 m verteilt.

Ich bevorzuge die TCP/IP-Kommunikation, aber das Hinzufügen eines FEZ Connect Shield erhöht die Kosten von 35 US-Dollar pro Stück, und ich hatte gehofft, etwas weniger Teures zu haben.

Ich würde gerne sogar das eingebaute USB-Kabel verwenden, wenn es nur eine Möglichkeit wäre, sie alle über diese große Entfernung mit einem Computer zu verbinden.

Antworten (2)

Lassen Sie die Serie von einem zum Serieneingang des nächsten gehen, erstellen Sie eine große Schleife. Erstellen Sie Ihre eigene einfache Paketstruktur und Ihr eigenes Protokoll. Wenn ein Board ein Paket erhält, das nicht an es adressiert ist, leitet es es einfach weiter. Billiger als USB- oder Ethernet-Kabel, keine Abschirmungen, sehr wenig Software erforderlich. Wenn Sie lange Strecken haben, können Sie ein Differenzialpaar hinzufügen, z. B. einen RS422-Transceiver (422? 485? Was ist das?).

Wenn dies eine Einwegkommunikation ist, von einem Host oder Controller irgendeiner Art und die Fex/Arduinos sind nur Slaves, dann brauchen Sie nur einen Draht, der an alle Platinen geführt wird, wenn Sie den Lüfter ausschalten können. gleiche Art von Protokoll, wenn die Karte ihre Adresse im Paket nicht erkennt, verwirft sie sie.
dann wird die Round-Robin/Token-Ring-Sache funktionieren
Sie schlagen etwas anderes als einen Bus vor, wie RS485? Dies muss ein korrekter Kreis sein und er kann nicht gebrochen werden, oder?
ja das schlage ich vor. ein ganzer Kreis. Es gibt andere einfache Schnittstellen, die ebenfalls funktionieren. Muss das eine Master-Slave-Situation sein oder kann jeder mit jedem reden?
Es wird eine Master-Slave-Situation sein. Ich habe über i2c nachgedacht, aber ich weiß nicht, ob es die Entfernungen zurücklegen wird, die ich brauche (vielleicht 500 Fuß Gesamtlänge des Busses).
Richtig, Sie könnten ein Dallas One-Wire-Ding versuchen, mit den eigentlichen Dallas-Halbteilen würden sie 1000 Fuß gehen, so sagten sie. Es ist dasselbe wie i2c oder spi, gemeinsame Drähte mit einem langen Pull-up.
vielleicht drahtlos, wenn Sie einen vollständigen Transceiver (Antenne) finden, der deutlich unter dem Preis der Ethernet-Option liegt. Ich denke, dies benötigt eine Antenne, und ich sehe die auf sparkfun.com/products/9582 aufgeführte Reichweite nicht
sparkfun.com/products/10665 ein Mikrocontroller und drahtlos für 20 US-Dollar, es kann nur 50 'gehen, sodass dies möglicherweise nicht für Ihre 150' funktioniert
Anstelle eines Kreises, der die seriellen Ports verwendet, wo es ein geschlossener Kreis sein muss, könnten Sie zwei Schnittstellen pro Chip haben, i2c, seriell, spi, Homebrew usw., und sie können in einer Linie anstelle eines geschlossenen Kreises konfiguriert werden, wenn Eine Nachricht kommt auf Schnittstelle A herein, und sie ist nicht für mich, dann gebe ich sie an B weiter, wenn sie auf B hereinkommt, und nicht meine, die ich auf A wiedergebe. Wenn sie auf B hereinkommt und für mich ist, antworte ich auf B, wenn sie hereinkommt auf A und für mich antworte ich auf A. Dann müssen Sie sich nur um Punkt-zu-Punkt kümmern, brauchen keinen Pull-Up für ein Kabel oder Signal usw. Denken Sie nur laut nach und hoffen Sie, dass es hilft
Ahh, ja, der lpc2387 hat vier Uarts, Sie könnten zwei davon verwenden, um entweder einen unidirektionalen Ring, einen bidirektionalen Ring oder eine lineare Konfiguration zu erstellen. Und gehen Sie eine ganze Reihe von Metern mit RS232 Punkt zu Punkt, ohne dass Sie differenziell gehen müssen. Hmm, haben sie mehr als einen Uart auf dem Fez-Panda-Brett freigelegt? Die 20-Dollar-Stm32f4-Entdeckung hat mindestens zwei, die den externen Pins ausgesetzt sind.

Die Verwendung von RS485 ist der richtige Weg. Sie können dann MODBUS oder ein anderes ähnliches Protokoll darauf setzen. Wertvolle Informationen finden Sie hier: http://www.modbus.org/specs.php

Wir haben tatsächlich RS485 für den ersten Durchgang verwendet, ich habe mich gefragt, ob es eine bessere Option gibt, aber ich denke, das war der richtige Weg. Danke.
Dann können Sie sich für eine CAN-Vernetzung entscheiden (wobei RS485 immer noch die günstigste Lösung ist). Schau dir das mal an: stackoverflow.com/questions/1264889/…