更新记录

1.0.0(2025-08-23)

初始版本1.0.0: 1、支持设置波特率、数据位、校验位、停止位,DTR、RTS 2、此库通过 USB 接口类型而不是固定的 VID+PID 检测 CDC/ACM 设备,因此 CDC/ACM 设备通常不再需要自定义探测器。 3、支持带有特定驱动程序的USB转串口转换芯片: FTDI FT232R, FT232H, FT2232H, FT4232H, FT230X, FT231X, FT234XD Prolific PL2303 Silabs CP2102, CP210* Qinheng CH340, CH341A 一些其他设备特定的驱动程序: GsmModem 设备,例如基于 Unisoc 的 Fibocom GSM 调制解调器 Chrome OS CCD(封闭式调试) 以及实现通用 CDC/ACM 协议的设备,例如: Qinheng CH9102 Microchip MCP2221 Arduino using ATmega32U4 Digispark using V-USB software USB ...


平台兼容性

uni-app(4.07)

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

uni-app x(4.07)

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

使用前先导入插件方法如:

import { init, openDevice, closeDevice, sendData, setReadCallbacks, isConnected, release, setConnectionStateListener } from '../../uni_modules/usb-serial-normal'

功能方法列表:

1、初始化方法:init(config : UTSJSONObject):void

const config = {
                    targetProductName: "LOLIN-S2-MINI",
                    baudRate: 115200
                    // 其他参数可以安全地省略
                };
// 其他参数可以省略,会使用默认值,按需传入
init(config);

注:必须在使用任何其他函数之前调用此初始化函数。

  • @param config - 一个包含配置信息的 UTSJSONObject 对象。

    • targetProductName (string, 必需,目标设备的 Product Name)
    • baudRate (number?, 可选, 默认 115200,波特率)
    • dataBits (number?, 可选, 默认 8,数据位)
    • stopBits(number?, 可选, 默认 1,停止位)

    • parity(number?, 可选, 默认 0,校验位)

    • dtr(boolean?, 可选, 默认 true,DTR信号)

    • rts(boolean?, 可选, 默认 false,RTS信号)

      */

2、连接设备:openDevice(callback : (result : UTSJSONObject) => void)

openDevice((result) => {
                    console.log("Connection attempt result:", result);
                });

3、监听设备连接状态:setConnectionStateListener(onStateChanged : (state : string, message : string) => void)

setConnectionStateListener((state, message) => {
                    console.log(`Connection state changed: ${state}, Message: ${message}`);
                    this.connectionStatus = state;
                    console.log(`状态: ${state} - ${message}`);
                });

注:状态有三种:

CONNECTED,//已连接
DISCONNECTED,//断开连接
CONNECTING//连接中

4、读取usb串口数据:setReadCallbacks(onData : (data : UTSJSONObject) => void, onError : (error : UTSJSONObject) => void)

setReadCallbacks(
                    (data) => {
                        console.log("Data received:", data);
                        console.log(`收到数据: ${JSON.stringify(data)}`);
                    },
                    (error) => {
                        console.error("Error received:", error);
                        console.log(`发生错误: ${JSON.stringify(error)}`);
                    }
                );

5、发送数据至usb串口:sendData(data : string) : boolean

  const success = sendData("Hello from Vue!");
    console.log(success ? "消息已发送" : "消息发送失败");

6、获取当前连接状态:isConnected() : boolean

  const success = isConnected();
    console.log(success ? "已连接" : "未连接");

7、关闭连接:closeDevice() : void

​ 直接调用

closeDevice()

8、释放所有资源:release() : void

​ 直接调用

release()

注意:当你确定不再使用USB功能时(例如页面销毁或应用退出),调用此方法后,如需再使用usb串口,必须再次初始化开始。

隐私、权限声明

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

USB读写权限

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

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

暂无用户评论。