Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 4376|回復: 3
打印 上一主題 下一主題

XBee無線模組搭配感測器的資料傳輸問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2016-11-16 21:04:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位好

我先來描述一下我要做的實驗

大家都知道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剛摸不久,若問題太淺請見諒
2#
發表於 2016-11-17 16:18:44 | 只看該作者
本帖最後由 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叢狀網路就真的需要參考資料
3#
 樓主| 發表於 2016-11-18 21:17:41 | 只看該作者
回復 2# ates1687

您好~謝謝您詳細的回覆我的問題
   
我單單只做A與B的傳輸

只是B端的感測器會有複數個

聽您說起來感覺問題應該不太大

只是最後還有個問題

若我在B端使用X.Y.Z三種感測器

三種data都順利傳回A端

但是A端在辨識data的時候

可否分得出來哪些是X的.哪些是Y的.哪些是Z的?

PS.我的A端會利用LabVIEW的Arduino插件去讀取及控制
4#
發表於 2016-11-18 22:51:17 | 只看該作者
= =我不太確定這樣行不行,是問會寫程式的大概怎麼解

你把讀到的值前面加個英文字母,比方說我讀到的值是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); //將其顯示
}
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-12-4 01:42 , Processed in 0.244294 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表