我正在計劃一個由幾個Arduino板組成的Arduino系統。板之間的最大距離約為50米。我想在這些之間發送基本數據,例如短字符串或整數。我知道我可以通過以太網電纜發送數據,但這需要以太網屏蔽或Arduino以太網板,這會使成本加倍。我是否可以通過低預算的方式僅使用最基本的板(例如Uno)和其他一些組件但不使用完整的屏蔽板來連接板?
我正在計劃一個由幾個Arduino板組成的Arduino系統。板之間的最大距離約為50米。我想在這些之間發送基本數據,例如短字符串或整數。我知道我可以通過以太網電纜發送數據,但這需要以太網屏蔽或Arduino以太網板,這會使成本加倍。我是否可以通過低預算的方式僅使用最基本的板(例如Uno)和其他一些組件但不使用完整的屏蔽板來連接板?
對於長距離有線通信,請查看 RS-485。
由於它在雙絞線上使用了差分平衡線(例如RS-422),因此可以跨越相對較大的距離(最大4,000英尺(1,200 m))。一條經驗法則是,以位/秒為單位的速度乘以以米為單位的長度不應超過108。因此,一條50米的電纜的信號傳輸速度不應超過2 Mbit / s
使用MAX485芯片。使用起來非常容易,但是也有一個不錯的庫:
我可以想到兩類對Arduino板的通訊功能進行分類:
兩個設備之間:
在兩個以上的設備之間
還有其他方法可用,但僅列出了這些方法需要最少的外部硬件。
有關距離等級,請參見 http://forum.arduino.cc/index.php?topic=82937.0和 http:/ /www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/serial-distance.html
這些數據速率在“串行”中直接控制,並且可以在許多其他類型中進行調整。 / p>
Freakduino製作了一些具有內置無線功能的Arduino板。他們的遠程無線為900 MHz,而較短的無線為2.4GHz。我認為它們實際上是XBee無線電,對於編程,您將使用一個名為chibiArduino的庫,該庫可在Freakduino網站上獲得(並記錄在案)。與其他無線電進行無線通訊時,可以使用廣播或通過其ID指定無線電,該ID是您需要在Freakduino的EEPROM中設置的值。
直接從Freakduino站點獲取:
添加基於IEEE 802.15.4協議(與XBee相同的無線電協議)的集成無線電可以實現對設備的無線控製或無線傳感器數據收集。添加了可選的電池電路,因此它可以充當真正的無線節點,而無需任何外部電源線。該板還設計為適合堅固的外殼,因此可以安全地運輸設計或在實際使用情況下部署設計,而不必擔心損壞電路。
這款900 MHz無線電是我個人的最愛。我一直使用它,因為900 MHz提供的範圍比2.4 GHz好得多。無線電可以輸出高達10 mW的發射功率,這可以得到令人驚訝的範圍。有了直接的視線,幾百米就不足為奇了。如果需要其他範圍,也可以將調製模式從OQPSK更改為BPSK。這樣會以犧牲數據速率為代價,提供更大的範圍,在標準模式下,最大值從250 kbps到40 kbps。
您可以使用以太網分線板(Sparkfun售價2美元)。這使您可以使用以太網電纜,而不必使用完整的TCP / IP協議,而只需將數據引腳連接到分支板上,使用以太網連接它們,然後使它們通過串行通訊即可。我用了很多時間將一個線傳感器放在距離Arduino較遠的地方,以實現牢固而廉價的連接。