更新记录

1.0.10(2025-10-21)

优化

1.0.9(2025-04-19)

优化

1.0.8(2025-04-08)

去掉安全判断

查看更多

平台兼容性

uni-app(3.6.11)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - 5.0 - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

uni-app x(3.6.11)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - 5.0 - - -

其他

多语言 暗黑模式 宽屏模式

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.onStartAutoReadData(function(res:number[]){
                // 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.onStartAutoReadData(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 串口列表 uniappx

 var portList:string[]=helper.getAllDevice()

uniapp

 var portList=helper.getAllDevice()

设置串口参数

setPath 设置路径

 helper.setPath("/dev/ttyS7");

setBaudrate 设置波特率

helper.setBaudrate(9600);

dataBits 数据位 默认8,可选值为5~8

  helper.dataBits(8);

parity 校验位 parity 0:无校验位(默认);1:奇校验位

  helper.parity(0);

stopBits 停止位 stopBits 默认1;1:1位停止位;2:2位停止位

 helper.stopBits(1);

flags 标志 flags 默认0


 helper.flags(0)

打开串口

open 需要调用才可打开

return 返回是否打开成功

 var open= helper.open()

isOpen

return 返回是否打开成功

 var open= helper.isOpen()

关闭串口

close

 var open= helper.close()

开启自动读取串口数据,需要先打开串口

onStartAutoReadData

回调读取的数据 uniappx

helper.onStartAutoReadData(function(res:number[]){
    console.log(helper.byte2HexString(res))
})

uniapp

 helper.onStartAutoReadData(function(res){
    console.log(helper.byte2HexString(res))
 })

关闭自动读取串口数据

stopReadPortData

helper.stopReadPortData()

手动读取串口数据 手动读取之前需先打开串口 且不可和自动读串口数据同时调用

available()

return 返回-1 表示无可读数据 其它为可读数据长度

 var len= helper.available()

onReadData

参数1 需要读取数据的长度 number 参数2 开始读取位置 number 参数3 读取数据结束位置 number 参数4 回调读取的数据function 数据类型为number[] uniappx

  helper.onReadData(10,0,10,function(b:number[]){

 })

uniapp

 helper.onReadData(10,0,10,function(b){

 })

发送数据

sendData (uniappx)

参数1 需要发送的ByteArray

    var b:ByteArray=new ByteArray(5);
    b[0]=0x55;
    b[1]=0x00;
    b[2]=0x12;
    b[3]=0x00;
    b[4]=0x7B;
    helper.sendData(b)

sendDataString()

参数1 string 类型的16进制的字符串 例如 "550120057B"

 helper.sendDataString("550120057B")

sendDataUnit8Array (uniapp)

var b=new Uint8Array(5);
        b[0]=0x55;
        b[1]=0x00;
        b[2]=0x12;
        b[3]=0x00;
        b[4]=0x7B;
        helper.sendDataUnit8Array(b)

辅助转换方法

将16进制字符串转换为ByteArray (uniappx)

parseHexStr2Byte

参数1 为16进制字符串

var by =    helper.parseHexStr2Byte("55 66 a1")

ByteArray转换成16进制字符串

byte2HexString

参数1 ByteArray

var b:ByteArray=new ByteArray(5);
    b[0]=0x55;
    b[1]=0x00;
    b[2]=0x12;
    b[3]=0x00;
    b[4]=0x7B;
var by =    helper.byte2HexString(b)

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

隐私、权限声明

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

必须ROOT

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

插件不采集任何数据 使用过程中有任何问题可以加qq 1530948626 联系,随时修复

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