8004|22

217

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

MAX32630FTHR板的学习(六):心率和血氧数据的蓝牙传输 [复制链接]

 
 
MAX32630FTHR板的学习(六):心率和血氧数据的蓝牙传输
上一篇中完成了心率和血氧数据在SD卡中的储存,这篇继续推进,谈一下将数据通过蓝牙无线传输到移动终端的方法。
一、放弃使用板上蓝牙模块
MAX32630FTHR板上本身自带了一个蓝牙模块PAN1326B,该模块是松下推出的基于TI公司CC2564B的蓝牙模块,支持蓝牙BR/EDR/LE,是一个双模模块。该模块通过4线UART接口与MAX32630UART0连接 ,从硬件上来看已经没有问题了。但是软件上确是一个大坑!因为该模块本身不带蓝牙协议栈,需要主机通过HCIHost controller interface)接口来对模块进行操作,这就意味着要对HCI指令和蓝牙协议有一定了解才能运用自如。如果是没有经验的新手(比如我),那真的在短时间内从零开始是无法搞定的。此外,TI官网上只提供了对自家MCU移植好的协议栈,唯一的一个第三方就是STM32F4了,但是想顺利移植到MAX32630感觉坑有点多。还有MBED官网上也看到好几个人都提问蓝牙模块的用法,但是至今没有有效的回答。所以综合以上情况,个人思考再三还是决定弃用板上的蓝牙模块了。
二、改用蓝牙串口透传模块
虽然板上的那个蓝牙模块一时半会儿玩不转,但是实验还要继续啊,按照之前写的目标蓝牙还是要想法用上的。正好手上有一个蓝牙透传模块XM-26B在吃灰,巧的是这个也是双模的。用过蓝牙透传模块的都知道,这个用起来就很简单了,因为他本身包含了蓝牙协议,无需我们操心,我们只管把它当做透明的串口使用就是了。
三、实验结果
首先根据实验需要,在命令模式下把蓝牙透传模块的波特率改为115200,其余参数一般无需更改。
MAX32630FTHR板使用UART2P3.1P3.0)来和蓝牙透传模块交叉连接。
程序上修改很简单,把之前第四篇帖子的程序里串口改为现在UART2就可以了,此外还用了用户按键来控制MAX30102模块的初始化。
FTHR_MAX30102_BT4_uvision5_max32630fthr.zip (5.43 MB, 下载次数: 284)
1.      电脑端验证
电脑上首先要有一个蓝牙适配器来接收数据。因为使用的蓝牙透传模块是双模的,所以市面上绝大多数的适配器应该都没问题,我使用的就是一个十几元的CSR芯片的适配器。
在保证电脑和蓝牙透传模块配对并连接的情况下,打开相应串口(SPP服务对应的)就可以接收到数据了,如下图:
2.      Andorid手机验证
用自己的华为Mate9手机做实验,装上一个类似串口软件的APPBluetooth Chat,同样也是完成和蓝牙透传模块的配对后,就可以得到数据输出:
3.      Ipad验证
上面两种是用的经典蓝牙模式来传输的数据,但是在IOS系统里要用BLE的模式来传输数据。使用手边的一个IPAD做了测试,装上一个软件名为Lightblue。然后扫描并配对蓝牙透传模块,在可用的几个服务中找到serial Port notify characteristic就可以显示接收到的数据了:
总结:
1.      MAX32630FTHR板本身自带蓝牙模块PAN1326B缺乏相应蓝牙协议栈支持,使用起来困难重重,不适合短时间上手,所以弃用。
2.      使用了上手简单的蓝牙透传模块XM-26B来实现数据的无线传输
3.      验证了蓝牙透传模块在PC端,安卓和IOS系统的传输正确性

最新回复

这么麻烦 那我还是另外买一个便宜的吧  详情 回复 发表于 2017-8-30 17:30
点赞 关注
个人签名心率传感器:https://shop108071095.taobao.com
 
 

