自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Do what you want

no输给现实

  • 博客(76)
  • 收藏
  • 关注

原创 解构蓝牙地址以及蓝牙MAC地址查询

现实场景中,经常会碰到“搜索到一个蓝牙地址,但是没有名称,无法确定是不是想连接的设备等问题?”,这个时候就想着,如果可以从地址信息中能解析出某些有用的信息,帮助我们筛选就好了。别急,还真是有可能的,让我们先来重新认识一下蓝牙地址的构成。当然,这里介绍的是Bluetooth Address,即public address。并不针对BLE的random address。为什么呢?我们来慢慢看。

2020-05-28 11:14:33 33957 3

原创 蓝牙BQB认证原因及流程

1、什么是BQB?全名是:Bluetooth Qualified Body,我们一般称为蓝牙认证 ;蓝牙认证是任何使用蓝牙无线技术的产品所必须经过的证明程序;2、为什么要过BQB?蓝牙技术联盟( Bluetooth Special Interest Group ,简称SIG),蓝牙技术是它发明的 。我们要使用它的专利,必须拿到它的授权。只有经过SIG测试认证符合蓝牙标准后,才有...

2019-08-13 10:35:48 5248 1

原创 BLE Throughput的影响因素以及测试方法

BLE Throughput如何计算?开门见山,我们先说一下BLE TP的计算公式:TP (Bytes per Second) = (1000ms * Number of Packets in a Connection Interval * Data Per Packet) / connection interval ms首先来看一下这些参数:1) Connection In...

2019-08-07 18:01:00 1811

原创 BLE连接错误0x3E原因及应对

1、常规连接过程在看BLE Connection 0x3E error code之前,我们先来看一下基本的BLE connection initiating过程。如下图所示:设备A为BLE连接发起方,B为Advertiser。从上图,大概可以分解出BLE连接的几个步骤:A携带连接设备B的信息,发起连接,开始侦听待B的广播包; 待连接设备B,负责发起广播包; 如果...

2019-08-07 16:13:36 4237 1

转载 蓝牙协议分析(11)_BLE安全机制之SM

本文转自:http://www.wowotech.net/1. 前言注1:此SM是Security Manager的缩写,非彼SM,大家不要理解歪了!书接上文,我们在“蓝牙协议分析(10)_BLE安全机制之LE Encryption”中介绍了BLE安全机制中的终极武器----数据加密。不过使用这把武器有个前提,那就是双方要共同拥有一个加密key(LTK,Long Term Key)。这...

2018-11-02 15:43:28 2470

转载 蓝牙协议分析(10)_BLE安全机制之LE Encryption

本文转自:http://www.wowotech.net 1. 前言前面文章介绍了两种BLE的安全机制:白名单[4]和LL privacy[3]。说实话,在这危机四伏的年代,这两种“捂着脸讲话(其它人不知道是谁在讲话,因而不能插话、不能假传圣旨,但讲话的内容却听得一清二楚)”的方法,实在是小儿科。对于物联网的应用场景来说,要做到安全,就必须对传输的数据进行加密,这就是LE Encryp...

2018-11-02 15:41:55 720

原创 关于苹果MFI认证那些事

前面有一直在做关于苹果MFI认证的产品与项目,中间遇到一些奇奇怪怪的问题,踩了又填了不少坑,所以,趁最近有些空闲时间,总结出来,做个记录,也希望能帮忙到后面需要过MFI的同学。一、什么是苹果MFI认证苹果MFi认证(apple公司 “Made for iPhone/iPod/iPad”的英文缩写)是苹果公司(Apple Inc.)对其授权配件厂商生产的外置配件的一种标识使用许可。Logo如...

2018-10-25 15:37:28 11062

原创 BLE Mesh 前言2:你需要提前知道的事

一、蓝牙Mesh的参考资源蓝牙Mesh规范Spec,它定义了蓝牙Mesh相关的技术细节。          https://www.bluetooth.com/specifications/mesh-specifications      2. 蓝牙Mesh术语表          https://www.bluetooth.com/what-is-bluetooth-technol...

2018-10-23 16:01:28 2130

原创 BLE Mesh 前言1:什么是蓝牙Mesh,以及它与BLE之间的关系?

