无法做到,包括后端语言也无法在 Web 中获取 UUID。
基于安全问题,JavaScript 无法获取到设备的 UUID,也没有接口可以获取 UUID。
如果 JavaScript 可以轻松做到,安卓设备的 APP 权限岂不是花瓶?!
可用于第三方蓝牙设备交互,必须要支持蓝牙 40。
iOS上:硬件至少是 iphone4s,系统至少是 iOS6。
android上:系统版本至少是 android43。
蓝牙 40 以低功耗著称,一般也叫 BLE(BluetoothLowEnergy)。目前应用比较多的案例:运动手坏、嵌入式设备、智能家居
在蓝牙通讯中有两个主要的部分,Central 和 Peripheral,有一点类似Client Server。Peripheral 作为周边设备是服务器。Central 作为中心设备是客户端。所有可用的蓝牙设备可以作为周边(Peripheral)也可以作为中央(Central),但不可以同时既是周边也是中央。
一般手机是客户端, 设备(比如手环)是服务器,因为是手机去连接手环这个服务器。周边(Peripheral)是生成或者保存了数据的设备,中央(Central)是使用这些数据的设备。你可以认为周边是一个广播数据的设备,他广播到外部世界说他这儿有数据,并且也说明了能提供的服务。另一边,中央开始扫描附近有没有服务,如果中央发现了想要的服务,然后中央就会请求连接周边,一旦连接建立成功,两个设备之间就开始交换传输数据了。
除了中央和周边,我们还要考虑他俩交换的数据结构。这些数据在服务中被结构化,每个服务由不同的特征(Characteristics)组成,特征是包含一个单一逻辑值的属性类型。
上文中提到了特征(Characteristics),这里简单说明下什么是特征。
特征是与外界交互的最小单位。蓝牙40设备通过服务(Service)、特征(Characteristics)和描述符(Descriptor)来形容自己,同一台设备可能包含一个或多个服务,每个服务下面又包含若干个特征,每个特征下面有包含若干个描述符(Descriptor)。比如某台蓝牙40设备,用特征A来描述设备信息、用特征B和描述符b来收发数据等。而每个服务、特征和描述符都是用 UUID 来区分和标识的。
source ==> 字符串
count ==> 切割的位数
转换接收的ios数据
初始化蓝牙40管理器 => initManager
搜索蓝牙40设备,模块内部会不断的扫描更新附近的蓝牙40设备信息 => scan
注: 参数(params):single 类型:布尔 true 为单例模式,false为非单例模式;默认为false; 描述:(可选项)则扫描附近的所有支持蓝牙40的设备类型:parmas:布尔 true 为单例模式,false为非单例模式;默认为false; 非单例模式为仅在本页面生效连接,单例模式为在连接成功后整个app全局生效
获取当前扫描到的所有外围设备信息 => getPeripheral
连接指定外围设备。iOS端无超时判断,android端默认有30秒超时判断 => connect
根据指定的外围设备 UUID 获取该外围设备的所有服务 => discoverService
根据指定的外围设备 UUID 及其服务 UUID 获取该外围设备的所有特征(Characteristic)=> discoverCharacteristics
根据指定的外围设备 UUID 及其服务 UUID 和特征 UUID 监听数据回发 =>setNotify
根据指定的外围设备 UUID 及其服务 UUID 和特征 UUID 写数据 => writeValueForCharacteristic
剩余方法根据需求酌情使用
此次开发需求 传递字节以及ASCII码,apicloud中ble模块仅仅满足于传递字节,并且初始低功耗蓝牙仅仅满足于传递20字节以下数据,需设置MTU进行大数据传输,此次流控为蓝牙的特征FF03监听来进行数据流控, 蓝牙模块使用百瑞互联,如需定制开发模块或SDK可联系!
以一个虚拟项目为例,来看看如何准备给某连锁店的第二家分店进行Beacon铺设前的准备工作。
一、 材料准备
10套AprilBeacon241(固件版本201以上,包括芯片、外壳、电池)
标签纸
手机(iPhone4s以上,支持AprilBeacon V12+ 以及第三方Beacon检测应用)
屏蔽袋
蓝丁胶
笔
这些器材,除手机和笔以外都可以在淘宝的搜索AprilBrother官方店买到。
ps:AprilBeacon硬件也可兼容Android 43+,,但 *** 作流程不同,本篇仅介绍iOS下实践。
二、 安装前准备
步骤一:ID规划
1 每个完整的iBeacon id都是由三段组成,分别是Proximity UUID(一段32位的16进制数)、Major(范围:0-65532)、Minor(范围:0-65532)。使用的企业需要在安装前就规划好id规范,方便以后业务的展开。
比如我们实施的某连锁店项目规划id为88888888-4444-4444-4444-CCCCCCCCCCCC。 那么Major可以用于表达不同的门店,Minor用于表达特定门店内的Beacon编号。比如说咱们这个例子,就沿用UUID=88888888-4444-4444-4444-CCCCCCCCCCCC;Major=2,代表2号店;Minor代表2号店中顺序增长的不同Beacon设备。
2 规划好id后,可以给我们的标签纸上写上规划好的id(图2),我们这次一共预置10个id,即0-9代表以后的Minor。这些标签纸到时将贴在Beacon上。
3 为所有Beacon电池上电装壳。打开AprilBeacon应用,第一页可以检测到10个Beacon ,按UUID进行排序。
步骤二:批量预置ID
4 打开工具页,选择批量修改。填写proximityUUID为88888888-4444-4444-4444-CCCCCCCCCCCC,Major为2,Minor为0并打开递增。Measured Power留空,Advertising Freq按需选择数字代表100ms的倍数,比如我们在室内导航项目中使用,可以设置稍快就填3,代表300ms发射一次。选择密码,设置Beacon新密码为12位, "123456789012"。
5 点击开始批量修改后App会轮寻所有它能连接上的Beacon,排序进行修改。此时系统会提示输入Beacon的密码,出厂时默认为AprilBrother(图5),这次改正后就可以改为"123456789012"。那下次就该输入"123456789012"。这个密码是保证出厂后各应用企业自己的Beacon不备无关人员篡改的基础,此密码请妥善保存,如果不幸丢失就只有重新烧写Beacon了。
重新打开AprilBeacon应用看第一页 ,这时由于没设置发射器(相当于一个白名单)的缘故,一个Beacon也找不到。
第三页发射器里增加一个叫sample的设置
就可以观察到这10个新Beacon了!
步骤三:贴标签
6 贴签就是把第2步写好的标签贴在对应Beacon的外壳上,方便工人施工的时候识别。现在由于现场Beacon数量太多,一下不容易逮住谁是谁。必须使用之前准备好的屏蔽袋了。把所有预置好id的Beacon放入屏蔽袋,只保留一个在外边,就可以很容易的区别它是谁,选择标签贴上 。重复这个过程直到完成。
ps:告诉你个小技巧,当身边没有屏蔽袋时,可以选择用微波炉替代,质量好的微波炉的屏蔽效果还不错,一般也比较容易找到。
7 把所有Beacon排列整齐用蓝丁胶轻轻粘在一起,形成一个“糖葫芦”,就做好了准备工作,去施工现场部署的时候就可以轻松清楚了。
三、 现场安装
每个项目都需要自行规划Beacon的安置位置,这点无需多言。但是安装过程中有些通用注意事项:
规划位置最好别依赖现场给的CAD图,规划图和现场实际情况往往有差别。要去实地考察一次,核对下图的正确性,也找下位置。了解现场环境颜色,颜色浅的最好选择浅色壳子。比如说我们实施的一个医院项目,就要求用白色壳子。
所有部署资料做好留底工作,方便以后维护,以后的维护也采用替代的方式,没发现一个故障Beacon就单独update新的替代Beacon的id为故障Beacon的ID。
所有安装尽量保持一致性,尽量安装在绝缘材质上。比如安装在展台时候尽量保持每个展台的相对位置和材质一致。不一致的材质对于射频信号吸收率不一致。安装在塑料材质上的Beacon可能比金属材质表面的beacon信号强好多。这种不一致会导致对不同beacon的距离计算失准。严重时需要在施工现场进行校准(校准过程可参考此)。
好了,至此,Beacon已经完美安装。猪已经准备好了,就等刮风了。祝各位飞行愉快!
以一个虚拟项目为例,来看看如何准备给某连锁店的第二家分店进行Beacon铺设前的准备工作。
一、 材料准备
10套AprilBeacon241(固件版本201以上,包括芯片、外壳、电池)
标签纸
手机(iPhone4s以上,支持AprilBeacon V12+ 以及第三方Beacon检测应用)
屏蔽袋
蓝丁胶
笔
这些器材,除手机和笔以外都可以在淘宝的搜索AprilBrother官方店买到。
ps:AprilBeacon硬件也可兼容Android 43+,,但 *** 作流程不同,本篇仅介绍iOS下实践。
二、 安装前准备
步骤一:ID规划
1 每个完整的iBeacon id都是由三段组成,分别是Proximity UUID(一段32位的16进制数)、Major(范围:0-65532)、Minor(范围:0-65532)。使用的企业需要在安装前就规划好id规范,方便以后业务的展开。
比如我们实施的某连锁店项目规划id为88888888-4444-4444-4444-CCCCCCCCCCCC。 那么Major可以用于表达不同的门店,Minor用于表达特定门店内的Beacon编号。比如说咱们这个例子,就沿用UUID=88888888-4444-4444-4444-CCCCCCCCCCCC;Major=2,代表2号店;Minor代表2号店中顺序增长的不同Beacon设备。
2 规划好id后,可以给我们的标签纸上写上规划好的id(图2),我们这次一共预置10个id,即0-9代表以后的Minor。这些标签纸到时将贴在Beacon上。
3 为所有Beacon电池上电装壳。打开AprilBeacon应用,第一页可以检测到10个Beacon ,按UUID进行排序。
步骤二:批量预置ID
4 打开工具页,选择批量修改。填写proximityUUID为88888888-4444-4444-4444-CCCCCCCCCCCC,Major为2,Minor为0并打开递增。Measured Power留空,Advertising Freq按需选择数字代表100ms的倍数,比如我们在室内导航项目中使用,可以设置稍快就填3,代表300ms发射一次。选择密码,设置Beacon新密码为12位, "123456789012"。
5 点击开始批量修改后App会轮寻所有它能连接上的Beacon,排序进行修改。此时系统会提示输入Beacon的密码,出厂时默认为AprilBrother(图5),这次改正后就可以改为"123456789012"。那下次就该输入"123456789012"。这个密码是保证出厂后各应用企业自己的Beacon不备无关人员篡改的基础,此密码请妥善保存,如果不幸丢失就只有重新烧写Beacon了。
重新打开AprilBeacon应用看第一页 ,这时由于没设置发射器(相当于一个白名单)的缘故,一个Beacon也找不到。
第三页发射器里增加一个叫sample的设置
就可以观察到这10个新Beacon了!
步骤三:贴标签
6 贴签就是把第2步写好的标签贴在对应Beacon的外壳上,方便工人施工的时候识别。现在由于现场Beacon数量太多,一下不容易逮住谁是谁。必须使用之前准备好的屏蔽袋了。把所有预置好id的Beacon放入屏蔽袋,只保留一个在外边,就可以很容易的区别它是谁,选择标签贴上 。重复这个过程直到完成。
ps:告诉你个小技巧,当身边没有屏蔽袋时,可以选择用微波炉替代,质量好的微波炉的屏蔽效果还不错,一般也比较容易找到。
7 把所有Beacon排列整齐用蓝丁胶轻轻粘在一起,形成一个“糖葫芦”,就做好了准备工作,去施工现场部署的时候就可以轻松清楚了。
三、 现场安装
每个项目都需要自行规划Beacon的安置位置,这点无需多言。但是安装过程中有些通用注意事项:
规划位置最好别依赖现场给的CAD图,规划图和现场实际情况往往有差别。要去实地考察一次,核对下图的正确性,也找下位置。了解现场环境颜色,颜色浅的最好选择浅色壳子。比如说我们实施的一个医院项目,就要求用白色壳子。
所有部署资料做好留底工作,方便以后维护,以后的维护也采用替代的方式,没发现一个故障Beacon就单独update新的替代Beacon的id为故障Beacon的ID。
所有安装尽量保持一致性,尽量安装在绝缘材质上。比如安装在展台时候尽量保持每个展台的相对位置和材质一致。不一致的材质对于射频信号吸收率不一致。安装在塑料材质上的Beacon可能比金属材质表面的beacon信号强好多。这种不一致会导致对不同beacon的距离计算失准。严重时需要在施工现场进行校准(校准过程可参考此)。
好了,至此,Beacon已经完美安装。猪已经准备好了,就等刮风了。祝各位飞行愉快!
以上就是关于H5用户在手机浏览器访问网站页面,如何获取用户当前设备的信息uuid全部的内容,包括:H5用户在手机浏览器访问网站页面,如何获取用户当前设备的信息uuid、混合APP低功耗蓝牙项目解析数据可能用到的一些小方法---ble、startbeacondiscovery的参数uuid怎么获取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)