0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈Digi 900HP模块的API模式组网配置

lcdz66 来源:雨飞工作室 2023-01-04 09:11 次阅读

为使无人机编队个体间实现组网通信,需要选用合适的通信模块构建通信网络。经过调研发现,XBee系列的模块或许可以更好的解决机间组网通信问题。

一、XBee PRO 900HP模块的基本性能参数

通过查阅相关技术手册,XBee PRO 900HP 模块的部分性能如下图所示:

2e2662f0-8ba1-11ed-bfe3-dac502259ad0.png

图1 900HP相关性能参数

900HP模块在室内305m内或室外6.5km内的通信速率都能达到200Kbps。

对于组网模式,XBee PRO 900HP 模块可实现DigiMesh组网,如下图所示:

2e52d70e-8ba1-11ed-bfe3-dac502259ad0.png

图2 900HP组网模式

二、利用软件XTCU配置XBee PRO 900HP 模块

配置Xbee模块需要用到XTCU软件,该软件界面如下图所示:

2e72d694-8ba1-11ed-bfe3-dac502259ad0.png

图3 XTCU软件

利用软件XTCU对XBee进行参数配置主要参考其用户手册。一般需要配置的参数有:

1、网络ID:相当于标识当前Xbee模块属于哪个通信网络中;

2、波特率:每个模块必须配置相同的波特率(可以理解为通信速率),且该波特率还要与飞控的波特率一致,这样才能确保正常通信;

3、工作模式:XBee模块间的通信有透传模式和API模式两种。

ZigBee模块类似,XBee模块组网时,也需要网络中有且仅有一个节点模块作为协调器(C),其余节点作为路由器(router)。我们可以先配置好网络中的一个协调器节点和路由节点,然后依次添加新的路由节点到网络中。下面给出具体步骤:

1、首先连接好两个XBee PRO 900HP模块(一个协调器和一个路由器)。需要注意的是,在购买该模块时,要同时采购具有USB接口的底板,这样才能方便的连接到电脑上;此外电脑需要安装CH340的驱动,这样连接上模块(可以利用360驱动自动搜索安装)。

2、打开XTCU软件,添加XBee设备。如下图所示,点击搜索按钮:

2e9e7a24-8ba1-11ed-bfe3-dac502259ad0.png

图4 打开XTCU软件搜索端口

选中端口,点击Next:

2edbebfc-8ba1-11ed-bfe3-dac502259ad0.png

图5 选中端口

点击finish:

2f109c30-8ba1-11ed-bfe3-dac502259ad0.png

图6 点击finish

等待检测

2f3a0a2a-8ba1-11ed-bfe3-dac502259ad0.png

图7 等待检测

添加设备:

2f61781c-8ba1-11ed-bfe3-dac502259ad0.png

图8 添加设备

配置参数。点击第一个设备,然后点击参数配置窗口:

2f9c03f6-8ba1-11ed-bfe3-dac502259ad0.png

图9 选择配置窗口

修改网络ID:

2fd67d2e-8ba1-11ed-bfe3-dac502259ad0.png

图10 修改网络ID

图中的红色标记的第2步是写入修改的参数。此外网络ID可以自己随便设置,不一定是图中的1234。

利用同样的方法修改网络类型为协调器:

2ff33bbc-8ba1-11ed-bfe3-dac502259ad0.png

图11 修改模块类型

修改波特率:

308ebe20-8ba1-11ed-bfe3-dac502259ad0.png

图12 修改波特率

将网络改成API模式:

30b90fc2-8ba1-11ed-bfe3-dac502259ad0.png

图13 选择API组网模式

以上就将模块配置成协调器了。我们可以导出profile文件,然后用于配置路由器时,只需修改图11步骤的模块类型就行了。导出profile文件的方法如下图所示:

318441ec-8ba1-11ed-bfe3-dac502259ad0.png

图14 导出profile文件

配置路由器时点击左栏第二个模块,然后点击右栏那个Profile人像按钮,选择第一个Apply configuration profile,找到之前保存的参数配置文件就能和协调器配置一样的参数,但注意需要按图11的方式将模块类型改为路由器。

31d0443e-8ba1-11ed-bfe3-dac502259ad0.png

图15 改路由端口

下面测试数据传输功能:

选择控制台,连接模块(协调器和路由器都要通过此操作进行连接):

31ff0abc-8ba1-11ed-bfe3-dac502259ad0.png

图16 选中控制台

点击“+”号按钮,创建适合API格式的数据包:

