E105-BS21系列蓝牙星闪模块使用通用的AT指令,操作简单快捷。SLE星闪模块可广泛应用于智能穿戴、家庭自动化、家庭安防、个人保健、智能家电、配饰与遥控器、汽车、照明、工业互联网、智能数据采集、智能控制等领域。本文将详细说明E105-BS21系列蓝牙星闪模块的常见AT指令以及示例,如下所示:
指令类型 | 指令格式 | 描述 |
查询指令 | AT+[X]? | 该指令用于查询设置指令的参数。 |
设置指令 | AT+[X]=<…> | 该指令用于设置用户用户自定义参数。 |
执行指令 | AT+[X] | 用于不带参数的指令,如模块复位。 |
注意:
串口配置均以回车()和换行()结尾;
两种配置模式的返回结果均以()和() 结束,后续不再说明;
串口波特率默认为 115200,8bit 数据位,1 位停止位,无校验;
指令参数均为 ASCII 格式;
指令执行应答格式 OK,指令错误应答格式 ERROR;
AT 指令中<>表示参数,[ ] 表示必填参数;
指令部分不区分大小写;
所有 AT 指令中不能包含空格、制表符等不可见字符。
指令 | AT | 响应 | OK<CR><LF> |
描述 | 测试串口通信是否正常。 | ||
参数 |
| ||
示例 | AT OK | ||
指令 | AT+DEVTYPE=? | 响应 | DEVTYPE=<dev><CR><LF> OK<CR><LF> |
描述 | 读取器件型号。 | ||
参数 | <dev>:器件型号 | ||
示例 | AT+DEVTYPE=? DEVTYPE=E105-BS21 OK |
指令 | AT+FWCODE=? | 响应 | FWCODE=<fwcode><CR><LF> OK<CR><LF> |
描述 | 读取固件编码。 | ||
参数 | <fwcode>:固件编码 | ||
示例 | AT+DEVTYPE=? FWCODE=7491-0-10 OK |
指令 | AT+REBOOT | 响应 | +REBBOT<CR><LF> |
描述 | 模块重启。 | ||
示例 | AT+REBOOT +REBOOT ... +EVENT:MODULE INIT | ||
指令 | AT+RESTORE | 响应 | +RESTORE<CR><LF> |
描述 | 模块恢复出厂设置并重启。 | ||
示例 | AT+RESTORE +RESTORE ... +EVENT:MODULE INIT |
指令 | AT+UART? | 响应 | +UART:<baud>,<parity><CR><LF> OK<CR><LF> |
描述 | 查询串口配置。 | ||
参数 | <baud>:串口波特率 <parity>:串口校验位 | ||
示例 | AT+UART? +UART:115200,0 OK | 功能 | 查询到串口波特率为 115200,无校验 |
指令 | AT+UART=<baud>,<parity> | 响应 | OK<CR><LF> |
描述 | 设置串口配置,自动保存参数(重启生效)。 | ||
参数 | <baud>:串口波特率,[2400、4800、9600、19200、38400、57600、115200、230400]bps <parity>:串口校验位,[0:8N1 1:8O1 2:8E1] | ||
示例 | AT+UART=115200,0 OK | 功能 | 设置串口波特率为 115200,无校验 |
指令 | AT+SLEMODE? | 响应 | +SLEMODE:<role><CR><LF> OK<CR><LF> |
描述 | 查询星闪工作模式。 | ||
参数 | <role>:星闪工作模式[0:关闭星闪 1:星闪 SERVER 2:星闪 CLIENT] | ||
示例 | AT+SLEMODE? +SLEMODE:1 OK | 功能 | 查询到星闪工作模式为 SERVER |
指令 | AT+SLEMODE=<role> | 响应 | <CR><LF>+EVENT:SLE MODE INIT...<CR><LF> OK<CR><LF> |
描述 | 设置星闪工作模式,切换模式前需要先关闭星闪,自动保存参数。 | ||
参数 | <role>:星闪工作模式[0:关闭星闪 1:星闪 SERVER 2:星闪 CLIENT] | ||
示例 | AT+SLEMODE=2 +EVENT:SLE MODE INIT... OK | 功能 | 设置星闪工作模式为 CLIENT 模式 |
指令 | AT+SLEADV | 响应 | OK<CR><LF> |
描述 | 正常启动 SERVER 模式时会自动开始广播,只有断连后需要重新开启广播(SERVER 模式有效)。 | ||
参数 |
| ||
示例 | AT+SLEADV OK | 功能 | 手动再次开启广播 |
指令 | AT+SLECONNECT | 响应 | <CR><LF>+EVENT:SLE CONNECTING...<CR><LF> OK<CR><LF> |
描述 | 搜索附近名称相同的设备并建立连接(CLIENT 模式有效)。 | ||
参数 |
| ||
示例 | AT+SLECONNECT +EVENT:SLE CONNECTING... OK | 功能 | 搜索连接附近名称和本机相同的设备 |
指令 | AT+SLECONNECT=<mac> | 响应 | <CR><LF>+EVENT:SLE CONNECTING...<CR><LF> OK<CR><LF> |
描述 | 搜索附近地址为<mac>的设备并建立连接(CLIENT 模式有效)。 | ||
参数 | <mac>:目标地址,[XX:XX:XX:XX:XX:XX],X 为 16 进制数 | ||
示例 | AT+SLECONNECT=1234567890AB +EVENT:SLE CONNECTING... OK | 功能 | 搜索连接地址为 12:34:56:78:90:ab 的设备 |
指令 | AT+SLEDISCONNECT | 响应 | OK<CR><LF> |
描述 | 断开所有星闪连接。 | ||
参数 |
| ||
示例 | AT+SLEDISCONNECT OK | 功能 | 断开所有星闪连接 |
指令 | AT+SLEDISCONNECT=<mac> | 响应 | <CR><LF>+EVENT:SLE CONNECTING...<CR><LF> OK<CR><LF> |
描述 | 断开地址为<mac>的连接。 | ||
参数 | <mac>:目标地址,[XX:XX:XX:XX:XX:XX],X 为 16 进制数 | ||
示例 | AT+SLEDISCONNECT=1234567890AB OK | 功能 | 断开 MAC 为地址 12:34:56:78:90:ab 设备连接 |
指令 | AT+SLESCANSTART=<duplicate> | 响应 | OK<CR><LF> |
描述 | 扫描附近星闪设备(CLIENT 模式有效),过滤模式下会过滤 MAC 地址为 00:00:00:00:00:00 的无效设备。 | ||
参数 | <duplicate>:是否过滤结果 | ||
示例 | AT+SLESCANSTART=1 +EVENT:SLE SCANING... OK NAME:30,EBYTE SLE MAC:12:34:56:78:90:ab RSSI:-17 | 功能 | 扫描附近设备并过滤重复结果 |
指令 | AT+SLESCANSTOP | 响应 | OK<CR><LF> |
描述 | 停止扫描附近星闪设备(CLIENT 模式有效)。 | ||
参数 |
| ||
示例 | AT+SLESCANSTOP +EVENT:SLE SCAN STOP OK | 功能 | 停止扫描附近设备 |
指令 | AT+SLEMAC? | 响应 | +SLEMAC:<mac>,<type><CR><LF> OK<CR><LF> |
描述 | 查询星闪地址。 | ||
参数 | <mac>:MAC 地址,[XX:XX:XX:XX:XX:XX],X 为 16 进制数 <type>:地址类型,[0:静态地址 6:随机地址(暂不支持)] | ||
示例 | AT+SLEMAC? +SLEMAC:12:34:56:78:90:AB,0 OK | 功能 | 查询到静态 MAC 地址为 12:34:56:78:90:AB |
指令 | AT+SLEMAC=<mac>,<type> | 响应 | OK<CR><LF> |
描述 | 设置星闪地址,自动保存参数(建立连接前设置有效)。 | ||
参数 | <mac>:MAC 地址,[XX:XX:XX:XX:XX:XX],X 为 16 进制数 <type>:地址类型,[0:静态地址 6:随机地址(暂不支持)] | ||
示例 | AT+SLEMAC=1234567890AB,0 OK | 功能 | 设置静态 MAC 地址为 12:34:56:78:90:ab |
指令 | AT+SLEPWR? | 响应 | +SLEPWR:<pwr><CR><LF> OK<CR><LF> |
描述 | 查询星闪输出功率。 | ||
参数 | <pwr>:自动设置为最接近的功率档位,[-127~20] dBm | ||
示例 | AT+SLEPWR? +SLEPWR:20 OK | 功能 | 查询到最大输出功率为 20dbm (非特定发送功率) |
指令 | AT+SLEPWR=<pwr> | 响应 | OK<CR><LF> |
描述 | 设置星闪输出功率,自动保存参数(建立连接前设置有效)。 | ||
参数 | <pwr>:自动设置为最接近的功率档位,[-127~20] dBm | ||
示例 | AT+SLEPWR=6 OK | 功能 | 设置发送功率为 6dBm,自动选择最接近的功率 档位 |
指令 | AT+SLEADVSET? | 响应 | +SLEADVSET:<max>,<min><CR><LF> OK<CR><LF> |
描述 | 查询星闪广播间隙。 | ||
参数 | <max>:最大广播间隙,[32~64000],单位 125us <min>:最小广播间隙,[32~64000],单位 125us | ||
示例 | AT+SLEADVSET? +SLEADVSET:200,200 OK | 功能 | 查询到广播间隙为 200*0.125 = 25 ms |
指令 | AT+SLEADVSET=<max>,<min> | 响应 | OK<CR><LF> |
描述 | 设置星闪广播间隙,自动保存参数(建立连接前设置有效)。 | ||
参数 | <max>:最大广播间隙,[32~64000],单位 125us <min>:最小广播间隙,[32~64000],单位 125us | ||
示例 | AT+SLEADVSET=20,20 OK | 功能 | 设置广播间隙为 20*0.125 = 2.5 ms |
指令 | AT+SLECNTSET? | 响应 | +SLECNTSET:<max>,<min>,<latency>, <timeout><CR><LF> OK<CR><LF> |
描述 | 查询星闪连接间隙。 | ||
参数 | <max>:最大连接间隙,[32~16000],单位 125us <min>:最小连接间隙,[32~16000],单位 125us <latency>:延迟周期,单位 slot(该值表示在设置值的周期内可以不回复, 为 0 时则表示每包都需回复) <timeout>:超时时间,[10~3200],单位 10ms | ||
示例 | AT+SLECNTSET? +SLECNTSET:100,100,499,500 OK | 功能 | 查询到连接间隙为 12.5ms,延迟周期为 499, 超时时间为 5 秒 |
指令 | AT+SLECNTSET=<max>,<min>,<latency>,<timeout> | 响应 | OK<CR><LF> |
描述 | 设置星闪连接间隙,自动保存参数(建立连接前设置有效)。 | ||
参数 | <interval_max>:最大连接间隙,[32~16000],单位 125us <interval_min>:最小连接间隙,[32~16000],单位 125us <latency>:延迟周期,[0~499],单位 slot(在设置值周期内可以不回复, 为 0 时表示每包都需回复) <timeout>:超时时间,[10~3200],单位 10ms | ||
示例 | AT+SLECNTSET=80,80,499,50 OK | 功能 | 设置连接间隙为 10ms,延迟周期为 499,超时 时间为 500ms |
指令 | AT+SLESCANSET? | 响应 | +SLESCANSET:<interval>,<window><CR><LF> OK<CR><LF> |
描述 | 查询星闪扫描参数。 | ||
参数 | <interval>:扫描间隔,[32~64000],单位 125us <window>:扫描窗口,[32~64000],单位 125us(扫描窗口需要小于等于扫描间隔) | ||
示例 | AT+SLESCANSET? +SLESCANSET:100,100 OK | 功能 | 查询到扫描间隔和扫描窗口都为 12.5ms |
指令 | AT+SLESCANSET=<interval>,<window> | 响应 | OK<CR><LF> |
描述 | 设置星闪扫描参数,自动保存参数(建立连接前设置有效)。 | ||
参数 | <interval>:扫描间隔,[32~64000],单位 125us <window>:扫描窗口,[32~64000],单位 125us(扫描窗口需要小于等于扫描间隔) | ||
示例 | AT+SLESCANSET=100,50 OK | 功能 | 设置扫描间隔为 12.5ms,扫描窗口为 6.25ms |
指令 | AT+SLENAME? | 响应 | +SLENAME:<name><CR><LF> OK<CR><LF> |
描述 | 查询星闪名称。 | ||
参数 | <name>:星闪名称,最多不超过 30 字节 | ||
示例 | AT+SLENAME? +SLENAME:EBYTE SLE OK | 功能 | 查询到星闪名称为 EBYTE SLE |
指令 | AT+SLENAME=<name>,<save> | 响应 | OK<CR><LF> |
描述 | 设置星闪扫描参数(建立连接前设置有效)。 | ||
参数 | <name>:星闪名称,最多不超过 30 字节 <save>:是否保存到 FLASH 中,[1:保存 0:不保存] | ||
示例 | AT+SLENAME=星闪 BS21,1 OK | 功能 | 设置名称为星闪 BS21,并保存到 FLASH 中 |
指令 | AT+SLESEND=<len>,<data> | 响应 | OK<CR><LF> |
描述 | 星闪发送数据,需要在成功建立连接的情况下使用。 | ||
参数 | <len>:用户发送长度,[1~240] bytes,长度值需要等于实际发送数据 <data>:用户发送数据,最多 240 字节 | ||
示例 | AT+SLESEND=5,12345 OK | 功能 | 星闪发送数据长度为 5 的数据 12345 |
指令 | AT+SLETRANS | 响应 | OK<CR><LF> |
描述 | 星闪进入透明传输模式来发送数据,需要在成功建立连接的情况下使用。 若要退出透传模式,在透传模式内输入“CMD<CR><LF>”即可退出透传模式。 | ||
参数 |
| ||
示例 | AT+SLESEND OK 12345 CMD +EVENT:AT CMD | 功能 | 进入透传模式 发送数据 12345 输入 CMD<CR><LF>指令退出透传模式 回到 AT 指令模式 |
指令 | AT+SLEAUTOSETUP? | 响应 | +SLEAUTOSETUP:<enable><CR><LF> OK<CR><LF> |
描述 | 查询模块启动后自动开启星闪功能是否使能。 | ||
参数 | <enable>:功能使能,[0:关闭 1:开启] | ||
示例 | AT+SLEAUTOSETUP? +SLEAUTOSETUP:0 OK | 功能 | 查询到模块启动后不自动开启星闪 |
指令 | AT+SLEAUTOSETUP=<enable> | 响应 | OK<CR><LF> |
描述 | 设置模块启动后自动开启星闪功能是否使能,自动保存参数。 | ||
参数 | <enable>:功能使能,[0:关闭 1:开启] | ||
示例 | AT+SLEAUTOSETUP=1 OK | 功能 | 设置模块启动后自动开启星闪 |
指令 | AT+SLEAUTOCONNECT? | 响应 | +SLEAUTOCONNECT:<enable><CR><LF> OK<CR><LF> |
描述 | 查询星闪自动连接是否使能。 | ||
参数 | <enable>:功能使能,[0:关闭 1:开启] | ||
示例 | AT+SLEAUTOCONNECT? +SLEAUTOCONNECT:0 OK | 功能 | 查询到星闪启动后自动连接不使能 |
指令 | AT+SLEAUTOCONNECT=<enable> | 响应 | OK<CR><LF> |
描述 | 设置星闪自动连接是否使能,自动保存参数。 | ||
参数 | <enable>:功能使能,[0:关闭 1:开启] | ||
示例 | AT+SLEAUTOCONNECT=1 OK | 功能 | 设置星闪启动后自动连接 |
指令 | AT+SLEAUTOTRANS? | 响应 | +SLEAUTOTRANS:<enable><CR><LF> OK<CR><LF> |
描述 | 查询星闪连接后是否自动进入透传模式。 注:星闪断开连接后自动回到 AT 指令模式。 | ||
参数 | <enable>:功能使能,[0:关闭 1:开启] | ||
示例 | AT+SLEAUTOTRANS? +SLEAUTOTRANS:0 OK | 功能 | 查询到星闪连接后不自动进入透传模式 |
指令 | AT+SLEAUTOTRANS=<enable> | 响应 | OK<CR><LF> |
描述 | 设置星闪连接后是否自动进入透传模式,自动保存参数。 注:星闪断开连接后自动回到 AT 指令模式。 | ||
参数 | <enable>:功能使能,[0:关闭 1:开启] | ||
示例 | AT+SLEAUTOTRANS=1 OK | 功能 | 设置星闪连接后自动进入透传模式 |
指令 | AT+SLEAUTORECONNECT? | 响应 | +SLEAUTORECONNECT:<enable><CR><LF> OK<CR><LF> |
描述 | 查询星闪断开连接后是否自动重新连接,自动保存参数。 SERVER 模式下自动进入广播模式,CLIENT 模式下自动进入扫描模式。 | ||
参数 | <enable>:功能使能,[0:关闭 1:开启] | ||
示例 | AT+SLEAUTORECONNECT? +SLEAUTORECONNECT:0 OK | 功能 | 查询到星闪断开连接后不自动重新连接 |
指令 | AT+SLEAUTORECONNECT=<enable> | 响应 | OK<CR><LF> |
描述 | 设置星闪断开连接后是否自动重新连接,自动保存参数。 SERVER 模式下自动进入广播模式,CLIENT 模式下自动进入扫描模式。 | ||
参数 | <enable>:功能使能,[0:关闭 1:开启] | ||
示例 | AT+SLERECONNECT=1 OK | 功能 | 设置星闪断开连接后自动重新连接 |
指令 | AT+SLESLEEP | 响应 | <CR><LF>+EVENT:SLE SLEEP<CR><LF> OK<CR><LF> |
描述 | 模块进入永久休眠状态,只能通过 RST 或者重新上电唤醒,重新唤醒时间约为 430ms 左右。 | ||
参数 |
| ||
示例 | AT+SLESLEEP +EVENT:SLE SLEEP | 功能 | 模块进入永久休眠状态 |
指令 | AT+SLESLEEP=<time> | 响应 | <CR><LF>+EVENT:SLE SLEEP<CR><LF> OK<CR><LF> |
描述 | 模块进入定时休眠状态,设定一定时间(ms)自动唤醒。 注:若星闪正处于连接状态,则无法进入休眠,需要断开连接后才能进入休眠。 | ||
参数 | <time>:休眠时间,经过[1~600000]ms 后自动唤醒 | ||
示例 | AT+SLESLEEP=2000 +EVENT:SLE SLEEP OK +EVENT:SLE WAKEUP | 功能 | 设置星闪连接后自动进入透传模式 |
今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多蓝牙星闪模块产品和SLE星闪技术资料,感兴趣的小伙伴可以登录我们的太阳集团tcy8722官网进行了解,也可以直接拨打400电话咨询技术专员!
相关阅读:
4、E105-BS21系列串口转SLE蓝牙星闪模块产品功能介绍