1. 项目缘起为什么我们需要一块LTE Cat-6 HAT最近在折腾一个户外环境监测的项目核心硬件是树莓派需要它能在没有Wi-Fi的地方稳定上传数据。找了一圈4G模块发现市面上很多都是USB接口的“棒子”虽然能用但总觉得不够优雅——拖着根线供电和稳定性在移动或振动环境下都是隐患。直到我发现了移远通信的EM06-E模块以及围绕它设计的HATHardware Attached on Top扩展板。简单来说EM06-E LTE Cat-6 HAT就是一块可以直接插在树莓派或者Jetson Nano这类兼容40针GPIO的开发板头顶的4G上网卡。它把EM06-E这个高性能的LTE模组、SIM卡槽、必要的电源管理和信号转换电路都集成在了一块标准尺寸的板子上。你不再需要额外的USB接口、复杂的接线插上就能用物理连接极其稳固。Cat-6这个规格是重点。它属于4G LTE-Advanced的范畴支持载波聚合。通俗点讲就是模块可以同时利用两个不同的4G频段来传输数据好比把两条车道合并成一条更宽的高速公路。其理论下行峰值速率可达300Mbps上行峰值速率可达50Mbps。对于树莓派或Jetson Nano这类嵌入式设备来说这个速度已经绰绰有余无论是上传高清图片、短时视频流还是进行大量传感器数据的同步都能获得比普通Cat-1或Cat-4模块畅快得多的体验。我选择它的核心原因有三一是集成度高省心省力项目外观也整洁二是性能足够Cat-6保证了数据上传的带宽和及时性三是生态成熟移远的模块和相关的开源驱动支持都比较好踩坑的概率相对低。如果你也在为树莓派或Jetson设备寻找可靠、高速的移动网络解决方案这块HAT值得深入了解一下。2. 硬件开箱与核心部件解析拿到EM06-E LTE Cat-6 HAT第一印象是做工扎实。板子的大小与树莓派Model B系列完全一致可以直接严丝合缝地堆叠在上面。我们来看看板子上几个关键的部分。2.1 主角移远EM06-E LTE模组板子中央那个最大的、金属屏蔽罩覆盖的芯片就是EM06-E。这是一款支持多模多频的LTE Cat-6模块除了覆盖国内三大运营商的全部主流4G频段包括TD-LTE和FDD-LTE还向下兼容3G和2G网络确保在4G信号盲区也能保持基础连接。它采用M.2NGFF接口与底板连接这种接口在笔记本固态硬盘上很常见意味着模块本身是可更换的虽然一般没必要。模块通过PCIe接口与树莓派进行高速数据通信同时通过USB接口进行AT指令控制和调试这是目前高性能蜂窝模组与主机通信的主流方式。2.2 网络接口SIM卡槽与天线连接器板子一侧有一个标准的Nano-SIM卡槽。这里有个细节需要注意很多物联网卡或者旧的手机卡是Micro-SIM或标准SIM需要卡托或者剪卡。务必确保SIM卡已开通数据业务并且没有设置PIN码锁否则模块无法自动注册网络。天线部分至关重要。板子上通常会有两个天线接口主集天线MAIN和分集天线DIV。主集天线负责主要的信号收发分集天线用于接收可以提高在复杂信号环境下的接收灵敏度和稳定性尤其是在支持MIMO多入多出技术时。对于追求稳定性的项目建议两根天线都接上。天线接口通常是IPEX一代或称U.FL这种超小型接口你需要购买对应的、频段支持700MHz-2700MHz的4G LTE天线并注意天线线缆的长度和质量劣质线缆会极大衰减信号。2.3 电源管理与电平转换树莓派的GPIO引脚供电能力有限通常3.3V引脚总电流有限制而4G模块在发射信号时瞬时功耗可能超过2A。因此这块HAT板上必然集成了一颗高效的DC-DC电源管理芯片用于从树莓派的5V电源引脚取电并转换为模块所需的核心电压如3.8V、1.8V等并提供足够的电流保障。这是HAT相比USB模块的一大优势——供电设计更专业避免了因供电不足导致的模块重启、网络掉线等问题。另外树莓派GPIO是3.3V电平而模块的某些控制引脚如开机引脚PWR_KEY可能是1.8V电平。板上的电平转换电路确保了信号通信的可靠。2.4 状态指示灯与拨码开关板上会有1-2个LED指示灯例如NET灯网络状态和STATUS灯电源或工作状态。通过闪烁频率如慢闪、快闪、常亮可以直观判断模块的启动、搜网、注册、数据传输等状态这对于调试非常有用。还有一个重要的硬件配置是拨码开关。它用于选择模块与树莓派通信的接口模式。常见选项有USB模式模块通过USB接口与树莓派连接虚拟出串口如/dev/ttyUSB2用于AT指令和PPP拨号。这是最常用、兼容性最好的模式。PCIe模式模块通过PCIe接口与树莓派连接在系统里会识别为一个以太网卡如wwan0。这种方式性能理论上更优但需要内核驱动支持配置稍复杂。对于大多数用户尤其是初次使用强烈建议先设置在USB模式。3. 系统配置与驱动安装实战硬件连接好后将HAT插入树莓派GPIO排针接好天线插入SIM卡接下来就是软件层面的配置。这里以树莓派最新的64位Bullseye或Bookworm系统为例。3.1 系统准备与依赖安装首先确保系统已更新并安装必要的工具和库。sudo apt update sudo apt upgrade -y sudo apt install -y ppp screen minicom wvdialppp点对点协议拨号软件是让4G模块上网的核心。screen或minicom串口调试工具用于手动发送AT指令测试模块。wvdial一个智能的PPP拨号前端可以自动检测和配置但我们后面会用手动配置的ppp更可控。3.2 确认模块被系统识别将拨码开关调到USB模式给设备上电。稍等片刻使用lsusb命令查看USB设备列表。lsusb你应该能看到一个来自Quectel移远的USB设备类似Bus 001 Device 004: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EM06-E同时系统会创建几个/dev/ttyUSB*设备节点。使用dmesg | grep ttyUSB或直接ls /dev/ttyUSB*查看。通常/dev/ttyUSB0用于DMDiagnostic Message诊断消息/dev/ttyUSB1用于AT指令我们主要用这个/dev/ttyUSB2用于PPP拨号上网用这个/dev/ttyUSB3可能用于GPS功能如果模块支持3.3 使用AT指令进行基础测试我们可以用minicom来手动与模块对话这是排查问题的利器。sudo minicom -D /dev/ttyUSB1 -b 115200进入minicom后先按CtrlA然后按Z调出帮助菜单再按E可以打开本地回显这样你打的字才能看见。然后输入AT如果模块正常它会回复OK。再查询一下模块型号和固件版本ATI ATCGMM ATCGMR最关键的查询网络注册状态和信号强度ATCOPS? # 查询当前注册的网络运营商 ATCSQ # 查询信号强度ATCSQ的返回值如CSQ: 24,99第一个数字是信号强度范围0-31越大越好99表示未知或不可用。10以下可能信号就比较差了。第二个数字是信道误码率通常为99。3.4 配置PPP拨号上网这是让树莓派通过4G模块上网的核心步骤。我们需要创建两个配置文件。首先创建PPP的认证配置文件/etc/ppp/peers/quectel-ppp# 指定用于拨号的串口设备 /dev/ttyUSB2 # 通信速率 115200 # 锁定串口设备 lock # 不使用调制解调器控制线 noauth # 不进行身份验证 noipdefault # 使用端对端协议 defaultroute # 不替换默认路由这里我们先不用后面手动加 nodefaultroute # 不请求DNS服务器地址由运营商分配 usepeerdns # 关闭调试信息需要调试时可改为debug nolog # 保持连接断开后重试 persist # 最大传输单元 mtu 1500 # 接收最大传输单元 mru 1500 # 不请求任何额外的协议 noaccomp noccp novj nobsdcomp nodeflate # 蜂窝网络接入点名称APN根据你的SIM卡运营商填写 # 中国移动 cmnet # 中国联通 3gnet # 中国电信 ctnet connect /usr/sbin/chat -s -v -f /etc/ppp/chatscripts/quectel-chat-connect disconnect /usr/sbin/chat -s -v -f /etc/ppp/chatscripts/quectel-chat-disconnect然后创建Chat脚本文件/etc/ppp/chatscripts/quectel-chat-connect负责与模块进行拨号对话ABORT BUSY ABORT NO CARRIER ABORT ERROR TIMEOUT 30 AT OK ATCGDCONT1,IP,YOUR_APN_HERE # 将YOUR_APN_HERE替换为实际的APN如cmnet OK ATD*99***1# CONNECT注意将YOUR_APN_HERE替换成你SIM卡对应的APN。中国移动物联网卡也可能是cmiot具体需要咨询运营商。再创建一个断开连接的脚本/etc/ppp/chatscripts/quectel-chat-disconnect内容通常很简单ABORT ERROR ATH OK给脚本执行权限sudo chmod x /etc/ppp/chatscripts/quectel-chat-connect sudo chmod x /etc/ppp/chatscripts/quectel-chat-disconnect现在可以启动PPP连接了sudo pon quectel-ppp启动后使用ifconfig查看会发现多出一个ppp0的网络接口并分配到了运营商的内网IP通常是10.x.x.x。使用sudo plog可以查看PPP连接的日志。测试一下连通性ping -I ppp0 8.8.8.8如果通说明4G网络连接成功要让所有流量都走4G网络需要添加默认路由sudo ip route add default via $(ip -4 addr show ppp0 | grep inet | awk {print $2} | cut -d/ -f1) dev ppp0或者你也可以修改/etc/ppp/peers/quectel-ppp将nodefaultroute改为defaultroute这样pon命令会自动添加默认路由但可能会和已有的以太网或Wi-Fi路由冲突需要小心。断开连接使用sudo poff quectel-ppp4. 进阶配置开机自启与网络稳定性优化让4G连接在树莓派开机后自动建立并稳定运行是项目部署的关键。4.1 创建Systemd服务实现开机自启手动管理PPP连接太麻烦我们创建一个systemd服务让它自动运行。创建文件/etc/systemd/system/quectel-ppp.service[Unit] DescriptionQuectel EM06-E PPP Connection Afternetwork.target Wantsnetwork.target [Service] Typeforking ExecStart/usr/bin/pon quectel-ppp ExecStop/usr/bin/poff quectel-ppp Restartalways RestartSec10 Userroot [Install] WantedBymulti-user.target然后启用并启动这个服务sudo systemctl daemon-reload sudo systemctl enable quectel-ppp.service sudo systemctl start quectel-ppp.service使用sudo systemctl status quectel-ppp.service检查服务状态。这样每次树莓派启动都会自动尝试连接4G网络。4.2 网络链路检测与自动重连移动网络环境不稳定断线在所难免。我们需要一个“看门狗”脚本定期检测网络是否通畅如果失败则重启PPP连接。创建一个检测脚本/usr/local/bin/network_watchdog.sh#!/bin/bash # 要ping的目标可以是可靠的公网IP或DNS TARGET8.8.8.8 # 使用的网络接口 INTERFACEppp0 # 日志文件 LOG_FILE/var/log/network_watchdog.log # 检测函数 check_connection() { # 使用指定接口ping目标发送2个包超时5秒 ping -I $INTERFACE -c 2 -W 5 $TARGET /dev/null 21 return $? } # 主循环 while true; do if check_connection; then echo $(date): Connection via $INTERFACE is OK. $LOG_FILE 21 else echo $(date): Connection lost. Restarting ppp... $LOG_FILE 21 # 先断开 poff quectel-ppp /dev/null 21 sleep 5 # 再连接 pon quectel-ppp /dev/null 21 sleep 15 # 等待PPP连接稳定建立 echo $(date): PPP restarted. $LOG_FILE 21 fi sleep 60 # 每60秒检查一次 done给脚本执行权限并创建一个systemd服务来运行它/etc/systemd/system/network-watchdog.service[Unit] Description4G Network Watchdog Afterquectel-ppp.service Requiresquectel-ppp.service [Service] Typesimple ExecStart/usr/local/bin/network_watchdog.sh Restartalways Userroot [Install] WantedBymulti-user.target同样启用并启动这个看门狗服务。这样系统就具备了基本的自愈能力。4.3 针对Jetson Nano的特别注意事项Jetson Nano的GPIO引脚定义与树莓派40针兼容因此这块HAT也可以直接使用。但需要注意以下几点系统版本建议使用NVIDIA官方提供的JetPack SDK中的Ubuntu系统。一些第三方精简系统可能缺少必要的内核模块或ppp软件包需要手动安装。电源Jetson Nano的功耗比树莓派高尤其在CPU/GPU高负载时。务必确保你的电源适配器能提供至少5V/4A的稳定输出否则同时带动Jetson Nano和4G模块可能导致供电不足引发系统重启或模块工作异常。这是Jetson平台外接高性能配件时最常踩的坑。驱动兼容性USB模式在Jetson上通常没有问题。如果尝试PCIe模式需要确认Jetson的内核是否包含了qmi_wwan、cdc_mbim等驱动配置会更复杂一些。对于大多数应用USB模式已完全够用。散热HAT板可能会略微影响Jetson Nano的散热风道在密闭空间或高负载运行时需关注核心温度。5. 实战踩坑与疑难问题排查指南在实际部署中你几乎一定会遇到一些问题。下面是我总结的几个常见坑点和排查思路。5.1 模块无法被识别lsusb无输出检查硬件连接确保HAT已完全插入GPIO排针没有错位或虚接。检查天线是否接好虽然不接天线通常也能识别但建议接上。检查电源使用万用表测量树莓派5V引脚电压是否稳定在5V左右。可以尝试换用电流更大的电源如3A以上。检查拨码开关确认拨码开关设置在正确的模式初次使用建议USB模式。检查内核日志使用dmesg -w命令实时查看内核信息在插入HAT或给模块上电时观察是否有关于Quectel或usb的错误信息。尝试其他USB口如果是独立的USB模块尝试更换树莓派的USB端口。对于HAT其USB连接是内部的此条不适用。5.2 能识别模块但AT指令无响应确认正确的ttyUSB端口使用ls /dev/ttyUSB*查看并尝试ttyUSB0,ttyUSB1,ttyUSB2。用于AT指令的通常是ttyUSB1。检查串口参数确保minicom或screen设置的波特率是115200数据位8停止位1无奇偶校验。检查模块状态模块可能处于休眠或异常状态。尝试通过硬件复位如果HAT有复位按钮或软件AT指令ATCFUN1,1全功能重启此指令会断网来重启模块。查看PPP是否占用如果PPP服务正在运行它会占用ttyUSB2有时可能影响其他端口的通信。可以先sudo poff quectel-ppp停止PPP再测试AT指令。5.3 PPP拨号失败无法获取IP检查APN设置这是最常见的原因。确认/etc/ppp/chatscripts/quectel-chat-connect文件中的APN是否正确。不同运营商、甚至不同物联网卡套餐的APN都可能不同。检查SIM卡状态确认SIM卡已激活、有流量、且未欠费。可以将SIM卡插入手机看手机能否正常使用4G数据。检查网络注册在AT指令模式下使用ATCOPS?查看是否注册到网络ATCSQ查看信号强度。信号太弱如CSQ值小于10会导致注册失败或拨号超时。检查chat脚本语法确保脚本文件是Unix格式LF换行并且有执行权限。可以手动运行sudo chat -v -f /etc/ppp/chatscripts/quectel-chat-connect来调试拨号过程观察交互信息。查看PPP详细日志修改/etc/ppp/peers/quectel-ppp将nolog改为debug然后运行sudo pon quectel-ppp debug日志会输出到系统日志journalctl -f或/var/log/syslog中里面有更详细的错误信息。5.4 连接成功但网速慢或不稳定天线问题天线是影响速度稳定性的关键。确保使用的是正规的4G LTE天线并尽量将天线放置在信号好、无遮挡的位置。如果只有一根天线务必接在MAIN口。运营商频段使用AT指令ATQCFGband可以查询和设置模块优先使用的频段。不同运营商在不同地区的优势频段不同可以咨询运营商或尝试设置为全频段ATQCFGband,0,0,0,1让模块自动选择最优频段。注意错误设置可能导致无法上网操作前请记录原值。MTU/MRU设置移动网络有时会有特殊的MTU要求。如果访问某些网站不正常或大文件传输有问题可以尝试在/etc/ppp/peers/quectel-ppp中将mtu和mru从1500改为1400或1452试试。电源干扰劣质电源或同时连接大电流USB设备如外接硬盘可能引起电压波动影响4G模块的射频性能。使用高质量的电源和电源线。5.5 关于“HAT模型”与“YOLO环境配置”的联想在搜索时你可能看到“hat模型”和“Jetson Nano YOLO环境配置”等热词。这里澄清一下HAT模型在AI领域HAT通常指“Hybrid Attention Transformer”等模型架构与我们这里讲的硬件HAT扩展板完全是两回事。纯属名词巧合。Jetson Nano YOLO部署这确实是Jetson Nano的经典应用场景。我们的EM06-E LTE Cat-6 HAT在其中扮演的角色是为部署了YOLO等视觉模型的边缘设备Jetson Nano提供远程数据传输通道。例如Nano在本地完成摄像头视频流的目标检测后可以将识别结果如物体类别、位置、图片快照通过这块4G HAT实时上传到云端服务器实现远程监控和数据分析。配置好稳定的4G连接是让边缘AI应用真正“动起来”的关键一步。
树莓派/Jetson Nano使用EM06-E LTE Cat-6 HAT实现4G联网完整指南
1. 项目缘起为什么我们需要一块LTE Cat-6 HAT最近在折腾一个户外环境监测的项目核心硬件是树莓派需要它能在没有Wi-Fi的地方稳定上传数据。找了一圈4G模块发现市面上很多都是USB接口的“棒子”虽然能用但总觉得不够优雅——拖着根线供电和稳定性在移动或振动环境下都是隐患。直到我发现了移远通信的EM06-E模块以及围绕它设计的HATHardware Attached on Top扩展板。简单来说EM06-E LTE Cat-6 HAT就是一块可以直接插在树莓派或者Jetson Nano这类兼容40针GPIO的开发板头顶的4G上网卡。它把EM06-E这个高性能的LTE模组、SIM卡槽、必要的电源管理和信号转换电路都集成在了一块标准尺寸的板子上。你不再需要额外的USB接口、复杂的接线插上就能用物理连接极其稳固。Cat-6这个规格是重点。它属于4G LTE-Advanced的范畴支持载波聚合。通俗点讲就是模块可以同时利用两个不同的4G频段来传输数据好比把两条车道合并成一条更宽的高速公路。其理论下行峰值速率可达300Mbps上行峰值速率可达50Mbps。对于树莓派或Jetson Nano这类嵌入式设备来说这个速度已经绰绰有余无论是上传高清图片、短时视频流还是进行大量传感器数据的同步都能获得比普通Cat-1或Cat-4模块畅快得多的体验。我选择它的核心原因有三一是集成度高省心省力项目外观也整洁二是性能足够Cat-6保证了数据上传的带宽和及时性三是生态成熟移远的模块和相关的开源驱动支持都比较好踩坑的概率相对低。如果你也在为树莓派或Jetson设备寻找可靠、高速的移动网络解决方案这块HAT值得深入了解一下。2. 硬件开箱与核心部件解析拿到EM06-E LTE Cat-6 HAT第一印象是做工扎实。板子的大小与树莓派Model B系列完全一致可以直接严丝合缝地堆叠在上面。我们来看看板子上几个关键的部分。2.1 主角移远EM06-E LTE模组板子中央那个最大的、金属屏蔽罩覆盖的芯片就是EM06-E。这是一款支持多模多频的LTE Cat-6模块除了覆盖国内三大运营商的全部主流4G频段包括TD-LTE和FDD-LTE还向下兼容3G和2G网络确保在4G信号盲区也能保持基础连接。它采用M.2NGFF接口与底板连接这种接口在笔记本固态硬盘上很常见意味着模块本身是可更换的虽然一般没必要。模块通过PCIe接口与树莓派进行高速数据通信同时通过USB接口进行AT指令控制和调试这是目前高性能蜂窝模组与主机通信的主流方式。2.2 网络接口SIM卡槽与天线连接器板子一侧有一个标准的Nano-SIM卡槽。这里有个细节需要注意很多物联网卡或者旧的手机卡是Micro-SIM或标准SIM需要卡托或者剪卡。务必确保SIM卡已开通数据业务并且没有设置PIN码锁否则模块无法自动注册网络。天线部分至关重要。板子上通常会有两个天线接口主集天线MAIN和分集天线DIV。主集天线负责主要的信号收发分集天线用于接收可以提高在复杂信号环境下的接收灵敏度和稳定性尤其是在支持MIMO多入多出技术时。对于追求稳定性的项目建议两根天线都接上。天线接口通常是IPEX一代或称U.FL这种超小型接口你需要购买对应的、频段支持700MHz-2700MHz的4G LTE天线并注意天线线缆的长度和质量劣质线缆会极大衰减信号。2.3 电源管理与电平转换树莓派的GPIO引脚供电能力有限通常3.3V引脚总电流有限制而4G模块在发射信号时瞬时功耗可能超过2A。因此这块HAT板上必然集成了一颗高效的DC-DC电源管理芯片用于从树莓派的5V电源引脚取电并转换为模块所需的核心电压如3.8V、1.8V等并提供足够的电流保障。这是HAT相比USB模块的一大优势——供电设计更专业避免了因供电不足导致的模块重启、网络掉线等问题。另外树莓派GPIO是3.3V电平而模块的某些控制引脚如开机引脚PWR_KEY可能是1.8V电平。板上的电平转换电路确保了信号通信的可靠。2.4 状态指示灯与拨码开关板上会有1-2个LED指示灯例如NET灯网络状态和STATUS灯电源或工作状态。通过闪烁频率如慢闪、快闪、常亮可以直观判断模块的启动、搜网、注册、数据传输等状态这对于调试非常有用。还有一个重要的硬件配置是拨码开关。它用于选择模块与树莓派通信的接口模式。常见选项有USB模式模块通过USB接口与树莓派连接虚拟出串口如/dev/ttyUSB2用于AT指令和PPP拨号。这是最常用、兼容性最好的模式。PCIe模式模块通过PCIe接口与树莓派连接在系统里会识别为一个以太网卡如wwan0。这种方式性能理论上更优但需要内核驱动支持配置稍复杂。对于大多数用户尤其是初次使用强烈建议先设置在USB模式。3. 系统配置与驱动安装实战硬件连接好后将HAT插入树莓派GPIO排针接好天线插入SIM卡接下来就是软件层面的配置。这里以树莓派最新的64位Bullseye或Bookworm系统为例。3.1 系统准备与依赖安装首先确保系统已更新并安装必要的工具和库。sudo apt update sudo apt upgrade -y sudo apt install -y ppp screen minicom wvdialppp点对点协议拨号软件是让4G模块上网的核心。screen或minicom串口调试工具用于手动发送AT指令测试模块。wvdial一个智能的PPP拨号前端可以自动检测和配置但我们后面会用手动配置的ppp更可控。3.2 确认模块被系统识别将拨码开关调到USB模式给设备上电。稍等片刻使用lsusb命令查看USB设备列表。lsusb你应该能看到一个来自Quectel移远的USB设备类似Bus 001 Device 004: ID 2c7c:0125 Quectel Wireless Solutions Co., Ltd. EM06-E同时系统会创建几个/dev/ttyUSB*设备节点。使用dmesg | grep ttyUSB或直接ls /dev/ttyUSB*查看。通常/dev/ttyUSB0用于DMDiagnostic Message诊断消息/dev/ttyUSB1用于AT指令我们主要用这个/dev/ttyUSB2用于PPP拨号上网用这个/dev/ttyUSB3可能用于GPS功能如果模块支持3.3 使用AT指令进行基础测试我们可以用minicom来手动与模块对话这是排查问题的利器。sudo minicom -D /dev/ttyUSB1 -b 115200进入minicom后先按CtrlA然后按Z调出帮助菜单再按E可以打开本地回显这样你打的字才能看见。然后输入AT如果模块正常它会回复OK。再查询一下模块型号和固件版本ATI ATCGMM ATCGMR最关键的查询网络注册状态和信号强度ATCOPS? # 查询当前注册的网络运营商 ATCSQ # 查询信号强度ATCSQ的返回值如CSQ: 24,99第一个数字是信号强度范围0-31越大越好99表示未知或不可用。10以下可能信号就比较差了。第二个数字是信道误码率通常为99。3.4 配置PPP拨号上网这是让树莓派通过4G模块上网的核心步骤。我们需要创建两个配置文件。首先创建PPP的认证配置文件/etc/ppp/peers/quectel-ppp# 指定用于拨号的串口设备 /dev/ttyUSB2 # 通信速率 115200 # 锁定串口设备 lock # 不使用调制解调器控制线 noauth # 不进行身份验证 noipdefault # 使用端对端协议 defaultroute # 不替换默认路由这里我们先不用后面手动加 nodefaultroute # 不请求DNS服务器地址由运营商分配 usepeerdns # 关闭调试信息需要调试时可改为debug nolog # 保持连接断开后重试 persist # 最大传输单元 mtu 1500 # 接收最大传输单元 mru 1500 # 不请求任何额外的协议 noaccomp noccp novj nobsdcomp nodeflate # 蜂窝网络接入点名称APN根据你的SIM卡运营商填写 # 中国移动 cmnet # 中国联通 3gnet # 中国电信 ctnet connect /usr/sbin/chat -s -v -f /etc/ppp/chatscripts/quectel-chat-connect disconnect /usr/sbin/chat -s -v -f /etc/ppp/chatscripts/quectel-chat-disconnect然后创建Chat脚本文件/etc/ppp/chatscripts/quectel-chat-connect负责与模块进行拨号对话ABORT BUSY ABORT NO CARRIER ABORT ERROR TIMEOUT 30 AT OK ATCGDCONT1,IP,YOUR_APN_HERE # 将YOUR_APN_HERE替换为实际的APN如cmnet OK ATD*99***1# CONNECT注意将YOUR_APN_HERE替换成你SIM卡对应的APN。中国移动物联网卡也可能是cmiot具体需要咨询运营商。再创建一个断开连接的脚本/etc/ppp/chatscripts/quectel-chat-disconnect内容通常很简单ABORT ERROR ATH OK给脚本执行权限sudo chmod x /etc/ppp/chatscripts/quectel-chat-connect sudo chmod x /etc/ppp/chatscripts/quectel-chat-disconnect现在可以启动PPP连接了sudo pon quectel-ppp启动后使用ifconfig查看会发现多出一个ppp0的网络接口并分配到了运营商的内网IP通常是10.x.x.x。使用sudo plog可以查看PPP连接的日志。测试一下连通性ping -I ppp0 8.8.8.8如果通说明4G网络连接成功要让所有流量都走4G网络需要添加默认路由sudo ip route add default via $(ip -4 addr show ppp0 | grep inet | awk {print $2} | cut -d/ -f1) dev ppp0或者你也可以修改/etc/ppp/peers/quectel-ppp将nodefaultroute改为defaultroute这样pon命令会自动添加默认路由但可能会和已有的以太网或Wi-Fi路由冲突需要小心。断开连接使用sudo poff quectel-ppp4. 进阶配置开机自启与网络稳定性优化让4G连接在树莓派开机后自动建立并稳定运行是项目部署的关键。4.1 创建Systemd服务实现开机自启手动管理PPP连接太麻烦我们创建一个systemd服务让它自动运行。创建文件/etc/systemd/system/quectel-ppp.service[Unit] DescriptionQuectel EM06-E PPP Connection Afternetwork.target Wantsnetwork.target [Service] Typeforking ExecStart/usr/bin/pon quectel-ppp ExecStop/usr/bin/poff quectel-ppp Restartalways RestartSec10 Userroot [Install] WantedBymulti-user.target然后启用并启动这个服务sudo systemctl daemon-reload sudo systemctl enable quectel-ppp.service sudo systemctl start quectel-ppp.service使用sudo systemctl status quectel-ppp.service检查服务状态。这样每次树莓派启动都会自动尝试连接4G网络。4.2 网络链路检测与自动重连移动网络环境不稳定断线在所难免。我们需要一个“看门狗”脚本定期检测网络是否通畅如果失败则重启PPP连接。创建一个检测脚本/usr/local/bin/network_watchdog.sh#!/bin/bash # 要ping的目标可以是可靠的公网IP或DNS TARGET8.8.8.8 # 使用的网络接口 INTERFACEppp0 # 日志文件 LOG_FILE/var/log/network_watchdog.log # 检测函数 check_connection() { # 使用指定接口ping目标发送2个包超时5秒 ping -I $INTERFACE -c 2 -W 5 $TARGET /dev/null 21 return $? } # 主循环 while true; do if check_connection; then echo $(date): Connection via $INTERFACE is OK. $LOG_FILE 21 else echo $(date): Connection lost. Restarting ppp... $LOG_FILE 21 # 先断开 poff quectel-ppp /dev/null 21 sleep 5 # 再连接 pon quectel-ppp /dev/null 21 sleep 15 # 等待PPP连接稳定建立 echo $(date): PPP restarted. $LOG_FILE 21 fi sleep 60 # 每60秒检查一次 done给脚本执行权限并创建一个systemd服务来运行它/etc/systemd/system/network-watchdog.service[Unit] Description4G Network Watchdog Afterquectel-ppp.service Requiresquectel-ppp.service [Service] Typesimple ExecStart/usr/local/bin/network_watchdog.sh Restartalways Userroot [Install] WantedBymulti-user.target同样启用并启动这个看门狗服务。这样系统就具备了基本的自愈能力。4.3 针对Jetson Nano的特别注意事项Jetson Nano的GPIO引脚定义与树莓派40针兼容因此这块HAT也可以直接使用。但需要注意以下几点系统版本建议使用NVIDIA官方提供的JetPack SDK中的Ubuntu系统。一些第三方精简系统可能缺少必要的内核模块或ppp软件包需要手动安装。电源Jetson Nano的功耗比树莓派高尤其在CPU/GPU高负载时。务必确保你的电源适配器能提供至少5V/4A的稳定输出否则同时带动Jetson Nano和4G模块可能导致供电不足引发系统重启或模块工作异常。这是Jetson平台外接高性能配件时最常踩的坑。驱动兼容性USB模式在Jetson上通常没有问题。如果尝试PCIe模式需要确认Jetson的内核是否包含了qmi_wwan、cdc_mbim等驱动配置会更复杂一些。对于大多数应用USB模式已完全够用。散热HAT板可能会略微影响Jetson Nano的散热风道在密闭空间或高负载运行时需关注核心温度。5. 实战踩坑与疑难问题排查指南在实际部署中你几乎一定会遇到一些问题。下面是我总结的几个常见坑点和排查思路。5.1 模块无法被识别lsusb无输出检查硬件连接确保HAT已完全插入GPIO排针没有错位或虚接。检查天线是否接好虽然不接天线通常也能识别但建议接上。检查电源使用万用表测量树莓派5V引脚电压是否稳定在5V左右。可以尝试换用电流更大的电源如3A以上。检查拨码开关确认拨码开关设置在正确的模式初次使用建议USB模式。检查内核日志使用dmesg -w命令实时查看内核信息在插入HAT或给模块上电时观察是否有关于Quectel或usb的错误信息。尝试其他USB口如果是独立的USB模块尝试更换树莓派的USB端口。对于HAT其USB连接是内部的此条不适用。5.2 能识别模块但AT指令无响应确认正确的ttyUSB端口使用ls /dev/ttyUSB*查看并尝试ttyUSB0,ttyUSB1,ttyUSB2。用于AT指令的通常是ttyUSB1。检查串口参数确保minicom或screen设置的波特率是115200数据位8停止位1无奇偶校验。检查模块状态模块可能处于休眠或异常状态。尝试通过硬件复位如果HAT有复位按钮或软件AT指令ATCFUN1,1全功能重启此指令会断网来重启模块。查看PPP是否占用如果PPP服务正在运行它会占用ttyUSB2有时可能影响其他端口的通信。可以先sudo poff quectel-ppp停止PPP再测试AT指令。5.3 PPP拨号失败无法获取IP检查APN设置这是最常见的原因。确认/etc/ppp/chatscripts/quectel-chat-connect文件中的APN是否正确。不同运营商、甚至不同物联网卡套餐的APN都可能不同。检查SIM卡状态确认SIM卡已激活、有流量、且未欠费。可以将SIM卡插入手机看手机能否正常使用4G数据。检查网络注册在AT指令模式下使用ATCOPS?查看是否注册到网络ATCSQ查看信号强度。信号太弱如CSQ值小于10会导致注册失败或拨号超时。检查chat脚本语法确保脚本文件是Unix格式LF换行并且有执行权限。可以手动运行sudo chat -v -f /etc/ppp/chatscripts/quectel-chat-connect来调试拨号过程观察交互信息。查看PPP详细日志修改/etc/ppp/peers/quectel-ppp将nolog改为debug然后运行sudo pon quectel-ppp debug日志会输出到系统日志journalctl -f或/var/log/syslog中里面有更详细的错误信息。5.4 连接成功但网速慢或不稳定天线问题天线是影响速度稳定性的关键。确保使用的是正规的4G LTE天线并尽量将天线放置在信号好、无遮挡的位置。如果只有一根天线务必接在MAIN口。运营商频段使用AT指令ATQCFGband可以查询和设置模块优先使用的频段。不同运营商在不同地区的优势频段不同可以咨询运营商或尝试设置为全频段ATQCFGband,0,0,0,1让模块自动选择最优频段。注意错误设置可能导致无法上网操作前请记录原值。MTU/MRU设置移动网络有时会有特殊的MTU要求。如果访问某些网站不正常或大文件传输有问题可以尝试在/etc/ppp/peers/quectel-ppp中将mtu和mru从1500改为1400或1452试试。电源干扰劣质电源或同时连接大电流USB设备如外接硬盘可能引起电压波动影响4G模块的射频性能。使用高质量的电源和电源线。5.5 关于“HAT模型”与“YOLO环境配置”的联想在搜索时你可能看到“hat模型”和“Jetson Nano YOLO环境配置”等热词。这里澄清一下HAT模型在AI领域HAT通常指“Hybrid Attention Transformer”等模型架构与我们这里讲的硬件HAT扩展板完全是两回事。纯属名词巧合。Jetson Nano YOLO部署这确实是Jetson Nano的经典应用场景。我们的EM06-E LTE Cat-6 HAT在其中扮演的角色是为部署了YOLO等视觉模型的边缘设备Jetson Nano提供远程数据传输通道。例如Nano在本地完成摄像头视频流的目标检测后可以将识别结果如物体类别、位置、图片快照通过这块4G HAT实时上传到云端服务器实现远程监控和数据分析。配置好稳定的4G连接是让边缘AI应用真正“动起来”的关键一步。