许多开发者都在开发BLE Peripheral设备,当中往往包含本文要着急介绍的Device Information Service(DIS)服务,它是对设备的制作商,设备软硬件版本控制,生产信息披露的一个非常好的方式。因此也建议大家在开发时都加入这个由SIG定义的标准服务。

在bluetooth sig官方网站上,查看Device Information Service显示如下信息。

Specification Name

Specification Type

Assign Number

Specification Level

DeviceInformation

Org.bluetooth.service.device_information

0x180a

Adopted

它的16位短UUID是0x180A,用于公开设备制造商的信息,不依赖任何其他服务可独立存在。一个设备上只能有一个实例。在经典蓝牙和LE上都得到支持。

DIS服务包含以下特征值

编号

特征值

UUID

实例

描述

1

Manufacturer Name

0x2A29

Newbit Studio

设备制造商的名称,写设备制造商为外界所熟识的名称

2

Model Number

0x2A24

MI_Scale

由设备制造商定义,建议写为某个产品的型号

3

Serial Number

0x2A25

AAAA-S032-4321

由制造商定义的产品编号,为每个产品赋一唯一的编号,可以按实际应用定义自己产品SN的格式。

4

Hardware Revision

0x2A27

0.9.0

产品的硬件编号,建议使用三位数以点相隔,分别表示主版本号,副版本号,发行编号(偶数发行,奇数调试)

5

Firmware Revision

0x2A26

BLE-1.4.0

BLE协议栈通常由IC原厂提供,建议可以写该应用程序建立所使用的协议栈版本

6

Software Revision

0x2A27

0.9.0

应用软件版本号,建议使用三位数以点相隔,分别表示主版本号,副版本号,发行编号(偶数发行,奇数调试)

7

System ID

0x2A23

-

包含OUI( Oranizationally Unique Identifier)和一个由制造商为该产品编排的唯一编号

8

IEEE 11073-20601 Regulatory Certification Data List

0x2A2A

-

设备要求的一个混合结构体,长度不定。这里的数据通常用于监管或者认证。

9

PnP ID

0x2A50

-

包含由国标组织颁给制造商的编号,制造商定义的产品ID,由制造商定义的产品版本信息

以上9个特征值并非都要包含到设备上,但越全面越好,若受限于代码空间,或者公司暂未加入国际组织,可以优先将Manufacturer Name, Model Number, Serial Number, HW Revision, SW Revision, System ID包含进来,其他System ID中的OUI可以没用IC原厂的编号。如TI公司的OUI便可取0x000D。

更多信息的细节请阅读 此处(英文)

GATT之Device information Service的更多相关文章

  1. 安卓系统广播暴露设备信息-Android System Broadcasts Expose Device Information

    Android device details are being exposed to running applications via Wi-Fi broadcasts in the mobile ...

  2. IIS Internet Information Service

    Visual Studio 和 visio 都有的Web服务,IIS 发布的时候,直接可以用本机的IIS进行发布,Windos自带有Web服务,只需要配置一下,然后配上域名就OK了,简直太方便了 来自 ...

  3. (一)GATT Profile和GAP 简介(目前所有的BLE应用都基于GATT,所以也要了解是怎么一回事)-转发

    个人大总结:(先后顺序) 1.GAP协议定义多个角色(其中就有中心设备[GATT客户端](唯一)叫主设备||和外围设备[GATT服务端端](多个)也叫从设备). 2.先经过GAP协议,再有GATT协议 ...

  4. 【转】GATT Profile 简介

    网上关于讲解 BLE 的内容比较少,看到这篇文章写的非常详细 Introduction to Bluetooth Low Energy,作为 BLE 的入门时介绍是非常合适的.本文主要翻译了一下这篇文 ...

  5. iOS - GATT Profile 简介

    1.引言 现在低功耗蓝牙(BLE)连接都是建立在 GATT (Generic Attribute Profile) 协议之上.GATT 是一个在蓝牙连接之上的发送和接收很短的数据段的通用规范,这些很短 ...

  6. CC2540自己的配置文件

    首先要指出,字段属性有notify的不能同时有read,write属性,别问哥,哥也不知道,反正我做的就不能notify,只能read,write. 分享的程序段第一字段有notify属性,第二字段r ...

  7. 蓝牙Bluetooth技术手册规范下载

    [背景] 之前就已经整理和转帖了和蓝牙技术相关的一些内容: [资源下载]bluetooth 协议 spec specification 蓝牙1.1.蓝牙1.2.蓝牙2.0(蓝牙2.0+EDR)区别 但 ...

  8. simpleBLEPeripheral.c 文件分析

    这个配置或者说任务, 让这个蓝牙设备成为了一个简单的BLE外设. 这里定义了外设的广播数据, 以及最重要, char被改变之后的回调, 引出后来的coreHandler里面的, ack 以及写e2pr ...

  9. Bluetooth Low Energy 介绍

    1.简介 BLE(Bluetooth Low Energy,低功耗蓝牙)是对传统蓝牙BR/EDR技术的补充.尽管BLE和传统蓝牙都称之为蓝牙标准,且共享射频,但是,BLE是一个完全不一样的技术.BLE ...

随机推荐

  1. ES6 函数的扩展2

    8.2 rest参数 ES6引入rest参数(形式为"-变量名"),用于获取函数的多余参数,这样就不需要使用arguments对象了. arguments对象并没有数组的方法,re ...

  2. awk 命令详解

    作用:awk 是一种编程语言, 用于在linux/unix 下对文本和数据进行处理. 数据可以来自标准输入(stdin),一个或多个文件, 或其他命令的输出.它支持用户自定义函数和动态正则表达式等先进 ...

  3. 豹哥嵌入式讲堂:ARM开发中有用的文件(1)- source文件

    大家好,我是豹哥,猎豹的豹,犀利哥的哥.今天豹哥给大家讲的是嵌入式开发里的source文件种类. 众所周知,嵌入式开发属于偏底层的开发,主要编程语言是C和汇编.所以本文要讲的source文件主要指的就 ...

  4. ASP.NET Core文件上传与下载(多种上传方式)

    前言 前段时间项目上线,实在太忙,最近终于开始可以研究研究ASP.NET Core了. 打算写个系列,但是还没想好目录,今天先来一篇,后面在整理吧. ASP.NET Core 2.0 发展到现在,已经 ...

  5. 5 秒创建 k8s 集群 - 每天5分钟玩转 Docker 容器技术(115)

    据说 Google 的数据中心里运行着超过 20 亿个容器,而且 Google 十年前就开始使用容器技术. 最初,Google 开发了一个叫 Borg 的系统(现在命令为 Omega)来调度如此庞大数 ...

  6. python2 与python3的变化

    1 写文件如果是bytes类型的话,打开文件 open参数设置为wb 2 python2 默认包import是相对路径,python3是绝对路径 3 python3的dict没有has_key方法,用 ...

  7. 纯CSS实现箭头、气泡让提示功能具有三角形图标(简单实例)

    <style type="text/css"> /*向上箭头,类似A,只有三个边,不能指定上边框*/ .arrow-up { width: 0px; height: 0 ...

  8. CSS3 转换2D transform

    Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix.下面我们一 ...

  9. BCL和CoreFx的区别

    bcl是.netframework clr 的基础库corefx是.net core clr的基础库

  10. Qt实现QQ界面

    1.Qt实现QQ界面是通过QToolBox类来实现的,基本结构是:QToolBox里面装QGroupBox,然后QGroupBox里面装QToolButton,设置好相关属性即可 2.定义类继承QTo ...