初次使用SX或XTC模块,最快的上手方式是拿一套XBee SX或XTC的开发套件,使用串口调试工具XCTU在电脑上通过串口完成模块间相互通信测试。
将两个相同系列的无线模块用开发底板同电脑连接起来。注意不要将两个高功耗的无线模块并排放置,而是应该隔开至少60cm以上的距离(以天线的振子部位为准),这是因为长距离模块最大发射功率可达1W,如果靠得太近,接收方容易出现过饱知,严重时甚至有可能损坏前端。
连接好后打开XCTU,用左上角的查找模块按钮来查询连接到电脑上的模块,并把它添加到XCTU左侧的无线模块列表中。在XCTU软件中,默认是位于配置窗口中,点击左边模块,便会读取模块相关的参数,在配置窗口中展现出来。
XCTU软件右上角有个控制台模式按钮,可以用它作为一个串口终端程序来进行通信测试。在串口终端模式中,窗口分为ASCII码区域和16进制显示区域。发送和接收的数据会用不同的颜色显示出来。
我们可以用分离终端窗口按钮来把两个模块的终端窗口同XCTU软件分离开来,以方便同时观察各自的发送和接收情况。
XTC/XTend支持两种固件,分别是P2MP和Digimesh,一般国内常用的是点对多点模式的P2MP固件。在这个固件中,最常用的参数包括网络ID,目标地址DT,本地地址MY。通过简单配置这三个参数就可以完成模块的组网通信。默认地,出厂时的固件中模块的MY都是FFFF,所以DT既作源地址也作为目标地址,因此模块已经能和所有目标地址为0的其它模块互通,随意在终端窗口打几个字母,对方的窗口都能收到相应的数据。
我们需要为每个模块设置独一无二的自身地址,这样我们才可以进行定向通信。 在配置窗口中,给模块一的MY设置为1001, DT设置为1002,另一模块上,我们设置MY为1002, DT为1001,这样两个模块就可以独一无二的地十互相通信了。切换到终端窗口,把其中一个终端界面分离出来,我们输入1234,在另一个终端就可以看到接收到的1234以红颜色方式显示出来,这样就完成的透传模式下两个无线模块的对发测试。
XTC有许可可配置的参数来灵活实现各种功能和对不同应用场景通信的调试和优化。更多功能请认真研读产品手册。
除透传模式外,还可以使用API模式进行过程和行为更加方便可控的通信。
XTC的Polling模式
为了更大地提升带宽利用率,还可以采用polling mode来进行通信,在一点对多点通信中,要同多方通信的模块称为基站模块。在polling模式中,基站模块会轮询指定范围的远方模块。这样做的好处是,远端模块只有在轮询到才发数据,没有随意发送带来的碰撞冲突,提高带宽利用率。 在轮询模式中,基站模块需要配置如下:
MD=3
MY=0
PB=起始地址
PE=结束地址
可选配置包括(MT,PD,AP)
轮询模式的远端模块需配置如下:
MD=4
MY在指定地址范围内
DT=0
可选配置包括MT
在轮询模式中,PD的值很重要,它是每个模块轮询间隔时间,默认是64也就是100ms。通常您可以直接用默认值进行测试。 如果您想观察它如何运作的话,把它改成3E8(1秒),我们会发现,基站模块的发送是随时可以进行的,而远端模块只有轮询的时间片内时数据才会送出。注意为了兼容大多数场景,请把PD设置为300ms以下。
在一对多的场景,避免多的那一方同时发数据造成过多的竞争冲突,polling的时间片方式是一种有效的应对措施。即使是针对一对一的也有一定的意义,因为polling意味着发送方准备好接收而不会与接收方竞发。但PD和数据模型有关,如果PD不匹配数据模型,有可能会观察到的效果并不好。因此,当Polling模式测试下来效果不理想,请恢复模块为出厂配置。
如何为密集数据发送正确配置XTC/XTend和SX参数
对于数据发送频繁带宽需求较高的应用场景,您需要正确配置XTend和SX,以便发挥它们的功效 对于XTend/XTC来说,一般对于大数据流的应用,主要是要配置RN和TT,可以把RN设置为1或2,把TT设置为1K。在RN=2, TT=1K测试时,双向对发100bytes/100ms,基本上不丢包。 对于SX来说,它没有RN和TT,应该说新的协议在固件里自动优化了之前需要手动设置的参数,只需配置TO=40,用它的P2MP模式即可。