在 macOS 上高效调试嵌入式 Linux 设备:串口连接、静默模式与 GPIO 控制指南
适用场景:工业控制器、IoT 设备、灌溉系统、基于 systemd 的嵌入式 Linux
环境:macOS + USB 转串口(CH340/CP2102)+ picocom/tio + libgpiod
目标:实现干净、无干扰的串口交互,精准控制硬件(如水泵)
🧰 一、准备工作:安装串口工具
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install picocom # 经典轻量
brew install tio # 更友好,支持本地回显
🔌 二、确认设备识别
ls /dev/cu.*
正常输出示例:
/dev/cu.usbserial-210
✅ 始终使用
/dev/cu.*(Call Up)而非/dev/tty.*,避免 macOS 终端挂起。
📡 三、连接串口终端
使用 picocom(波特率 1.5 Mbps):
picocom -b 1500000 /dev/cu.usbserial-210
使用 tio(推荐):
tio -b 1500000 /dev/cu.usbserial-210
⚠️ 若提示 “Resource busy”
lsof /dev/cu.usbserial-210
kill -9 <PID>
# 或拔插 USB 设备
🚪 退出方式
picocom:Ctrl+A→Ctrl+Xtio:Ctrl+]→q
🔐 四、登录系统
- 用户名:
root - 密码:
L密@码98
登录后提示符:
root@主机00081:~#
🧘 五、消除干扰信息(静默调试模式)
systemctl stop app
根据设备生产时间停止对应服务:
# 2025年10月前设备:
systemctl stop user_watchdog
# 2025年10月及以后设备:
systemctl stop netcheck
💡 执行后终端不再刷屏,可自由输入命令。重启后服务自动恢复。
抑制内核消息(可选)
echo 1 > /proc/sys/kernel/printk
🔌 六、GPIO 控制(基于 libgpiod)
总电源控制(gpiochip4)
gpioset gpiochip4 10=1 # 关闭总电源
gpioset gpiochip4 10=0 # 开启总电源
分路水泵控制(gpiochip2)
| 水泵组 | GPIO Line | 开启(通电) | 关闭(断电) |
|---|---|---|---|
| 第一路 | 18 | gpioset gpiochip2 18=0 | gpioset gpiochip2 18=1 |
| 第二路 | 19 | gpioset gpiochip2 19=0 | gpioset gpiochip2 19=1 |
| 第三路 | 20 | gpioset gpiochip2 20=0 | gpioset gpiochip2 20=1 |
📌 注意:
0 = 开启水泵,1 = 关闭水泵(低电平触发继电器)。
🛠️ 七、效率提升建议
| 场景 | 推荐方案 |
|---|---|
| 快速连接 | alias serial='tio -b 1500000 /dev/cu.usbserial-210' |
| 自动化测试 | 使用 expect 脚本 |
| 日志记录 | script serial.log |
| 图形界面 | CoolTerm |
✅ 总结
- 用
tio或picocom连接串口 - 登录后执行
systemctl stop停止干扰服务 - 使用
gpioset精准控制硬件
关键词:macOS 串口调试、picocom、tio、嵌入式 Linux、systemd、GPIO 控制、libgpiod、静默模式