Files
endo_an/uni_modules/android-serialport/readme.md
T
2026-02-10 09:56:08 +08:00

174 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# android-serialport
### uniappx/uniapp demo 亲测可用
### 长期维护 有任何问题 可在群中联系
### uniapp demo 在例子项目下的 zip 文件
#### 插件测试使用方法
1. 选择试用,绑定要试用的项目appid,
2. 选择后下载到对应的本地项目,
3. 按照文档 -》把插件引入项目(即 import {SerialPortHelper} from "@/uni_modules/android-serialport"; 需要先引入),
4. 发布-》云打包-》选择制作基座-》打包等基座制作完成
5. 运行 -》 运行到手机或模拟器-》运行到Androidapp基座-》选择使用自定义基座运行-》选择手机-》运行
### uni-app x项目(uvue)中调用示例:(调试需要自定义基座)
```
import {SerialPortHelper} from "@/uni_modules/android-serialport";
var helper=new SerialPortHelper();
// var array=[] as string[];
// array=helper.getAllDevices() // 获取串口列表
helper.setPath("/dev/ttyS7");
helper.setBaudrate(9600);
//一般默认
// helper.dataBits(8);
// helper.parity(0);
// helper.stopBits(1);
// helper.flags(0)
var state= helper.open();
if(state){
helper.startAutoReadData(function(res){
// console.log(res[0])
console.log(helper.byte2HexString(res))
})
// var b:ByteArray=new ByteArray(5);
// b[0]=0x55;
// b[1]=0x00;
// b[2]=0x12;
// b[3]=0x00;
// b[4]=0x7B;
// helper.sendData(b)
helper.sendDataString("550120057B")
//停止自动接收
// helper.stopReadPortData();
//关闭串口
// helper.close()
}
```
### uni-app 项目(vue nvue)中调用示例:(调试需要自定义基座)
```
import {SerialPortHelper} from "@/uni_modules/android-serialport";
var helper=new SerialPortHelper();
// console.log(helper.getAllDevices())
helper.setPath("/dev/ttyS7");
helper.setBaudrate(9600);
var state= helper.open();
if(state){
helper.startAutoReadData(function(res){
console.log(helper.uint8ArrayToHexString(res))
})
var b=new Uint8Array(5);
b[0]=0x55;
b[1]=0x00;
b[2]=0x12;
b[3]=0x00;
b[4]=0x7B;
helper.sendDataUnit8Array(b)
//helper.sendDataString("550120057B")
}
```
### 开发文档
### 获取设备列表
#### getAllDevice()
return 串口列表
### 设置串口参数
setPath 设置路径
####
setBaudrate 设置波特率
####
dataBits 数据位 默认8,可选值为5~8
####
parity 校验位 parity 0:无校验位(默认);1:奇校验位
###
stopBits 停止位 stopBits 默认11:1位停止位;2:2位停止位
###
flags 标志 flags 默认0
### 打开串口
#### open 需要调用才可打开
return 返回是否打开成功
#### isOpen
return 返回是否打开成功
### 关闭串口
close
### 开启自动读取串口数据,需要先打开串口
#### startAutoReadData
回调读取的数据function 数据类型为ByteArray
### 关闭自动读取串口数据
#### stopReadPortData
### 手动读取串口数据 手动读取之前需先打开串口 且不可和自动读串口数据同时调用
#### available()
return 返回-1 表示无可读数据 其它为可读数据长度
#### readData
参数1 需要读取数据的长度 number
参数2 开始读取位置 number
参数3 读取数据结束位置 number
参数4 回调读取的数据function 数据类型为ByteArray
### 发送数据
#### sendData
参数1 需要发送的ByteArray
#### sendDataString
参数1 string 类型的16进制的字符串 例如 "550120057B"
### 辅助转换方法
### 将16进制字符串转换为ByteArray
#### parseHexStr2Byte
参数1 为16进制字符串
### ByteArray转换成16进制字符串
#### byte2HexString
参数1 ByteArray
### ByteArray 辅助操作方法
#### 将两个ByteArray进行合并
#### addBytes
参数1 合并ByetArray 1
参数2 合并ByetArray 2
return 合并后的ByetArray
#### 将ByteArray进行剪切
#### subBytes
参数1 需要剪切的 ByetArray
参数2 开始位置 类型number
参数3 需要剪切的长度 number
return 剪切后的ByetArray
#### js Unit8Array 转为String
#### uint8ArrayToHexString
参数1 Unit8Array
return String