AT 命令参考

概述

AT 命令通过串口(USB CDC)发送,适合开发者在调试阶段配置设备、查询状态以及与 Agent 直接交互。 所有命令均以 AT+CLAW= 开头,并通过换行符(回车)触发执行。

默认波特率:1500000

小技巧

普通用户可直接通过 Web 后台完成所有配置,无需使用 AT 命令。AT 命令主要面向开发者调试场景。

连接串口

按以下步骤连接设备串口:

  1. 安装串口工具,例如 PuTTY(Windows)、minicom(Linux)或 screen(macOS / Linux)。

  2. 将 Ameba 开发板通过 USB 连接到电脑,确认对应的串口设备名称(Windows 为 COMx,Linux / macOS 为 /dev/ttyUSBx/dev/tty.usbserial-xxx)。

  3. 打开串口工具,设置波特率为 1500000,数据位 8,停止位 1,无奇偶校验。

  4. 连接成功后,发送以下命令测试与 Agent 的通信:

screen /dev/ttyUSB0 1500000

连接后,在终端输入:

AT+CLAW=ask,你好

若 Agent 正常回复,则表明串口通信工作正常。

备注

不同操作系统下设备名称可能不同。Linux 用户可运行 ls /dev/ttyUSB*ls /dev/ttyACM* 确认设备节点;macOS 用户可运行 ls /dev/tty.usb*

命令速查表

下表列出所有可用的 AT 命令、功能说明及使用示例。

命令

说明

示例

AT+CLAW=ask,<消息>

与 Agent 对话,发送一条自然语言消息并等待回复

AT+CLAW=ask,现在几点了

AT+CLAW=lua

进入 Lua REPL 交互模式

AT+CLAW=lua

AT+CLAW=cfg

查看当前 LLM 配置(API Key、模型、URL、认证方式等)

AT+CLAW=cfg

AT+CLAW=cfg,key,<val>

设置 LLM API Key

AT+CLAW=cfg,key,sk-xxx

AT+CLAW=cfg,model,<val>

设置模型名称

AT+CLAW=cfg,model,gpt-4o

AT+CLAW=cfg,url,<val>

设置 LLM API 端点 URL

AT+CLAW=cfg,url,https://api.openai.com/v1

AT+CLAW=cfg,backend,<0|2>

设置认证方式:0 = OpenAI Bearer Token,2 = Anthropic

AT+CLAW=cfg,backend,0

AT+WLCONN=ssid,<ssid>,pw,<pass>

连接指定 Wi-Fi 网络(底层命令,立即生效,配置持久化保存)

AT+WLCONN=ssid,MyNetwork,pw,password123

AT+CLAW=cfg,wifi,<ssid>,<pass>

连接指定 Wi-Fi 网络(应用层命令,与上一条功能相同)

AT+CLAW=cfg,wifi,MyNetwork,password123

AT+CLAW=wifi,clear

清除 Wi-Fi 配置并重启,设备进入 SoftAP 配网模式

AT+CLAW=wifi,clear

AT+CLAW=memory,list

列出所有已存储的长期记忆条目

AT+CLAW=memory,list

AT+CLAW=memory,clear

清除所有长期记忆

AT+CLAW=memory,clear

AT+CLAW=session,list

列出所有会话

AT+CLAW=session,list

AT+CLAW=session,clear

清除当前活动会话的历史记录

AT+CLAW=session,clear

AT+CLAW=session,clear,all

清除所有会话的历史记录

AT+CLAW=session,clear,all

AT+CLAW=skill,<名称>

直接运行含脚本型 Skill(纯知识型 Skill 无脚本,此命令对其无效)

AT+CLAW=skill,usb_file

AT+CLAW=cap

列出所有已注册的 Capability(Agent 可调用的能力)

AT+CLAW=cap

AT+CLAW=fs,list,<path>

列出指定路径下的文件

AT+CLAW=fs,list,vfs:/

AT+CLAW=fs,delete,<path>

删除指定路径的文件

AT+CLAW=fs,delete,vfs:/tmp/test.lua

Lua REPL 模式

AT+CLAW=lua 命令会将串口切换为交互式 Lua 解释器(REPL)。在 REPL 模式下,可以逐行输入 Lua 语句并立即得到执行结果,无需重新编译固件。这对于调试硬件外设、验证逻辑和快速原型开发非常有用。

退出 REPL 模式:按 Ctrl+C,或发送命令 AT+CLAW=ask,exit

可用外设模块

以下 Lua 模块仅在 REPL 模式下可直接调用,不能在 Skill 脚本中使用

模块

功能

wifi

Wi-Fi 扫描与连接

uart

UART 串口通信

pwm

PWM 波形输出

ir

红外发送与接收

lcdc

LCD 显示控制器操作

adc

模数转换(ADC)采样

thermal

片上温度传感器读取

touch

触摸屏输入读取

basictimer

硬件基础定时器精确计时

led_strip

WS2812 可编程 LED 灯带控制

备注

gpioi2cspirtcaudiodisplaybutton 等模块在 REPL 和 Skill 脚本中均可使用。上表列出的模块为 REPL 专属,Skill 脚本中无法访问。

使用示例

以下示例展示在 Lua REPL 模式下读取 GPIO 状态并通过 UART 发送数据的基本用法。

首先进入 REPL:

AT+CLAW=lua

进入后终端将显示 > 提示符,逐行输入以下代码:

-- 读取 GPIO 引脚电平(以 PA_0 为例)
local pin = gpio.new("PA_0", gpio.INPUT)
print("GPIO PA_0 level:", pin:read())

-- 通过 UART 发送一条消息
local u = uart.new(0, 115200)
u:write("Hello from Ameba-Claw REPL\r\n")

-- 读取片上温度传感器
local temp = thermal.read()
print("Chip temperature:", temp, "°C")

每行代码回车后立即执行,结果直接输出在终端中。调试完成后,按 Ctrl+C 退出 REPL,恢复正常 AT 命令模式。

小技巧

在 REPL 中可以定义函数、使用循环和条件语句,与标准 Lua 语法完全一致。适合快速验证传感器读值、测试通信时序或批量操作文件系统。