×

蓝牙Beacon的三个关键虚拟标准资料下载

消耗积分:3 | 格式:pdf | 大小:151.7KB | 2021-04-09

laisvl

分享资料个

具备无限可能性的Beacon技术应用正准备改变我们所处的世界;在那之前,让我们先来探讨Beacon技术的标准化现况,以及其通告封包(advertising packet)的运作原理。 蓝牙信标(beacon)技术正快速发展中,为消费者、企业和工业环境提供各种「近接感知(proximity-aware )应用」。例如消费者可根据所在位置(商场、餐厅…等等)获得可立即兑现的优惠券,以及量身打造的各式产品及服务;企业则可藉由掌握消费者的购物习惯,来提高产品的能见度并从中获利,进而强化消费者的品牌忠诚度;制造业者则将因具体改善资产管控而受益。 具备无限可能性的Beacon技术应用正准备改变我们所处的世界;在那之前,让我们先来探讨Beacon技术的标准化现况,以及其通告封包(advertising packet)的运作原理。 蓝牙Beacon标准并非蓝牙技术联盟(Bluetooth SIG)所制定的标准,它被称为”虚拟标准”,是由大型供货商或企业集团为首,针对广泛的Beacon应用所正式提出的���牙应用规范。 目前市场上主要有三个关键的虚拟标准: • App 的iBeacon; • Google的Eddystone; • Radius Network的AltBeacon 以上三个虚拟标准都使用低功秏蓝牙广播方法,将广播封包放在低功秏蓝牙频道37、38和39,以避免在2.4 GHz 工业,科技和医疗 (ISM)免执照波段上与Wi-Fi流量冲突。 此外,透过在虚拟标准使用低功秏蓝牙广播的结构里嵌入其格式和数据,每当Beacon装置发送广播时,相同的封包将立即于三个广播频道上进行发送,促使低功秏蓝牙接收器/扫描仪接收讯号。一但接收到讯号,扫描仪将决定封包内容是否可被解碼及其关连性后,再采取相对应的行动。 在广播封包内,数据负载结构为一个或多个[长度、类型、数据]形式 • 长度部分定义了接下来的类型和数据结合的型号 • 类型决定了数据是名字、服务UUID、URI或多种定义的类型的一个,以及 • 数据封包使Beacon结构更进一步在数据内定义子结构,以确定不同的虚拟标准。 广播封包和数据封包使用相同的格式。Beacon遵循标准广播封包格式,但包括嵌入一个或多个虚拟标准的数据负载。 Apple的 iBeacon Apple的iBeacon是较早的Beacon采用者。iBeacon是Apple的商标,想要贩卖iBeacon产品的供货商或使用iBeacon符号必须获得Apple的许可。iBeacon 规范和其他开发资源可以从Apple Developer下载 iBeacon每个封包的总长度为 30个字节(Byte),其必须以100ms间隔广播(尽管iBeacon OEM厂商不一定总是严格遵循100ms的要求)。使用Core Location framework的iOS 应用,可以使用iOS来持续的监测通过Beacon区域的事件,例如,进入或者离开iBeacon接近区域取决于UUID、主要和次要的区段。iOS监测取决于应用是否在运行,甚至可以使得关闭的应用开始运行。监测功能仅作用于当用户启动应用程序中定位服务(Location Services)。 Google的Eddystone Eddystone是一款开源、跨平台的Google beacon格式。其支持Android和iOS装置,与其他beacon标准不同的是,它定义了几个不同的帧类型,可以独立使用或者联合使用: • Eddystone-UID可以广播独一无二的BeaconID • Eddystone-URL广播URLs • Eddystone-TLM可以用来广播关于Beacon自身的遥测(健康和状态)数据,和 • Eddystone-EID使用短暂的身份标识,用于要求更强的安全性的Beacon应用。用于该结构格式的规范尚未发布。 Eddystone-URL结构可使行动平台根据接近状态提供网页内容,而无需要求安装app,其使得Google推动的「The Physical Web」计划或者 “ability to walk up and use anything”的网络成为可能。Eddystone已经拥有iOS之Chrome支持,并将从版本49开始提供Android的Chrome支持。有了Chrome Today工具,用户将可存取其周边网页内容,并且在碰到beacon时收到通知�� Google Eddystone GitHub page提供了Eddystone协议规范、工具和开放原始码范例,Google Developers forum亦提供了更多关于Google Beacon平台的信息。 AltBeacon Radius Network定义了以创建OS-agnostic为目的之AltBeacon规范,开放原始码标准将不会因应特定供货商的需求。本规范可以在AltBeacon website上找到,其无需任何许可或认证的费用。就像其他beacon一样, 它使用非连接、非直接的广播封包。 (mbbeetchina)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'蓝牙Beacon的三个关键虚拟标准资料下载',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);