简介:业余无线电数字语音通信中,MMDVM热点板配合Nextion串口屏的用途很广,但不少HAM在安装驱动或刷入中文固件时频频失败。这份资料正是针对该痛点的操作指南,适合已能进入Pi-Star配置页面、想为STM32-DVM热点完善屏幕显示的入门进阶用户。整个资源包只有一个PDF文档,压缩包大小约1.51MB,便携易存,手机或电脑上都能随时查阅。资源发布以来已有1616人浏览学习,内容经过实际环境验证,可信度较高。文档从Pi-Star仪表盘恢复出厂设置讲起,涵盖单工/双工模式选择、Nextion屏幕类型与端口配置,并给出通过SSH执行Gitee镜像安装命令的完整代码,强调确认输入y与重启校验等易漏细节;随后介绍中文固件刷写,包括内存卡FAT32格式化、TFT文件放入根目录、插到屏幕背后卡槽、断电上电自动刷机等步骤,还专门提醒区分屏幕卡槽与树莓派卡槽。按此操作即可让屏幕正常显示频率、主频与负载,并支持中文通讯录。
1. 为什么 Nextion 驱动装不上:症状与原因
一块 Nextion 串口屏接到 MMDVM 热点上,最典型的情况是:屏幕能亮、温度能读出来,但主频、负载、通话组信息全是空白。这多半不是屏幕坏了,而是树莓派上的 Nextion 驱动没装上,或者装了一半。原因基本都出在网络环节:驱动源文件放在 GitHub,国内主机 clone 经常超时,脚本跑到一半就断,旧驱动文件又被删掉了,于是屏幕只能靠串口自带的默认界面撑一下,看起来就是“半死”状态。下面把从驱动安装到中文固件刷写的完整链路拆开讲,所有命令基于 BD3OYD 整理的 Gitee 镜像仓库,适合 MMDVM 热点玩家、Pi-Star 用户和想折腾 Nextion 中文显示的业余无线电爱好者。
2. 装驱动前先把 Pi-Star 配置摆正:恢复出厂与端口选择
2.1 为什么要先恢复出厂设置
Pi-Star 的配置页在长期开热点、反复改 WiFi 和 DMR 参数之后,会留下很多旧状态。驱动安装脚本需要读取/etc/mmdvmhost和/etc/pistar-release里的内容来匹配屏幕类型,旧配置里的端口、速率、板型设置一旦对不上,安装脚本就会把驱动装到一个不存在的设备节点上。所以流程的第一步是进入 Pi-Star 仪表盘,在“配置”页面点“恢复出厂设置”,这个动作会重置 MMDVMHost 配置和 GPIO 映射,让后续步骤在一个干净的基础上执行。
恢复出厂之后,Pi-Star 会重启服务,页面会重新进入首次配置向导。这时候不要急着改 WiFi,先把热点板型确定下来。如果盒子上标着 Duplex,就选双工模式;普通的单频热点选单工即可。选错的话,后续频率和时隙配置会互相干扰,屏幕上的 TX/RX 状态也会错乱。
2.2 Nextion 配置的三个关键项
进入配置页面后,找到 Nextion 配置区块。这里有三项决定驱动能否装成,缺一不可:
| 配置项 | 选择 | 说明 |
|---|---|---|
| 屏幕类型 | Nextion | 让 MMDVMHost 知道外接的是串口屏而不是 OLED 或并口 TFT |
| 端口 | modem | 通过热点板的 modem 串口与树莓派通信,而不是独立 USB 串口 |
| 输出 | 列表最后一个 | 对应 UART 映射到屏幕的数据输出节点,不同板子位置不同,选最后一项是通用做法 |
这个组合是镜像仓库作者在大量板子上验证过的。端口选成 USB 的话,驱动会去枚举/dev/ttyUSB*,但多数 MMDVM 热点板的屏幕走的是板载串口,枚举不到设备,安装日志里就会出现Device not found。如果屏幕真的通过 USB 转串口模块连接,还需要提前确认 CH340 或 CP2102 驱动已经加载,否则设备节点根本不会出现。输出项选错,屏幕收得到数据但解析不出来,表现就是只显示第一行,后面全部空白。
2.3 热点板类型选择 STM32-DVM
Nextion 配置下面还有一个“热点版类型”下拉框,这里要选 STM32-DVM。这个选项决定了 MMDVMHost 以哪套 GPIO 和串口配置去初始化板子。STM32-DVM 是 MMDVM 热点最常见的控制板方案,树莓派通过它的 STM32 芯片跟射频模块打交道,同时把屏幕数据也走这条链路。选错成其他板型,比如 ZumSpot 或 MMDVM_HS,驱动也能装上,但屏幕和射频模块会抢串口,表现出来就是屏幕刷新慢、发射时黑屏。
选好之后点“应用设置”,等页面刷新。刷新完成后再进入 Expert 菜单,从网页端确认配置已经写进/etc/mmdvmhost。常见做法是直接在 SSH 里查一次:
# 查看与屏幕驱动相关的配置行 cat /etc/mmdvmhost | grep -E "Display|Nextion|Modem" | head -20正常能看到Display=Nextion、NextionPort=modem这样的行。如果这些行还是旧值,说明刚才的应用设置没有生效,需要先重启 Pi-Star 的配置服务再回来检查。这个检查步骤很多人跳过,结果 SSH 里一看还是旧配置,驱动装了等于没装。
3. SSH 逐行跑命令:驱动安装的完整实录
3.1 登录 SSH 与准备工作
网页配置确认无误后,进入 Pi-Star 的 Expert → SSH,用pi-star账户登录,默认密码是raspberry。注意 SSH 密码输入时不回显,输完直接回车就行。登录后第一件事是执行rpi-rw,把根文件系统从只读切到可写。Pi-Star 默认把 SD 卡挂成只读,防止异常断电写坏文件系统,但安装驱动需要写入/usr/local/bin和/etc,所以必须先切可写。
3.2 清理旧驱动和残留配置
逐行执行下面这段,每一行执行完看到提示符再执行下一行:
rpi-rw # 根文件系统切换为可写 sudo rm -rf /usr/local/bin/NextionDriver # 删除旧版驱动主程序 sudo rm -rf /etc/mmdvmhost.old # 删除 MMDVMHost 旧配置备份 cd /tmp # 进入临时目录第一行rpi-rw切换可写状态;第二行删掉旧驱动主程序,避免覆盖安装时新旧版本混在一起;第三行删掉 MMDVMHost 的旧备份文件,这个文件会在安装时被脚本用来对比差异,如果里面留着上一个屏的配置,脚本可能误判当前设备;第四行进入/tmp,后续源码都拉到这里,重启后自动清空,不会污染系统目录。
3.3 用 Gitee 仓库绕过 GitHub 超时
# 拉取 Gitee 镜像仓库并执行安装脚本 sudo git clone https://gitee.com/BD3OYD/NextionDriverInstaller.git sudo NextionDriverInstaller/install.sh克隆这一步是多数人卡住的地方。MMDVM 使用的 Nextion 驱动最初由 ON7LDS 开发,源仓库在 GitHub,国内访问经常超时。BD3OYD 把 NextionDriverInstaller 同步到 Gitee 后,国内主机 clone 一般几秒就完成。如果你在执行时git clone报Could not resolve host,先检查树莓派的 DNS,常见做法是把/etc/resolv.conf里的nameserver改成223.5.5.5再重试。这个排查思路和 git 安装及配置教程里常见的 clone 失败排错逻辑完全一样,先确认网络再重跑,不要反复删目录。
install.sh跑起来后,脚本会检测板型、屏幕型号和 UART 映射,然后询问是否确认安装驱动。这一步要用键盘输入一个y再回车,直接回车会被当成默认值跳过,驱动装了等于白装。
3.4 安装成功的判断标准
脚本跑完后,会列出屏幕的端口以及其他配置信息,形式大致如下:
Device: /dev/ttyAMA0 Speed : 115200 Model : NX4024T032 Status: OK看到Status: OK和完整的设备路径才是安装成功。如果屏幕信息是空的,或者端口显示/dev/ttyUSB0,说明前面网页配置里的输出项没选到最后一项。这时候不用重装,回到配置页面改输出项,再重新跑一次安装脚本即可。脚本提示是否重启时输入y,重启后屏幕应该能完整显示主频、负载、通话组信息。
3.5 安装脚本报错怎么看
| 报错片段 | 含义 | 处理 |
|---|---|---|
Permission denied | 没执行 rpi-rw | 先跑 rpi-rw 再重来 |
git clone超时 | 网络到 Gitee 不通 | 检查 DNS 和网关 |
/dev/ttyAMA0被占用 | 蓝牙串口没关 | 在 config.txt 里关掉蓝牙对应 UART |
| 安装后屏幕无显示 | 固件和驱动不匹配 | 接着刷对应型号中文固件 |
最后一种情况其实很常见:驱动只是软件层,屏幕内部还有一套固件在控制渲染。驱动装好但屏幕固件是旧英文版,中文通讯录照样显示不出来,这就是下一章要解决的刷固件问题。
4. 刷中文固件:FAT32、TFT 文件与卡槽的坑
4.1 驱动和固件各管哪一部分
Nextion 屏是串口屏,树莓派通过串口发指令,真正把这些指令渲染成文字、图形、进度条的是屏幕主控里的固件。驱动负责把 MMDVMHost 的温度、主频、通话组数据翻译成串口指令;固件负责把指令变成屏幕上的中文界面。所以两个部分是独立的,安装顺序不分先后,但缺一个都不完整。只装驱动不刷固件,能显示数据但中文通讯录里的中文字符会变成乱码或方块;只刷固件不装驱动,屏幕会显示自检画面但收不到任何数据。
4.2 准备 FAT32 格式的 TF 卡
刷固件需要用一张 microSD 卡,容量 2GB 到 32GB 都行,关键是文件系统必须是 FAT32。Windows 10 自带的格式化界面只列 FAT 和 NTFS,右键格式化时不一定看得到 FAT32,需要下载 FAT32 格式化工具,比如 GUIFormat 或 FAT32 Format。格式化时分配单元大小选默认值,卷标随意,完成后用文件管理器确认属性里显示“文件系统: FAT32”。
4.3 TFT 文件放根目录并检查命名
把屏幕型号对应的.tft文件复制到 TF 卡根目录,注意是根目录,不要放进任何文件夹。刷机程序只会扫描根目录下的.tft文件,文件名要和屏幕型号一致。比如 3.2 寸的 Nextion 屏,文件名通常是NX4024T032.tft,放进去之后最好再确认一下没有多出来一个同名的.tft.bak之类的后缀。Windows 的资源管理器如果隐藏了扩展名,容易误把NX4024T032.tft.txt当成有效文件,这种文件插进屏幕后刷写程序会提示文件打开失败。
4.4 卡槽位置:屏幕背面,不是树莓派
这一步最容易搞混。TF 卡要插入屏幕背面的卡槽,不是树莓派上的 SD 卡槽。Nextion 屏幕背面有一个很小的 push-push 卡槽,通常在排线接口旁边,插进去会有咔哒一声。树莓派上的 SD 卡是系统卡,插错了系统就启动不了了。插好卡后,断电,再重新上电,屏幕会先进入自检,显示型号和固件版本,大约 3 秒后自动开始刷写。
4.5 出现 SUcceed 才算刷完
刷写过程中屏幕会显示进度条或者更新的页面,完成后会出现SUcceed字样。
提示:Nextion 刷写程序里显示的固定拼写是
SUcceed,不是Succeed,看到前者才是成功。
看到SUcceed后断电,拔出 TF 卡,再次上电,屏幕进入正常显示界面。如果中途看到Failed或者File not found,不要反复上下电,先把卡重新格式化一遍,再复制一次 TFT 文件重刷。刷写失败一般不是屏幕坏了,而是卡格式或文件位置不对。
4.6 刷写失败的排查思路
| 现象 | 大概率原因 | 处理 |
|---|---|---|
| 上电后一直停留在自检画面 | 卡格式不是 FAT32 | 重新用 FAT32 工具格式化 |
| 提示 File not found | TFT 文件不在根目录 | 把文件移到根目录 |
| 刷完显示异常花屏 | 型号文件选错 | 下载对应屏幕分辨率的 TFT |
| 刷写中断在 40% 左右 | TF 卡出现坏块 | 换一张卡重试 |
刷写本身是屏幕固件程序在跑,不依赖树莓派,所以树莓派上装没装驱动不影响刷写过程。反过来,刷完固件如果树莓派侧驱动还没装,屏幕显示的是内置示例页,数据不动,这时候回到驱动安装步骤把软件层补齐就行。
5. 验证显示与手动更新中文通讯录
5.1 检查主屏数据是否恢复
重启后观察屏幕,主屏应该同时显示温度、主频、负载、发射状态和当前通话组。如果温度有、主频和负载空白,通常是驱动安装时install.sh里的系统信息模块没有正确读取树莓派 CPU 数据,重新跑一次安装脚本,输入y后等脚本自动配置即可。另外,MMDVM 热点在还没有通联时,屏幕上部分数据本来就是 0,不要因为这个误判安装失败。
5.2 手动更新中文通讯录
驱动安装脚本里集成了中文通讯录,但如果你发现 DMR 通联时屏幕上的名字仍是英文,可以手动执行一次更新。SSH 登录后依次运行:
rpi-rw # 切换可写 cd /tmp # 进入临时目录 sudo git clone https://gitee.com/BD3OYD/MMDVM.git # 拉取通讯录仓库 cd /tmp/MMDVM # 进入仓库目录 sudo cp stripped.csv /usr/local/etc # 复制通讯录到系统目录第一行切换可写文件系统;第二、三行把包含stripped.csv的仓库克隆到/tmp;第四行进入仓库目录;第五行把通讯录数据库复制到/usr/local/etc。复制完成后,在 Pi-Star 配置页面把 MMDVMHost 重启一次,新通讯录才会被加载。注意这个仓库和驱动仓库是分开的,手动更新不会覆盖驱动文件,可以放心重复执行。
5.3 一个实用技巧:校验端口映射再重启
驱动装完、固件也刷好,最后可以做一次端到端校验,避免屏幕和树莓派之间的设备节点漂移。在 SSH 里执行:
# 检查屏幕对应的串口设备节点是否存在 ls -l /dev/ttyAMA0 /dev/ttyUSB0 2>/dev/null正常应该看到至少一个设备节点存在。如果/dev/ttyAMA0没有出现,检查/boot/config.txt里有没有被蓝牙串口占用,注释掉对应行后重启树莓派。这和 stlink 驱动安装、jlink 驱动安装排查设备枚举的思路一样,设备节点不存在时,上层工具再正常也连不上硬件。经过这轮校验,屏幕、驱动、固件、通讯录四个环节都确认无误,热点在通联时就会显示中文,后续如果再出现空白,优先检查的就不是屏幕,而是配置页面里端口和输出项有没有被重置。
本文还有配套的精品资源,点击获取