【iBeacon】iBeacon前沿初探技术备忘

iBeacon是工作在蓝牙4.0(BLE)硬件下的一种协议,属于蓝牙4.0广播协议的一种,通过该协议和一个蓝牙模块可以实现非接触的身份识别、位置检测等。

How does BLE communication work?(BLE设备如何通信)

BLE的通信包括两个主要部分:advertising(广告)和connecting(连接)。

广告(Advertising)是一种单向的发送机制。想要被搜索到的设备可以以20毫秒到10秒钟的时间间隔发送一段数据包。使用的时间间隔越短,电池消耗的越快,但设备被发现的速度也就会快。数据包长度最多47个字节,由以下部分组成:

    1 byte preamble(1字节做报头) 前导(1字节):不知道的可以理解为”同步头”,主要是用来配置接收机的自动增益控制。

    4 byte access address(4字节做地址) *对于广告通信信道,地址部分永远都是 0x8E89BED6 。对于其它数据信道,地址部分由不同的连接决定。

    39 bytes advertising channel PDU(39个字节用于PDU数据包)

    3 bytes CRC(3个字节用于CRC数据校验)

 

*使用Packet Sniffer抓数据,能方便清晰地了解数据帧情况 参考http://www.07net01.com/2015/08/920524.html

这里Data才是ibeacon 协议的数据体(共30字节,按照如上定义数据帧则为所谓ibeacon 协议)

Proximity UUID :这是将你所有的beacon与其他人的beacon设备区别开的id!通常一个设备供应商必须使用一个统一的UUID。即同一公司的ibeacon节点必须设置为相同UUID

major 编号:用于将相关的beacon标识为一组。例如,一个商店中的所有beacon将会分配到相同的major编号。通过这种方式,应用程序就能够知道顾客位于哪一家商店。

minor 标号:用于标识特定的beacon设备。例如一个商店中的每一个beacon设备都拥有唯一的minor编号,这样你才能够知道顾客位于商店中的哪个位置。

TX power:测定的无遮挡一米处信号强度rssi值(固定值,需要设备供应商测定并写死在设备中),可用于计算距离。

    /**  
     * 估算用户设备到ibeacon的距离  
     *   
     * @param txPower  
     * @param rssi  通过BluetoothAdapter取得
     * @return  
     */  
    protected static double calculateAccuracy(int txPower, double rssi) {  
        if (rssi == 0) {  
            return -1.0; // if we cannot determine accuracy, return -1.  
        }  
  
        double ratio = rssi * 1.0 / txPower;  
        if (ratio < 1.0) {  
            return Math.pow(ratio, 10);  
        } else {  
            double accuracy = (0.89976) * Math.pow(ratio, 7.7095) + 0.111;  
            return accuracy;  
        }  
    }  

 

 

进阶

0.由于基于广播包,所以很容易出现iBeacon伪造或者利用重放广播包进行攻击

应对方案:Ø 防蹭用加密
常规iBeacon的节点ID号不会变化,从而产生两大问题:1、客户部署网络后第三方可采集到iBeacon部署的位置,从而免费使用客户所部署的网络,导致客户的利益受到损害;2、在地理位置签到等服务中,常规iBeacon的节点易被人采集到ID号进行仿冒,从而基于仿冒的节点进行虚假服务。
寻息提供广播密钥防蹭用加密及基于时间的防蹭用加密节点两套ID动态加密模式,使得节点ID(Major、Minor)动态变化,对于客户部署的网络,其他人均无法蹭用。其中基于时间的防蹭用加密为目前唯一不可破解、不影响iBeacon协议(不占用iBeacon协议中任何字段)且并发容量不受限的加密方案。

1.一个节点硬件模拟多个iBeacon

Ø 多ID播发
常规iBeacon的节点只播发唯一ID,然而现在不同公司的位置服务应用只支持其自己定义的ID号段,这就导致一个iBeacon不能支持多个应用。例如用户如果想同时应用“微信摇一摇.周边”及“360摇一摇”两个应用服务,就需要购买两个iBeacon,导致成本浪费,并增加了电磁干扰。
支持多ID信号播发,这样同一iBeacon节点可同时支持“微信摇一摇.周边”、“支付宝周边发现”及“室内定位导航”等多种应用。在技术方面,受协议手机系统的蓝牙读取机制影响,常规iBeacon直接播发多个ID的信号,将导致手机难以稳定的同时扫描到播发的各个ID信号,为此寻息iBeacon在技术上进行了特有的处理,保证iBeacon同时播发的多个ID信号均可同时被手机接收到。

 