我们知道蓝牙是目前普及率很广的全球通用型无线通信标准,他为智能设备带来了简捷,安全的连接。但是从它的第一版推出到5.0版本,还是主要针对星型拓扑网络。这也直接决定了它的网络覆盖面积是有限的。直到去年的蓝牙Mesh标准的推出,才正式为蓝牙的应用推向了更广泛的空间。全新的蓝牙mesh功能提供了多对多的设备传输,并特别提高构建大范围网络覆盖的通信效能,适用于需要数以万计个设备在可靠,安全的环境下传输...

2018-10-23 15:07:02 8835

转载 BLE 4.2的新功能加强了隐私和安全,解决了早期BLE的缺陷并且提高了能效

对于任何一个无线设备,无论是健康监测器还是付款系统,保护用户的隐私信息都是非常重要的。隐私机制可防止设备受到不可信的设备追踪。安全的通信保证了数据安全,防止未经授权的设备侵入数据导致触发系统意外操作。BLE 4.2的新功能加强了隐私和安全,解决了早期BLE的缺陷并且提高了能效。请参见 http://www.eet-china.com/news/article/201610180934tha...

2017-07-25 09:46:01 825

原创 影响BLE功耗的重要参数

1、GAP-通用接入规范:BLE协议栈的GAP层负责处理设备的接入方式和过程,包括设备发现,链路建立,链路终止,启动安全功能,设备配置。GAP层通常扮演以下四种角色中的一种:广播者——广告发送者,不是可连接的设备观察者——扫描广告,不能够启动连接外围设备——广告发送者,是可连接的设备,在单一链路层连接时作为一个从机中央设备——扫描广告启动连接,在单一或者多链路层连接时作为主...

2017-07-11 15:01:46 3283

转载 低功耗蓝牙:共享单车的新伙伴

本文引自:https://blog.bluetooth.com/bluetooth-low-energy-a-key-partner-for-bike-sharing 在<摩拜单车>章节中,我们有简单介绍共享单车的工作原理以及“黑科技”。尽管,共享单车给用户带来了极大的方便,但是随着用户的深入体验,越来越多的问题也暴露出来,比如最常见的问题:(1)开锁不成功或时间长,体...

2017-04-25 19:55:13 4257

转载 BLE Host解析:BLE SM(5):传统配对(Legacy Pairing):OOB

本文引自:https://blog.bluetooth.com/bluetooth-pairing-part-5-legacy-pairing-out-of-band 之前章节有介绍了Passkey和Numeric Comparison等配对方法。今天将介绍另外一种方法:OOB。OOB关联模型适用于使用带外机制来发现设备、以及交换或传送将在配对过程中使用的加密信息等场景。OOB对于...

2017-04-25 17:19:05 8891 7

原创 A2DP & AVRCP,蓝牙音频协议的兄弟组合(1)

A2DP和AVRCP是传统蓝牙的两种高层应用协议。一般来讲,在市面的应用产品中,支持A2DP的蓝牙产品都有支持AVRCP。那么,两者是怎样配合使用?又各自扮演者什么角色呢?又是分别如何实现的呢?

2017-02-27 23:42:49 27300 7

原创 Bluetooth SDP

1、 what is SDP?      SDP(service discovery protocol:服务发现协议)。SDP协议让客户机的应用程序发现存在的服务器应用程序提供的服务以及这些服务的属性。      SDP提供了一套SDP server和SDP client之间的通讯方法。 SDP server维护着一个服务条目列表,这个列表存放着SDP server对应的服务以及服务特性...

2017-02-24 17:51:04 1335 1

原创 Bluetooth以及音频协议 基础知识学习

蓝牙协议是蓝牙设备间交换信息所应该遵守的规则。与开放系统互联(OSI)模型一样,蓝牙技术的协议体系也采用了分层结构,从底层到高层形成了蓝牙协议栈,各层协议定义了所完成的功能和使用数据分组格式,以保证蓝牙产品间的互操作性。一、首先来看一下蓝牙的架构:1、无线射频单元(Radio):负责数据和语音的发送和接收,特点是短距离、低功耗。蓝牙天线一般体积小、重量轻,属于微带天线。2、基带

2017-02-24 16:59:08 14374 2

原创 BLE的隐私保护

为了保护BLE设备的隐私,受信任的BLE设备使用共享的身份解析密钥(IRK,Identity Resolving Key)生成和解析随机的可解析私有地址(RPA,Resolvable Private Address)

2017-02-12 20:00:05 5907 2

转载 Git的基本概念及常用命令

日常使用GIT时,遇到的大部分错误都是因为对GIT中一些基本的概念模糊而导致,所以我们进行一次梳理,也作为一次记录,以作查阅