回复
举报

9717

帖子

24

TA的资源

版主

沙发
 
老大 你的蓝牙例程在哪里找到的
 
 
 

回复

9717

帖子

24

TA的资源

版主

板凳
 
仔细看了贴子,蓝牙还是没法搞

点评

前面分析了,蓝牙这个坑有点大,一般人搞不定,我只能绕道走了  详情 回复 发表于 2017-8-25 21:15
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

217

帖子

0

TA的资源

一粒金砂(高级)

4
 
littleshrimp 发表于 2017-8-25 21:10
仔细看了贴子,蓝牙还是没法搞

前面分析了,蓝牙这个坑有点大,一般人搞不定,我只能绕道走了
个人签名心率传感器:https://shop108071095.taobao.com
 
 
 

回复

9717

帖子

24

TA的资源

版主

5
 
可惜了,官方按理应该把板上的资源对应的例程都提供了才对,这个板子上的蓝牙不会官方也没调通吧
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

98

帖子

0

TA的资源

一粒金砂(中级)

6
 
max30102某块的购买链接能发我一个吗 我自己买了一个max30100的  上电后红外光都不亮的 没用的  我怕买来没用的 你提供一个靠谱点的 先谢过了

点评

看我底部签名有链接。 还有MAX30100也是飞线之后才可以用,具体办法看我第三篇帖子  详情 回复 发表于 2017-8-26 21:29
 
 
 

回复

217

帖子

0

TA的资源

一粒金砂(高级)

7
 
Justice_Gao 发表于 2017-8-26 10:22
max30102某块的购买链接能发我一个吗 我自己买了一个max30100的  上电后红外光都不亮的 没用的  我怕买来没 ...

看我底部签名有链接。
还有MAX30100也是飞线之后才可以用,具体办法看我第三篇帖子

点评

直接上电后 max30100的红色LED会亮吗 还是需要初始化后才可以用  详情 回复 发表于 2017-8-26 21:46
个人签名心率传感器:https://shop108071095.taobao.com
 
 
 

回复

98

帖子

0

TA的资源

一粒金砂(中级)

8
 
anning865 发表于 2017-8-26 21:29
看我底部签名有链接。
还有MAX30100也是飞线之后才可以用,具体办法看我第三篇帖子

直接上电后 max30100的红色LED会亮吗  还是需要初始化后才可以用

点评

一般情况下要初始化才可以,因为你只有通过I2C接口写入相关寄存器数值后,LED的驱动才会工作。但是如果你直接把RED或者IRED的引脚接地,则相应的LED一定会亮(红外光亮肉眼看不到,只有红光可以看到),因为这时你接  详情 回复 发表于 2017-8-27 09:31
 
 
 

回复

217

帖子

0

TA的资源

一粒金砂(高级)

9
 
Justice_Gao 发表于 2017-8-26 21:46
直接上电后 max30100的红色LED会亮吗  还是需要初始化后才可以用

一般情况下要初始化才可以,因为你只有通过I2C接口写入相关寄存器数值后,LED的驱动才会工作。但是如果你直接把RED或者IRED的引脚接地,则相应的LED一定会亮(红外光亮肉眼看不到,只有红光可以看到),因为这时你接地就把芯片本身的LED驱动部分旁路了。

点评

max30100的心率算法和脉搏算法和max30102一样吗  详情 回复 发表于 2017-8-27 15:47
个人签名心率传感器:https://shop108071095.taobao.com
 
 
 

回复

98

帖子

0

TA的资源

一粒金砂(中级)

10
 
anning865 发表于 2017-8-27 09:31
一般情况下要初始化才可以,因为你只有通过I2C接口写入相关寄存器数值后,LED的驱动才会工作。但是如果你 ...

max30100的心率算法和脉搏算法和max30102一样吗

点评

算法原理可以借鉴,但是寄存器不一样。MAX30100都是停产的芯片了,MAX30101,30102和30105比较类似。  详情 回复 发表于 2017-8-27 22:21
 
 
 

