FeasyWiFi SDK For Android
SDK资源包下载
SDK接入文档
对应SDK版本 |
编写日期 |
编写人员 |
---|---|---|
V2.0.3 |
2024年4月13日 |
常纪刚 |
接入方式
解压SDK,将libs目录下所有文件拖到工程里。
权限申请
使用SDK必须动态获取定位权限,打开手机定位开关与手机蓝牙开关才能正常使用(Android 6.0 以上如果没有动态获取定位权限并打开手机定位开关将扫描不到BLE设备,Android 的限制)
AndroidManifest.xml 中需加入以下权限
// 蓝牙相关权限
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
// 定位的权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
初始化
// 初始化 只需要调用一次。建议在Application中进行初始化
// 如其他地方需要 FscBleCentralApi,直接调用FscBleCentralApiImp.getInstance()的无参方法即可
FscBleCentralApi mFscBleCentralApi = FscBleCentralApiImp.getInstance(context)
mFscBleCentralApi.initialize()
搜索
介绍
搜索 BLE 设备
方法
/**
* 开始扫描BLE设备
*
* @param time 扫描持续时间
*/
public void startScan(Long time);
搜索例子
FscBleCentralApi mFscBleCentralApi = FscBleCentralApiImp.getInstance();
mFscBleCentralApi.setCallbacks(new FscBleCentralCallbacksImp(){
void blePeripheralFound(BluetoothDeviceWrapper device, int rssi, byte[] record){
// 扫描到的设备
}
});
// 设置扫描时间
mFscBleCentralApi.startScan(30000);
停止搜索
mFscBeaconApi.stopScan();
连接
介绍
连接设备
方法
/**
* 根据BLE设备的地址码连接设备
*/
public boolean connect(String address);
连接例子
FscBleCentralApi mFscBleCentralApi = FscBleCentralApiImp.getInstance();
mFscBleCentralApi.setCallbacks(new FscBleCentralCallbacksImp(){
void blePeripheralConnected(BluetoothGatt gatt, BluetoothDevice device){
// 连接成功
}
});
// 连接设备
mFscBleCentralApi.connect(device.getAddress);
断开连接
FscBleCentralApi mFscBleCentralApi = FscBleCentralApiImp.getInstance();
mFscBleCentralApi.setCallbacks(new FscBleCentralCallbacksImp(){
void blePeripheralDisconnected(BluetoothGatt gatt, BluetoothDevice device, boolean isPinError){
// 设备断开连接后调用 isPinError 是否是pin码错误导致的断开连接,暂时忽略这个参数
}
});
// 连接设备
mFscBleCentralApi.disconnect();
配网
蓝牙配网
1.介绍
蓝牙配网
2.方法
/**
* 蓝牙配网
* @param ssid ssid
* @param password wifi 密码
* @param fscNetworkCentralCallbacks 配网结果回调
*/
public void setNetwork(String ssid, String password, FscNetworkCentralCallbacks fscNetworkCentralCallbacks);
3.蓝牙配网例子
FscBleCentralApi mFscBleCentralApi = FscBleCentralApiImp.getInstance();
mFscBleCentralApi.setNetwork(ssid, password, new FscNetworkCentralCallbacks(){
void success(String ip){
// 蓝牙配网成功,返回模块IP地址
}
void failure(){
// 蓝牙配网失败
}
});
简易配网
1.介绍
BW246 简易配网(2.4G),手机需要先连接需要配置的wifi。
2.方法
/**
* 开始简易配网
* @param i {@link Commont#BW_246} 配置的模块类型
* @param result wifi状态信息
* @param password wifi密码
*/
void startConfig(int i, StateResult result, String password)
3.配网例子
ConfigNetworkApi mConfigNetworkApi = ConfigNetworkApiImp.getInstance(this);
mConfigNetworkApi.setCallback(new ConfigNetworkCallback(){
void success(String ip){
// 配置成功,返回配置成功的ip地址
}
void failure(int status){
// 配置失败,返回失败状态
}
});
StateResult result = mConfigNetworkApi.getStateResult();
mConfigNetworkApi.startConfig(Commont.BW_246, result, password);
4.停止配网
mConfigNetworkApi.stopConfig();
恢复出厂设置
FscBleCentralApi mFscBleCentralApi = FscBleCentralApiImp.getInstance();
mFscBleCentralApi.reset();
升级
FscBleCentralApi mFscBleCentralApi = FscBleCentralApiImp.getInstance();
// name 本地IP地址或固件名
mFscBleCentralApi.startOTA(name, new FscOtaCentralCallbacks(){
void success(){
// 升级成功
}
void failure(){
// 升级失败
}
void progress(String progress){
// 升级进度
}
void networkIsNotConfigured(){
// 还未配网。无法进行升级
}
void startConfig(){
// 开始配置
}
})
查询版本
FscBleCentralApi mFscBleCentralApi = FscBleCentralApiImp.getInstance();
mFscBleCentralApi.setCallback(new FscBleCentralCallbacksImp(){
void versionInformation(String version){
// 查询到的版本信息
}
});
mFscBleCentralApi.getVersion();
查询IP
FscBleCentralApi mFscBleCentralApi = FscBleCentralApiImp.getInstance();
mFscBleCentralApi.setCallback(new FscBleCentralCallbacksImp(){
void ipInformation(String ip){
// 查询到ip信息
}
});
mFscBleCentralApi.getIP();
配置静态ip
FscBleCentralApi mFscBleCentralApi = FscBleCentralApiImp.getInstance();
mFscBleCentralApi.setDhcp(b)
mFscBleCentralApi.setIp(ip)
mFscBleCentralApi.setGw(gw)
mFscBleCentralApi.setMask(mask)
附件
下载PDF版本
下载PDF版本