MOPANGO/ARCHIVED PROJECT
系统已下线 · 2026-11

树莓派实验室
控制中枢

为一台隔离在实验室网络里的 27DR 收发实验台,做一套不依赖现场值守的操作入口: 能远程给设备断电重启、看启动日志、烧写 bit、传回采集数据。

2026.08 — 2026.11运行周期
Raspberry Pi 4B控制端
xczu27dr被控板卡
已归档当前状态
Architecture

它是怎么连起来的

一条 Wi-Fi 负责远程接入,一条网线负责直连板卡,两者严格隔离。

① 远程侧笔记本 / 手机

Vivado、SSH、浏览器

Tailscale
② 中枢树莓派 4B

wlan0 上联 · eth0 双静态 IP

USB / RJ45
③ 被控AAU · 基带盒

220V 电源 · UART · 网口

电源

USB 串口继电器(CH341)串口 AT 指令控制第 1 路 220V,带互斥锁与掉线 watchdog 自动上电。

日志

USB-TTL 接板卡 UART,screen /dev/ttyBASE 115200 直接看 Zynq 启动与 APB 打印。

网络

eth0 同时持 192.168.0.129/24(AAU .0.27)与 192.168.2.129/24(基带 .2.27),不设网关,默认路由仍走 Wi-Fi。

烧录

XVC 服务端,Vivado Hardware Manager 直连 树莓派IP:2542;大文件走 scp / rsync 中转。

Interface

当时的控制面板

单页 HTML,20 秒轮询一次状态;所有动作都要求二次确认。

http://100.x.y.z/hub.html

实验室控制

电源与开发板

已归档 · 数据为历史快照

220V 电源

实验设备共用第 1 路

离线
已断电
继电器CH341 · 未连接
上次上电2026-09-20 14:31
上次断电2026-09-20 23:06
上电强制断电

树莓派控制中枢

Raspberry Pi 4B

本机
Tailnet100.x.y.z
设备直连 1eth0 · 192.168.0.129
设备直连 2eth1 · 192.168.2.129
运行时长31 天 23 小时
打开系统管理

AAU-1

DNA 6A31F20C · MAC 00:0a:35:12:44:9e

曾在线
类型AAU
连接eth0 · 192.168.0.27
运行时长6 天 4 小时
温度PL 48 °C · PS 52 °C
改名重启安全关机

界面上每个按钮都对应一条需要 token 与 Tailnet 双重校验的后端请求;展示页中的数值为历史快照。

Engineering Notes

几个当时想清楚的问题

比界面更值得留下来的,是这些判断。

断电必须比 SSH 更可靠

板卡死机时 SSH 也一起死。所以电源走独立的 USB 串口继电器,只要树莓派自己活着,就能物理断电重启。反过来,树莓派挂了就全挂——这是这套架构唯一的单点。

安全关机与强制断电是两件事

"安全关机"先远端执行 sync && systemctl poweroff,连续确认 SSH 下线后才切继电器;"强制断电"要两次确认并明确告知可能损坏文件系统。两者在界面上用不同颜色和不同确认流程。

两个串口会抢设备名

继电器和 UART 转接都是 CH341,插上后 ttyUSB0/1 顺序不固定。用 udev 按 idVendor:idProduct 绑定 /dev/ttyRELAY 与 /dev/ttyBASE,逻辑才不依赖插入顺序。

板卡要能被"识别",而不只是能 ping 通

AAU 与基带盒用同一个 192.168.0.27,光看 IP 分不清谁是谁。改成读 Zynq 的 DNA 与 MAC 做注册表,支持改名、离线历史,同名设备接不同网口也不会混。

远程入口要能被撤销

协作者通过 GitHub OAuth 进来,白名单在仓库里维护;出站方向用 nft 只放行指定的几台机器,避免这台"跳板"变成通向整个 Tailnet 的任意门。

工控与个人服务应该分家

控制面板和 NAS、媒体库跑在同一台机器上,但它们的生命周期完全不同。实验结束后,整条控制链路可以整体停用而不影响另一半——这也是它最终被归档、而文件与媒体服务继续运行的原因。

Status

项目已归档

2026 年 11 月,实验室的物理链路全部断开,控制面板与协作者入口一并下线。 这台树莓派转而承担长期在线的个人服务器角色:文件、媒体、下载与系统管理。 继电器、串口、双静态 IP 的配置与全部采集数据保留在本地归档目录中,随时可查。