最新消息:

BM90 AT Commands

BM90 wkadmin 918浏览 0评论
CMD格式 返回 说明 示例 是否立即生效
命令:
1 所有的命令除了AT+RESET以外,都以AT#开头,紧接着是命令码,占一个字节;
2 如果命令需要参数的话,则紧接着是长度字段,根据命令不同占用1/2/3个字节(命令的说明中以nB表示占用的字节数);
3 再接着就是具体的命令的参数,参数占用的字节数由长度字段决定;
4 所有的命令结束的时候都不需要\r\n;
5 命令的参数是什么码随着命令不同而不同,具体见每个命令的说明,但是一般包含如下几种:
1)字符类型–>比如说1表示字符‘1’,他的ascii内码是31,对应命令实际的value需要做一个转换,把字符转换(减‘0’)成具体的value
2)具体的value类型,对应的param可以原封不动的作为设置的内容直接使用,不用装换,比如设置advertising的data,uuid
命令的返回:
1 简单的返回正确和错误: 正确:AT##0   错误:AT##F
2 带参数的返回,返回的格式除了是以AT##开头以外,其他的字段都是跟命令完全一样的
AT#R 成功 恢复所有的设置为出厂默认的设置 需要重启
AT#D 成功 重启系统 需要重启
AT#N[len:2B][name] 成功或者失败 设置蓝牙设备的名称。最大长度为16字节。 AT#N10MY_BLE_RAW
AT#L AT##L[len:3B][name] 返回设备的名称
AT#P[len:1B][pin] 返回成功或者失败 如果password格式和长度符合规定,则能成功设置。一旦设置成功,那么手机连接本设备时,将需要输入设置的password。否则将无法配对成功。
参数会做字符到value的转换。
AT#P6123456 需要重启
AT#O AT##O[len:1B][password] 返回当前的ble连接的mitm的密码;
返回的参数是字符类型的,具体的value需要做字符到value的转换
输入AT#O后,返回AT##O6123456
AT#V AT##V[VER] 版本号用两个字节表示,比如01表示0.1版本;
返回的VER是字符类型的
AT#C[len:2B][advertising data] 成功或者失败 广播包可以设置的内容最大为28个字节,因为有三个字节是留给必须的flag的字段的,这个字段不能改变。这个28个字节必须按照协议中的格式来正确设置,会对设置的内容进行valid的校验。
参数不会做任何转换,直接使用。
这个命令的参数,如果有需要可以联系我们进行定制以保证格式正确。
AT#R[len:2B][scan resp data] 成功或者失败 scan response包最大可以设置的长度为31个字节,必须按照协议的格式来进行设置,否则校验会失败。
参数不会做任何转换,直接使用。
这个命令的参数,如果有需要可以联系我们进行定制以保证格式正确。
AT#U[len:2B][len1:2B][service uuid][len2:2B][tx uuid][len3:2B][rx uuid] 成功或者失败 设置ble的透传服务的service, tx, rx uuid,支持2byte和16byte两种。
len=len1+len2+len3+6
len1是serviceuuid的长度,02或者16
len2是tx特征的uuid的长度,02或者16
len3是rx特征的uuid的长度,02或者16
参数中的uuid不会做任何转换,直接使用。
示例:
AT#U1202[0xf0 0xff]02[0xf1 0xff]02[0xf2 0xff]  []中表示在02后面紧接着的两个字节的value,[0xf0 0xff],表示要设置的service uuid为0xfff0, 这个命令表示要设置uuid为:
service:0xfff0
tx uuid: 0xfff1
rx uuid: 0xfff2
这个命令在串口上如果用hex格式来看的话是:
0x41 0x54 0x23 0x55 0x31 0x32 0x30 0x32 0xf0 0xff 0x30 0x32 0xf1 0xff 0x30 0x32 0xf2 0xff
如果要恢复默认的uuid设置,则只需要使len为0即可,比如:AT#U00即可恢复默认uuid的配置。
需要重启
AT#G[len:1B][state] 成功或者失败 设置ble的角色:peripheral还是central。
0:peripheral
1:central
AT#W[len:1B][mode] 成功或者失败 设置睡眠模式。
0:不睡
1:浅睡眠,可以被uart唤醒;
2:深睡眠,必须用gpio唤醒,
AT#W11 无需重启
AT#T[len:1B][waittime] 成功或者失败 设置进入睡眠的等待时间,以秒为单位。默认等待时间为5s AT#T15 无需重启
AT#A[len:1B][mode] 成功或者失败 设置安全模式。
0:没有安全
1:需要配对,但是不需要输入密码;
2:需要密码配对,
AT#A11 无需重启
AT#B[len:1B][rate] 成功或者失败 设置串口波特率。比如设置波特率为38400, 用命令AT#B538400。2400~1000000。 AT#B42400
AT#B71000000
需要重启
AT#H[len:1B][n ms] 成功或者失败 设置send data to mcu的延时,以ms为单位。这个针对MCU(上位机)需要bm90来唤醒的情况。比如设置:AT#H15表示当收到远端数据后,要发送给给上位机之前,先在WAKEUP_HOST_MCU脚给一个高电平,然后做一个5ms的延时,再向串口发送具体的数据,数据发送完WAKEUP_HOST_MCU脚拉低。这个功能只是针对当前蓝牙连接上的时候,在Atcommnad下不受这个控制。
参数会做字符到value的转换。
AT#E[len:1B][n ms] 成功或者失败 设置send data to remote的延时,以ms为单位。这个针对MCU(上位机)发送串口数据时,可能字符与字符之间会出现较长间隔的时候,防止bm90误判包已经结束,提前进行了发送的情况。Host mcu可以通过设置这个值来辅助正确的识别包的结束。
参数会做字符到value的转换。
AT#F[len:1B][0/1] 成功或者失败 设置是否打开串口的流控。
打开:AT#F11
关闭:AT#F10
参数会做字符到value的转换。

转载请注明:BT + WIfi 技术交流文档 » BM90 AT Commands

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
加载中