去年底做水产养殖远程监测,让我纠结最久的不是传感器也不是代码,而是“设备怎么上云”。鱼塘边上没有Wi-Fi,普通2G模块又怕哪天被退网,最后定的是SIM7600G-H CAT4 4G (LTE) Shield for Arduino。这块板子我前前后后调了个把月,从最初AT指令回显都看不到,到后面稳定跑HTTP上报和GPS定位,中间踩的坑确实不少。这篇内容不适合刚接触Arduino的新手直接照抄,更适合那些已经会点亮LED、能跑串口打印,但对4G模块还没谱的朋友。我会把硬件接线、供电、AT指令、网络注册、GPS获取,以及实际项目里最容易被坑的位置全部捋一遍。
1. 为什么是这个组合:SIM7600G-H、CAT4、Shield 分别解决了什么
1.1 从通信制式说起:CAT4不是“速度代名词”,而是成本和功耗的平衡点
很多第一次接触4G模块的人,听到CAT4第一反应是“下行150Mbps,好快”。但如果你用的是Arduino UNO做主控,这个速度大概率一辈子跑不满。因为Arduino通过UART和模块通信,软串口的极限带宽也就几十kbps,哪怕用Mega的硬串口拉到921600波特率,理论吞吐也只有约90KB/s,换算下来不到1Mbps。真正让我选CAT4的原因,是它在速率、成本、覆盖和模块体积之间刚好处在甜点位:比Cat1快得多,带宽不再成为瓶颈;又不像5G那样贵得离谱、功耗大得离谱。
拿实际场景来说,我那个水产养殖项目需要每小时上报一次水温和溶氧数据,偶尔传一张现场照片,还要支持远程下发控制指令。这类流量放在NB-IoT上虽然也能跑,但NB-IoT的响应延迟高,图片传输基本不现实;Cat1倒是能传,但下行只有10Mbps左右,在弱信号环境下丢包更明显。CAT4在城区和农村的信号覆盖普遍不错,模块价格也还在能接受的范围,所以最终目标就锁定了SIM7600系列。
1.2 为什么是SIM7600G-H而不是SIM800系列或者SIM7000系列
SIM7600G-H是芯讯通(SIMCom)推出的一颗多模LTE模块,支持LTE-FDD/LTE-TDD/WCDMA/GSM,还集成了GNSS定位单元。相比现在已经烂大街的SIM800L,它最核心的优势是支持4G网络。现在很多运营商的2G网络已经开始缩减或退网,用SIM800L做远程设备,很可能某天设备就悄悄离线了。SIM7000系列虽然也有LTE,但它主推的是NB-IoT和Cat M,适合低频小数据,跑HTTP传图就吃力了。
我整理了一个对比表,方便你按需求选型:
| 对比项 | SIM800L | SIM7000系列 | SIM7600G-H |
|---|---|---|---|
| 制式 | 2G(GSM/GPRS) | LTE Cat M1/NB-IoT | LTE Cat4/WCDMA/GSM |
| 下行峰值 | 约85.6kbps | 约300kbps | 150Mbps |
| 网络依赖 | 2G退网即失效 | 覆盖有区域差异 | 覆盖广,4G兼容 |
| 集成GNSS | 无 | 部分型号有 | 有 |
| 适用场景 | 极简短信透传 | 低功耗传感上报 | 高速数传、图片、GPS |
当然,SIM7600G-H也不是没有缺点:功耗比NB-IoT高、模块体积更大、外围电路更复杂。但你如果上了这块Shield,外围电路已经被板厂替你处理好了,难度就降了一大截。
1.3 Shield形态的价值:原型阶段不要逼自己画板子
很多习惯画PCB的朋友可能觉得,Shield这种插板方式太占空间、不够专业。但原型验证阶段,你最大的敌人是“排查时间”。直接插一块Shield到Arduino UNO或者Mega上,不用管模块的电源设计、电平转换、天线匹配,也不用焊接,5分钟就能通电跑AT指令。我第一周就是用这个方式把模块完整跑通的,后面才去设计自己的底板,把SIM7600G-H模组移植过去。
这块Shield通常自带SIM卡座、SMA天线接口、电源指示灯、PWRKEY按钮和UART跳线,部分版本还带USB转串口芯片,可以直接用USB连电脑调模块。对于做课程设计、快速Demo、小批量试产的用户来说,Shield形态是最省时间的。
2. 上电前的硬件准备:接线、供电、天线这些“基础课”为什么决定成败
2.1 Shield的安装与引脚冲突检查
拆开包装后,第一件事不是急着插到UNO上,而是先翻一下板子丝印,看清楚UART跳线帽的位置。不同厂商的SIM7600G-H Shield默认串口引脚不一样,有的是D2/D3软串口,有的是D18/D19硬串口。我手里这块默认是软串口,占用了D2(模块TX)和D3(模块RX),同时PWRKEY控制引脚在D6。如果你的项目里还接了其他传感器或LCD,一定要先核对引脚冲突,别等焊好了才发现引脚被占用。
Mega用户会舒服很多,因为Mega有4组硬串口。我后来就是把模块从UNO换到Mega上,用Serial1(D18/D19)跟模块通信,D2/D3留给传感器,彻底解决了串口打架的问题。对于UNO用户,如果同时要接GPS模块和4G模块,建议直接换Mega。
2.2 供电不能靠USB:电流模型与实测
这是我在这个项目里翻车最惨的一次。第一次上电,我直接把Shield插到UNO上,用电脑USB口供电,结果模块指示灯亮了,但AT指令一个都不回。查了半天,发现不是模块坏了,是电流不够。
SIM7600G-H在开机瞬间和射频发射时会有一个很夸张的电流尖峰。官方数据显示峰值电流可以到2A左右,常规工作电流也有几百毫安。Arduino板载的稳压器本身就不是为这种大电流设计的,USB口的限流更是扛不住。当你发HTTP请求的时候,模块要提升发射功率,电压一跌,模块直接重启复位,现象就是“跑着跑着AT就没了”。
我的解决方法是:用官方推荐的外接电源方案,9V到12V DC电源接在Shield的DC座子上,让板载电源模块给Arduino和SIM7600统一供电。如果没有DC座,至少也要用5V 3A的独立稳压电源给Shield的5V引脚供电。模块发热也比较猛,别把板子塞在密闭塑料盒里,实测连续跑HTTP时模块屏蔽罩温度可以到50度以上,摸上去烫手。
2.3 天线选择和放置位置:信号弱不是模块的锅
SIM7600G-H Shield上一般有专门的LTE天线座(SMA母头)和GPS天线座。两个天线不一样,LTE天线用普通胶棒天线或吸盘天线,GPS天线要用有源陶瓷天线,而且GPS天线需要供电,板上通常会有一个跳线或者由模块自动供电。
天线没接好,最直接的现象是AT+CSQ返回99(信号不可用),或者AT+CREG?始终返回未注册状态。有一个我实测过的细节:天线位置对信号强度影响极大。我把天线放在金属外壳外面时,CSQ是20左右,塞到金属外壳内部时直接掉到11,个别位置直接没网。安装时天线要尽量垂直向上、远离大电流线路和金属屏蔽层,GPS天线最好放在能看见天空的位置,至少得靠近窗户,否则定位时间会成倍拉长。
3. Arduino IDE里的一次完整点灯:从软串口到AT指令的心跳确认
3.1 板卡选型和IDE准备
Arduino IDE方面,我用的是2.x版本,板