回复

217

帖子

0

TA的资源

一粒金砂(高级)

11
 
Justice_Gao 发表于 2017-8-27 15:47
max30100的心率算法和脉搏算法和max30102一样吗

算法原理可以借鉴,但是寄存器不一样。MAX30100都是停产的芯片了,MAX30101,30102和30105比较类似。

点评

能不能便宜点卖我 比赛结束了我也没什么用了  详情 回复 发表于 2017-8-28 16:12
个人签名心率传感器:https://shop108071095.taobao.com
 
 
 

回复

422

帖子

4

TA的资源

纯净的硅(初级)

12
 
这个不能算是蓝牙连接,最多是UART串口连接的方法。
白激动半天了,给个差评。
其实蓝牙连接官方一定是调通的,但是为什么没有通过mbed发布,应该是被坑了。因为mbed不完全开源,估计美信也绕不过去。

点评

不能同意你的说法。 第一,mbed的源码就在git上,不知道你所谓的不完全开源是从何而来。 第二,蓝牙底层和mbed平台并没有什么冲突,从硬件上看就是一个串口,只要串口和流控功能好使就没问题。一个明显的反例就是S  详情 回复 发表于 2017-8-28 13:41
 
 
 

回复

217

帖子

0

TA的资源

一粒金砂(高级)

13
 
北方 发表于 2017-8-28 09:55
这个不能算是蓝牙连接,最多是UART串口连接的方法。
白激动半天了,给个差评。
其实蓝牙连接官方一定是调 ...

不能同意你的说法。
第一,mbed的源码就在git上,不知道你所谓的不完全开源是从何而来。
第二,蓝牙底层和mbed平台并没有什么冲突,从硬件上看就是一个串口,只要串口和流控功能好使就没问题。一个明显的反例就是ST的蓝牙板X-NUCLEO-IDB05A1 BlueNRG Expansion Board。也是本身芯片没有蓝牙协议栈,不是照样用HCI玩的好好的,MBED相应的支持库也有。
所以这个蓝牙的问题一方面在于美信官方的支持力度不够大,没有投入过多精力在MBED上(对比一下ST或者NXP的板子数量和例程数量也能看出来),另一方面用美信MCU的人少,本身人气就不旺,所以也吸引不来大牛来贡献。但是这个事情我觉得和MBED一点关系没有。
个人签名心率传感器:https://shop108071095.taobao.com
 
 
 

回复

217

帖子

0

TA的资源

一粒金砂(高级)

14
 
还有要说一点。美信也不是一点蓝牙的资料都没提供的。
在美信提供的那个工具链EXE安装好后,可以在文件夹X:\Maxim\Firmware\MAX3263X\NDALibraries\exactLE里找到蓝牙BLE的很多源码,但是究竟应该怎么用,没有任何说明,无从下手。
还有在X:\Maxim\Firmware\MAX3263X\Applications\NDAExamples\BTLEHRPDemo里应该是提供一个通过BLE实现心率值传输的例子。我在ECLIPSE里试过了,编译无法通过,同样没有任何说明,要调试的话很费精力。
不过文件夹都带有NDA这三字母来看,蓝牙部分美信看来是本没打算公开的。
个人签名心率传感器:https://shop108071095.taobao.com
 
 
 

回复

98

帖子

0

TA的资源

一粒金砂(中级)

15
 
anning865 发表于 2017-8-27 22:21
算法原理可以借鉴,但是寄存器不一样。MAX30100都是停产的芯片了,MAX30101,30102和30105比较类似。

能不能便宜点卖我 比赛结束了我也没什么用了

点评

你指的是什么?  详情 回复 发表于 2017-8-29 09:25
 
 
 

回复

217

帖子

0

TA的资源

一粒金砂(高级)

16
 
