更新记录
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 上节点权限通常已开放。

收藏人数:
下载插件并导入HBuilderX
下载插件ZIP
赞赏(0)
下载 109
赞赏 0
下载 12681473
赞赏 1956
赞赏
京公网安备:11010802035340号