首页 > 新闻中心 > 行业动态
亚博提现秒速出账-在Apollo2_ble中添加一个service

2021-05-07 

本文摘要:引语Apollo2_ble控制模块硬件配置由Apollo2(blehost)+em9304(blecontroller)组成。

引语Apollo2_ble控制模块硬件配置由Apollo2(blehost)+em9304(blecontroller)组成。手机软件上,用以ARM的CordioStackandProfilestcp协议,这一tcp协议也是根据WSF(WirelessSoftwareFoundation)搭建的。

亚博提现秒速出款的

Apollo2_bletcp协议应用的是蓝牙4.2规范。什么叫profile和service?profile,能够有多种多样译成,在无线通信技术同盟要求的蓝牙4.2规范中,界定Bluetoothprofiles是用于搭建手机蓝牙系统软件中运用于的互用的。[1]这一profile的界定就比较颇深,文中不保证确立描述。

文中中的profile和service,都所说的是图1中GATT-BasedProfile/Services层的定义,也就是application层的定义。要讲这二者,最先讲到一下GATT。图1简单BLE层级区别涂涂1是简单的BLE层级区别,GATT(GenericAttributeProfile)是手机蓝牙中一种根据ATT协议书(AttributeProtocol)的profile架构(framework)。

ATT协议书的念头,能够讲到是为物联网技术服务项目的。在物联网技术时期,务必感应器搜集各种各样信息,比如,溫度,环境湿度,方向,用电量等,ATT协议书就将这种信息以属性(attribute)的方式传送到顶层,以供载入或修改。它要求了这种属性的文件格式,管理权限,载入方法等。

而GATT便是将抽象概念的ATT协议书艺术化,要求了一个规范化的有关这种属性怎样载入修改的架构(framework)。来到确立的运用于情景,大家就可以依据GATT要求好的架构,来编写相匹配的GATT-BasedProfile。

而每一个profile,只不过各种各样services的非空子集。荐个事例,倘若大家的运用于情景是一个能够测心率的智能手表,该智能手表除开测心率的作用,大家还务必它有测用电量的作用。

这种各有不同的作用,只不过是便是各有不同的services。无线通信技术同盟早就根据了各种各样各有不同的GATTservices,详细列表能够参照参考文献[2]。

这么多的services,并并不是每一个大家都务必,因此 ,我们可以自身写成GATT-BasedProfile,将大家务必的services包含进来。如上边智能手表的事例,这一profile,就只包含了HeartRateservice和BatteryService。刚开始加到service现在可以刚开始在Apollo2_ble的SDK里加到大家想的service了。文中以fit工程项目为例证。

合上工程项目后,全部工程项目的main函数入口在src文件目录下。(文中的c语言编译器自然环境用的是keil)图2是合上没重置freertos系统的工程项目文件目录,倘若重置了freertos,也是某种意义在src文件目录下,仅仅freertos系统的main函数入口在freertos_fit.c文档中,但确立的进程相匹配的编码在radio_task.c中,必需到相匹配进程的C文档中查看才可。

图2图3在main函数或是相匹配进程中找寻函数FitStart()图4转到该函数,找寻Initializeattributeserverdatabase代码段如图所示5:图5由图5由此可见,该profile早就加来到4个services。(注意,4个中不还包含GAP和GATT,这两个services是每一个GATT-BasedProfile都必不可少加进的,编码中由函数SvcCoreAddGroup进行加到)分别是,测心率的(HeartRate),载入机器设备信息的(deviceinformation),测用电量的(batteryservice)和测速度的(runningspeedandcadence)。如今假定我们要新的加进一个HID的service。

则最先就需要在start函数里边备案这一service,降低的编码以下:图6而且将相匹配的头文件都包含进来:图7svc_hid.h里边申明了SvcHidRegister和SvcHidAddGroup,而hid_api.h里边申明了函数HidAttsWriteCback。并并不一定的service都务必备案载入消息传递函数,仅有当Attributelist中的Attributesettings项经常会出现ATTS_SET_WRITE_CBACK。或是ATTS_SET_READ_CBACK时才务必。

以fit工程项目为例证,heartrate的Attributelist以下:图8最后一个attribute务必选用写成消息传递,因而在fitstart函数和实生物务必备案写成消息传递函数的入口。看大家的service是否加到成功,我们可以用手机合上手机蓝牙调节小助手:图9下图10是没加到HIDservice时合上调节专用工具看到的服务项目列表,能够见到原本除开GAP(genericaccessprofile)和GATT(genericattributeprofile)外,有4个services,与我们在图5编码中常闻完全一致,图11是大家加到编码后再作合上检测工具看到的服务项目列表,能够见到HIDservice早就加到进来了。


本文关键词:亚博提现秒速出款的,亚博提现秒速出账

本文来源:亚博提现秒速出款的-www.mandouyenou.com

  • 首页| 关于我们| 新闻中心| 产品中心| 业绩展示| 联系我们|
  • Add:陕西省西安市嵩明县路筑大楼599号

    Tel:0960-82008347

    陕ICP备95538827号-6 | Copyright © 亚博提现秒速出款的-亚博提现秒速出账 Rights Reserved