Justice_Gao 发表于 2017-8-28 16:12
能不能便宜点卖我 比赛结束了我也没什么用了

你指的是什么?

点评

就是淘宝店里面的max30102模块  详情 回复 发表于 2017-8-29 09:50
个人签名心率传感器:https://shop108071095.taobao.com
 
 
 

回复

98

帖子

0

TA的资源

一粒金砂(中级)

17
 

就是淘宝店里面的max30102模块

点评

手上焊接的实验样机要不要?就是我前面帖子里照到过的绿色的  详情 回复 发表于 2017-8-29 23:28
 
 
 

回复

422

帖子

4

TA的资源

纯净的硅(初级)

18
 
本帖最后由 北方 于 2017-8-29 12:38 编辑
anning865 发表于 2017-8-28 14:07
还有要说一点。美信也不是一点蓝牙的资料都没提供的。
在美信提供的那个工具链EXE安装好后,可以在文件夹X ...

我其实是研究了mbed过的,只有失望。
1. mbed的板卡级没有开源,注意了类似board.h的文件你是找不到的。在美信的上一个板子sendenv中,是用SPI接口访问蓝牙模块的。直接定义spi的引脚,如何定义,如果希望porting,那个是无法修改的。git上开放也要看过才知道核心的板卡驱动是没有开的,在后台另外有一个提交和验证的机制的。
2. mbed用BLE API,要求所有板卡都要通过这个API的,即先板卡BLE接口,在MBED连接到MBED BLE API才可以访问,是比较霸道的。
3. 提供了蓝牙的一些支持文件,其实是访问不了蓝牙的,这个是一个完整的系统。在pan模块说明中,提供了开源的蓝牙栈,但是还是用不了。因为用户需要的是HCI的语言规范,TI不给你,你就玩不了。差一个bit就不行。除非有时间去一句一句去分析。那美信就省心了。
你已经很努力了,但是如果不投入巨大的时间,你是搞不通的。

点评

1.MBED的源文件,这个我确实没有深入研究过,到底是否开源这个我没有发言权。我只是看到了一个国外网友根据ST公司的nucleo板进行了修改,让自己的STM32开发板也可以完整支持MBED,所以我猜想MBED的底层应该是可以改  详情 回复 发表于 2017-8-30 00:08
 
 
 

回复

217

帖子

0

TA的资源

一粒金砂(高级)

19
 
Justice_Gao 发表于 2017-8-29 09:50
就是淘宝店里面的max30102模块

手上焊接的实验样机要不要?就是我前面帖子里照到过的绿色的

点评

(1)有什么区别吗 (2)How Much (3)STM32版本的代码有吗  详情 回复 发表于 2017-8-30 10:49
个人签名心率传感器:https://shop108071095.taobao.com
 
 
 

回复

217

帖子

0

TA的资源

一粒金砂(高级)

20
 
北方 发表于 2017-8-29 12:36
我其实是研究了mbed过的,只有失望。
1. mbed的板卡级没有开源,注意了类似board.h的文件你是找不到的。 ...

1.MBED的源文件,这个我确实没有深入研究过,到底是否开源这个我没有发言权。我只是看到了一个国外网友根据ST公司的nucleo板进行了修改,让自己的STM32开发板也可以完整支持MBED,所以我猜想MBED的底层应该是可以改的。这个问题存疑,以后有时间再研究。
2.关于MBED的BLE API,我理解的角度和你不同。我觉得这是有必要的,支持低功耗蓝牙的板子和芯片那么多,不进行统一的封装,那可移植性就大大降低了,mbed的优势就没了。
3.TI芯片的HCI规范应该是有的,http://processors.wiki.ti.com/index.php/CC256x_VS_HCI_Commands
不过看看这些指令就头大,大家都是业余爱好者,谁有那闲工夫一条条指令去看,还要先搞懂蓝牙流程,好确定指令使用的先后顺序,是吧?
个人签名心率传感器:https://shop108071095.taobao.com
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表