默认支持模块与手机APP数据透传, APP可以控制模块的 5路 IO 高低电平(OUT1、OUT2、 OUT3、OUT4、OUT5),5路输入引脚(NT1、NT2、IN3、IN4、IN5)电平的变化都会主动上报给APP,APP 也可以读取模块12路 IO 电平状态(NT1、NT2、IN3、IN4、IN5、OUT1、OUT2、 OUT3、OUT4、OUT5、PWRC、STAT)。PWRC为切换透传和AT命令管脚,在睡眠时作为唤醒管脚,STAT为连接与否管脚。
蓝牙从机模组
1.2. 蓝牙UUID 服务服务UUID:0xFFE0 (服务 UUID 默认 0xFFE0)
特征1通道UUID:0xFFE1 (用于BLE转发串口TX,支持READ和, 最大长度为128,注释UART TX)
特征2通道UUID:0xFFE2 (用于发串口RX转BLE,支持READ和Notify , 最大长度为128,注释UART TX)
特征3通道UUID: 0xFFE3 (用于BLE配置参数和控制GPIO,支持READ和Write , 最大长度为20,注释GPIO CTL)
特征4通道UUID: 0xFFE4(用于读取GPIO状态,支持READ和Notify , 最大长度为20,注释GPIO STATUS)
1.3. APP 串口透传TX和RX
Write和Notify其特征分别为 0xFFE1和0xFFE2
手机连接后既可以串口数据透传,PWRC拉低为AT命令
1.4. APP 控制 OUT 输出引脚电平:其特征为0xFFE3,手机连接后可以控制
IO端口 |
指令(Hex) |
功能 |
出厂默认 |
OUT1 |
80F100 |
输出低电平 |
低电平 |
80F101 |
输出高电平 |
||
OUT2 |
80F200 |
输出低电平 |
低电平 |
80F201 |
输出高电平 |
||
OUT3 |
80F300 |
输出低电平 |
低电平 |
80F301 |
输出高电平 |
||
OUT4 |
80F400 |
输出低电平 |
低电平 |
80F401 |
输出高电平 |
||
OUT5 |
80F500 |
输出低电平 |
低电平 |
80F501 |
输出高电平 |
其特征为 0xFFE4
上报状态:80E0
头标识 |
IN1 |
IN2 |
IN3 |
IN4 |
IN5 |
PWRC |
OUT1 |
OUT2 |
OUT3 |
OUT4 |
OUT5 |
80E0 |
01 |
01 |
01 |
01 |
01 |
01 |
00 |
00 |
00 |
00 |
00 |
80E0表示上报GPIO状态头标识01表示高电平、00表示低电平
一帧:80E00101010101010000000000
读状态:
APP 向特征 UUID:FFE4 发送80E1查询 GPIO状态
答复:
头标识 |
IN1 |
IN2 |
IN3 |
IN4 |
IN5 |
PWRC |
OUT1 |
OUT2 |
OUT3 |
OUT4 |
OUT5 |
80E1 |
01 |
01 |
01 |
01 |
01 |
01 |
00 |
00 |
00 |
00 |
00 |
80E1表示上报GPIO状态头标识01表示高电平、00表示低电平
一帧:80E10101010101010000000000
1.6. 支持AT命令表特别说明:AT 指令需要加结束符\r\n。
序列 |
指令 |
功能 |
主/从 |
默认 |
1 |
AT+RST |
软复位 |
S |
— |
2 |
AT+ DEFAULT |
恢复(默认)出厂设置 |
S |
— |
3 |
AT+SLEEP |
睡眠 |
执行 |
— |
4 |
AT+ DISC |
指令断开连接 |
执行 |
— |
5 |
AT+VER |
版本号 |
读 |
AAA-01-V1.01 |
6 |
AT+STAT |
连接状态 |
读 |
00 |
7 |
AT+MAC |
MAC 地址 |
读 |
123456789012 |
8 |
AT+BAUD |
波特率 |
读/写 |
9600 |
9 |
AT+NAME |
广播名 |
读/写 |
AAA-01 |
10 |
AT+ADVIN |
广播间隔 |
读/写 |
200ms |
11 |
AT+START |
开机睡眠或唤醒模式 |
读/写 |
1 |
12 |
AT+HOSTEN |
工作模式 |
读/写 |
1 |
13 |
AT+POWR |
发送功率 |
读/写 |
0dBm |
17 |
AT+MANUID |
制造商UUID |
读/写 |
0x6203 |
18 |
AT+MANUADV |
制造商广告数据 |
读/写 |
0x0303000000000000 |
1) BLE调试宝,手机APP BLE调试工具(手机应用商店下载)
(1) (2) (3)
2) 串口调试助手
3) USB转串口工具
2.2. 电路连接图
模组连线示意图
连接线路图
串口选择PA0和PA1,并没有选择默认的PA2和PA3,主要原因是PA2和PA3在复位时会进入boot层发Freqchip的字样
2.3. 系统拓扑图
系统拓扑图
支持多台(8台)手机或BLE主机同时连接设备,控制设备的GPIO和UART通信。
2.4. 评测项 2.4.1. 建立蓝牙服务
搜索设备图 蓝牙服务列表
经过手机BLE调试宝搜索和连接如上图所示:服务UUID:0xFFE0;特征1通道UUID:0xFFE1;特征2通道UUID:0xFFE2 ; 特征3通道UUID: 0xFFE3;特征4通道UUID: 0xFFE4;
2.4.2. AT收发命令BLE从机设备在未被连接或者PWR被拉低时发送AT命令,依次发送:上电 +Ready
[17:13:11.619]发→◇AT+VER?
[17:13:11.646]收←◆+VER:AAA-01-1.01
+OK
[17:13:12.340]发→◇AT+STAT?
[17:13:12.396]收←◆+STAT:00
+OK
[17:13:12.836]发→◇AT+MAC?
[17:13:12.875]收←◆+MAC:901122ffffe5
+OK
[17:13:16.701]发→◇AT+BAUD?
[17:13:16.743]收←◆+BAUD:4
+OK
[17:13:17.155]发→◇AT+NAME?
[17:13:17.175]收←◆+NAME:AAA_01
+OK
[17:13:17.636]发→◇AT+ADVIN?
[17:13:17.687]收←◆+ADVIN:1
+OK
[17:13:18.074]发→◇AT+START?
[17:13:18.642]发→◇AT+HOSTEN?
[17:13:18.694]收←◆+HOSTEN:0
+OK
[17:13:19.362]发→◇AT+POWR?
[17:13:19.413]收←◆+POWR:0
+OK
[17:13:21.090]发→◇AT+STARTEN?
[17:13:21.140]收←◆+STARTEN:0
+OK
[17:13:21.674]发→◇AT+MANUID?
[17:13:21.715]收←◆+MANUID:6203
+OK
[17:13:22.226]发→◇AT+MANUADV?
[17:13:22.243]收←◆+ERR:1003
[17:13:23.978]发→◇AT+RST
[17:13:24.450]收←◆+Ready
[17:13:24.674]发→◇AT+DEFAULT
[17:13:24.740]收←◆+DEFAULT
+OK
[17:13:25.706]发→◇AT+SLEEP
[17:13:25.761]收←◆+SLEEP
AT调试窗口
2.4.3. 数据透传测试
手机APP连接上BLE从机设备后,进入数据透传
串口工具 —> 手机APP发送数据
发送:《国歌》是表现一个国家民族精神的歌曲,是被政府和人民认为能代表该国家政府和人民意志的乐曲,是用来歌颂与鼓励一个民族的信心与凝聚力的。一般来说它们都会带有爱国主义色彩、呼唤起人们内心深处的国家情怀。
手机APP —>串口工具发送数据
发送:《歌唱祖国》由王莘作词、作曲,是一首爱国歌曲。1951年9月12日,周恩来总理亲自签发了中央人民政府令:在全国广泛传唱《歌唱祖国》。歌曲已经成为中国各种重大活动的礼仪曲、开场曲或结束曲。1989年,歌曲荣获中国唱片总公司金唱片奖。
如下图所示:
串口工具数据透传(1) 手机APP 数据透传(2)
2.4.4. GPIO控制和状态上报
上电开机万用表测得OUT1、OUT2、OUT3、OUT4、OUT5都为低电平,接下去手机APP连接设备并发送命令。
IO端口 |
发送指令(Hex) |
万用表测量 |
测量结果 |
OUT1 |
80F100 |
输出 = LOW |
OK |
80F101 |
输出 = HIGH |
OK |
|
OUT2 |
80F200 |
输出 = LOW |
OK |
80F201 |
输出 = HIGH |
OK |
|
OUT3 |
80F300 |
输出 = LOW |
OK |
80F301 |
输出 = HIGH |
OK |
|
OUT4 |
80F400 |
输出 = LOW |
OK |
80F401 |
输出 = HIGH |
OK |
|
OUT5 |
80F500 |
输出 = LOW |
OK |
80F501 |
输出 = HIGH |
OK |
同时状态上报管脚状态
上报状态:80E0
头标识 |
IN1 |
IN2 |
IN3 |
IN4 |
IN5 |
PWRC |
OUT1 |
OUT2 |
OUT3 |
OUT4 |
OUT5 |
STU |
80E0 |
01 |
01 |
01 |
01 |
01 |
01 |
00 |
00 |
00 |
00 |
00 |
00 |
80E0表示上报GPIO状态头标识01表示高电平、00表示低电平,手机APP控制测试如下所示:
手机APP控制GPIO和状态上报
2.4.5. 功耗测试唤醒模式,测得电流为2.64mA,在此模式可以串口数据透传,GPIO控制
睡眠模式,测得电流为7uA。
作者: 志与智, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3905966.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论