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. 深入理解JVM一java堆分析

    上一节介绍了针对JVM的监控工具,包括JPS可以查看当前所有的java进程,jstack查看线程栈可以帮助你分析是否有死锁等情况,jmap可以导出java堆文件在MAT工具上进行分析等等.这些工具都非 ...

  2. 【比赛】HNOI2018 寻宝游戏

    考试的时候就拿了30points滚粗了 听说myy对这题的倒推做法很无奈,官方题解在此 正解思路真的很巧妙,也说的很清楚了 就是分别考虑每一位,会发现题解中的那个性质,然后把询问的二进制数按照排序后的 ...

  3. Android 解决ScrollView嵌入ListView | GridView | ScrollView显示问题

    一.ScrollView中嵌套ListView ScrollView和ListView都是滚动结构,很明显如果在ScrollView中加入ListView,可以预见性的知道,肯定会有显示/滚动的问题, ...

  4. Unity3D for VR 学习(9): Unity Shader 光照模型 (illumination model)

    关于光照模型 所谓模型,一般是由学术算法发起, 经过大量实际数据验证而成的可靠公式 现在还记得2009年做TD-SCDMA移动通信算法的时候,曾经看过自由空间传播模型(Free space propa ...

  5. Project Euler 453 Lattice Quadrilaterals 困难的计数问题

    这是一道很综合的计数问题,对于思维的全面性,解法的过渡性,代码能力,细节处理,计数问题中的各种算法,像gcd.容斥.类欧几里德算法都有考察.在省选模拟赛中做到了这题,然而数据范围是n,m小于等于100 ...

  6. selenium - 查看selenium版本信息

    1. pip list 2. pip show selenium 3. cmd>>python >>> import selenium>>> help( ...

  7. 「Django」rest_framework学习系列-API访问跨域问题

    #以中间件方式解决API数据访问跨域问题1.API下新建文件夹下写PY文件a.引入内置类继承: from django.middleware.common import MiddlewareMixin ...

  8. 「Django」与mysql8连接的若干问题

    1.setting配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #数据库驱动名 'NAME': 'my_tes ...

  9. [DeeplearningAI笔记]卷积神经网络4.1-4.5 人脸识别/one-shot learning/Siamase网络/Triplet损失/将面部识别转化为二分类问题

    4.4特殊应用:人脸识别和神经网络风格转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 4.1什么是人脸识别 Face verification人脸验证 VS face recogniti ...

  10. 日期/时间处理工具 DateTimeUtil

    此类是我们项目的 日期/时间处理工具,在此做个记录! /* * Copyright 2014-2018 xfami.com. All rights reserved. * Support: https ...