3.使用安卓手机自带的蓝牙4.0模拟iBeacon信号发射?

需要安卓系统5.0以上,支持peripheral mode。国外有做得比较好的实现 http://www.datzing.com/

参考http://blog.youkuaiyun.com/lansefeiyang08/article/details/46505921

 

4.有哪些创新的应用范围?

导览讲解

客户来公司参观,我给他一台设备(iphone或者iPad,所以最好是能有这样一个系统,可以安装在iOS设备上),他每到一个地方(在每个地方安装相应设备,好像iBeacon可以满足),设备会自动跳出相应的视频介绍

济南济西二手车市场
为室内外8万平米的停车场内所有车辆实现精准定位,支持车辆位置监控,车辆区域化管控,非法出场预警,客户智能找车等功能。该案例成为二手车市场及工业叉车监控领域的开创性案例,标志着室内定位全面进军工业4.0的巨大市场。

贵州医科大学附属医院
通过室内定位网络系统的部署,对医院手术室一层楼进行定位试点,总面积6000多平,对其中30多个手术室内的设备实现定位监控,在后台系统可查看主要设备的详细位置、使用数据、利用率,解决医疗设备经常不知踪迹,造成寻找麻烦、重复采购、资产浪费的现状,实现医院资产智能化管理,助推智慧医院建设。该试点为同类型定位技术在医院的首个应用案例,效果得到院方高度好评,标志着医院全院范围内的重要资产及人员位置精确监控进入应用阶段。

 

转载于:https://www.cnblogs.com/longson/p/6252626.html

iBeacon数据包全解析:读懂BLE广播包中的定位密码 一文搞懂iBeacon协议 阅读详情

相关推荐

BLE协议—Beacon信标广播

基于BLE广播的功能的协议。蓝牙Beacon并不是蓝牙技术联盟所指定的标准,因此也被称为“虚拟标准”,是由大型供货商或企业集团为首,针对广泛的Beacon应用所正式提出的蓝牙应用规范,比如苹果公司的iBeacon协议,谷歌公司的Eddystone协议。:这两个值用于识别一组iBeacons中的特定的Beacon,以进一步细分UUID下的区域或使用场景。:用于广告推送,比如商场内,当用户走进商场时打开商城APP,即可看到实时的商城活动等。:应用特定的唯一标识符,用于区分不同的iBeacon部署。

起风的博客 4012

ibeacon 协议

happygrilclh的博客 1029

深入探索BLE开发:从基础到iBeacon

设置开发环境:确保你已经安装了所需的开发工具和SDK。编写扫描代码:利用BLE API编写扫描设备的代码,并设置合适的扫描回调。解析广播数据:根据广播数据包的格式解析出设备信息和数据。设备交互:根据解析出的信息,编写与目标设备通信的代码。通过以上步骤,开发者可以实现获取BLE广播数据并进行初步的设备交互。随着对BLE技术的深入了解,开发者还可以实现更多高级功能,如数据加密、服务发现和特征操作等。

weixin_34511754的博客 1164

蓝牙IBEACON协议详细解析

蓝牙IBEACON协议详细解析 先看一个不太清楚的图片,这个是nordic官方提供的解析的文档。 先看顶上的三个字节,flags length type,这三个是固定的,因为ibeacon长度是固定,所以length位也是固定的,三个我们可以忽略,主要是后面的25个字节是我们需要解析的数据。 4C 00 这两位代表beacon的公司名称,4C就是苹果的ibeacon,nordic的是0x59,其他公司的需要查询蓝牙联盟的数据库。 02 15 这个代表了是ibeacon的服务类型,这个也是固定的,就是说我们

hlemon0808的博客 8315

UniTouch:多模态触觉对齐技术如何重塑零样本跨模态应用

UniTouch模型通过创新的多模态触觉对齐技术,成功将触觉数据映射到通用的视觉-语言嵌入空间,解决了触觉模态的“孤岛困境”。该技术利用对比学习和传感器特定标记,实现了高质量的零样本学习能力,使模型无需额外训练即可完成触觉分类、描述等任务,并能驱动跨模态生成,为机器人、VR和智能制造等领域提供了强大的触觉理解新范式。

