147 lines
5.5 KiB
Markdown
147 lines
5.5 KiB
Markdown
# bdxt_sdk v1.2
|
||
|
||
#### 介绍
|
||
Android SDK
|
||
本SDK支持蓝牙连接H10、H11、H20、C20,差分支持设备自带网络差分,同时也支持手机的网络差分。
|
||
|
||
#### 安装教程
|
||
|
||
1. 程序目录新建libs文件夹,将文件
|
||
rtklib_v1.0.1.aar
|
||
libqxwz_release_v1.8.0.aar
|
||
拷贝至目录下
|
||
2. 增加
|
||
import com.mijia.rtk.LocationListener;
|
||
import com.mijia.rtk.handevice;
|
||
import com.mijia.rtk.ConfigDeviceInfoListener;
|
||
import com.mijia.rtk.ntripService;
|
||
3. 调用接口参考demo code
|
||
|
||
#### 使用说明
|
||
|
||
1. 连接设备
|
||
handevice.connect(adrress);
|
||
handevice.disconnect();
|
||
handevice.getConnectState();
|
||
2. 设备cors设置
|
||
handevice.getAccount();
|
||
handevice.setAccount(String ip,String port,String user,String password,String source);
|
||
3. 手机网络cors设置
|
||
handevice.setPhoneAccount(String ip,String port,String user,String password,String source);
|
||
4. 回调
|
||
```
|
||
//和定位有关的回调函数
|
||
handevice.setLocationListener(new LocationListener() {
|
||
@Override
|
||
public void onLocationChanged() {
|
||
//位置(经纬度)发生了变化
|
||
}
|
||
|
||
@Override[README.md](..%2Fbdxt_sdk%2Fbdxt%2FREADME.md)
|
||
public void onRead(@NonNull String msg) {
|
||
//读到新的数据
|
||
}
|
||
@Override
|
||
public void onReceiveSatellite(List<SatelliteInfo> list) {
|
||
/*
|
||
卫星的信息更新
|
||
SatelliteInfo
|
||
satType 卫星类型 1:GP 2:GL 3:GA 4:BD 6:GI
|
||
signalid 卫星频点
|
||
prn 卫星编号
|
||
elev 高度角,度
|
||
azi 方位角,度
|
||
snr 信噪比,00-99dB,不跟踪时为空
|
||
*/
|
||
}
|
||
@Override
|
||
public void onBluetoothConnStatusChange(int state) {
|
||
/*蓝牙的状态发生了变化
|
||
state
|
||
0:初始状态,没有连接
|
||
1:正在连接
|
||
2:成功连接
|
||
*/
|
||
}
|
||
});
|
||
```
|
||
|
||
```
|
||
//和配置相关的回调函数
|
||
handevice.setConfigListener(new ConfigDeviceInfoListener() {
|
||
@Override//获取设备内部的cors配置参数的回调
|
||
public void onGetCorsParaSuccess(@NonNull String ip, @NonNull String port, @NonNull String user, @NonNull String password, @NonNull String source) {
|
||
|
||
Log.d(TAG, "ip:"+ip+",port:"+port+",user:"+user+",password:"+password+",source:"+source);
|
||
}
|
||
|
||
@Override //配置设备内部的cors账号的回调
|
||
public void onSetCorsParaAck(int state){
|
||
/*state:
|
||
1 CORS设置成功 0 CORS设置失败
|
||
* */
|
||
}
|
||
|
||
@Override //手机网络cors的设置回调函数
|
||
public void onSetPhoneCorsParaAck(int state){
|
||
/*
|
||
state:
|
||
0 手机网络连接CORS成功
|
||
1 手机网络失败:用户名、密码、挂载点 错误,验证未通过
|
||
2 手机网络失败:IP、PORT 错误,socket连接不到对方
|
||
3 手机网络失败:其他异常,比如手机无sim卡等
|
||
* */
|
||
Log.d("onSetPhoneCorsParaAck", "onSetPhoneCorsParaAck:"+state);
|
||
}
|
||
|
||
});
|
||
```
|
||
5. 定制化需求:
|
||
蓝牙信号强度和距离接口
|
||
|
||
A.函数名称 int handevice.getRssi();
|
||
手机连接H11后,调用此接口,返回一个int值,表示蓝牙的信号强度,单位为dB.
|
||
如:
|
||
距离1米:-15dB
|
||
距离2米:-29dB
|
||
A.函数名称 double handevice.getDistance();
|
||
手机连接H11后,调用此接口,返回一个double值,距离,单位为米.
|
||
因为环境等原因,可能不准,只供参考,也可以自行修改A_Value、n_Value常量取重新计算
|
||
参考代码如下:
|
||
public static double getDistance(){
|
||
/*
|
||
A和n的值,需要根据实际环境进行检测得出
|
||
https://www.cnblogs.com/b-ben/p/11113000.html
|
||
*/
|
||
double A_Value=15;/**A - 发射端和接收端相隔1米时的信号强度*/
|
||
double n_Value=2.5;/** n - 环境衰减因子*/
|
||
double power = (Math.abs(getRssi())-A_Value)/(10*n_Value);
|
||
return Math.pow(10,power);
|
||
}
|
||
|
||
6. 接口说明
|
||
<div align="center">
|
||
<img src="https://gitee.com/elygg/bdxt/raw/master/help/fun.png" width=600>
|
||
</div>
|
||
#### Demo程序截图
|
||
<div align="center">
|
||
<img src="https://gitee.com/elygg/bdxt/raw/master/help/demo.png" width=600>
|
||
</div>
|
||
|
||
#### 参与贡献
|
||
|
||
1. Fork 本仓库
|
||
2. 新建 Feat_xxx 分支
|
||
3. 提交代码
|
||
4. 新建 Pull Request
|
||
|
||
|
||
#### 特技
|
||
|
||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
||
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
|
||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
|
||
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
|
||
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
||
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|