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,点击连接,地面站即可与飞控通信,可以实时读取飞行状态数据,进行航点规划飞行。

使用xbee连接地面站和飞控的更多相关文章

  1. 《例说XBee无线模块开发》

    <例说XBee无线模块开发> 基本信息 原书名:The Hands-on XBee Lab Manual:Experiments that Teach you XBee Wireless ...

  2. Mavlink - 无人机通讯协议

    http://qgroundcontrol.org/mavlink/start mavlink协议介绍https://pixhawk.ethz.ch/mavlink/ 消息简介 MAVLink简介 M ...

  3. Mavlink协议理解

    来源:blog.csdn.net/super_mice/article/details/44836585 之前看了mavlink协议,网上关于mavlink的资料不多.本文大概总结了下对mavlink ...

  4. [pixhawk笔记]4-如何写一个简单的应用程序

    本文主要内容来自于:https://dev.px4.io/en/tutorials/tutorial_hello_sky.html,并对文档中的部分问题进行更正. 本文假设已经建立好开发环境并能正确编 ...

  5. Android版APM地面站,支持直连和数传台连接

    现在隆重介绍APM上的手机/平板地面站 andropilot官方链接在此http://www.diydrones.com/groups/705844:Group:1132500?xg_source=m ...

  6. APM和PIX飞控日志分析入门贴

    我们在飞行中,经常会碰到各种各样的问题,经常有模友很纳闷,为什么我的飞机会这样那样的问题,为什么我的飞机会炸机,各种问题得不到答案是一件非常不爽的问题,在APM和PIX飞控中,都有记录我们整个飞行过程 ...

  7. 多轴APM飞控调参

    调参步骤: 遥控器,电动机和电调对应的APM飞控连线——遥控器校准——电调行程校准——加速度计校准——磁罗盘校准——故障保护设定(遥控器和飞控)——飞行模式设定并调整——自动调参设定选项 APM飞控调 ...

  8. APM飞控的使用心得

    硬件资源:APM,F450四轴机架,大疆电调和电机,富斯i6控和接收机. 刚开始的步骤都是大同小异,首先可以按照这个链接上面的步骤一步步的执行:http://tieba.baidu.com/p/297 ...

  9. apm飞控飞行模式详解

    1.稳定模式Stabilize稳定模式是使用得最多的飞行模式,也是最基本的飞行模式,起飞和降落都应该使用此模式.此模式下,飞控会让飞行器保持稳定,是初学者进行一般飞行的首选,也是FPV第一视角飞行的最 ...

随机推荐

  1. ORACLE 存储过程异常捕获并抛出

    for tab_name in tables loop execute immediate 'drop table '||tab_name; --此处可能会报错 end loop; 当前情况是,循环表 ...

  2. 【JavaScript】函数表达式

    一.前言        接着上一篇的内容,继续学习JavaScript. 二.内容       函数的声明 function functionName(arg0,arg1,arg2){ //函数体 } ...

  3. NAT网络地址转换模拟过程

    原理图,如图1 图1 以下为配置NAT网络地址转换的实验: eNSP模拟图,如图2 图2 Step1.给路由器的每个接口赋予一个地址,如图3,图4 图3 图4 AR1和AR2中添加路由表项,如图5,图 ...

  4. 2017-2018-2 20165218 实验四《Android开发基础》实验报告

    实验三 Android开发基础 课程:java程序设计 姓名:赵冰雨 学号:20165218 指导教师:娄嘉鹏 实验日期:2018.4.14 实验内容: 1.基于Android Studio开发简单的 ...

  5. [pool www] user has not been defined

    [02-Dec-2014 00:28:58] ALERT: [pool www] user has not been defined [02-Dec-2014 00:28:58] ERROR: fai ...

  6. 【bzoj3678】wangxz与OJ

    Portal -- > bzoj 3678 Solution 这题==真实智力康复qwq 然而众多神犇都说是10min写完的题我..可能写了近1h吧==深深感受到自己的弱小qwq (丢上来是因为 ...

  7. Python3 字典 update() 方法

     Python3 字典 描述 Python 字典 update() 函数把字典dict2的键/值对更新到dict里. 语法 update()方法语法: dict.update(dict2) 参数 di ...

  8. ZABBIX 3.0 配置监控NGINX性能【OK】

    1.在agent端查看配置: nginx -V //查看编辑时是否加入状态监控模块:--with-http_stub_status_module --with-http_gzip_static_mod ...

  9. crontab 自动执行脚本

    crontab -e ================>自动执行某脚本!!!!!!! 1001 ls 1002 cd /home/wwwroot/default/ 1003 ls 1004 cr ...

  10. Oracl闪回数据命令。

    当数据库操作没有备份,并且误删数据.可闪回任何 当前闪回15分钟前数据库状态.  alter table BASE_APPOINT_LOG enable row movement;flashback  ...