更新记录
2.4.0-1.0.3(2024-03-26) 下载此版本
兼容高通硬件设备
2.4.0-1.0.1(2023-09-25) 下载此版本
新增串口通信
2.4.0-1.0.0(2023-09-20) 下载此版本
1.0 版本发布:
- 操作系统能力支持,开机自启动,静默安装,禁用导航栏状态栏等
- 灯光和开门能力
- 扫码能力
- 刷卡能力
- 刷身份证能力
- 网络管理能力
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.1 - 12.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | × |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
1、概述
此文档是给基于我们硬件开发自己 uni-app 的开发人员阅读的,描述了 uni-app 硬件 sdk 插件的集成和使用。
2、版本历史
版本号 | 日期 | 修订说明 | 修订人 |
---|---|---|---|
2.4.0-1.0.0 | 2023-09-19 | 初稿 | Jimmy |
2.4.0-1.0.1 | 2023-09-20 | 初稿 | Jimmy |
3、插件使用
3.1.系统能力插件
3.1.1 系统能力插件:
const systemManagerModule = uni.requireNativePlugin('ES-FaceSdk-SystemManagerModule');
3.1.2 状态栏导航栏
参数说明:true 表示禁用,false 表示启用
systemManagerModule.disableStatusBarRK(true)
3.1.3 开机自启动和定时监控拉起:
参数一:表示应用的包名,对应 Android 平台的 application id
参数二:表示需要定时监控应用是否在前台的时间,单位秒 ,不能小于 15
参数三:是否开机自启动,true/false
这个方法在 rk 主板会实现定时监控 app 是否在前台,如果不在前台的话,系统会自动拉起,避免 app 挂掉了系统无法运行。
systemManagerModule.startMonitorAppRK("iot.facereco.smart.terminal",15,true)
3.1.4 取消开机自启动和定时监控
systemManagerModule.cancelMonitorAppRK()
3.1.5 重启系统
systemManagerModule.reboot("重启原因")
3.1.6 打开系统桌面
systemManagerModule.openLauncher()
3.2 开门和灯光控制
3.2.1 开门插件获取
const gpioHelper = uni.requireNativePlugin("ES-FaceSdk-GpioHelperModule")
3.2.2 通行状态
参数说明:
true 一般在识别成功后传入,会亮绿灯并且开门。
false 一般在识别失败后传入,会亮红灯并且关门。
gpioHelper.setPassStatus(true)
3.2.3 单独开门
gpioHelper.openDoor()
3.2.4 单独关门
gpioHelper.closeDoor()
3.2.5 白色灯光
参数说明:true 表示打开,false 表示关闭
gpioHelper.setWhiteLedStatus(true)
3.2.6 关闭所有灯光
参数一:true 表示打开白灯,false 表示不打开白灯
参数二:true 表示操作关门,flase 表示不操作开关门
gpioHelper.ledDismiss(false,true)
3.2.7 息屏
参数说明:true 表示亮屏,false 表示息屏
gpioHelper.setBacklightStatus(true)
3.3 刷卡
3.3.1 插件获取
const readCardModal = uni.requireNativePlugin('ES-FaceSdk-ReadWriteCardModule');
3.3.2 普通读卡,读取物理卡号
参数说明:callback 是实时回传设备读取到的卡号数据,以 JsonObject 响应
readCardModal.startReadCard(callback)
3.3.3 扇区读卡,读取扇区内容
参数一:传入一个 JsonObject,需要以下的 key
isEnable 表示是否启用 true/false
readSector 表示读取的扇区,范围为 0~15
readBlock 表示读取的区块,范围未 0~3
password 表示扇区密码,内容为六位十六进制
参数二:callback 是实时回传设备读取到的卡号数据,以 JsonObject 响应
readCardModal.startReadSector({
'isEnable': true,
'readSector': 0, // 指定扇区 0 ~ 15
'readBlock': 1, // 指定区 块 0 ~ 3
'password': "FFFFFFFFFFFF" // 十六进制的密码
}, ret => {
this.$options.methods.refreshResult(this,ret)
})
3.3.4 停止读卡。不需要时,或者页面关闭时需要关闭刷卡
readCardModal.stopReadCard()
3.4 读身份证
3.4.1 插件获取
const readIDCardModal = uni.requireNativePlugin('ES-FaceSdk-ReadIDCardModule');
3.4.2 开始读取身份证
响应说明:photo 字段为图片的 base64 内容
readIDCardModal.startReadIDCard(callback)
3.4.3 停止读取身份证,不需要时,或者页面关闭时需要停止
readCardModal.stopReadIDCard()
3.5 扫码
3.5.1 插件获取
const hideModule = uni.requireNativePlugin('ES-FaceSdk-HIDModule');
3.5.2 开始扫码
hideModule.startRead(callback)
3.5.3 停止扫码,不需要时,或者页面关闭时需要停止
hideModule.stopRead()
3.6 网络管理
3.6.1 插件获取
const networkModule = uni.requireNativePlugin('ES-FaceSdk-NetworkModule');
3.6.2 获取网络连接类型
响应参数说明:响应类型为 int
-1 表示网络未连接
1 表示使用 wifi
3 表示使用网线
4 表示使用 4g 卡
const ret = networkModule.getNetworkConnectType()
3.6.3 获取网线 ip 信息
响应参数说明:响应类型为 JsonObject,下面是 data key 的 JsobObject 说明
key ip 表示 ip 地址
key mask 表示 子网掩码
key gateway 表示网关
key dns1 表示 dns1
key dns2 表示 dns2
const ret = networkModule.getEthernetNetworkConfig();
3.6.4 设置网线固定 ip
参数一:ip 地址
参数二:子网掩码
参数三:网关
参数四:dns1
参数五:dns2 非必填
// 最后面一个 dns2 非必填
networkModule.setEthernetStaticIp("192.168.1.123","255.255.255.0","192.168.1.1","192.168.1.1",null)
3.6.5 设置网线动态获取 ip
networkModule.setEthernetStaticDhcp()
3.6.6 获取 wifi 网络信息
3.6.7 设置 wifi 固定 ip
参数一:wifi 名称
参数二:ip 地址
参数三:子网掩码
参数四:网关
参数五:dns1
参数六:dns2 非必填
networkModule.setWifiStaticIp("wifi 名称","192.168.1.123","255.255.255.0","192.168.1.1","192.168.1.1",null)
3.6.8 设置 wifi 动态 ip
参数一:wifi 名称
networkModule.setWifiDhcp("wifi 名称")
3.6.9 跳转系统 wifi 列表
networkModule.openWifiManager()
3.7 串口通信
3.7.1 插件获取
uni.requireNativePlugin('ES-FaceSdk-SerialPortModule')
3.7.2 获取串口路径
// 获取 rs232 串口路径
const rs232 = serialPortModule.getRS232Port();
// 获取 ttl 串口路径
const ttl = serialPortModule.getTTlPort();
// 获取 第二路 ttl 串口路径
const ttlTwo = serialPortModule.getTTlPortTwo();
// 获取 rs485 串口路径
const rs485 = serialPortModule.getRS485Port();
3.7.3 打开串口
参数一 JsonObject
key path 为 string 类型的串口路径
key baud_rate 为 int 类型的波特率
参数二为响应串口数据的 callback
// 获取 rs485 串口路径
const rs485 = serialPortModule.getRS485Port();
serialPortModule.openSerialPort({
'path': rs485, // 串口路径
'baud_rate': 9600 // 通信波特率
}, ret => {
// 处理串口数据
this.$options.methods.refreshResult(this,ret)
})
3.7.4 发送串口数据
参数为 string 类型的十六进制数据
// 发送数据,需要是十六进制格式,每个十六进制用空格分开
const hexData = "0A 0B 0C 0D";
const isSuccess = serialPortModule.sendData(hexData);
console.log(`数据发送结果 ${isSuccess}`);
3.7.5 关闭串口,不需要使用或者页面退出时要关闭
serialPortModule.closeSerialPort()