weixin_29044713的博客 409

在LangChain中使用DashVector进行高效向量检索

DashVector为需要处理高维向量数据的开发者提供了一种便捷且高效的解决方案。通过将其集成到LangChain生态系统中,您可以轻松实现复杂的语义搜索和数据分析功能。DashVector官方文档LangChain GitHub仓库有关DashVector的详细notebook示例。

sjufgwgfhoia的博客 455

ESP32学习笔记----iBeacon

低功耗蓝牙协议栈框架结构如下所示:如图所示,ATT和GATT是蓝牙协议栈重要的2层,也是蓝牙应用开发者打交道最多的两层,用户开发应用程序或者说service/profile的时候,调用的都是GATT API,而GATT又调用了ATT API。iBeacon是苹果公司在2013年推出的一种基于蓝牙低功耗(BLE, Bluetooth Low Energy)技术的室内定位系统技术标准。它允许移动应用(在iOS和Android设备上)侦听信号,并在接近iBeacon设备时做出响应。

qq_56044767的博客 2549

核磁干货 | RESTplus实战:静息态fMRI预处理全流程解析

本文详细解析了使用RESTplus工具包进行静息态fMRI数据预处理的完整流程,包括数据准备、环境配置、预处理步骤及高级分析技巧。RESTplus作为基于SPM的批处理工具,以其图形化界面和智能化参数设置显著提升了核磁静息态数据分析的效率,特别适合新手和临床研究人员。文章还分享了实战中的常见问题解决方案和性能优化技巧。

wine的专栏 884

Beacon应用浅析

Beacon即蓝牙信标。这是建立在低功耗蓝牙协议基础上的一种广播协议,同时它也是拥有这个协议的一款低功耗蓝牙设备(从机),兼容苹果ibeacon协议。

weixin_44445770的博客 3232

三. zemax光学设计流程+案例

文章目录zemax 基本操作:1. 建立光学基本模型2. 像质评价3. 优化(重点)4. 公差分析简单镜头设计 zemax 基本操作: 1. 建立光学基本模型 2. 像质评价 3. 优化(重点) 对系统设定的约束条件或目标值 统称为操作数。 操作数: 光学特性参数(焦距EFFL,近轴放大率PMAG,入瞳位置EMPP) 像差参数(球差SPHA,彗差COMA,像散ASTI) 边界条件(中心厚度值CTVA,边缘厚度值ETAV) 优化的主要步骤: 设置评价函数和优化操作数 一般小像差系统采用波像差 构建

Taiiiii的博客 8054

ADS中使用Momentum进行电源完整性分析示例

这个应用可以帮助工程师用更快的时间使用ADS Momentum完成PDN分析。该应用描述了利用ADS Momentum RF模拟器进行PDN分析的方法,大大缩短了计算时间。 该分析主要应用与高速数字设计。 在此应用中使用了以下ADS特性: ADS设计流程集成(ADFI)。 电磁协同仿真。 Momentum仿真。 仿真流程如下: 在Allegro中创建ADFI文件 要将Alleg...

zb6075_lb的专栏 7009

iBeacon:低功耗蓝牙BLE,室内定位/近场通信典型应用

iBeacon基础知识、iBeacon示例demo、示例运行结果

MY5535的博客 1305

复现报告:《多回路人机控制系统仿真及II型PIO分析》方法复现与代码实现

本文复现了谭文倩硕士论文《多回路人机控制系统仿真及II型PIO分析》中的关键方法,重点实现了频域驾驶员模型辨识和参数灵敏度分析。通过数字化提取论文图表数据,构建了结构驾驶员模型传递函数,并验证了参数变化对系统特性的影响。采用MATLAB实现了描述函数计算、模型参数辨识和灵敏度分析算法,为后续神经网络模型辨识和II型PIO研究奠定了基础。由于缺乏原始实验数据,部分结果通过数值模拟获得,但仍有效重现了论文的核心分析方法。~~~~~

huanghm88的专栏 175

第三周工作总结——IBeacon协议分析

转载自: https://blog.youkuaiyun.com/qiank10/article/details/38050717 1. 总述 这周的主要工作是使用已有的BLE USB Dongle和iphone跑通基本的ibeacon原理,进一步分析IBeacon协议,以便于接下来编写生成IBeacon信号的Matlab代码。 2. IBeacon协议分析 2.1 前人工作及声明 许多研究...

