Robofun 機器人論壇
標題:
XBee無線模組搭配感測器的資料傳輸問題
[打印本頁]
作者:
iiaann81
時間:
2016-11-16 21:04
標題:
XBee無線模組搭配感測器的資料傳輸問題
各位好
我先來描述一下我要做的實驗
大家都知道XBee無線通訊至少要有兩個模組來連線
一端為協調端(使用者端),以下簡稱A端
一端為路由or終端,以下簡稱B端
我想在B端連結arduino板與感測器(ex溫感)擷取量測data
利用B端的XBee模組以無線傳輸方式傳回A端XBee接收
A端XBee連結另一arduino板以及PC
想請問
1.不知道以上這樣可不可行?我應該是在B端arduino板上撰寫感測器指令,那那些data怎麼命令以XBee傳輸?
2.若可行,B端多接一些別的感測器,在傳輸與接收方面會不會有所衝突?
3.有沒有類似的XBee參考資料或實驗可供參考?
不好意思Arduino剛摸不久,若問題太淺請見諒
作者:
ates1687
時間:
2016-11-17 16:18
本帖最後由 ates1687 於 2016-11-17 16:22 編輯
Q1.我應該是在B端arduino板上撰寫感測器指令,那那些data怎麼命令以XBee傳輸?
Ans:命令方式有兩種,一個是B端用XCTU去把AD打開,A端XBee自己會去讀值
另外一個是用XBee TX/RX 接 Arduino TX/RX,
另外在拆兩種↓
AT模式跟API模式(關鍵字:TCP,UDP)
AT:模式語法是Serial.write("想丟出去的字");
API模式:
(上面打MAC)
Serial.write("0x想");
Serial.write("0x丟");
Serial.write("0x出");
Serial.write("0x去");
Serial.write("0x的");
Serial.write("0x字");
(下面打檢查碼)
這邊還要轉換hex轉換,比方說B端如果我要丟1個話,我必須打0x31,A端才會收到1(關鍵字:ASCII字碼表)
Q2.若可行,B端多接一些別的感測器,在傳輸與接收方面會不會有所衝突?
Ans:簡單的P2P點對點傳輸不會有衝突,但是當你要做2個以上,也就是star星狀or叢狀網路時,
問題就一大堆,而且絕對多到你無法想像!!!
Q3.有沒有類似的XBee參考資料或實驗可供參考?
Ans:你只做簡單的A跟B傳輸沒問題,但是當你要做star星狀or叢狀網路就真的需要參考資料
作者:
iiaann81
時間:
2016-11-18 21:17
回復
2#
ates1687
您好~謝謝您詳細的回覆我的問題
我單單只做A與B的傳輸
只是B端的感測器會有複數個
聽您說起來感覺問題應該不太大
只是最後還有個問題
若我在B端使用X.Y.Z三種感測器
三種data都順利傳回A端
但是A端在辨識data的時候
可否分得出來哪些是X的.哪些是Y的.哪些是Z的?
PS.我的A端會利用LabVIEW的Arduino插件去讀取及控制
作者:
ates1687
時間:
2016-11-18 22:51
= =我不太確定這樣行不行,是問會寫程式的大概怎麼解
你把讀到的值前面加個英文字母,比方說我讀到的值是100,那我就打X100
在接收端那邊,打
if(Serial.available() >= 4); //接收完4個字
if(Serial.read() >= X); // 確認第一個字是否X
for(int i; i=3; i++){ //是之後,在另外讀取後面3個字
val = Serial.read();
Serial.println(val); //將其顯示
}
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2