更新记录

1.0.1(2026-10-14) 下载此版本

  • 承接项目侧下沉:SerialDeviceBase(通道 = serial)
  • uni_modules.dependencies 声明 pro-device-core

1.0.0(2026-10-14) 下载此版本

  • 首次发布
  • 提供 SerialAdapter(Android 原生串口传输原语)

平台兼容性

uni-app(5.06)

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

pro-device-adp-uart — 串口传输原语(UTS)

uni_modules 串口传输适配器(UTS 插件)。内置 Android 原生串口支持(mcSerialPort.aar),提供 SerialAdapter 封装层。

可独立使用,亦可作为 pro-device 框架的 ITransport 适配器。


架构定位

pro-device-adp-uart
├── js_sdk/pro-device-adp-uart/
│   ├── adapter.ts              ← SerialAdapter(ITransport)
│   ├── types.ts                ← SerialAdapterConfig(含可选 probe)
│   ├── errors.ts
│   ├── codec/hex.ts            ← 收发十六进制编解码
│   └── link/
│       └── serial-link-controller.ts  ← 断开枢纽 + SessionProbe 接入
└── utssdk/app-android/
    ├── index.uts               ← SerialPort 原生类
    └── libs/mcSerialPort.aar

与 pro-device-core/transport 的关系:

语义 本适配器
连接 await open(config)
主动断开 close()(不触发 onDisconnect)
意外断开 无原生拔插;配置 probe 后由 SessionProbe 合成 onDisconnect
写失败 send 失败 → io-error + onDisconnect

平台限制

仅支持 APP-PLUS(Android)平台。 minSdkVersion = 21(Android 5.0+)。

其他平台调用 open() 会立即抛出 SerialConnectionError。


核心 API

SerialAdapter

// App 构建:根路径是 uts-proxy(仅 SerialPort);Adapter 需走 js_sdk
import { SerialAdapter } from '@/uni_modules/pro-device-adp-uart/js_sdk/pro-device-adp-uart'
import type { SerialAdapterConfig } from '@/uni_modules/pro-device-adp-uart/js_sdk/pro-device-adp-uart'

const adapter = new SerialAdapter()

await adapter.open({
  serialPath: '/dev/ttyS1',
  baudRate: 9600,
  // 可选:会话探活(tty 无拔插事件时用于合成断开)
  probe: {
    idleTimeoutMs: 15_000, // 无收发超时
    // intervalMs: 5_000,
    // ping: async () => { await adapter.send(statusQueryFrame) },
  },
})

adapter.onDisconnect((reason) => {
  // probe-timeout | io-error | ...
})

adapter.onReceive((buf) => { /* ... */ })
await adapter.send(frame)
await adapter.close() // 主动关闭,不会进 onDisconnect
方法 说明
open(config) 打开串口;可带 probe
close() 主动关闭
send(data) 发送;失败会触发意外断开
onReceive / onDisconnect 数据 / 意外断开
linkCapability probe | none

常见串口路径

路径 说明
/dev/ttyS0 ~ /dev/ttyS9 板载 UART
/dev/ttyUSB0 ~ USB 转串口(若内核导出节点且权限足够)
/dev/ttyACM0 ~ USB CDC ACM

USB Host 扫码枪/CH340 等更稳妥的方式是独立的 pro-device-adp-usb(UsbManager),不要依赖本包的 tty 路径。


权限

Android 串口访问通常需要 root 或厂商预授权。商米等工业 PDA 上节点权限通常已开放。

隐私、权限声明

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

串口访问

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

插件不采集任何数据

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

无

许可协议

MIT协议

暂无用户评论。