上海皕科電子有限公司

Shanghai Bitconn Electronic Co.,Ltd.

公司介紹
上海皕科電子有限公司是一家專業的芯片代理商和方案提供商??偛吭O在上海,是一家專業為中國電子企業提供單片機,無線RF,以太網IC及外圍器件、開發工具和相關應用解決方案的高新技術企業。公司的主要代理品牌有Digi、Wiznet、Xinnova,以及華虹MCU等。
  公司擁有優秀的銷售團隊和專業的研發部門,不但在品牌、價格、供貨、服務等方面領先業界,而且可為客戶提供及時、可行的技術支持和整體設計服務,滿足不同客戶多層次需求。

美國DIGI公司的XBee模塊無線通訊實驗(轉載)

發表時間:2015/03/13 00:00:00  瀏覽次數:8042  
字體大小: 【小】 【中】 【大】

        Zigbee是一種短距離、低功耗的無線通信技術名稱。這一名稱來源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飛翔和“嗡嗡”(zig)地抖動翅膀的“舞蹈”來與同伴傳遞花粉所在方位信息,也就是說蜜蜂依靠這樣的方式構成了群體中的通信網絡。其特點是近距離、低復雜度、自組織、低功耗、低數據速率、低成本。主要適合用于自動控制和遠程控制領域,可以嵌入各種設備。簡而言 之,ZigBee就是一種便宜的,低功耗的近距離無線組網通訊技術。

    DIGI旗下的MaxStream公司是一家非常有名的無線通信元件制造商,其ZigBee產品上加了一個很貼切的名稱XBee,XBee小型但卻是一個功能完善的ZigBee收發器(即接收器/發射器),它是雙向操作,可交替地發射或接收數據(半雙工式)。

    DIGI提供有兩種版本,XBee和XBee PRO兩版本都是有相同的功能和引腳兼容,唯一的差異是發射功率,XBee為最大2mW,而XBeePRO則最大60mW。我這次實驗采用的是發射功率是1mW,傳輸距離為100米的XBee模塊,比較XBee PRO模塊肯定便宜些,也不耽誤體驗ZigBee技術??梢栽贒FRobot公司網站支付寶購買,網址:http://www.dfrobot.com.cn/。                 XBee/XBeePRO模塊是一款內置協議棧的ZigBee模塊,它通過串口使用AT命令集方式設置模塊的參數,并通過串口來實現數據的傳輸。為了縮短客戶的開發期,提供了X-CTU配置軟件,用它可以方便地配置XBee模塊的所有參數。    XBee模塊具有各個國家地區認證,在國外應用非常廣泛, 包括智能家居,遠程控制,無線抄表,傳感器,無線檢測,資產管理等,同時還有對應的iDigi平臺,提供各種常用的接入方式,更加方便遠程控制。

   XBee模塊與Arduino之間其實就是通過串行接口(即Tx和Rx引腳)進行通信。對于簡單的點對點通信來講,只需要通過串行接口向XBee模塊寫數據就可以實現數據的發送;當XBee模塊通過無線通道接收到數據時,通過讀串行接口可以很方便地獲得這些數據,使用方式和APC220以及DF-Bluetooth藍牙模塊雷同。用X-CTU軟件一次配置好參數后,兩個插上XBee模塊的Arduino控制器就可以像有線RS232串口通信一樣相互傳送數據了!那么如何配置XBee模塊參數?需要:一:安裝X-CTU軟件并更新為最新版;二、XBee適配器并安裝FIDI驅動。

     通過DIGI官方網址下載X-CTU軟件,網址:http://www.digi.com/support/productdetail?pid=3352&type=firmware。 
 
   DFRobot公司出品的XBee適配器驅動就是Arduino Duemilanove控制器的驅動,因為它們都是采用了FIDI USB驅動,如果您已經安裝了Arduino Duemilanove控制器的驅動,就不用安裝了,如果您使用的是Arduino UNO控制器,可以在Arduino官網下載一個Arduino 0018版編程軟件,它里面的drivers目錄里就可以找到這個驅動。如圖:(所有圖片雙擊,都可以放大看!
     PC機通過USB線直接與XBee適配器連接,方便對XBee模塊進行配置,把XBee模塊按照正確方向,插到XBee適配器上,然后,用USB電纜把XBee適配器與PC機連接好之后, 運行X-CTU軟件。
    首先我們在“PC Settings”中里選擇XBee適配器映射出來的串口通信端口(我實驗中映射出的串口號為COM4),并設置好波特率9600b/s等參數。XBee模塊出廠里默認的設置為9600,8N1。
 

    點擊“Test/Query”按鈕,測試XBee模塊是否能連接上。如果一切正常,我們將看到如下圖中的Com test對話框,會顯示模塊型號及版本號。

   測試通過后,轉到“Modem Configuration”選項。點擊“Download new versions...”按鈕,升級軟件(把所有殺毒軟件暫時退出)。

   先點擊“Modem Parameters and Firmware”中的“Read”按鈕讀出XBee模塊中的當前參數,接著在讀出的“Networking & Security”中將“Channel”設為“C”,將“PAN ID”設置為“1234”。

  在“Serial interfacing”的“Interface Data Rate”中,可以修改XBee的波特率,XBEE模塊默認波特率9600,可以不用修改,但我這次實驗還是把波特率從9600b/s改成了115200b/s。

  上述主要參數設置好后,點擊“Write”按鈕將參數寫到XBEE模塊中,這里只做一個最簡單的點對點網絡,所以只需利用XBee適配器,把2個XBee模塊的參數設置一致即可。

    這時如果您突然打算,把“Write”到XBee模塊中的參數再“Read”出來,會出現問題,因為您已經把XBee模塊的波特率設置為115200b/s,所以必須在X-CTU界面的“PC Settings”選項中把波特率從9600改為115200,才能“Read” 讀取XBee模塊參數。

   現在可以把兩個XBee模塊從適配器上拔下來,再插到Arduino控制板上的XBee V5傳感器擴展板的專門插槽里。

    OK,編寫一個串口通信程序,測試下XBee無線通信是否正常。測試結果,當然沒問題。

   這個無線通信實驗較簡單,就是:按下與Arduino主機連接的亮燈按鈕或者關燈按鈕,通過無線通訊,控制Arduino從機上的LED燈亮滅。

    注意:下載程序到Arduino控制器時,不要把XBee模塊插在Arduino控制器的傳感器擴展板V5上,程序下載完再把它插上去。

主機程序:

int button_open =4;//開燈按鈕連在數字端口4
int button_close =5; //關燈按鈕連在數字端口5
char flag;//定義“向從機發送LED燈亮滅標志”的變量
void setup()
{
  pinMode(button_open, INPUT); //設置按鈕為輸入模式
  pinMode(button_close, INPUT);
  Serial.begin(115200);//啟動串口通信,波特率為115200b/s
}
void loop()
{
  //如果亮燈按鈕按下同時關燈按鈕松開
  if( digitalRead(button_open)==LOW&&digitalRead(button_close)==HIGH)
  {
    flag='a';
    Serial.print(flag);//向從機發送燈亮標志
  }
 //如果關燈按鈕按下同時亮燈按鈕松開
 if(digitalRead(button_close)==LOW&&digitalRead(button_open)==HIGH)
  { 
    flag='b';
    Serial.print(flag);//向從機發送燈滅標志
  }
  delay(20);//延時,等待數據發送成功
}
 
從機程序:
int ledpin=9;//LED燈連在數字端口9
int val;   //定義“接受主機發來的LED燈亮滅標志”的變量
void setup()
{
  pinMode(ledpin,OUTPUT);//設置LED燈為輸出模式
  digitalWrite(ledpin,HIGH);//初始化使LED燈熄滅
  Serial.begin(115200);//啟動串口通信,波特率為115200b/s
}
void loop()
{
  if(Serial.available()>0) //查詢串口有無數據
  {
        val=Serial.read();//讀取主機發送的數據
        if(val=='a')//如果主機發送字符'a',則點亮LED
        {
          digitalWrite(ledpin,LOW);//LED燈點亮          
        }
        if(val=='b')//如果主機發送字符'b',則熄滅LED
        {
          digitalWrite(ledpin,HIGH);//LED燈熄滅           
        }
  }     
}
    這次無線通訊實驗采用的是1mW的XBee模塊,所以對電源要求不高,如果采用發射功率60mW,傳輸距離1600米的XBee PRO模塊,耗電也相對大些,直接用USB供電就有點小牛拉大車的感覺,所以建議使用外部供電,保證模塊能正常工作。
文章評論
發表評論:(匿名發表無需登錄,已登錄用戶可直接發表。) 登錄狀態: 未登錄,點擊登錄
上海皕科電子有限公司 版權所有
地址:上海市閔行區都園路4288號D區220室
電話:021-54852770
郵件:sales@bitconn.com
 
欧美卡通偷自拍另类唯美|亚洲乱码中文字幕综合|欧美va天堂在线电影|久久99精品免费观看|欧美乱妇高清无乱码