什么是API(应用程序编程接口)模式?它是如何工作的?

API(应用程序编程接口)模式是一种基于帧的方法,用于向无线电的串行UART发送和接收数据。该API是默认透明模式的替代方案。

API允许程序员能够:

  • 无需进入命令模式即可更改参数(仅限XBee)
  • 逐包查看RSSI和源地址(仅限XBee 802.15.4)
  • 接收每个传输包的发送确认

本文将介绍如何将示例数据包转换为用于单播传输的API数据帧。尽管此示例将使用一个小文本消息,但该示例可以扩展为包含最多100字节(XBee Zigbee (ZB)的256字节)长度的XBee数据包,或者在默认配置和启用API的情况下包含最多2048字节的9XTend数据包。

由于9XTend和XBee使用略微不同的寻址选项,因此将为同一文本消息提供两个不同的示例。

本例将把ASCII字符串“Hello”发送到目的地址为5001的电台。两个示例都将使用没有转义字符(ATAP=1)的API模式。无线电中的两个API选项都可以在固件版本1083 (XBee)和2020 (9XTend)上随时向客户提供。对于ZigBee版本的固件,请确认您已经安装了API版本。

XBee - 16位802.15.4单播示例:

使用以下参数配置无线电:

广播电台1 电台2
Ap = 1 Dl = 5000
My = 5000 My = 5001

要组合数据包,请使用X-CTU测试和配置软件的Terminal选项卡中的''''Assemble packet ''''选项。

启动第二个X-CTU屏幕。确认您已经选择了COM端口Radio 2,然后单击Terminal选项卡。

在“''''Assemble Packet''''”窗口中选择“''''十六进制''''”选项,在Radio 1'''' COM端口的X-CTU设置中输入如下十六进制格式的数据:

7e 00 0a 01 01 50 01 00 48 65 6c 6c 6f b8

7 e 开始分隔符
00 0 a 长度字节
01 API标识符
01 API帧ID
50 01 目的地址低
00 选项字节
6c 6c 6f 数据包
B8 校验和

如果数据包成功,您将在接收模块终端窗口中看到“Hello”。您还将收到一个返回到Radio 1的响应数据包,说明数据包成功。这个成功的响应包看起来像这样:

7e 00 03 89 01 00 75

7 e 开始分隔符
00 03 长度字节
89 API标识符
01 API帧ID
00 状态字节
75 校验和

如果需要查看TX响应报文,请在“终端”页签中选择“''''Show Hex''''”

xtend单播示例:

对于9XTend,您需要安装的固件版本是2x20或更高版本。如果您没有安装此版本,您可以使用X-CTU测试和配置软件从我们的网站下载。如果您不确定如何更新固件,请按照下面列出的步骤操作http://knowledge.digi.com/articles/Knowledge_Base_Article/How-to-update-firmware-in-modules/?q=How+to+update+firmware+in+modules&l=en_US&fs=Search&pn=1安装正确的版本。

固件安装完成后,将无线电设置为以下参数:

广播电台1 电台2
拨码开关1,5和6向上 拨码开关1,5和6向上
Ap = 1 Ap = 0*
Dt = 5001 Dt = 5000
My = 5000 My = 5001

其他参数保持不变。源地址和目的地址是任意选择的。

*Radio 2''''s AP选项可以设置为0 (API关闭),1(API不带转义字符)或2(带转义字符)。接收消息仍然是相同的。

无线电已经准备好使用API包发送“Hello”消息。

选择您选择的X-CTU窗口作为Radio 1,然后单击Terminal选项卡。

在“''''Assemble Packet''''”窗口中选择“''''十六进制''''”选项,输入如下十六进制格式的数据。

7e 00 0a 01 01 50 01 00 48 65 6c 6c 6f b8

7 e 开始分隔符
00 0 a 长度字节
01 API标识符
01 API帧ID
50 01 目的地址低
00 选项字节
6c 6c 6f 数据包
B8 校验和

地址为5001 (radio 2)的9XTend电台将接收到“Hello”数据包,并显示在相应的X-CTU的Terminal选项卡中。Radio 1''''的数据包上的发送响应现在看起来像这样:

7e 00 03 89 01 00 75

7 e 开始分隔符
00 03 长度字节
89 API标识符
01 API帧ID
00 状态字节
75 校验和

有了这些信息,您就可以很容易地扩展上面提供的示例,包括XBee中的64位寻址功能,或者向范围内的所有无线电设备发送广播地址。

要了解有关任意一个无线电中的API选项的更多信息,请参阅各自的产品手册。产品手册可在网上找到。


Digi-XCTU软件实用程序的“工具”图标下的“帧生成器”和“帧解释器”是处理API帧的方便方法。XCTU可在此下载:
//www.phdurl.com/products/xbee-rf-solutions/xctu-software/xctu#productsupport-utilities
最后更新:2018年8月23日

最近查看的

没有最近浏览的文章
Baidu
map