因为小弟有一些专案需求需要使用到 iBeacon,因此就有深入去了解 iBeacon 套件用法。
iBeacon 是一个使用低功耗蓝芽(Bluetooth Low Energy、BLE)来进行室内定位,因搭配BLE,功耗极低十分省电。可以搭配具备 iBeacon 的发射器,可以提供智慧型手机侦测到他们大概的位置及距离。实际上,iBeacon 能让手机接收到附近商品的通知或任何店家想推播的讯息。
但因低功耗的关系,iBeacon 的讯号传输距离有限,最大标准传输距离可达 70 公尺左右,且容易受到障碍物的影响,会有接受讯号程度的差异。
以下为官方 iBeacon 文件,有兴趣的话欢迎阅读!
https://developer.apple.com/ibeacon/
我觉得想要了解一个发送器。就必须了解什麽是区域。
一个发射器需要 3 个参数
重要参数
次要参数
这是发送器的物件。
BeaconBroadcast({
this.identifier = 'com.flutterBeacon',
required this.proximityUUID,
required this.major,
required this.minor,
this.txPower,
this.advertisingMode = AdvertisingMode.low,
this.advertisingTxPowerLevel = AdvertisingTxPowerLevel.high,
})
要开始监测一个 iBeacon 区域,首先得定义这个区域到系统里。需要指定 proximityUUID、major、minor(proximityUUID 是必需的,major、minor 的值是可选的)。您还必须提供一个 identifier 字串,用来当做唯一标记 Beacon 区域 , 这样您就可以在代码中引用它。注意 proximityUUID 和 identifier 是无关的。
所以说,一个区域会有一个 proximityUUID、identifier。发送器只要 proximityUUID
每个 iBeacon 发送器发出的讯号内皆带着 proximityUUID、Major、Minor,三个重要的数值。
在实际应用中,proximityUUID 可以为一整栋百货公司,Major 代表不同楼层,Minor代表不同的柜位。因此,两颗 iBeacon若有一样的 proximityUUID,不同的Major值,代表是在同一栋百货公司内,但不同楼层;若有同样的 proximityUUID、Major值,但 Minor 不同,代表的是在同一楼层,但不同的柜位。
设定一个情境,我是一个大老板,有 2 个公司。每家公司有 5 层楼,一层楼有 4 个房间。
因此,我就可以设定 2 个 region,一个 region 有 5 个 major,一个 major 有 4 个不同的 minor
RangingResult 接收到的物件样子。
RangingResult:{"region":{"identifier":"Cubeacon","proximityUUID":"CB10023F-A318-3394-4199-A8730C7C1AEC"},"beacons":[{"proximityUUID":"CB10023F-A318-3394-4199-A8730C7C1AEC","major":0,"minor":0,"rssi":-40,"accuracy":0.09,"proximity":"immediate"}]}
当 IOS 设备收到 iBeacon 信号时,会有以下的资讯。
其实,发射者也就是硬件向四周不停地广播信号,而信号就像是水波一样像四周扩散,越靠近中心点的水波越高也就是 rssi 信号越强,而一旦有东西阻隔,信号就会减弱甚至消失,而且一旦超过一定值,信号就会消失,这说明 iBeacon 的广播范围是有限的.
MonitoringEventType
[Day 19] Consistency and Consensus (3-3) - Total O...
The most reliable blog for celebrity Net Worth Net...
Përshëndetje,我是Charlie! 在Day13当中我们完成了後端的购物车总商品显示、加...
今天延续昨天的文字输入,我们来做更多尝试。 讲者把昨天 Text > Input 做出来的 I...
目标 从左画面将讯息推送到右边画面,嗯! 就这样。 本示例从主画面推送讯息,其他开启本网的使用者无论...