文档章节

XBee模块户外通信距离测试

o
 osc_61rodd1h
发布于 2018/08/13 10:11
字数 2326
阅读 9
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

Digi的XBee模块在市面上同类产品中,除了稳定性和可靠性最受推崇外,在距离测试中一般都比竞争对手的产品略胜一筹。户外测试需要注意避免模块自身以外的因素造成的测试结果不理想。

2.4G的模块有ZigBee, Wifi, 802.15.4, Digimesh,通信距离除了和协议有关以外,也同硬件平台有关。同样的PRO版本的XBee 2.4GHz模块,我们可以认为在通信距离上 S2C=S1B>S1>S6。

从用户实测数据来看,XBee 2.4G频段的模块采用2.1dBi的小天线,在国内到处是CMCC,ChinaNet的wifi覆盖下,马路实测的结果基本上也能达到标称值的1/3距离。以XBee PRO S2C为例,在马路上竖起约一人高的杆子,在无障碍视距下条件下测得的通信距离约700m~1km。在增加高度或是提高天线增益情况下,通信可以达到2公里以上。

即便是使用S2C板载天线的型号,XBee模块在实测中仍表现不俗。板载天线的增益是0dBi,国内有用户在马路上视距无遮挡的条件下,使用普通型板载PCB天线的型号,仍测得300米左右的通信距离。通常我们建议使用外置天线的型号,以便能灵活适应不同项目和不同部署场景要求。

900MHz的模块,因为国内存在较多的基站频段干扰,因此不同时间和不同地点,通信距离差异很大。总的来说,900MHz的产品比较适合野外使用,或是高空使用。在那些没有GSM基站信号的地方能表现出非常好的长距离特性,在一些基站附近测得的数据,低功率的900MHz短距模块有时还不如2.4G模块。这并不是模块本身的问题,而是接近基站的900MHz谐波噪声很大,虽然信号在灵敏度范围内,但干扰的背景噪声能量比它还要高。对距离有要求时,900MHz频段应尽量选择1W发射功率的SX模块。

900MHz产品的国内实测距离在不同环境下差异很大。不同时间和不同地方会有不同的结果,以套件内2.1dB的天线户外实测: 900HP约在200m~1公里的范围,在环境较好的地方可以达3km。 Xtend/XTC/SX大多测得600m~3公里范围,环境较好的地方可达10公里。

900MHz产品要得到较远的通信距离,最好是把天线放在足够高的地方,不可放置在地面。配置上,把空中波特率RF Rate设置低一些,另外,天线的朝向有时也有较大的影响,把天线水平放置或是30~45度倾角有时会取得更好的效果。远距离测试时,请尽量进行使用单向测试而不要进行回环等测试。

如果用户在实际测试中发现通信距离远低于上述结果,需要仔细检查一下测试过程,是否使用了不合格的配件(馈线过长或是插损过高的配件),是否对模块做了不恰当的配置或是使用了不合理的数据模型。

1、使用正确的模块并且正确配置

通常尽可能使用PRO型号的XBee模块,以便实现更远的通信距离。通常不建议使用广播模式来进行距离测试,所以你需要把模块配置成对发模式。进行测试的两个模块,为了方便观察,请先使用透传模式,并在实验室内配置好,使其能正确相互通信。ZigBee模块,在测试现场还需重新配置一下,一般需要进行一下退网 (ATNR0),以便协调器能重扫描一下周围环境,在比较干净的信道上重新建立网络。同时另一个测试模块也需在同一个地方进行退网重新加入到协调器新建的网络中,然后再拉开距离测试。Digimesh和点对多点模块,在指定信道时,最好做一次能量扫描,挑选干扰较少的信道进行通信。

虽然可以用回环模式进行距离测试,但为了排除不合理的数据模型,两端各用一台笔记本电脑进行单向通信。

2、使用合适的天线和测试工具

对于使用外置天线的型号,天线成为影响测试距离的关键因素。在使用样品做距离测试时,最好选择原厂天线或是像L-com之类的对应频率的品牌天线,并使用原厂的开发底板,以免一开始用了劣质的天线影响判断。另外最好不要用多模天线。品牌天线通常比较贵,量产时一般会选择国产天线,但它可以作为对比样本和对国产天线优化的参考。同理,应该避免使用劣质的馈线或是连接器,低劣的连接线缆也会造成较大的增益损失甚至是频率失配。在实际使用过程中,往往是先使用合适的天线和馈线做测试,再根据项目需求寻找合格的天线供应商。

好的天线厂家一般会提供性能较佳的天线方向图。通常天线水平方向图都能做到比较高的增益,而接近垂直方向的增益是最弱的。而设备零散部署时,方向是有不同角度的。因此在垂直方向图中,高增益的部分能尽可能覆盖越接近90度的位置,天线也就越好,表明天线对方向性更不敏感。

下图是一个3dBi天线的水平和垂直的方向图,仅供参考。

有时候厂家提供某个样品的测试数据,并不代表量产时出货的天线的真实数据,为了保证天线供货产品的一致性,选择比较大牌的厂家很重要。

