蓝牙防丢器距离的计算

在做防丢器的项目中,有一个比较实际的功能就是通过设置距离的大小来设置报警。但是框架中并没有给出获取距离的接口,只有一个相关的RSSI信号强度值。

在网上找了好长的一段时间,可以通过一个算法获得到他的距离:

代码如下!

-(void)peripheralDidUpdateRSSI:(CBPeripheral *)peripheral error:(NSError *)error
{
    //NSLog(@"%s,%@",__PRETTY_FUNCTION__,peripheral);
    int rssi = abs([peripheral.RSSI intValue]);
    CGFloat ci = (rssi - 49) / (10 * 4.);
    NSString *length = [NSString stringWithFormat:@"发现BLT4.0热点:%@,距离:%.1fm",_peripheral,pow(10,ci)];
    NSLog(@"距离:%@",length);
}

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
蓝牙4.0概述: 该蓝牙4.0 基于GB2540模块设计。GB254X 是一款采用美国德州仪 TI 蓝牙 4.0 CC2540 or CC2541作为核心处理的高性能、超低功耗(Bluetooth Low Energy)射频收发系统模块,遵循低功耗蓝牙协议,适合单模式低功耗蓝牙应用。 具体功能是: 出围栏模式:当手机和连接时,如果信号强度小于手机设定值或无信号,手机响,响。 入围栏模式:当手机扫描到时,如果信号强度大于手机设定值,手机响,响。 来电提醒功能:当手机来电,蜂鸣响,这样冬天手机放包包里,就不会听不到啦。 电池使用的是:锂电池,可反复充电,可以1个月充一次电。 距离嘛:20米到30米到60米到70米都有可能,因为根据环境、手机信号等好多因素影响。 注意如下: 为了止设备寻找不到,排除多数需要按按扭才能连接的方法,采用慢速持续广播的方式,这样,当你的东西不知道放什么地方的时候可以寻找,真正起到的作用(如果东西找不到啦,还要按键连接个球啊,开源不是光 公布个源码 公布个PCB 公布个原理图,公布后,我会在这个帖子里说为啥这样设计,庖丁解牛的解析,讨论,分析,要开就彻底开,遮遮掩掩反倒误导大家 连接采用设备端在连接后主动发起绑定请求的方式,当请求30秒未响应,则主动断开连接。采用确定和取消的方式,有需要可以修改为密码方式,止别人连接你的。 提示音支持自定义铃声,只需要把想要的音乐的乐谱拿到,然后把音调转换为频率,把节拍音符转化为时间长度,对应写入到BUZZER文件的铃声数组中,格式为一个频率跟一个时间长度,以0,0结束即可,满足对不同铃声的人的需求。工程已实现NOKIA的铃声。 蓝牙4.0 电路截图: 蓝牙4.0 电路PCB截图:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值