如何实现手机和BLE透传模块的连接和数据传输

描述

BLE透传模块

BLE(Bluetooth Low Energy),是相对于传输音频和视频的传统蓝牙来说,一般称为低功耗蓝牙。BLE在对功耗要求比较高,传输数据量少的可穿戴应用中得到广泛应用。随着智能手机(标配BLE功能)的普及,通过BLE透传模块可以方便地实现手机对各种设备的数据读取和无线控制,BLE透传模块在IOT领域应用广泛。

中颖电子近年来连续推出多款BLE SOC芯片,包括BLE4.2协议版本的SH87F8801、BLE5.0版本的SH87F8805和BLE5.2版本的SH87F8818等。中颖BLE SOC产品有着良好的稳定性和可靠性,尤其适合工业领域蓝牙应用需求。中颖电子推出多款蓝牙透传模块广泛应用于电表、工控、医疗、电动车解锁等领域。

图1. SH-BLEM01 模块正面图(带屏蔽罩)

本文主要介绍如何通过第三方APP nRFConnect实现手机和中颖蓝牙模块之间数据传输。通过这款APP可以查看蓝牙模块的广播数据信息,连接蓝牙蓝牙后,通过特定的特征值获取蓝牙模块的软硬件版本信息。配合这款APP,可以在前期开发中快速打通数据传输通道。帮助客户提高开发效率,实现快速导入实现BLE无线功能。

中颖BLE透传模块引脚介绍

以下以SH-BLEM01为例介绍一下中颖BLE模块的管脚排列。

BLE

图2. BLEM01引脚分布图

透传模块接3V3脚和GND就可以上电工作,P26(EN脚起作用时需要接地)接地后就可以发出广播。P06(RX)和P07(TX)用于透传的UART脚,分别接MCU串口的TX和RX脚,默认的波特率是9600.手机APP连接之后,MCU可以通过串口进行数据传输。

手机端APP nRFconnect下载

一般开发者在第一次使用中颖的BLE透传模块,为了能够快速的实现手机和蓝牙模块的连接和基本数据传输,我们推荐第三方Nordic的nRF connect进行透传模块的基本调试。

IOS系统手机可以在应用商店搜索:nrf connect或者安卓手机也可以通过通过以下百度网盘链接链接:

https://pan.baidu.com/s/1NKocfCF0PO8VP6C7OvsIuA

提取码:88XX。资料中包括nrfConnect的apk安装文件和透传模块的规格书资料。

nRF connect使用方法

nRF connect下载安装好之后图标如下图(以安卓手机为例)。打开这款软件可以搜索到所有正在广播的BLE设备,以下介绍如何借助这款软件查看广播数据和连接BLE透传模块。

图3. nRF Connect安装后图标

广播数据查看

中颖的蓝牙模块上电,打开nRF connect,可以看到如下界面:

BLE

图4. nRF connect搜索到的BLE设备

nRF connec 将扫描到的BLE设备的的广播信息显示出来,图片中第一个设备就是中颖BLE透传,从显示设备信息中可以看到以下内容:

1. 广播名称-“SWBLE-220228A6”

2. MAC地址

3. 信号强度RSSI -60dBm

4. 广播间隔200ms

点击对应的RSSI左边的三角形图标可以看到详细的广播数据:从当前设备的广播数据中可以获得以下信息:蓝牙type,部分的service的UUID,广播名称、连接间隔、TX power等,有些广播数据中还会有厂商自定义信息。

BLE

图5. BLE设备的广播信息

点击RAW,显示原始的16进制数据。

BLE

图6. 广播原始数据

通过广播数据可以筛选需要连接的设备。nRF connect可以设置筛选条件,通过条件筛选后,可以更快速找到需要的设备。

BLE

图7. 设置广播筛选条件

设置了筛选条件“sw,-75dBm”之后,看到广播设备列表中只显示一个设备,就是中颖BLE透传模块。这个方法可以快速找到对应的设备,日常使用中非常方便。

BLE

图8. 设置广播筛选条件后的设备列表

连接设备

找到需要连接的设备之后,点击Connect图标即可与蓝牙模块建立连接。建立连接之后,nRF connect APP会自动获取本设备包含的服务(service)。其中设备信息服务(Device information)和用于透传的服务(对应的UUID:0000ffe0和UUID:0000ffe5)较为常用。

BLE

图9. 连接设备的服务列表

点击设备信息服务,可以看到服务里面包含的特征值。点击向下的箭头读取对应的特征值的数据:

硬件版本信息

固件版本信息

协议栈版本信息

通过读取这些信息,可以得到当前设备的关键版本信息。

BLE

图10. Device Information服务关键信息

选中透传服务(对应的UUID:0000ffe0和UUID:0000ffe5)点开之后,可以分别看到0000ffe4和0000ffe9两个特征值,对应的属性分别是notify和write。这两个特征值表示数据传输的两个通道,notify用于手机APP的数据接收(BLE透传模块发送),write用于APP向模块发送数据(BLE透传模块接收)。用nRF connect APP进行数据接收时候需要先点击特征值左侧向下三个箭头图标,打开notify的使能,这样模块的才能发出数据。

BLE

图11. 数据收发特征值

通过Write属性特征值向模块写数据的时候,点击向上的箭头即可输入发送的数据。一些常用的命令可以保存在APP中,输入特定的名称便于记录。再次发送的时候只需要点击load,选中需要发送的命令点击“send”即可发送,如图12所示。

BLE

图12. APP发送数据操作

向右滑动APP界面,可以切换到数据收发的log窗口界面。在这个窗口界面,传输过程中收发到的数据以及对应的时间都有记录。可以方便地对数据进行分析和记录,如下图所示。

BLE

图13. APP发送数据操作

如果用PC软件配合USB转串口的转接板可以通过串口将数据发给BLE透传模块,模块再将收到的数据通过notify特征值发给手机段。同样的,手机下发的数据蓝牙模块通过串口发送到电脑,在串口调试软件上显示出来。下图显示就是串口工具收发数据的过程。

BLE

图14. 串口调试工具数据收发界面

我们同时推荐SSCOM这款PC端串口调试工具来模拟跟蓝牙模块的串口通信。正确连接USB转串口转接板之后,选择对应的串口和对应的波特率(默认9600),点击打开串口,即可进行数据的收发操作了。这款软件也可以将常用的数据和命令保存,修改数据名称进行保存,发送对应的命令时只需点击相应的名称即可发送。

总结

以上介绍了中颖电子BLE透传模块的基本特点以及如何借助第三方APP快速实现手机和BLE透传模块的连接和数据传输,希望能对广大开发者、用户快速上手使用中颖电子的BLE透传模块有所帮助。

原文标题:使用nRF connect APP实现手机和BLE进行数据传输

文章出处:【微信公众号:中颖电子】欢迎添加关注!文章转载请注明出处。

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分