在进行测试时,同样不能忽略测试设备,用笔记本电脑进行测试,对短距无线模块没什么问题,但要注意选择比较新的电脑,一些接近淘汰的笔记本不仅USB供电不足,高速的串行通讯波形出现较大失真时,也会导至通信不上。如果采用外置电源,应选择用于设备供电的动力锂电池而不是给普通手机用的充电宝。注意测试前充满电,一些锂电在使用一段时间后内阻增大,虽然电平并还保持较高,但已经不适合用作测试电源,应尽量避免这种呢况发生。

在实际使用中,还应避免天线随意悬挂导至模块脱落或是馈线接头断开,如果在路边测试没有支持物,一个较好的办法是采用如下图所示的方式用扎线带和PVC管把模块和底板等固定起来。测试时,应尽量使两个模块天线位于空旷可视距离处,避免天线过于靠近金属物体,或是被植被覆盖。金属物件会吸收和反射无线信号,植被能吸收无线电信号从而造成大量的信号衰减,从而影响测试距离。

3、正确使用测试的数据模型

无线通信模块特别是ZigBee或Digimesh的带宽有限,因此测试需选用合理的数据模式,避免短时间突发数据引起带宽超限,造成缓冲区溢出而丢失数据,形成误判。通常在刚开始测试时,选择比较简单数据模式,比如ZigBee协议,一般先采用约每秒发32个字节这样的频率进行稳定性测试。在合适的距离上观察到稳定通信后,再进一步提高发送频率。XBee模块的发送缓冲区有2.1K,因此2K以内的数据可以任意向模块送,但如果是长时间连续发送,不开启流控容易造成缓冲区溢出,即缓冲区满时,数据并没有送入发送缓冲区就直接丢弃。因此,进行高频大数据量通信时,需要开启流控。在实际应用中,ZigBee模块以低于120ms的频率向串口不断塞数据时,过一段时间就容易发生丢包和缓冲区溢出。对于带宽高很多的802.15.4模块,一般数据包长时间连续发送,间隔也不不能小于20ms。

4、其它注意事项

对于测试,尽量用不同模块在不同的时间和地点多测几组数据,避免因为特定的环境或是特定定的模块产生不具代表性的样本数据。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
记一次失败的Perl + Nginx + FastCGI 配置过程

这两天心血来潮,不知道为什么和 Perl + Nginx + FastCGI 配置 耗上了。但是失败了,记录如下: 1)安装Nginx 1.4.3 ,我的是WINDOWS 7 系统,修改配置文件如下: location ~ .(pl|cgi|perl)?...

通吃岛-低手哥
2013/10/27
1.8K
7
用vertx实现高吞吐量的站点计数器

工具:vertx,redis,mongodb,log4j 源代码地址:https://github.com/jianglibo/visitrank 先看架构图: 如果你不熟悉vertx,请先google一下。我这里将vertx当作一个容器,上面所有的圆圈要...

jianglibo
2014/04/03
4.4K
3
TDD的测试框架--Machine.Specification

Machine.Specification 是一个 TDD 测试驱动开发的测试框架,简化了测试,无需关心语言本身特性。 Machine.Specifications 带来的好处是不需要在代码里有注释,但同时阅读代码的人可以一目了...

匿名
2013/01/22
1.2K
0
Rails 测试工具--RailsBench

Railsbench是一款专门用于rails的测试工具。 1. 安装Railsbench # gem install railsbench # gem install gruff # gem install rmagick...

匿名
2013/02/17
358
0
WSGI Web服务器--UV-Web

uv-web是一个轻量级的支持高并发的WSGI Web服务器,基于libuv构建,部分代码源于开源项目bjoern,本质是python的C扩展,所以适用于部署绝大部分 python web应用(如 Django) 特性 兼容 HTTP 1...

Jone.x
2013/03/04
1.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 教程 - 文件上传下载

在日常的开发工作中,基本上每个项目都会有各种文件的上传和下载,大多数文件都是excel文件,操作excel的JavaAPI我用的是apache的POI进行操作的,POI我之后会专门讲到。此次我们不讲如何操作...

Butterfly-Tri
45分钟前
27
0
mysql 事务日志 

Redo Log 1.redo分为Physical Redo Log与Logical Redo Log 2.用于在 crash recovery时已提交没有刷盘的事务(记录时间点为缓冲中页面修改完成,但还没有刷新到硬盘,即事务提交之前),如异常...

易野
47分钟前
11
0
phpstorm 主题颜色

个人比较喜欢 复制文件保存为 red.icls <scheme name="1337" version="142" parent_scheme="Default"> <option name="FONT_SCALE" value="1.0" /> <metaInfo> <property name="c......

chenhongjiang
57分钟前
15
0
Hystrix核心原理和断路器源码解析

Hystrix运行原理 构造一个HystrixCommand或HystrixObservableCommand对象 执行命令。 检查是否已命中缓存,如果命中直接返回。 检查断路器开关是否打开,如果打开,直接熔断,走fallback逻辑...

xiaolyuh
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部