0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

第三方APP完成手机和中颖BLE模块之间的数据传输教程

海阔天空的专栏 来源:中颖电子 作者:中颖电子 2022-05-20 17:21 次阅读

BLE透传模块

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

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

poYBAGKHWy2ADaGrAAMPxWiEx0A094.png

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

中颖BLE透传模块引脚介绍

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

pYYBAGKHW1WAB_yAAAAtjlw5YlA406.png

透传模块接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透传模块。

poYBAGKHW1iARgLYAAM81buYw04462.png

广播数据查看

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

pYYBAGKHW4mAQWShAAJbdEGhmv0455.png

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

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

2. MAC地址

3. 信号强度RSSI -60dBm

4. 广播间隔200ms

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

poYBAGKHW42Ab5xxAAMOQ93unX4621.png

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

pYYBAGKHW7mATzD-AAKyU1E3I8U307.png

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

pYYBAGKHW72AYOvEAAFW9xpCX4o380.png

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

pYYBAGKHW-eANX-NAAFnfWw5y28439.png

连接设备

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

pYYBAGKHXAWAV1c5AALLUn-cq5k083.png

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

硬件版本信息

固件版本信息

协议栈版本信息

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

poYBAGKHXAuAEb3bAAIPuBr4dEE486.png

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

pYYBAGKHXDmAbeBWAAHsz73ApU4347.png

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

poYBAGKHXD2AW-aQAAGFaLgl83g603.png

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

poYBAGKHXF-AD2zeAASvefyk4pw412.png

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

pYYBAGKHXGKADLfyAAIPQwsAUbY040.png

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

总结

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

来源:中颖电子

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

    关注

    112

    文章

    5421

    浏览量

    165576
  • BLE
    BLE
    +关注

    关注

    12

    文章

    607

    浏览量

    58796
  • 中颖电子
    +关注

    关注

    4

    文章

    168

    浏览量

    7212
收藏 人收藏

    评论

    相关推荐

    Labview如何内嵌操作第三方EXE程序!

    自己在网上搜了下相关资料,能把第三方EXE内嵌进入容器里,但是有个问题,这个第三方软件必须手动拖到容器正中间,手动最大化。请问有什么方法可以自动实现吗? 下图是我内嵌的POLL 软件。如图!
    发表于 04-18 14:26

    如何打开第三方软件

    请问大神们 谁知道如何在Labview 打开第三方软件,我现在想打开工程后 自动打开USB视频采集卡,然后就直接显示出采集卡采集到的图像了请问如何打开在这先谢过了
    发表于 09-11 16:26

    如何把第三方库加到PROTEUS

    新手求教,弱弱的问下,下了一个第三方库,说是要先安装,再添加路径,可是我下来的第三方库没有看到安装文件啊。还望指教如何添加!
    发表于 06-15 22:32

    如何在LabVIEW嵌入第三方软件界面

    如何把第三方软件的界面嵌入到labview,并且能够在LabVIEW的前面板第三方软件进行操作。LabVIEW中有Active用于IE回调的例子,可以在LabVIEW前面板
    发表于 04-27 23:06

    第三方dll调用问题!!!

    第三方dll,没有.h,labview怎么实现调用,dll可以用VS打开,类库说明也有
    发表于 05-11 09:14

    BlueNRG-MS(IDB05A1)怎么与BLE上的第三方设备连接

    嗨, 我是BLE技术的新手,我最近完成BLE培训,只知道BLE的基础知识。 任务: 1.在BlueNRG-MS(中央角色/ GATT客户端)和第三
    发表于 09-19 17:11

    LabVIEW与第三方软件交互问题

    现在做一个软件,就是通过LabVIEW去与第三方软件进行交互操作!已经通过百度找到了利用user32.dll调用FindWindowA与PostMessage去实现对计算器,找了多方资料也没有找到解决办法。想做一个软件就是对图片2第三
    发表于 12-26 17:13

    下载python第三方

    python第三方库的下载
    发表于 07-02 13:12

    国内知名第三方检测认证机构排名

    第三方检测机构国内起步的很晚,基本是2000年以后的事情,进入改革开放以来,特别是新世纪以来,国家对第三方机构的政策越来越放开了,很多职能部门都逐步下放到第三方机构来做。为了保证产品品质,就有
    发表于 07-19 16:57

    Detectron训练第三方数据集测试

    从零开始使用Detectron训练第三方数据集是什么体验(六)
    发表于 04-14 11:44

    关于LabVIEW调用第三方exe,如何去控制第三方exe按钮的问题

    我想调用第三方的exe,但并没有给出任何接口,就单单一个exe程序,通过查资料得出可以用window自带的user32.dll可以控制第三方的软件,通过FindWindowA函数找到该软件句柄,通过
    发表于 08-12 16:37

    头文件包含第三方文件

    macrocmake如果源文件(例如 CPP)包含第三方头文件,但是头文件(例如 hpp)不包含该第三方文件头,采用 PRIVATE。如果源文件和头文件中都包含该
    发表于 08-18 08:10

    如何借助第三方库函数完成一个综合程序设计

    通过学习opencv图像库编程,了解如何借助第三方库函数完成一个综合程序设计。
    发表于 12-23 08:11

    鸿蒙开源第三方组件资料合集

    被开发者使用或优化,能够提升应用的丰富性和可操作性。组件效果展示组件可以通过操作图片、裁切框、按钮,最终实现在图片中裁切部分区域并进行显示的效果,组件的运行效果如图1所示。3、鸿蒙开源第三方组件
    发表于 03-23 09:53

    第三方APP如何获取HDMI IN画面和声音

    问题描述及复现步骤:官方提供了一个Live TV能够预览HDMI IN的画面, 第三方应用如何获取HDMI IN的画面和声音??是否提供着这样的获取接口供第三方APP调用?
    发表于 09-08 16:34