023-68653856

15978927637

工业产品设计+智能产品软硬件开发+模具量产出货


首页 >> 新闻中心 >>行业动态 >> 智能手环开发​ 之 完成蓝牙(BLE)基本功能-1
详细内容

智能手环开发​ 之 完成蓝牙(BLE)基本功能-1

智能手环开发 之 完成蓝牙(BLE)基本功能-1

    跟着医疗健康、可穿戴设备的开展,华为、小米、vivo等大厂都在做智能手环、手表等可穿戴设备。未来,蓝牙设备的开发也会越来越多。

    关于蓝牙BLE来源开展,各种类型蓝牙芯片介绍,以及蓝牙手环的硬件开发等在之前的文章已经有过具体介绍。没有介绍的今后也会补上。

    本文首要介绍蓝牙智能手环开发开发中,如何构建一个最小的BLE体系结构,以及运用的模块。

QQ截图20200916095836.jpg

     总结一句话:能让芯片的蓝牙协议栈跑起来,手机能衔接上蓝牙手环设备。

    要让蓝牙功能跑起来,需求将注意力放在BLE开发的程序结构和模块的整体功能上,之后再深化学习各个模块。

1.BLE程序结构

智能手环的核心除了各种传感器算法,最重要的便是蓝牙了。一个BLE程序通常至少包括4个必要部分:体系初始化、发动、闲暇办理和事情处理。如下图所示。

 (1)体系初始化

这个体系初始化看起来很简单,小学生貌似都能懂,不便是初始化体系吗?

    的确是初始化体系,那需求初始化什么呢?

    a.日志打印初始化:说白了便是为了方便我这种开发狗看上电发动的Log信息以及后续输出调试信息。不是有必要的,但很重要。

    b.APP守时器初始化:初始化APP守时器,用于完成各种守时使命。很重要。

    c.硬件初始化:如指示灯初始化、OLED屏幕初始化、电源办理初始化等。

    d. BLE相关初始化:包括蓝牙协议栈初始化、播送、首选衔接参数、GAP层、服务等初始化装备。这部分初始化完成后,整个BLE部分的程序就会依照我们自己设置的参数运行。

(2)发动

关于外围设备来说,如手环,发动的是播送,发动之后体系开端依照装备的播送距离开端发送播送,等候中心设备衔接,也便是等候手机衔接。

关于中心设备(手机)而言,发动的是扫描,扫描周围的蓝牙设备。

(3)闲暇办理

    闲暇办理说白了便是为了省电,完成低功耗。你戴个手环,总不期望天天充电吧。闲暇办理便是在你不看手环时候让手环进入到低功耗形式。若有事情唤醒,如抬手腕亮屏等,就会恢复工作形式。

    若程序中启用了日志打印功能,闲暇办理还处理挂起的日志信息。

(4)事情处理

应用程序经过注册“事情监听”来监督BLE协议栈事情。开发过Android就比较容易理解,如Button就需求监听,看看Button是否按劣等。

    蓝牙中如外围设备和中心设备衔接后,SoftDevice会提交 “衔接事情”,应用程序会在事情处理函数中接收该事情并执行操作。

关于一开端触摸蓝牙开发的人而言,看完这些感到一丝丝懵逼也是很正常的。开发过蓝牙的话,这些就很容易理解了。不要紧,下面开端实战。

本次开发选用 Nordic nRF52832蓝牙芯片,相关开发板某宝也有许多卖。关于Nordic芯片之前的文章有过介绍,翻阅历史文章。

2.先看Main函数

    Main函数中首要调用各个模块的初始化函数,如硬件初始化、IIC屏幕初始化等,这些模块初始化本文暂不深化,首要是讲蓝牙架构。其中最重要的是蓝牙初始化。

QQ截图20200916100047.jpg

    弄懂了蓝牙初始化,蓝牙就能跑起来。


3.蓝牙初始化

    如上面代码,蓝牙初始化,包括初始化蓝牙协议栈,装备GAP参数,初始化GATT,初始化播送,初始化服务,衔接参数初始化,发动播送,主循环。完成这些,手环蓝牙芯片就能够发播送了,翻开手机蓝牙就能够搜索到。


    当然,这些初始化函数也是有许多内容的,也是十分要害的。实践蓝牙手环的代码复杂的多,需求花时间和精力去探索。

 4.总结

QQ截图20200710144951.jpg

    至于每个初始化函数的代码怎么写,还有播送参数等等,后边文章会逐一介绍。

    毕竟一下子写的太长,没人有耐性看下去。本文首要介绍蓝牙程序结构,以及跑起整个蓝牙时候大致的流程

    欲穷千里目,更上一层楼。了解整个架构,后续开发会轻松许多。

更多智能手环开发请咨询本网站

联系环洁智

有任何需要请联系我们



扫一扫添加微信

15978927637

提供全流程设计服务
官方邮箱:hjzcxkj@163.com
研发中心:


生产中心:重庆市蔡家盈田光电工谷22幢3楼

重庆市九龙坡区兴胜路4 号清研理工创业谷1508

工业设计产品设计结构设计产品外观设计请联系重庆环洁智创新科技

版权所有:重庆环洁智创新科技有限公司  备案号:渝ICP备20008283号


技术支持: 重庆冠辰科技-网站建设-专业网络优化 | 管理登录