32245e7a-8ba1-11ed-bfe3-dac502259ad0.png

图17 添加待发送的数据包

生成符合格式要求的的数据包:

324bdf9a-8ba1-11ed-bfe3-dac502259ad0.png

图18 生成符合格式要求的的数据包

注意:图中第二个红色箭头指示的"FFFF"是表示广播该数据包,如果要指定某个节点发送,需要该对方节点的mac地址,mac地址可以从左栏模块信息中看到:

32885a9c-8ba1-11ed-bfe3-dac502259ad0.png

图19 模块mac地址

图18所述步骤点击OK,然后就生成了发送字符串Hellow的数据包,之后就可以点击发送:

32b9d1ee-8ba1-11ed-bfe3-dac502259ad0.png

图20 发送数据包

接收端可查看数据:

32e16e98-8ba1-11ed-bfe3-dac502259ad0.png

图21 接收端查看数据

三、数据通信协议分析

从图20可以看出,模块间的通信协议发送包格式为:

数据包头(0x7E)+字长(2个字节)+发送协议类型(0x10)+发送协议ID(0x01)目标64位地址(8个字节,即mac地址)+目标16位地址(FFFE)+广播半径(00)+选项(00)+数据(N个字节)+校验码(1个字节)

对于字长,实际上计数的是排在它之后所有数据字节之和(校验码除外),也就是从协议类型(0x10)到校验码之前的长度,假设实际负载的数据是N个字节的话,那么字长计数值就为:1+1+8+2+1+1+N=N+14;

接收协议与发送协议基本相同,只是目标地址变成了发送源地址。即:

数据包头(0x7E)+字长(2个字节)+接收协议类型(0x90)+来源64位地址(8个字节,即mac地址)+来源16位地址(FFFE)+选项(0xC1)+数据(N个字节)+校验码(1个字节)

注意,接收的字长和发送的字长并不一致,前者比后者少2个字节(少了发送协议ID和广播半径),为N+12。比如某次发送信息要求从A发给B,二者mac地址分别为:

A的mac地址为:00 13 A2 00 41 08 01 0B

B的mac地址为:00 13 A2 00 41 08 01 12

要发送的数据包内容为:

hellpw

其ascll码转化为16进制为:

68 65 6C 6C 70 77

则发送字长为6+14=20=0x14,发送数据包为:

7E 00 14 10 01 00 13 A2 00 41 08 01 12 FF FE 00 00 68 65 6C 6C 70 77 54

接收字长为6+12=18,其数据包为:

7E 00 12 90 00 13 A2 00 41 08 01 0B FF FE C1 68 65 6C 6C 70 77 1B

校验码的计算方式如下:

(1)添加数据包的所有字节,但数据包头0x7E和长度(第二个和第三个字节)除外。

(2)根据结果,仅保留最低的8位。

(3)0xFF减去该数量.

对于上述接收包计算过程即为:

数据累加:90 + 00 + 13 + A2 + 00 + 41 + 08 + 01 + 0B + FF + FE + C1 + 68 + 65 + 6C + 6C + 70 + 77 =6E4

保留后八位,即:E4

校验码=FF-E4=1B

最后,需要指出,发送端的Xbee模块若成功发送数据还会收到一个反馈,其格式为

数据包头(0x7E)+字长(2个字节)+协议类型(0x88)+16位地址(FFFE)+ 失效重发次数(1个字节)+传输状态(1个字节,成功为00)+ discovery status(1个字节,暂时不清楚用法)+ 校验码(1个字节)

如一次成功的发送得到的反馈可能如下:

7E 00 07 8B 01 FF FE 00 00 00 76

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Digi
    +关注

    关注

    0

    文章

    16

    浏览量

    9455
  • API
    API
    +关注

    关注

    2

    文章

    1383

    浏览量

    60994
  • 无人机
    +关注

    关注

    224

    文章

    9885

    浏览量

    174825
  • 组网通信
    +关注

    关注

    0

    文章

    7

    浏览量

    6032

原文标题:浅谈Digi 900HP模块的API模式组网配置

