zoukankan      html  css  js  c++  java
  • 使用xbee连接地面站和飞控

    Zigbee是一种短距离、低功耗的近距离无线组网通讯技术,主要适用于自动控制和远程控制领域,可以嵌入各种设备。 DIGI的ZigBee产品XBee小型但却是一个功能完善的ZigBee收发器(即接收器/发射器),它是双向操作,可交替地发射或接收数据(半双工式)。

    DIGI提供有两种版本,XBee和XBee PRO两版本都是有相同的功能和引脚兼容,唯一的差异是发射功率,XBee为最大2mW,而XBeePRO则最大63mW。 XBee/XBeePRO模块是一款内置协议栈的ZigBee模块,它通过串口使用AT命令集方式设置模块的参数,并通过串口来实现数据的传输。Digi提供了X-CTU配置软件,用它可以方便地配置XBee模块的所有参数。

    XBee模块与飞控之间其实就是通过串行接口(即Tx和Rx引脚)进行通信。对于简单的点对点通信来讲,只需要通过串行接口向XBee模块写数据就可以实现数据的发送;当XBee模块通过无线通道接收到数据时,通过读串行接口可以很方便地获得这些数据。用X-CTU软件一次配置好参数后,两个插上XBee模块的控制器就可以像有线RS232串口通信一样相互传送数据了。(http://www.eefocus.com/zhang700309/blog/12-08/284065_cc230.html 《美国DIGI公司的XBee模块无线通讯实验》)

    一、XBEE的配置与配对

    安装X-CTU软件并更新为最新版(此版使用的是XCTU ver. 5.2.8.6),通过DIGI官方网址下载X-CTU软件。

    http://www.digi.com/support/productdetail?pid=3352&type=firmware

    第一块XBee模块的设置

    将XBee插接到电脑的一个USB接口上。在电脑和XBee之间还需要有USB转TTL模块以便连接。这里采用了DFRobot 的XBee适配器,方便对XBee模块进行配置。PC机通过USB线直接与XBee适配器连接,PC机提示安装FIDI USB驱动。

    把XBee模块按照正确方向,插到XBee适配器上。 打开设备管理器,展开端口(连接口(COM和LPT))部分,然后注意XBee所插入的USB Serial Port编号。

    在设备管理器中查看连接XBee的COM序列号

    运行X-CTU软件,点击"Add a radio module specifying the port settings",选择XBee适配器映射的COM口(实验中映射出的串口号为COM11),并设置好波特率等参数。XBee模块出厂里默认的设置为9600,8N1N。


     

    点击"Finish",测试XBee模块是否能连接上。如果一切正常,我们将看到如下图所示,会显示模块型号及版本号。

        测试通过后,选择 "Switch to Configuration working mode"选项,点击 "Update Firmware"按钮,升级固件。根据Xbee模块的型号,选择合适的:

    1、Product family:XBP24BZ7。

    2、Function set:ZigBee Coordinator AT。(采用透明传输的工作方式,需要配对的两个Xbee模块分别选择"ZigBee Coordinator AT"和"ZigBee Router AT"功能集。)

    3、Firmware version:20A7。一般选择最新的固件。

    点击"Read radio settings"按钮读出XBee模块中的当前参数。 

    1、更改"Networking & Security"中的"ID PAN ID", PAN 即为Personal Area Network, ID范围从0到1234,或者是任何16进制的数值,只要能够确保相同的网络中,所有XBee设备有相同的PAN ID。

    2、SH、SL为本XBee模块的MAC地址,将需要配对的XBee模块的MAC地址填入DH、DL,需要注意高、低位。

    在"Serial Interfacing"的"BD Baud Rate"中,修改XBee的波特率, XBee模块默认波特率9600 b/s,APM使用的波特率为57600b/s,因此将波特率修改为57600b/s。


      上述主要参数设置好后,点击 "Write Radio Settings"按钮将参数写到XBEE模块中。

    第二块XBEE模块的设置

    关掉执行中的X-CTU,拔除插在电脑上的USB-TTL,更换上面的XBee模块,重复前述的步骤,但下载Firmware时,Function Set改为"ZigBee Router AT",将两者的MAC地址(SH、SL与DH、DL)互换。

    验证配对成功

    串口通信程序,测试下XBee无线通信是否正常。开启两个X-CTU软件窗口,分别连接两个XBee模块。 选择任一模块点击"Discover radio nodes in the same network",则会和另一模块自动配对。


    两个X-CTU均选择"Switch to consoles working mode",并点击 "Open the serial connection with the radio module"。在窗口下方可添加一个数据包或者数据流,可以设置发送次数和间隔时间。


    如图可见,另一个模块会接收并显示该模块发送的数据。

    二、利用XBEE连接地面站和飞控

    1、把一个XBee模块从适配器上拔下来,连接到飞控的Telem接口(APM为5p端口,Pixhawk为6p端口),XBee的TX(RX)接Telem口的RX(TX)。

    注意:XBee的供电电压为3.3V,飞控Telem口的供电电压为5V,因此需要在两者之间加一个电压转换模块,将5V电压转换为3.3V给XBee供电。

    2、打开Mission Planner,选择适配器的端口,波特率选择57600b/s,点击连接,地面站即可与飞控通信,可以实时读取飞行状态数据,进行航点规划飞行。

  • 相关阅读:
    27.全排列与带重复的排列
    ios之自定义UISwitch
    ios之UIAlertView
    ios之UISegmentedcontol
    ios之UISlider
    ios之UITextfield
    ios之UIImageView
    ios之UIButoon
    ios之UILabel
    ios 点餐系统
  • 原文地址:https://www.cnblogs.com/warrior1988/p/4371017.html
Copyright © 2011-2022 走看看