You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Termux环境中实现串口通信 解决node-red串口无法识别问题

解决方案

1 先确认Termux侧已识别USB设备

  • 插入FT232R设备时,安卓系统弹出的USB外设授权窗口选择允许Termux访问该设备,禁止选择仅充电模式
  • 在Termux终端执行命令termux-usb -l,确认有输出USB设备路径,格式类似/dev/bus/usb/xxx/xxx。如果无输出,优先排查OTG转接头、C转mini 5pin线是否正常,确认FT232R为正品(山寨FT232芯片安卓系统默认不识别)

2 重新编译安装serialport原生依赖

node-red-node-serialport默认从Node-RED面板安装时,不会适配Termux的aarch64架构编译原生组件,需要手动重新安装:

  • 先卸载原有插件:在Node-RED面板的插件管理页移除node-red-node-serialport,停止Node-RED进程
  • 在Termux中执行以下命令安装编译依赖:
    pkg install -y python make clang libusb-dev
    
  • 进入Node-RED配置目录,手动编译安装插件:
    cd ~/.node-red
    npm install node-red-node-serialport --unsafe-perm
    
  • 安装完成后重启Node-RED即可看到串口节点

3 手动指定串口路径(不需要等待自动搜索)

Termux下不会生成常规Linux的/dev/ttyUSB0路径,自动搜索功能默认扫描该路径因此会显示无设备,需要手动映射串口路径后填写:

  • 执行命令给对应USB设备授予读写权限:termux-usb -r 你之前用termux-usb -l查到的设备路径
  • 执行映射命令将USB设备映射为pty串口设备,获取映射后的路径(格式类似/data/data/com.termux/files/home/ttyUSB0)
  • 在Node-RED的串口节点配置页,直接手动填写上述映射后的路径,配置对应波特率即可正常使用

4 高版本安卓权限补充

如果是安卓10及以上系统,selinux默认拦截Termux的USB访问:

  • 有root权限可执行su -c setenforce 0临时关闭selinux测试
  • 无root权限可在系统设置中给Termux开放所有权限,包括存储权限、USB相关权限后重试

内容的提问来源于stack exchange,提问作者강호진

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 04:18:04