文章出处:【微信号:雨飞工作室,微信公众号:雨飞工作室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    求助DIGI无线模块初始化程序?

    求助:DIGI无线模块初始化程序。透传模式。谢谢!
    发表于 08-24 08:00

    API设计模式

    摘要:本文介绍了微API设计模式的基本概念、组网及其优势。以下是译文 互联网上的软件部署始于服务器。然后,有了虚拟化。 IaaS(infrastructure-as-a-service, 基础设施
    发表于 09-28 16:13 0次下载

    浅谈Digi 900HP模块的运作方式

    这是XBee-PRO 900HP RF模块的默认模式。设备不传输数据时处于接收模式。如果目标节点接收到有效的RF数据包,则目标节点会将数据传输到其串行发送缓冲区。
    的头像 发表于 08-14 14:49 1545次阅读
    <b class='flag-5'>浅谈</b><b class='flag-5'>Digi</b> <b class='flag-5'>900HP</b><b class='flag-5'>模块</b>的运作方式

    DC900A-模式

    DC900A-模式
    发表于 05-07 09:42 4次下载
    DC<b class='flag-5'>900</b>A-<b class='flag-5'>模式</b>

    Digi-Key与CalcuQuote合作提供报价API集成支持,为客户提供更简便途径实现30天定价保证

    Digi-Key Electronics 与 CalcuQuote 达成合作,实现了 Digi-Key 报价 API 与该公司技术的集成,为客户提供了一个更简便的入口,以很少的开发投入来连接
    的头像 发表于 01-07 13:52 1383次阅读
    <b class='flag-5'>Digi</b>-Key与CalcuQuote合作提供报价<b class='flag-5'>API</b>集成支持,为客户提供更简便途径实现30天定价保证

    Digi XBee LR模块的主要特点

    无线通信模块,适用于使用LoRaWAN的传感器和终端节点。借助低功耗广域(LPWA)物联网数据云平台Digi X-ON™丰富的连接、设备和网关管理功能,Digi可提供具有自动化配置和部
    的头像 发表于 07-04 15:44 647次阅读

    谈谈P900和P840数传电台的参数配置

    先以P900为例来说明。P900的工作模式,分为指令模式(即配置模式)和数据
    的头像 发表于 10-09 10:09 4785次阅读

    怎么修复900HP模块常见问题及如何解决

    若能识别出来,基本上问题不大。此时,可以查看模块的参数,看是否设置有问题,比如HP、ID是否一致,DH、DL是否配置正确,是否启用了加密功能,是否开启了睡眠功能等等。
    的头像 发表于 10-19 15:01 535次阅读

    XBee-PRO 900HP异步周期休眠模式介绍

    间接消息传递是被设计用为异步休眠设备之间通信的一种通信模式模块可以通过使用CE命令使自己成为一个间接消息传递协调器来启用间接消息传递。
    发表于 01-04 15:53 332次阅读

    Digi 900HP模块API帧实践操作过程

    将UART波特率设置为115200,但不要立即应用更改。该设备将继续以当前波特率运行,直到随后的AC命令应用更改为止。
    的头像 发表于 01-15 16:14 437次阅读

    浅谈Digi XBee模块的操作模式

    一般地,Digi XBee模块有空闲模式、接收模式、发送模式、睡眠模式和命令
    的头像 发表于 02-06 14:08 1252次阅读

    AT指令XBP9B-DM和XBP9B-DP固件的区别是什么

    Digi XBee-Pro 900HP模块(硬件版本:S3B)可以支持三种不同的固件:XBP9B-DM、XBP9B-DP和XBP9B-XC,而XBP9B-XC算是比较旧的固件了,比较常用的就是XBP9B-DM和XBP9B-DP这
    的头像 发表于 02-11 09:35 1060次阅读

    国产T900无线跳频模块如何配置参数

    国产T900系列产品,有两种配置软件,对应的是T900模块的数据串口和控制串口。
    的头像 发表于 06-05 10:23 816次阅读
    国产T<b class='flag-5'>900</b>无线跳频<b class='flag-5'>模块</b>如何<b class='flag-5'>配置</b>参数

    T900数传模块的空中速率和串口速率如何配置

    在使用T900数传模块的过程中,会遇到空中速率和串口速率如何配置的问题。下面就谈谈自己的一些体会。
    的头像 发表于 09-11 10:35 715次阅读
    T<b class='flag-5'>900</b>数传<b class='flag-5'>模块</b>的空中速率和串口速率如何<b class='flag-5'>配置</b>

    Digi XBee3 ZigBee组网和通信测试步骤

    下面采用Digi的XBee ZigBee mesh网络开发套件来进行组网和通信操作,需要装备好至少两个模块和对应的开发底板。
    的头像 发表于 12-14 09:17 720次阅读
    <b class='flag-5'>Digi</b> XBee3 ZigBee<b class='flag-5'>组网</b>和通信测试步骤