本帖最后由 leijixiaomile 于 2018-5-15 13:44 编辑
Cypress的官方模组在16年年底推出了Ez-Serial平台,中文理解就是BLE串口透传平台,其官网的链接:http://www.cypress.com/documenta ... &cat=software_tools 各模组的hex文件,使用手册,Host api demo都可以在上述链接找到;
关于简单的使用该平台方法:
1.下载模组适配的hex文件,使用kit042-BLE 母板作为USB转UART板。 用上位机UART终端可以进行控制。
2. 模组上电时会有Ez-Serial的信息打印,类似于:@E,0036,BOOT,E=0100010E,S=030200FA,P=0101,C=01,A=00A050421A63 其信息对应的含义可以参考EZ-Serial用户手册*B版(问头给出的链接有)Page 10。默认的UART设置为:波特率:115200,8 bits, 无奇偶校验,stop bits为1,无流控。
3. 默认情况下模组上电广播,默认为CYSPP模式: 使用手机或者dongle可以进行连接。连接后找到UUID为65333333-a115-11e2-9e9a-0800200ca100的service,在该service下找到UUID为65333333-a115-11e2-9e9a-0800200ca102的Characteristic 项,使能notify。这时在PC-UART终端上输入数据,手机或者dongle 端可以收到UART端发送的数据;同样在手机或者dongle端写数据,UART终端会打印收到的数据。这就是简单的BLE-UART透传功能功能。其它service或者Characteristic项可以参考使用手册的说明。
4. 用户命名: 以大写'S'打头,后面加命令及参数:比如STU,B=2580,F=0,P=0; 其表示设置波特率为9600(0x2580),Flow = 0, Parity = 0,参数明细请参考使用手册。注意没条指令后必须加一个Enter作为结束符,也就是在UART终端上敲完指令后,再敲一个Enter键。 使用‘$’符号把设置的参数保存到Flash中,比如STU$表示把前一条指令设置的UART参数保存到Flash中。注意没条命令如果设置成功或者失败会有UART 信息响应,如@R,0009,STU,0000的形式,具体可以参考使用手册 page 30。其它的命令比如设置广播信息、TXpower、device name等指令,请参考使用手册。
5. 模组跟模组建立连接: 最简单的方式: 模组1上电,模组2按住SW2再上电(或者reset)。由于模组1是默认的peripheral 模式,模组2使用了 central模式,模组2会自动去连接模组1,并完成find server GATT的工作。 连接完成后,在主从的uart终端发送数据,可以看到在对端打印数据,即主从间实现UART-BLE的透传功能。
6. 通过命令方式实现主机功能: 指令形式: /AX -> /S -> /SX -> /C,A=00A050B475E1 -> /DRS -> /DRC -> /DRD -> /RRH,H=F -> /WRH,H=15,D=02 ->主机端 输入任意数如:41424345467-> 从机端输入任意数如:3423432443; 可以看到数据在对端显示,表示连接成功且BLE-UART透传功能实现。指令解析:停止广播-> 开启扫描-> 找到连接设备后,停止扫描-> 连接地址为00A050B475E1的从机-> 发现对端的服务项-> 发现对端的特征值-> 发现对端的描述符-> 读取GATT句柄为0x0f的值,0x0f对应透传Indicate的CCCD -> 给0x15句柄写0x02,使能indicate功能 -> 主端串口输入数据 -> 从端串口输入数据。
指令详情请参考使用手册
|