Nextion串口屏驱动安装与中文固件刷写:MMDVM热点显示恢复实战
简介业余无线电数字语音通信中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-DVMNextion 配置下面还有一个“热点版类型”下拉框这里要选 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正常能看到DisplayNextion、NextionPortmodem这样的行。如果这些行还是旧值说明刚才的应用设置没有生效需要先重启 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 foundTFT 文件不在根目录把文件移到根目录刷完显示异常花屏型号文件选错下载对应屏幕分辨率的 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 驱动安装排查设备枚举的思路一样设备节点不存在时上层工具再正常也连不上硬件。经过这轮校验屏幕、驱动、固件、通讯录四个环节都确认无误热点在通联时就会显示中文后续如果再出现空白优先检查的就不是屏幕而是配置页面里端口和输出项有没有被重置。本文还有配套的精品资源点击获取