您好、欢迎来到现金彩票网!
当前位置:2019跑狗图高清彩图 > 协议栈 >

AliOS Things蓝牙协议栈及应用开发框架介绍

发布时间:2019-07-03 22:52 来源:未知 编辑:admin

  摘要: AliOS Things从1.2.0版本开始支持蓝牙协议栈(BLE),及基于蓝牙协议栈的应用层开发框架。本文分为三部分对蓝牙组件进行介绍:蓝牙组件,蓝牙协议栈介绍及接口说明,和应用开发框架介绍及示例说明。AliOS Things v1.2.0支持蓝牙4.2,提供完整的host端低功耗蓝牙协议栈支持。

  AliOS Things从1.2.0版本开始支持蓝牙协议栈(BLE),及基于蓝牙协议栈的应用层开发框架。本文分为三部分对蓝牙组件进行介绍:

  AliOS Things v1.2.0支持蓝牙4.2,提供完整的host端低功耗蓝牙协议栈支持。主要包括三部分内容:协议层API,蓝牙协议栈,HCI (Host Controller Interface)驱动接口。当开发者拿到一个全新平台的时候,需要完成HCI接口与AliOS Things提供的蓝牙协议栈的对接。目前,AliOS Things已经完成在乐鑫ESP32上面蓝牙协议栈部分的对接,开发者可以直接基于协议层API进行上层应用开发。

  从应用开发者的角度,BLE应用开发过程中,经常会遇到的烦恼是蓝牙协议栈概念及细节的理解。为了解决应用业务开发者的烦恼,AliOS-Things设计与开发了BLE应用开发框架。期望开发者在使用了我们的应用开发框架后,能够极简的进行业务逻辑开发,再也不用纠缠于BLE协议栈概念及细节。

  通过实现上述两项功能,为开发者提供清晰简单的应用开发接口,接口主要包括以下功能:

  我们已经在庆科mk3239上支持了创建外设应用框架对象接口,发布添加属性接口,广播接口。开发者可以在创建了外设应用开发框架对象后,借助于接口轻松添加属性,完成服务的广播,连接的建立和信息的更新。我们正在丰富上述接口功能并提供全部功能,并将已经在mk3239上支持的应用开发能力做到与平台无关,让使用其他蓝牙芯片的开发者也能够享受到极简开发的快乐。

  该函数用于初始化peripheral设备服务,包括协议栈初始化、设备初始化、GATT属性数据库初始化。设备初始化相关的参数由参数p指定,GATT属性数据库由参数gatt_db和db_len指定。参数c和disc分别指定有客户端设备连接时和断开连接时的回调函数。该函数返回值是对应peripheral设备的handle,handle可以用于标识peripheral设备及其属性。

  该接口是接口ble_peripheral_init的反向操作,用于注销peripheral设备初始化和协议栈初始化等操作。

  该接口用于启动广播。参数adv_handler指定广播结束时的回调函数,参数manufacture指定设备的厂商名信息。广播的信息(服务、属性等)在初始化函数的GATT数据库中设定。

  该接口用于添加peripheral设备属性值。参数hdl指定属性句柄,val指定属性值,val_len指定属性值的长度(以字节为单位)。该函数返回值为一个ble_gatt_attr_t类型的结构体,用于后续对该属性的操作。

  该接口用于向客户端设备发送指示(indication)。参数attr表明指示对应的属性,hdl表明peripheral设备对应的handle,data指定需要指示的数据,len指定数据长度。

  peripheral_init_t中指定了设备名、最大连接数等信息。GATT数据库在adv_gatt_db中指定,包含了GATT服务、GAP服务、设备信息服务及他们的属性。

  该示例程序是另外一个简单的基于BLE应用框架和接口的sample。该示例在上一个示例的基础上,增加了一个用户自定义服务(TIME Service),并为该服务添加了一个属性值,用于显示系统启动时长。

  目前,AliOS Things蓝牙组件提供了一些最基础的功能模块,开发者可以基于现有功能直接基于AliOS Things进行蓝牙开发。后续,我们会随着AliOS Things快速迭代,持续更新,主要包括:

http://katzztheva.com/xieyizhan/343.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有