更新记录
1.0.2(2020-08-10) 下载此版本
修改hbuilder中显示的插件名称,其他无改动
1.0.1(2020-05-19) 下载此版本
改正插件分类
1.0.0(2020-05-11) 下载此版本
发布
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.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原生插件配置”->”云端插件“列表中删除该插件重新选择
使用方法
设备必须root
引用方式
const serialPort = uni.requireNativePlugin('Fvv-UniSerialPort')
API
//获取设备信息
getAllDeviceList(callback)
getAllDevicePath(callback)
//设置串口连接信息
setPath(path)
setBaudRate(baudRate)
setStopBits(stopBits)
setDataBits(dataBits)
setParity(parity)
setFlowCon(flowCon)
setFlags(flags)
//串口操作
open(callback)
close()
isOpen()
//接收消息,以下3个任选1个即可,多选无效
on;Message(callback,sendCallback)(去掉;符号)
on;MessageHex(callback,sendCallback)(去掉;符号)
on;MessageASCII(callback,sendCallback)(去掉;符号)
//发送消息
sendBytes(bytes)
sendHex(string)
sendASCII(string)
获取所有设备列表
getAllDeviceList(callback)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | function | 否 | 回调函数 |
callback(arr)
参数 | 类型 | 说明 |
---|---|---|
arr | array | 设备列表 |
示例
serialPort.getAllDeviceList(res => {
console.log(res) //设备列表
})
获取所有设备路径
getAllDevicePath(callback)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | function | 否 | 回调函数 |
callback(arr)
参数 | 类型 | 说明 |
---|---|---|
arr | array | 路径列表 |
示例
serialPort.getAllDevicePath(res => {
console.log(res) //路径列表
})
设置路径
setPath(path)
参数说明
参数 | 类型 | 说明 |
---|---|---|
path | string | 设置路径 |
示例
serialPort.setPath('/dev/ttyS1')
设置波特率
setBaudRate(baudRate)
参数说明
参数 | 类型 | 说明 |
---|---|---|
baudRate | int | 设置波特率,默认115200 |
示例
serialPort.setBaudRate(9600)
设置停止位
setStopBits(stopBits)
参数说明
参数 | 类型 | 说明 |
---|---|---|
stopBits | int | 设置停止位 默认值为2 |
示例
serialPort.setStopBits(2)
设置数据位
setDataBits(dataBits)
参数说明
参数 | 类型 | 说明 |
---|---|---|
dataBits | int | 设置数据位 默认值为8 |
示例
serialPort.setDataBits(8)
设置检验位
setParity(parity)
参数说明
参数 | 类型 | 说明 |
---|---|---|
parity | int | 设置检验位 默认值为0 |
示例
serialPort.setParity(0)
设置流控
setFlowCon(flowCon)
参数说明
参数 | 类型 | 说明 |
---|---|---|
flowCon | int | 设置流控 默认值为0 |
示例
serialPort.setFlowCon(0)
设置标志
setFlags(flags)
参数说明
参数 | 类型 | 说明 |
---|---|---|
flags | int | 设置标志 默认值为0,O_RDWR 读写方式打开 |
示例
serialPort.setFlags(0)
打开串口
open(callback)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | function | 否 | 回调函数 |
callback(object)
参数 | 类型 | 说明 |
---|---|---|
object.status | bool | 打开串口结果 |
object.msg | string | 成功为空,失败为原因 |
示例
serialPort.open(res => {
console.log(res)
})
关闭当前串口
close()
参数说明
无
示例
serialPort.close()
获取打开状态
isOpen()
参数说明
无
返回值
参数 | 类型 | 说明 |
---|---|---|
isOpen | bool | 当前打开状态 |
示例
let isOpen = serialPort.isOpen()
监听消息 - 字节
(去掉;符号)on;Message(callback,sendCallback)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | function | 是 | 回调函数 |
sendCallback | function | 否 | 回调函数 |
callback(byte)
参数 | 类型 | 说明 |
---|---|---|
byte | byte | 收到的字节消息 |
sendCallback(byte)
参数 | 类型 | 说明 |
---|---|---|
byte | byte | 发送的字节消息 |
示例
serialPort.on;Message(rec => { //(去掉;符号)
console.log(rec)
},send => {
console.log(send)
})
监听消息 - 十六进制
(去掉;符号)on;MessageHex(callback,sendCallback)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | function | 是 | 回调函数 |
sendCallback | function | 否 | 回调函数 |
callback(byte)
参数 | 类型 | 说明 |
---|---|---|
hex | string | 收到的十六进制消息 |
sendCallback(byte)
参数 | 类型 | 说明 |
---|---|---|
hex | string | 发送的十六进制消息 |
示例
serialPort.on;MessageHex(rec => { //(去掉;符号)
console.log(rec)
},send => {
console.log(send)
})
监听消息 - ASCII
(去掉;符号)on;MessageASCII(callback,sendCallback)
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | function | 是 | 回调函数 |
sendCallback | function | 否 | 回调函数 |
callback(byte)
参数 | 类型 | 说明 |
---|---|---|
ascii | string | 收到的ASCII消息 |
sendCallback(byte)
参数 | 类型 | 说明 |
---|---|---|
hex | string | 发送的ASCII消息 |
示例
serialPort.on;MessageASCII(rec => { //(去掉;符号)
console.log(rec)
},send => {
console.log(send)
})
发送字节消息
sendBytes(bytes)
参数说明
参数 | 类型 | 说明 |
---|---|---|
bytes | array | 发送的字节消息 |
示例
let bytes = []
bytes[0] = 1
bytes[1] = 2
serialPort.sendBytes(bytes)
发送十六进制消息
sendHex(string)
参数说明
参数 | 类型 | 说明 |
---|---|---|
string | string | 发送的十六进制消息 |
示例
serialPort.sendHex("1AA1")
发送ASCII消息
sendASCII(string)
参数说明
参数 | 类型 | 说明 |
---|---|---|
string | string | 发送的ASCII消息 |
示例
serialPort.sendASCII("hello Fvv")
android
已集成离线打包及插件开发环境,可以使用离线打包或生成自定义基座来调试插件和uni-app项目。
使用android studio导入此工程,run 'app' 即可体验!
参考文档 集成uni-app项目测试插件
参考文档 离线打包制作自定义基座
学习uni-app原生插件开发