查看“︁AT模块 8: 低功耗功能 AT 命令(Low Power Function AT Commands)”︁的源代码
←
AT模块 8: 低功耗功能 AT 命令(Low Power Function AT Commands)
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
不允许您执行您所请求的操作。
您可以查看和复制此页面的源代码。
= Low power function AT command = == 指令列表 == {| class="wikitable" ! 指令 ! 描述 |- | <code>AT+PWR</code>_ | 配置电源模式 |- | <code>AT+SLWKIO</code>_ | 配置 GPIO 作为唤醒源 |- | <code>AT+DEWKIO</code>_ | 删除 GPIO 作为唤醒源 |- | <code>AT+SLWKTIMER</code>_ | 配置定时器作为唤醒源 |- | <code>AT+SLWKDTIM</code>_ | 配置 DTIM |- | <code>AT+SLCLDTIM</code>_ | 删除 DTIM 配置 |- | <code>AT+TWT_PARAM</code>_ | 设置 TWT 参数 |- | <code>AT+TWT_SLEEP</code>_ | 进入 TWT 低功耗模式 |- | <code>AT+TWT_TEARDOWN</code>_ | 拆除 TWT |- | <code>AT+GET_CLOCK</code>_ | 获取当前时钟源 |- | <code>AT+SET_CLOCK</code>_ | 设置系统时钟源 |} --- == Low power AT command description == === AT+PWR === '''功能:''' 配置电源模式 ==== Execute Command ==== '''命令:''' <pre> AT+PWR=<power mode>[,<level>] </pre> '''响应:''' <pre> OK </pre> ==== Parameters ==== * '''<power mode>''': * 0: normal mode(正常模式) * 1: hibernate mode(休眠模式) * 2: standby mode(待机模式) * '''[<level>]''': 在休眠模式下,电源等级 0-2; 在待机模式下,1 - 启用接收广播包 ==== Example ==== <pre> AT+PWR=0 // Normal mode AT+PWR=1,0 // Hbn mode, level 0. AT+PWR=2 // Standby mode AT+PWR=2,1 // Standby mode, enable receive broadcast package </pre> --- === AT+SLWKIO === '''功能:''' 配置 GPIO 作为唤醒源 ==== Execute Command ==== '''命令:''' <pre> AT+SLWKIO=<wakeup io>,<trigger mode> </pre> '''响应:''' <pre> OK </pre> ==== Parameters ==== * '''<wakeup io>''': GPIO 唤醒 IO 编号,仅支持 gpio 16 或 gpio 28 * '''<trigger mode>''': 唤醒触发模式 * 0: 高电平唤醒 '''注意:''' 当前实现使用五线 SPI 低功耗方案,因此唤醒方式不可配置,仅支持高电平唤醒。 --- === AT+DEWKIO === '''功能:''' 删除 GPIO 作为唤醒源 ==== Execute Command ==== '''命令:''' <pre> AT+DEWKIO=<io> </pre> '''响应:''' <pre> OK </pre> ==== Parameters ==== * '''<io>''': GPIO 唤醒 IO 编号 --- === AT+SLWKTIMER === '''功能:''' 配置定时器作为唤醒源 ==== Set Command ==== '''命令:''' <pre> AT+SLWKTIMER=<mode>,<timeouts> </pre> '''响应:''' <pre> OK </pre> ==== Parameter ==== * '''<mode>''': 0, standby mode(待机模式), 1 hibernate mode(休眠模式) * '''<timeouts>''': 设置唤醒持续时间,单位为毫秒。一次性唤醒定时器,唤醒后不会再次进入睡眠(除非重新配置新的唤醒定时器) ==== Example ==== <pre> AT+SLWKTIMER=0,5000 //Standby mode, Wake up once next 5000ms </pre> --- === AT+SLWKDTIM === '''功能:''' 配置 DTIM 作为唤醒源 ==== Set Command ==== '''命令:''' <pre> AT+SLWKDTIM=<dtim> </pre> '''响应:''' <pre> OK </pre> ==== Parameter ==== * '''<dtim>''': 设置唤醒 DTIM ==== Example ==== <pre> AT+SLWKDTIM=10 // Set ditm10 for wakeup. </pre> --- === AT+SLCLDTIM === '''功能:''' 删除 DTIM 配置 ==== Set Command ==== '''命令:''' <pre> AT+SLCLDTIM </pre> '''响应:''' <pre> OK </pre> ==== Example ==== <pre> AT+SLCLDTIM </pre> --- === AT+TWT_PARAM === '''功能:''' 设置 TWT 参数 ==== Set Command ==== '''命令:''' <pre> AT+TWT_PARAM=<setup type>,<flow type>,<exponent>,<wakeup duration>,<wake interval mantissa> </pre> '''响应:''' <pre> OK </pre> ==== Parameter ==== * '''Setup type (s):''' 0:REQUEST(请求), 1:SUGGEST(建议), 2:DEMAND(要求) * '''Flow type (t):''' 0:ANNOUNCED TWT(宣告式 TWT), 1:UNANNOUNCED TWT(非宣告式 TWT)。仅支持非宣告式 TWT * '''Wake Interval Exponent:''' 指定唤醒间隔指数 * '''Wake Duration (n):''' 最小唤醒持续时间,单位为微秒 * '''Wake Interval Mantissa (m):''' 用于精确间隔调整的尾数值 * '''Service Period (SP):''' SP = WakeDuration * 256us * '''Wakeup Interval:''' Wakeup Interval = wake_int_mantissa << WakeIntervalExponent us ==== Example ==== <pre> AT+TWT_PARAM=1,1,13,128,1000 //SP = 32.768 ms, Wake Interval = 8.192 seconds: </pre> ==== Note ==== * '''REQUEST Setup type:''' TWT 元素的目标唤醒时间字段设置为 0,由响应的 STA/AP 指定目标唤醒时间值。其他字段由请求 STA 建议。 * '''SUGGEST Setup type:''' TWT 请求 STA 将在设置期间建议目标唤醒时间和其他参数。响应 STA 可能/可能不接受建议值。TWT 连接仍将被接受,使用请求 STA 建议的值或响应 STA 提供的值。 * '''DEMAND Setup type:''' TWT 请求 STA 将在设置期间要求目标唤醒时间和其他参数。如果响应 STA 无法接受建议值,TWT 设置将失败。 * '''计算服务周期的公式:''' Service Period (SP) =( <wakeup duration>/10 ) msec * '''示例:''' AT+TWT_PARAM=1,1,13,128,1000 : SP = (128/10) = 12.8 msec * '''计算 TWT 唤醒间隔的公式:''' TWT Wake Interval = ((2^<exponent>)/<wake interval mantissa>)sec * '''示例:''' AT+TWT_PARAM=1,1,13,128,1000 : TWT Wake Interval = ((2^12)/1000) = 8.192s --- === AT+TWT_SLEEP === '''功能:''' 进入 TWT 低功耗模式 ==== Set Command ==== '''命令:''' <pre> AT+TWT_SLEEP </pre> '''响应:''' <pre> OK </pre> ==== Example ==== <pre> AT+TWT_SLEEP </pre> --- === AT+TWT_TEARDOWN === '''功能:''' 拆除目标唤醒时间 (TWT) 会话 ==== Set Command ==== '''命令:''' <pre> AT+TWT_TEARDOWN=<neg_type>,<all_twt>[,<flow_id>] </pre> '''响应:''' <pre> OK </pre> 或 <pre> ERROR </pre> ==== Parameters ==== * '''<neg_type>''': TWT 协商类型 * 0: 单独协商(将对指定的 TWT 流执行 TWT 拆除) * 1: 在下一个唤醒 TBTT(目标信标传输时间)协商 TWT 拆除。目前不支持 * '''<all_twt>''': 指定是否拆除所有 TWT 流 * 0: 仅拆除指定的 TWT 流(由 <flow_id> 参数指定) * 1: 拆除所有现有的 TWT 流 * '''<flow_id>''': 要拆除的 TWT 流 ID。当 <all_twt> 设置为 0 时,此参数是必需的 ==== Notes ==== * 内部 RC 错误可能导致唤醒间隔不准确(例如,30 秒内 60 毫秒的偏差) * '''外部晶振要求:''' 必须在带有外部晶振的板上进行测试,以最大限度地减少 RTC 时钟偏差 * '''路由器兼容性:''' 使用支持 TWT 的路由器进行测试(例如 TP-Link AX5400) * 目前,仅支持单独协商类型(0) * 当 <all_twt>=1 时,不需要 <flow_id> 参数 * 设备必须在使用此命令之前处于 TWT 模式 ==== Example ==== <pre> // Teardown a specific TWT flow with ID 1 AT+TWT_TEARDOWN=0,0,1 // Teardown all TWT flows AT+TWT_TEARDOWN=0,1 </pre> --- === AT+GET_CLOCK === '''功能:''' 获取当前时钟源 ==== Execute Command ==== '''命令:''' <pre> AT+GET_CLOCK </pre> '''响应:''' <pre> +GET_CLOCK:<source> OK </pre> ==== Parameters ==== * '''<source>''': 当前时钟源 ID * 1: RC 作为 RTC 时钟源 * 2: 无源晶振作为 RTC 时钟源 * 3: 有源晶振作为 RTC 时钟源 ==== Example ==== <pre> AT+GET_CLOCK // Response +GET_CLOCK:1 OK </pre> --- === AT+SET_CLOCK === '''功能:''' 设置系统时钟源 ==== Execute Command ==== '''命令:''' <pre> AT+SET_CLOCK=<source> </pre> '''响应:''' <pre> OK </pre> ==== Parameters ==== * '''<source>''': 要设置的时钟源 * 1: RC 作为 RTC 时钟源 * 2: 无源晶振作为 RTC 时钟源 * 3: 有源晶振作为 RTC 时钟源 ==== Notes ==== * 更改时钟源可能会影响系统性能和功耗 * 某些时钟源在某些电源模式下可能不可用 ==== Example ==== <pre> AT+SET_CLOCK=1 // Response OK </pre> ---
返回
AT模块 8: 低功耗功能 AT 命令(Low Power Function AT Commands)
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息