Files
2026-02-10 09:51:18 +08:00
..
2026-02-10 09:51:18 +08:00
2026-02-10 09:51:18 +08:00
2026-02-10 09:51:18 +08:00
2026-02-10 09:51:18 +08:00
2026-02-10 09:51:18 +08:00

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 默认1;1: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