# cordova-plugin-ble-central-rssi-demo **Repository Path**: jam-wang/cordova-plugin-ble-central-rssi-demo ## Basic Information - **Project Name**: cordova-plugin-ble-central-rssi-demo - **Description**: Cordova 使用 cordova-plugin-ble-central 蓝牙插件,实现蓝牙设备持续扫描,打印RSSI等信息 实现rssi信标三点定位 demo - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2022-04-11 - **Last Updated**: 2024-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 前言 算法讲解:[RSSI 平面 三点定位算法(C语言、JS源码例程)](https://ikaros.blog.csdn.net/article/details/120342654) 你已经装好了cordova及其环境和插件cordova-plugin-ble-central。 插件官网:[Bluetooth Low Energy (BLE) Central Plugin for Apache Cordova](https://www.npmjs.com/package/cordova-plugin-ble-central#scan) 官网自带例程,可直接参考。 安装命令 `npm i cordova-plugin-ble-central` 添加插件 `cordova plugin add cordova-plugin-ble-central` 以下是我的环境 ![在这里插入图片描述](https://img-blog.csdnimg.cn/44a737427e2940aa9bbcf41718c0fe63.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATG92ZeS4tuS8iuWNoea0m-aWrw==,size_12,color_FFFFFF,t_70,g_se,x_16) ps:如果想跑例程,我已经打好debug版apk,release中下载即可 ## 代码下载 [码云](https://gitee.com/ikaros-521/cordova-plugin-ble-central-rssi-demo) [GitHub](https://github.com/Ikaros-521/cordova-plugin-ble-central-rssi-demo) ## 版本更新 V1.0 即本文演示内容版本 V2.0 新增RSSI三点定位 V2.1 参考点、1m时的rssi值的绝对值,环境衰减因子可配置。功能配置页可切换。 V2.2 新增平行xy轴筛选、可用参考点全组合求平均解算法 ![在这里插入图片描述](https://img-blog.csdnimg.cn/dfe221c2466649e1b06b1cea673637af.gif#pic_center) V2.3 合并配置项,针对信标进行单一配置 V2.4 新增“删除信标”功能,文本可以进行复制 # 效果图 都是安卓为示例 ## 完整演示动图 ![在这里插入图片描述](https://img-blog.csdnimg.cn/0287895f7c184be8a2dd862f58150e21.gif#pic_center) ## 主界面 ![在这里插入图片描述](https://img-blog.csdnimg.cn/b890d62fd21d4dc0a6be394afec873d5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATG92ZeS4tuS8iuWNoea0m-aWrw==,size_7,color_FFFFFF,t_70,g_se,x_16) ## 效果页 ![在这里插入图片描述](https://img-blog.csdnimg.cn/bef1116f67724632af0791143fbaebae.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATG92ZeS4tuS8iuWNoea0m-aWrw==,size_7,color_FFFFFF,t_70,g_se,x_16) # 核心代码 ## index.js ```javascript // 设备列表 var deviceList = []; var loopScan; // 显示设备列表于deviceListDiv function showDeviceList() { document.getElementById("deviceListDiv").innerHTML = ""; /* 参考:http://www.elecfans.com/baike/wuxian/20171120582427.html 公式 d=10^((ABS(RSSI)-A)/(10*n)) 其中d为距离,单位是m。 RSSI为rssi信号强度,为负数。 A为距离探测设备1m时的rssi值的绝对值,最佳范围在45-49之间。 n为环境衰减因子,需要测试矫正,最佳范围在3.25-4.5之间 */ var d = 0; var A = 50; var n = 2.96; // 遍历deviceList for(var i=0; i= 0) { // deviceList为空则直接加入 if(0 == deviceListLen) { deviceList.push(res); } else { for(var i=0; i Ble Scan
```