使用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,点击连接,地面站即可与飞控通信,可以实时读取飞行状态数据,进行航点规划飞行。
使用xbee连接地面站和飞控的更多相关文章
- 《例说XBee无线模块开发》
<例说XBee无线模块开发> 基本信息 原书名:The Hands-on XBee Lab Manual:Experiments that Teach you XBee Wireless ...
- Mavlink - 无人机通讯协议
http://qgroundcontrol.org/mavlink/start mavlink协议介绍https://pixhawk.ethz.ch/mavlink/ 消息简介 MAVLink简介 M ...
- Mavlink协议理解
来源:blog.csdn.net/super_mice/article/details/44836585 之前看了mavlink协议,网上关于mavlink的资料不多.本文大概总结了下对mavlink ...
- [pixhawk笔记]4-如何写一个简单的应用程序
本文主要内容来自于:https://dev.px4.io/en/tutorials/tutorial_hello_sky.html,并对文档中的部分问题进行更正. 本文假设已经建立好开发环境并能正确编 ...
- Android版APM地面站,支持直连和数传台连接
现在隆重介绍APM上的手机/平板地面站 andropilot官方链接在此http://www.diydrones.com/groups/705844:Group:1132500?xg_source=m ...
- APM和PIX飞控日志分析入门贴
我们在飞行中,经常会碰到各种各样的问题,经常有模友很纳闷,为什么我的飞机会这样那样的问题,为什么我的飞机会炸机,各种问题得不到答案是一件非常不爽的问题,在APM和PIX飞控中,都有记录我们整个飞行过程 ...
- 多轴APM飞控调参
调参步骤: 遥控器,电动机和电调对应的APM飞控连线——遥控器校准——电调行程校准——加速度计校准——磁罗盘校准——故障保护设定(遥控器和飞控)——飞行模式设定并调整——自动调参设定选项 APM飞控调 ...
- APM飞控的使用心得
硬件资源:APM,F450四轴机架,大疆电调和电机,富斯i6控和接收机. 刚开始的步骤都是大同小异,首先可以按照这个链接上面的步骤一步步的执行:http://tieba.baidu.com/p/297 ...
- apm飞控飞行模式详解
1.稳定模式Stabilize稳定模式是使用得最多的飞行模式,也是最基本的飞行模式,起飞和降落都应该使用此模式.此模式下,飞控会让飞行器保持稳定,是初学者进行一般飞行的首选,也是FPV第一视角飞行的最 ...
随机推荐
- java网络编程(二)可中断套接字
参考资料:java核心技术 卷II 为中断套接字操作,可使用java.nio包提供的SocketChannel类.可以使用如下方式打开SocketChannel: SocketChannel chan ...
- Shell脚本修改Nginx upstream配置文件
#!/bin/bash ##################################################### # Name: change_nginx_upstream_conf ...
- Cornfields POJ - 2019(二维RMQ板题)
就是求子矩阵中最大值与最小值的差... 板子都套不对的人.... #include <iostream> #include <cstdio> #include <sstr ...
- [CF1111E]Tree
题目大意:给一棵$n(n\leqslant10^5)$个点的树,有$q(q\leqslant10^5)$次询问,每次询问给出$k,m,r$表示把以下$k$个点分成不超过$m$组,使得在以$r$为根的情 ...
- [洛谷P4563][JXOI2018]守卫
题目大意:有一段$n(n\leqslant5\times10^3)$个点的折线,特殊点可以覆盖它以及它左边的它可以“看见”的点(“看见”指连线没有其他东西阻挡).定义$f_{l,r}$为区间$[l,r ...
- CF521D Shop 贪心
题意: \(n\)个数,有\(m\)个操作,形如: 1,将\(x_i\)改成\(val_i\) 2,将\(x_i\)加上\(val_i\) 3,将\(x_i\)乘上\(val_i\) 其中第\ ...
- 【NOIP2017】列队(Splay)
[NOIP2017]列队(Splay) 题面 洛谷 题解 其实好简单啊... 对于每一行维护一棵\(Splay\) 对于最后一列维护一棵\(Splay\) \(Splay\)上一个节点表示一段区间 每 ...
- redis的Pub/Sub功能
Pub/Sub功能(即Publish,Subscribe)意思是发布及订阅功能.简单的理解就像我们订阅blog一样,不同的是,这里的客户端与server端采用长连接建立推送机制,一个客户端发布消息,可 ...
- 【poj2068】Nim
Portal -->poj2068 Description 给你\(S\)个石子,有\(2n\)个人分成两队,编号为奇数的一队,编号为偶数的一队,\(2n\)个人按照编号从小到大的顺序拿石 ...
- Atom实用配置插件for C++
autocomplete-clang 自动补全 autocomplete for C/C++/ObjC using clang autocomplete-python 自动补全 Python pac ...