2017-01-05 11:36:53 398

原创 BLE Host解析:BLE SM Bonding

我们知道BLE SM pairing有三个阶段,最后一个阶段就是分发key,即Slave和Master交互Key,其中有包含LTK,实际上是为了bonding做准备。  1. 配对特定key 分发  keys分发完成后,双方可以将配对阶段产生的一系列keys 保持到自己的flash中,这就是bonding。2.  绑定 绑定就是主机与从机相互保存认证信息...

2016-12-29 17:25:51 2354

转载 蓝牙解析(part9):BLE Resolving List

通过Resolvable Private Addresses,将在空中传输的设备地址加密,让“小人E”无法窃得,从而增加其伪装的难度。

2016-12-29 16:55:27 2993 1

转载 蓝牙解析(part8):BLE White List

所谓的白名单,就是一组蓝牙地址;通过白名单,可以只允许特定的蓝牙设备(白名单中列出的)扫描(Scan)、连接(connect)我们,也可以只扫描、连接特定的蓝牙设备(白名单中列出的)

2016-12-29 16:50:32 2378

转载 蓝牙解析(part7):BLE的连接

和经典蓝牙一样,协议为处于连接状态的BLE设备,定义了两种Link Layer角色:Master和Slave。Master是连接的发起方(Initiator),可以决定和连接有关的参数(很重要,后面会详细介绍)。Slave是连接的接受方(Advertiser),可以请求(或建议)连接参数,但无法决定。

2016-12-29 16:45:21 2975

转载 蓝牙解析(part6):BLE地址类型

BLE设备有多种类型的设备地址,如Public Device Address、Random Device Address、Static Device Address、Private Device Address等等。如果不了解内情,大家肯定会被它们绕晕。不过存在即合理,这样看似奇怪的设计,实际上反映了BLE的设计思路以及所针对的应用场景。让我们通过本文一窥究竟。

2016-12-29 16:41:56 1210

转载 蓝牙解析(part5):BLE的广播通信

大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广播通信(Advertising)的支持和利用。本文将从技术的角度,分析和理解BLE协议中有关广播通信的定义和实现。

2016-12-29 16:34:29 9676 1

转载 蓝牙解析(part2):协议架构分析

本文从整体架构的角度,了解蓝牙协议的组成,以便加深对蓝牙的理解

2016-12-29 16:12:37 2288

转载 蓝牙解析(part1):蓝牙的基本概念

开出这样一个专题,希望能够将蓝牙技术上上下下的知识,整理出来,以便在加深自己对蓝牙技术的理解的同时,能够给从事蓝牙相关工作的读者一点启发。

2016-12-29 16:02:05 1723

转载 蓝牙解析(part3):BLE协议栈解析

为什么会有蓝牙协议栈(Why)?怎样实现蓝牙协议栈(How)?蓝牙协议栈的最终样子是什么(What)?

2016-12-29 13:31:00 1466

原创 BLE Host解析: ATT/GATT

