關於部落格
我不是大大,請直接叫我 程雪 就好。
AD方面暫時請以分類查閱文章。
AD文章重新編寫至協作平台 https://sites.google.com/view/adupt
有連結失效或任何問題請直接公開留言或來信 程雪 sandi8295@gmail.com
  • 410437

    累積人氣

  • 86

    今日人氣

    0

    訂閱人氣

【XBee】XBee的角色很重要


不得不說,有接觸過的人原本說XB買回來接上電腦就能用了…
但就是不能用,所以超困擾的哈哈

而且絕大多數使用的軟體設定都是「X-CTU」而非「XCTU」,光從介面上的長相看來…
X-CTU是95/98介面,而XCTU已經是WINXP/7/8/10的部份的~










之前有了解ZB的ID跟其他通訊架構內的站號或絕對位置不同,ID換言之就是區域網路名稱吧,例如的WIFI的SSID,然後絕對位置就是網路卡的MAC址這樣~
所以ZB的ID叫做PAN ID,如果寫成LAN ID應該比較好理解,
嗯…大概就是…A電腦跟B電腦必須連結在同一個區域網路後才能以網路上的芳鄰方式分享電腦內的資料,對XB來說,這個ID是需要指定的,預設為0

MAC址在ZB內拆分成兩組,為SH、SL
如果使用一對一的傳送模式的話,要在DH跟DL指定要送到哪裡,也就是傳送目標的SH跟SL


接下來就要能通訊了對吧?
大錯特錯,弄了幾個小時弄不出來
又因為找到的介面是X-CTU,不是XCTU,所以設定上有看沒有懂,看不懂的都跳過讓過(台語)
我絕對不會說我沒想到直接去抓X-CTU來用…

於是就一直在搜尋XCTU的設定中度過了幾個小時……
終於終於找到「yuanchieh」的網誌: 這裡
是講XCTU的介面,同時也是XB2的版本!!

可是他說他借到的XB板子一個是C一個是R
介面內的圖形也跟我的長的不一樣XD
我的介面裡面沒出現C也沒出現R,當下的我根本就沒想過要「重新設定XB的角色」這件事情

直到中途休息過後(冷靜完?)
突然覺得介面上的按鍵到底能幹麻  開始隨便亂按的時候…點到了設定角色跟設定模式的地方

根本發現新世界好嗎!!!

想說來查一下WIKI:這裡    結果只提到角色名稱就沒了XD

還是回到剛剛「yuanchieh」的網誌裡面才有介紹,所以我試著用我自己的概念說明

1. ZigBee Coordinator:協調器,以後代稱ZBC,類似主從架構中的Master角色,應該只能有一個(真相?),可接可發,和事佬還是協調委員會之類的(你當吵架爭執喔?)
2. ZigBee Router:以主從架構來就是Slaver吧?以後代稱ZBR,可以有超多個,也可接可發,以網路架構來說就是路由器(英文本來就是路由器)、IP分享器、有線轉無線WIFI之類的功能,當中繼站用。
3. ZigBee End Device:終端,以後代稱ZBE,大概也只能有一個,仍然可接可發,但無法當做中繼站(不知道為啥我想到絕命終結站…)

且ZB的傳輸網路形狀(拓樸架構)可以是星狀*、網狀#、樹狀(什麼?你問我為什麼樹狀沒有小符號表示?我就不曉得要怎麼打阿!)
反正愛怎麼接就怎麼接,只要裡面至少有一個是ZBC,剩下都是ZBR就可以


所以我發現了我手上拿的兩個XB都是ZBR AT!!!!!
於是我隨便挑了一個把他的韌體改成ZBC AT
改好了之後再測試,ZBR跟ZBC兩邊都能正常收發資訊了~~

弄完就覺得我出運啦~


雖然我還是很好奇為什麼只有兩個ZBR的時候不能互相溝通
應該是哪裡設定錯了吧哇哈哈(因為最後有成功通訊所以還是很開心)

剛剛提到ZBR AT  這個AT是模式的名稱,
三種角色以外各有兩種模式可以選:API模式跟AT模式
所以至少有六種組合
API我倒是知道在ANDROID的版本裡面有啦…可是好像不是那個API

所以這裡直接引用Y網誌的解釋

API mode:參照書上說法,API mode使用數據封裝傳送格式,適合電腦間的傳輸
AT mode:AT mode則比較人性化(?),又有兩種模式,一個是傳送資料模式,讀到甚麼就傳什麼
另一個是命令模式,可以修改設定


本來我還不懂命令模式是啥
CONSOLE那邊一直看到「+++」、「ATID」、「ATWR」、「ATCN」然後就有紅色的「OK」出現
在還無法正常收訊息的時候…我以為我發送之後XB會回OK給我跟我講發出去了
並且為了沒有紅色的OK感到哀傷
事實證明…發送消息成功本來就不會有OK(掩面)


後來在該網誌的同系列文章第二篇:這裡   才有看到命令模式的說明~~

以下直接引用

+++:命令模式起手式,輸入後不要按Enter,Xbee會自動回傳OK
ATID:有兩種方式 ATID XXXX (Enter):ATID後面接自己希望設定的PAN ID,之後按下Ener,設定完成
ATID(Ener) 輸入ATID後不接PAN ID ,Xbee會回傳目前的PAN ID
ATSH:查詢Xbee的絕對位置(High byte)
ATSL:查詢Xbee的絕對位置(Low byte)
ATDH:設定傳送目標Xbee的絕對位置(High byte)
ATDL:設定傳送目標Xbee的絕對位置(Low byte)
ATWR:設定完成,寫入Xbee
ATCN:離開命令模式
 
上方指令也剛好是輸入順序
先按+++進入命令模式,設定好ATID,接著查詢兩塊Xbee的絕對位置,接著相互設定ATDH ATDL
最後ATWR寫入資訊,ATCN離開命令模式
這樣兩塊就可以開始通訊了~


接著我就開始起手式+++,絕對不是之前太陽花醫療團的起手式,那個太威了,詳情請自行Google
關鍵字: 太陽花 醫療團 5000

而打出三個+,放著不動真的有紅色的OK會出現阿阿阿阿阿(這絕對不是什麼幾大不可思議事件)
不過因為不敢隨便直接用指令改資料,所以我就發動ATCN結束這回合(也太迅速)

相簿設定
標籤設定
相簿狀態