更新记录
v1.0.2023.06.08(2023-06-12)
2023-06-08
修复Android蓝牙扫描不到的问题,添加发送16进制字符串,byte数组方法。增加自定义数据多类型同时返回(utf-8、hexStr,byte数组)
v1.0.2023.02.28(2023-02-28)
2023-02-28
优化回调参数
v1.0.2023.02.27(2023-02-27)
2023-02-27
修复配网本地5G限制
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 12.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:11 - 16 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
前言
XM-EspBlufi是一款在uniapp中使用BluFi控制ESP设备。需要帮助,请联系作者,QQ:1804945430(备注来源)。
使用说明
1、使用手机蓝牙扫描BluFi设备
espBluFiModule.scanBT({
timeOut: 4000, //仅使用于Android端,单位毫秒
BlufiFilter: '' //设备名称前缀,可过滤扫描到的设备,适用于Android、iOS
}, (ret) => {
var result = JSON.stringify(ret)
console.log(ret);
modal.toast({
message: result,
duration: 1.5
});
});
2、停止扫描
// 超时后自动结束扫描,也可以手动停止扫描
espBluFiModule.stopScan((ret) => {
//接口调用信息回调于此
var result = JSON.stringify(ret)
console.log(ret);
modal.toast({
message: result,
duration: 1.5
});
});
3、连接设备
espBluFiModule.connect({
mac: 'E0:E2:E6:D7:DE:0E', //Android使用
uuid: '8AC95EA6-3D7C-C475-07D0-3A2C5400047D' //iOS使用
}, (ret) => {
//连接状态信息和接受到的信息回调于此
var result = JSON.stringify(ret)
console.log(ret);
modal.toast({
message: result,
duration: 1.5
});
});
4、断开连接
espBluFiModule.disconnectGatt((ret) => {
//接口调用信息回调于此
var result = JSON.stringify(ret)
console.log(ret);
modal.toast({
message: result,
duration: 1.5
});
});
5、加密
espBluFiModule.negotiateSecurity((ret) = > {
//接口调用信息回调于此
var result = JSON.stringify(ret)
console.log(ret);
modal.toast({
message:result,
duration:1.5
});
});
6、获取状态
espBluFiModule.requestDeviceStatus((ret) = > {
//接口调用信息回调于此
var result = JSON.stringify(ret)
console.log(ret);
modal.toast({
message:result,
duration:1.5
});
});
7、获取版本
espBluFiModule.requestDeviceVersion((ret) = > {
//接口调用信息回调于此
var result = JSON.stringify(ret)
console.log(ret);
modal.toast({
message:result,
duration:1.5
});
});
8、设备扫描WiFi
espBluFiModule.requestDeviceWifiScan((ret) = > {
//接口调用信息回调于此
var result = JSON.stringify(ret)
console.log(ret);
modal.toast({
message:result,
duration:1.5
});
});
9、设备配网
espBluFiModule.configure({
/**
* int OP_MODE_NULL = 0;
int OP_MODE_STA = 1;
int OP_MODE_SOFTAP = 2;
int OP_MODE_STASOFTAP = 3;
*/
deviceMode:1, //OP_MODE_NULL不需要参数
ssid:'', //WIFI名称,OP_MODE_STA和OP_MODE_STASOFTAP需要,需要时不能为空
password:'', //WIFI密码,可空
ap_ssid:'', //OP_MODE_SOFTAP模式需要,不能为空
ap_password:'', //security不为SOFTAP_SECURITY_OPEN时,需要大于等于8位
channel:1, //1-13任意值
maxConnection:5, //最大连接数
security:0,
/**
* int SOFTAP_SECURITY_OPEN = 0;
int SOFTAP_SECURITY_WEP = 1;
int SOFTAP_SECURITY_WPA = 2;
int SOFTAP_SECURITY_WPA2 = 3;
int SOFTAP_SECURITY_WPA_WPA2 = 4;
*/
},(ret) =>{
var result = JSON.stringify(ret)
console.log(ret);
modal.toast({
message:result,
duration:1.5
});
});
10、发送自定义数据(utf-8)
espBluFiModule.postCustomData('6:xxx', (ret) => {
//接口调用信息回调于此
var result = JSON.stringify(ret)
console.log(ret);
modal.toast({
message: result,
duration: 1.5
});
}); //具体命令6:xxx等见设备word文档
11、发送自定义数据(16进制字符串)
espBluFiModule.postHexStr('FFFE', (ret) => {
//接口调用信息回调于此
var result = JSON.stringify(ret)
console.log(ret);
modal.toast({
message: result,
duration: 1.5
});
}); //见word文档
12、发送自定义数据(byte[])
espBluFiModule.postBytes([0xFF, 0xFE], (ret) => {
//接口调用信息回调于此
var result = JSON.stringify(ret)
console.log(ret);
modal.toast({
message: result,
duration: 1.5
});
}); //见word文档
常见问题
为了避免多次重复调用,接口5-10点击后需要在收到设备回调后才能进行下一次点击。为方便你快速上手测试,具体使用方法请下载Demo使用。 Android SDK地址 iOS SDK地址