本部分是从各位前辈的学习经验中,总结过来的,希望对初学者有益。从蓝牙Spec 4.0开始,推出了低功耗(BLE)规范,BLE的协议可分为Bluetooth Application和Bluetooth Core两大部分,而Bluetooth Core又包含BLE Controller和BLE Host两部分,整体架构如下图所示。本章节,先来看一下Host部分中的两个核心协议:ATT(Attrib...

2016-12-29 09:33:01 5486 2

转载 BLE Host解析:BLE SM(1): 配对特性交换(Pairing Feature Exchange)

     本文引自:https://blog.bluetooth.com/bluetooth-pairing-part-1-pairing-feature-exchange 蓝牙的Spec规格有三个主要架构层,从上往下依次是application,host and controller。其中host层有一个为配对和密钥分配定义方法和协议的安全管理模块(SM),相应的安全工具箱以及定义配对指...

2016-12-28 11:18:18 4722 2

原创 嵌入式系统的Watchdog

Introduction Watchdog,又名看门狗,光听名字就知道是保卫系统的可靠帮手,它相当于系统警察,当系统发生严重错误(比如程序跑飞或进入死循环等)不能恢复的时候,能够让系统重启。 看门狗最初的意义是因为早期嵌入式设备上的程序经常跑飞(比如说电磁干扰等),为了避免系统在无人干预时长时间挂起,所以专门设置了一个硬件看门狗,每隔一段时间,看门狗就去检查某个参数是不是被设置了,如果发现该参数被设置了,则判断为系统出错,然后强制重启。 另外,它又叫 watchdogtimer(WDT

2020-05-20 11:48:42 1249

原创 BLE Software总结预告

之前,已经总结过BLE HOST层的主要协议,包括ATT/GATT,GAP,SMP,L2CAP等部分,在接下来的一段时间里,我会陆续总结一下BLE的controller部分。算是对整个BLE Software和core Spec的一个完整回顾,希望对BLE的开发者们带来一些帮助。在接下来的篇幅中,首先,我会聊一聊BLE的层次结构,以及开发BLE需要的一些基本配置,然后再引入BLE Contro...

2020-04-03 17:03:29 520 1

转载 从密码学角度理解BLE的安全机制

最近看到一篇文章,作者没有从Spec的BLE Pairing方式及Bonding过程去解释BLE的安全机制,而是换了一个角度,从运用的算法演变,信息安全方面去审视BLE的安全机制,到也算是更能让读者了解“背后的故事”。详细内容请参考以下链接:http://news.eeworld.com.cn/mp/BLE5CODER/a67427.jspx文章大纲大概是:密码技术初探 对称密码...

2019-08-08 10:31:52 516

原创 BLE常用标准UUID

What is UUID? “GATT层”中定义的所有属性都有一个UUID值,UUID是全球唯一的128位的号码,它用来识别不同的特性。 1. BTSIG UUID 蓝牙核心规范制定了两种不同的UUID,一种是基本的UUID,一种是代替基本UUID的16位UUID。所有的蓝牙技术联盟定义UUID共用了一个基本的UUID: 0x0000xxxx-0000-...

2019-07-03 17:02:08 25276 1

原创 Repo Sync Error:Exited sync due to fetch errors

Background of the problem:1) command: $ repo sync -j82) error: error: Exited sync due to fetch errors3) solution:$repo sync -f -j8 As it seems -f or --force-broken flag allows it to recov...

2019-07-03 16:35:20 4131

原创 How to resolve the problem “Firefox is already running, but is not responding......"

Solution:1) open a termianl and enter command "firefox -profilemanager"2) delete the old profile3) create a new profile4) start firefox

2019-03-22 17:23:35 311

转载 IOT的OTA,你知道多少?

最近发现一篇对理解嵌入式OTA很有帮助的文章,标记一下,也请移步参看原创作者的博客https://blog.csdn.net/wireless_com/article/details/84901222希望对于热爱嵌入式的你,有所营养,Thanks ...

2018-12-27 20:26:11 1877

原创 Source Insight实用手册

这里只挑最有用的实用设置来讲:第一类问题:美观护眼功能设置1、字体配置   首先说一下Source Insight字体问题,它默认的字体小的无法忍受,伤眼睛。按“ALT+T”快捷键打开文档操作窗口。或者在工具栏处点击“Options”,选择“Document Options...”,弹出对话框,选择Screen Fronts弹出对话框,把字体调节为12号,点击确定,在弹出的确认框输入y...

2018-12-27 20:20:13 450

转载 snprintf比sprintf更安全(注意,snprintf在 Windows和Linux中有区别)

转自:https://blog.csdn.net/stpeace/article/details/23561425再转一篇关于,对snprintf,sprintf在不同平台上的差别的文章在这里,从实际操作中,理解带n与不带n的函数的差别,触类旁通啊,strcpy和strncpy,等也是同样原理 So,我们通过代码来加深一下sprintf和snprintf的差别.  实际上, 在VC++...

2018-11-28 10:02:28 1481

原创 区别snprintf和sprintf

在项目完成阶段,进行coverity scan时,常常会扫出类似提示,说使用sprintf, is Calling risky function,May result in a security violation。实际是因为sprintf可能导致缓冲区溢出问题,所以编译器不推荐使用,因此可以优先选择使用snprintf函数,虽然会稍微麻烦那么一点点。由此可见,sprintf和snprin...

2018-11-28 09:53:29 755

转载 蓝牙协议中LQ和RSSI的原理及应用场景

本文转自http://www.wowotech.net在蓝牙协议栈的物理层,有这样两个比较有用的参数:LQI和RSSI。它们都是通过接收端,判断当前无线环境的质量(链路质量),以指导后续的动作。但这两个数值的计算原理和使用场景又有很大的差别。LQI (Link Quality Indication),是当前接收到的信号的质量的一种度量。所谓的接收到信号的质量,是接收器通过接收到的信号和理想...

2018-11-02 16:01:02 1011

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除