# bdxt_sdk **Repository Path**: elygg/bdxt ## Basic Information - **Project Name**: bdxt_sdk - **Description**: Android SDK 北斗星探软件二次开发的api - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 3 - **Created**: 2024-05-14 - **Last Updated**: 2026-03-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RTK Library Android SDK ## 版本信息 当前版本:V1.0.1 (2026.03.10) ## 简介 RTK Library 是一个用于 Android 平台的高精度 GNSS 定位库。 **支持设备:** H10、H11、H20、C20 **差分方式:** - 设备自带网络差分 - 手机网络差分 ## 系统要求 - Android API Level 21 (Android 5.0) 及以上 - 支持蓝牙的设备 - 需要定位权限 ## 安装教程 ### 1. 添加 AAR 文件 将 `rtklib.aar` 复制到项目的 `app/libs` 目录下 ### 2. 配置 build.gradle 在 `app/build.gradle` 中添加: ```gradle android { repositories { flatDir { dirs 'libs' } } } dependencies { implementation(name: 'rtklib', ext: 'aar') } ``` ### 3. 添加权限 在 `AndroidManifest.xml` 中添加: ```xml ``` ### 4. 导入类 ```java import com.mijia.rtk.LocationListener; import com.mijia.rtk.handevice; import com.mijia.rtk.ConfigDeviceInfoListener; import com.mijia.rtk.SatelliteInfo; ``` ## 快速开始 ### 1. 连接设备 ```java // 连接蓝牙设备 handevice.connect("00:11:22:33:44:55"); // 断开连接 handevice.disconnect(); // 获取连接状态 int state = handevice.getConnectState(); ``` ### 2. 设置监听器 #### 位置监听器 ```java handevice.setLocationListener(new LocationListener() { @Override public void onLocationChanged() { // 位置(经纬度)发生了变化 double lat = handevice.getLatitude(); double lon = handevice.getLongitude(); } @Override public void onRead(@NonNull String msg) { // 读到新的数据 } @Override public void onReceiveSatellite(List list) { // 卫星信息更新 // SatelliteInfo 包含: // satType: 卫星类型 1:GPS 2:GLONASS 3:Galileo 4:BDS 6:QZSS // signalid: 卫星频点 // prn: 卫星编号 // elev: 高度角(度) // azi: 方位角(度) // snr: 信噪比 00-99dB } @Override public void onBluetoothConnStatusChange(int state) { // 蓝牙状态变化 // 0: 初始状态,未连接 // 1: 正在连接 // 2: 成功连接 } }); ``` #### 配置监听器 ```java handevice.setConfigListener(new ConfigDeviceInfoListener() { @Override public void onGetCorsParaSuccess(@NonNull String ip, @NonNull String port, @NonNull String user, @NonNull String password, @NonNull String source) { // 获取设备 CORS 配置成功 } @Override public void onSetCorsParaAck(int state) { // 设置设备 CORS 账号回调 // 1: 设置成功 0: 设置失败 } @Override public void onSetPhoneCorsParaAck(int state) { // 手机网络 CORS 设置回调 // 0: 连接成功 // 1: 用户名、密码、挂载点错误 // 2: IP、PORT 错误 // 3: 其他异常(如无 SIM 卡) } @Override public void onDeviceInfo() { // 设备信息更新 } }); ``` ### 3. CORS 配置 ```java // 获取设备 CORS 配置 handevice.getAccount(); // 设置设备内置网络 CORS handevice.setAccount(ip, port, user, password, source); // 设置手机网络 CORS handevice.setPhoneAccount(ip, port, user, password, source); ``` ## 主要接口 ### 获取 SDK 版本 ```java String version = handevice.getSdkVersion(); String versionInfo = handevice.getSdkVersionInfo(); ``` ### 获取定位信息 ```java double latitude = handevice.getLatitude(); double longitude = handevice.getLongitude(); int fixStatus = handevice.getFixStatus(); double hdop = handevice.getHdop(); int satsInUse = handevice.getnSatsInUse(); double age = handevice.getAge(); ``` ### 获取设备信息 ```java String sn = handevice.getUniqueSN(); String hardVer = handevice.getHardVer(); int battPower = handevice.getBattPower(); ``` ## API 接口说明 ### 连接管理 | 接口 | 说明 | 返回值 | |------|------|--------| | connect(String address) | 连接蓝牙设备 | void | | disconnect() | 断开连接 | void | | getConnectState() | 获取连接状态 | int | ### SDK 信息 | 接口 | 说明 | 返回值 | |------|------|--------| | getSdkVersion() | 获取 SDK 版本号 | String | | getSdkVersionInfo() | 获取 SDK 版本信息 | String | ### 定位信息 | 接口 | 说明 | 返回值 | |------|------|--------| | getLatitude() | 获取纬度 | double | | getLongitude() | 获取经度 | double | | getAltitude() | 获取海拔高 | double | | getAltitudeCorr() | 获取高程异常值 | double | | getFixStatus() | 获取定位状态 (0-5) | int | | getSpeed() | 获取速度 | double | | getDirection() | 获取航向 | double | ### 精度信息 | 接口 | 说明 | 返回值 | |------|------|--------| | getHdop() | 获取水平精度因子 | double | | getVdop() | 获取垂直精度因子 | double | | getPdop() | 获取位置精度因子 | double | | getTdop() | 获取时间精度因子 | double | | gethRMS() | 获取水平精度 | double | | getvRms() | 获取垂直精度 | double | ### 卫星信息 | 接口 | 说明 | 返回值 | |------|------|--------| | getnSatsInView() | 获取可视卫星数 | int | | getnSatsInUse() | 获取使用卫星数 | int | | setSupportGps(boolean) | 设置支持 GPS | void | | setSupportBds(boolean) | 设置支持北斗 | void | | setSupportGal(boolean) | 设置支持伽利略 | void | | setSupportGlo(boolean) | 设置支持格洛纳斯 | void | | setSupportQzss(boolean) | 设置支持 QZSS | void | | setSupportAllGnss() | 启用所有卫星系统 | void | ### 差分信息 | 接口 | 说明 | 返回值 | |------|------|--------| | getAge() | 获取差分龄期 | double | | getCorsRevDatSize() | 获取 CORS 接收数据大小 | int | | getAccount() | 获取设备 CORS 配置 | void | | setAccount(...) | 设置设备 CORS 账号 | void | | setPhoneAccount(...) | 设置手机网络 CORS | void | | injectRtcmData(byte[]) | 注入 RTCM 数据 | void | ### 设备信息 | 接口 | 说明 | 返回值 | |------|------|--------| | getUniqueSN() | 获取设备序列号 | String | | getHardVer() | 获取硬件版本 | String | | getSoftVer() | 获取软件版本 | String | | getImei() | 获取 IMEI | String | | getImsi() | 获取 IMSI | String | | getIccid() | 获取 ICCID | String | | getDsk() | 获取 DSK | String | | getBattPower() | 获取电池电量 (%) | int | | getBattVol() | 获取电池电压 (V) | double | | getcsq() | 获取 4G 信号强度 (0-31) | int | | gettemperature() | 获取设备温度 (℃) | double | ### 蓝牙信息 | 接口 | 说明 | 返回值 | |------|------|--------| | getRssi() | 获取蓝牙信号强度 (dB) | int | | getDistance() | 获取估算距离 (米) | double | | setBtRfLevel(int) | 设置蓝牙发射功率 | void | ### 其他功能 | 接口 | 说明 | 返回值 | |------|------|--------| | setPosFreq(int) | 设置定位频率 (1-10Hz) | boolean | | getPosFreq() | 获取定位频率 | int | | setQxSdkCoordSys(int) | 设置坐标系 (1:ITRF 2:WGS84 3:CGCS2000) | void | | getQxSdkCoordSys() | 获取坐标系 | int | | getTime() | 获取时间戳 (秒) | Long | | getTime1ms() | 获取时间戳 (毫秒) | Long | | getXZAng() | 获取角度 | double | | reboot() | 重启设备 | void | | otaUpgradeStart(byte[]) | 开始 OTA 升级 | void | ## 全局变量 可直接访问的静态变量: ### 定位数据 | 变量 | 说明 | 类型 | |------|------|------| | Latitude | 纬度 | double | | Longitude | 经度 | double | | Altitude | 海拔高 | double | | AltitudeCorr | 高程异常值 | double | | Elevation | 大地高 | double | | FixType | 定位状态 | int | | Speed | 速度 | double | | Direction | 航向 | double | ### 精度数据 | 变量 | 说明 | 类型 | |------|------|------| | Pdop | 位置精度因子 | double | | Hdop | 水平精度因子 | double | | Vdop | 垂直精度因子 | double | | Tdop | 时间精度因子 | double | | hRMS | 水平精度 | double | | vRMS | 垂直精度 | double | ### 卫星数据 | 变量 | 说明 | 类型 | |------|------|------| | nSatsInView | 可视卫星数 | int | | nSatsInUse | 使用卫星数 | int | | GnssSys | 卫星系统标志 | int | | isSupportGps | 是否支持 GPS | boolean | | isSupportBds | 是否支持北斗 | boolean | | isSupportGal | 是否支持伽利略 | boolean | | isSupportGlo | 是否支持格洛纳斯 | boolean | | isSupportQzss | 是否支持 QZSS | boolean | ### 差分数据 | 变量 | 说明 | 类型 | |------|------|------| | CorsAge | 差分龄期 (秒) | double | | CorsSta | CORS 状态 | int | | CorsRevDatSize | CORS 接收数据大小 | int | | CorsPhoneRevDatSize | 手机网络 CORS 接收数据大小 | int | ### 设备数据 | 变量 | 说明 | 类型 | |------|------|------| | UniqueSN | 设备序列号 | String | | HardVer | 硬件版本 | String | | SoftVer | 软件版本 | String | | Imei | IMEI | String | | Imsi | IMSI | String | | Iccid | ICCID | String | | Dsk | DSK | String | | BattVol | 电池电压 | double | | BattPower | 电池电量 (%) | int | | csq | 4G 信号强度 (0-31) | int | | temperature | 设备温度 (℃) | double | ### 时间数据 | 变量 | 说明 | 类型 | |------|------|------| | time | 时间戳 (秒) | long | | time1ms | 时间戳 (毫秒) | long | | ggatime1ms | GGA 时间戳 (毫秒) | long | ### 其他 | 变量 | 说明 | 类型 | |------|------|------| | XZAng | 角度 (度) | double | | qxSdkCoordSys | 坐标系 (1:ITRF 2:WGS84 3:CGCS2000) | int | | MostRecentGGA | 最新 GGA 数据 | String | ## 技术支持 如有问题,请提交 Issue。