基于QUALCOMM4020的操作(5)“””

QCLI演示
QCLI是一个基于CLI的演示应用程序,演示了QCA402x平台支持的不同功能和技术。 它还提供了面向客户的QAPI的参考实现和使用。
QCLI命令框架作为一组嵌套菜单实现。 每个菜单都提供与功能或技术相对应的子命令列表。

这里给出了两个示例命令列表 - 第一个位于顶层,第二个位于导航到WLAN组之后。

顶层命令列表

Command List:
Commands:
1. Help
2. Exit
Subgroups:
3. HMI
4. WLAN

5. Net

WLAN组命令列表

Command List:
Commands:
1. Help
2. Up
3. Root
4. Enable
5. Connect
6. Disconnect
Subgroups:
7. SupPart1

8. SupPart2

命令列表将从当前级别的可用命令列表开始。 此列表的顶部将是QCLI内部命令。 命令后,将列出可用的组。 如果没有可用的子组,则此部分将不存在。

配置QCLI演示

QCLI演示为QCA402x支持的所有功能和技术提供CLI菜单。 用户可以选择禁用某些功能(例如,由于缺少闪存空间)。 为此,SDK中提供了一个配置文件,允许将每个功能配置为“true”或“false”。

例如:

1.要禁用Zigbee功能,请编辑env.config文件:

更改:'CFG_FEATURE_ZIGBEE = true'

收件人:'CFG_FEATURE_ZIGBEE = false'

2.申请新配置

□在Windows上,运行“setenv.bat”。

□在Linux上,运行'。setenv.sh”。

3.使用新配置重建演示。

QCLI UART AT命令演示
“QCLI_uart_at_demo”是一个演示应用程序,它提供用于执行电路板功能的AT命令,并为具有低内存占用率的任何MCU提供通过UART接口使用CDB模块的功能,以及为模块定义的标准AT命令。
AT命令用于与通过串行接口连接到主机的AT命令固件加载的Quartz芯片组通信。这些命令通过串行接口提供对外部主机的Quartz芯片组功能的访问。这将卸载BLE,Zigbee,WLAN和TCP / IP(在QCA4020中)和Quartz芯片组的网络管理开销,并促进小型嵌入式主机,基于具有串行接口的8051,PIC,MSP430,AVR等微控制器,使用可用的无线电技术与网络上的其他主机通信。这些串行主机使用简单的命令接口来配置和创建无线和网络连接。

“QCLI_uart_at_demo”的必要文件位于“<sdk_source> / target / quartz / demo / QCLI_uart_at_demo”目录下。处理AT命令有四层,分别是“qc_at”,“qc_api”,“qc_drv”和“drivers”

AT命令的驱动程序层

处理AT命令有四层,分别是“qc_at”,“qc_api”,“qc_drv”和“drivers”。

基于QUALCOMM4020的操作(5)“””

qc_at,qc_api,qc_drv文件夹始终在所有平台中编译,并充当访问平台特定操作的干净抽象。

Drivers文件夹包含可能/可能不包含少量模块的平台特定文件,可能/可能不包含来自模块的少量API,可能/可能不包含API更改,包括但不限于API名称更改,API参数名称更改,API参数计数更改 等等

模块Wi-Fi,P2P,MQTT,OTA,Net,Thread有四级(qc_at,qc_api,qc_drv,驱动程序)分层结构,而BLE,Zigbee等模块有三级(qc_at,qc_drv,驱动程序) )分层次结构。

“qc_at”层“qc_at”是ATW,ATP,ATO,ATN,ATM,ATZ,ATT等不同模块的所有AT命令的入口点,并在调用“qc_api”层之前处理所有命令行验证。
此层中允许的打印应严格使用/警告/错误打印
用法/警告/错误打印无法编译出来
编码指南:“qc_at”中的所有函数都具有以下格式
“qc_at_<MODULE_NAME> _ <API_NAME>”
其中,MODULE_NAME = {wifi,p2p,ota,network,mqtt,zigbee等,}

API_NAME =源自qcom_ / qapi_ API命名法

qc_api层:此层维护操作期间可能需要的任何可能状态,方法是保存状态并保存连接操作所需的配置。 “qc_api”层调用“qc_drv”层来设置/获取模块特定的参数,并执行特定于模块的任何操作。该层确实具有可以编译出来的调试打印。
编码指南:“qc_api”中的所有功能都采用以下格式:
qc_api_ <MODULE_NAME> _ <API_NAME>其中:
□MODULE_NAME = {wifi,p2p,ota,network,mqtt,zigbee等,}

□API_NAME =源自qcom_ / qapi_ API命名法

qc_drv层:该层调用特定于平台的API(4010/4020/4024等),这些API从driver_xxxx.c文件(特定于平台)注册为回调。 该层确实具有可以编译出来的调试打印。
编码指南:“qc_drv”中的所有函数都采用以下格式:
qc_drv_<MODULE_NAME> _ <API_NAME>
哪里:
□MODULE_NAME = {wifi,p2p,ota,network,mqtt,zigbee等,}

□API_NAME =源自qcom_ / qapi_ API命名法

命令格式和接口
■AT命令请求:所有命令均以“AT”开头,并且不区分大小写。 但是,命令的参数(例如SSID)区分大小写。 每个命令都以<CR>终止。
■AT命令响应:命令响应采用ASCII字符串形式。 命令成功返回“确定”消息。 命令失败返回“错误”消息。

在启动时,命令接口将等待UART上的命令输入。

适配器的默认UART设置为:
■波特率:115200
■每个字符的位数:8
■奇偶校验:无
■停止位数:1

■流量控制:关闭

命令参考
本节介绍Host和Quartz AT命令应用程序之间使用的命令接口。在大多数情况下,此接口由一组人类可读命令和响应定义。因此,通过终端或通过计算机程序使用命令接口应该相当简单。命令接口的目标是使主机编程要求尽可能轻量级。
此命令界面从POTS和无线调制解调器中常用的“AT”命令集中汲取灵感,并扩展了支持BT,Zigbee和Wi-Fi连接的功能。
■与Wi-Fi相关的命令以“ATW”前缀开头
■无线P2P相关命令以“ATP2P”前缀开头
■网络相关命令以“ATN”前缀开头
■MQTT相关命令以“ATMQTT”前缀开头
■OTA相关命令以“ATOTA”前缀开头
■BLE相关命令以“ATBLE”前缀开头
■Zigbee相关命令以“ATZB”前缀开头
■与线程相关的命令以“ATTH”前缀开头

启用Wi-Fi模块的ATWENABLE命令如下所示:

基于QUALCOMM4020的操作(5)“””

连续部分介绍了主机可用于控制QCA402x芯片组的命令。

AT命令

常规命令

基于QUALCOMM4020的操作(5)“””

基于QUALCOMM4020的操作(5)“””

WLAN命令

通用命令

基于QUALCOMM4020的操作(5)“””

基于QUALCOMM4020的操作(5)“””

基于QUALCOMM4020的操作(5)“””

基于QUALCOMM4020的操作(5)“””

基于QUALCOMM4020的操作(5)“””

基于QUALCOMM4020的操作(5)“””