更新记录

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:未测试 ×

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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原生插件开发

Android uni-app原生插件开发教程

隐私、权限声明

1. 本插件需要申请的系统权限列表:

ROOT

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

请参考开源项目地址的开源协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问