parasoft的专栏 1220

【GLM5】手把手教你在openclaw中白嫖英伟达羊毛

openclaw很强,但是也很贵,每一次请求都会消耗大量的token。而英伟达平台正好可以白嫖免费的模型,于是,我们一拍即合。

Science prince的博客 3820

2023全国职业技能大赛 网络系统管理 服务部署 Linux部分--基础配置

服务器和客户端基本配置如下表,各虚拟机已预装系统。一、关闭防火墙和Selinux。七、需要使用到的命令详解。三、修改root密码。

weixin_62926639的博客 1000

杂项:蓝牙beacon简述

蓝牙beacon

嵌入山脊的博客 8363

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

蓝牙iBeacon工作原理

一、 什么是iBeacon iBeacon技术是Apple公司在2013年9月发布的一种基于BLE蓝牙的通信协议。主要用于短距离传送少量数据。应该场景例如在商场中,当你靠近某个商品时,在不用解锁手机的情况下,会把这个商品的折扣信息推送到你的手机上。 如上图所示,iBeacon设备一直发送广播数据,广播数据包括UUID,Major和Minor值。UUID为16个字节,major和minor各占两个字节。 名称 大小 说明 UUID 16 字节 一个商场中的iBeacon设备都共用一个UUI

weixin_42868905的博客 7415

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

IBeacon技术使如何实现室内蓝牙定位?室内蓝牙定位真的如此简单?

室内蓝牙定位,需求凭借iBeacon设备。在一个iBeacon基站的协助下,智能手机的软件能大约找到它和这个iBeacon基站的相对方位。iBeacon技能经过低功耗蓝牙来完成。这也是为什么iBeacon设备靠纽扣电池就能运转很长期。   现在的iBeacon使用首要包括两种,一种是进入iBeacon区域后,进行音讯推送;另一种是布置好基站,使用信号强度进行定位。这两种都与方位感知有关.iBeacon进行方位感知的根据是其信号强度RSSI(Received Signal Strength ...

Xindoo2020的博客 3363

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

nRF Connect SDK 中 Beacon 功能实现

本文主要介绍基于nRF Connect SDK实现Beacon功能,笔者基于vs-code开发环境详细介绍了项目模块配置,设备树配置,UUID的实现,以及Beacon扫描和解析功能等内容。

mftang的博客 1603

IBeacon协议分析

IBeacon协议分析 跳转至: 导航、 搜索 对于一个UUID是E2C56DB5-DFFB-48D2-B060-D0F5A71096E0, major是0, minjor是0的iBeacon,此时的Tx的信号是-59 RSSI,他的BLE的广播包如下: d6 be 89 8e 40 24 05 a2 17 6e 3d 71 02 01 1a 1a ff 4c 00 02 15 e2

ALDRIDGE1的专栏 1万+

BLE 协议栈之ibeacon广播包羞涩初探

Ibeacon  数据定义:一小片数据段广播信息。它不需要配对。  数据包括周围环境温度,位置信息,自身的感应信息。   广播功率设定   #defineLL_EXT_TX_POWER_MINUS_23_DBM    0 #defineLL_EXT_TX_POWER_MINUS_6_DBM     1 #defineLL_EXT_TX_POWER_0_DBM

小磊's blog 8016

iBeacons

iBeacons可以提供室内地图等微区位服务,为特定区域内任意相关设备提供优惠信息、硬解码定位等服务。     iBeacons是通过低功耗蓝牙技术进行一个十分精确的微定位,设备可以接收一定范围由其他iBeacons发出来的信号,同时也可以把你的信息在一定范围内传给其他用户。与NFC不同,iBeacons可以进行远程传送信息。     比如,用户在餐馆叫服务员买单的时候,餐馆可以通过i

xiaoyangsavvy的专栏 2440

蓝牙Beacon功能介绍和技术实现

本文主要介绍蓝牙Beacon功能介绍和技术实现,其内容包括Beacon的定义,各种经典Beacon标准的比较,还介绍了实现Beacon功能背后的技术要素。

mftang的博客 2702
上一篇: 【java回调】java两个类之间的回调函数传递
下一篇: 《将博客搬至优快云》
akdefm8564
博客等级 码龄12年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值