第四章:通讯方案选择
通讯方案,说白了就是气象站怎么把数据传回来。我见过太多项目,传感器选得挺好,供电也稳,结果通讯一断,整个站就成了摆设。嗯,这一章咱们就聊聊几种主流的通讯方式,以及我这些年踩过的坑。
4.1 4G/5G通讯部署
4G/5G是目前最常用的方案。只要基站覆盖到位,稳定性和速率都没得说。我个人习惯是优先考虑4G,除非客户明确要求视频流或超低延迟。
我的经验: 别以为4G模块插上卡就能用。野外信号强度跟城市里完全两码事。我曾在内蒙古部署过一个站,4G信号显示满格,但一上传数据就掉线。后来发现是基站拥塞导致的。解决办法是配置APN专网,或者换用支持载波聚合的模块。
部署要点:
- 天线选型: 别用自带的小天线。我建议用外置高增益天线,至少5dBi以上。安装时注意极化方向,垂直安装最佳。
- SIM卡管理: 用物联网专用卡,别用手机卡。物联网卡有固定IP、流量池共享、远程管理等功能。我曾经吃过亏,用手机卡导致IP频繁变动,服务器端连接总是断。
- 信号测试: 正式部署前,用频谱仪或手机工程模式测一下RSRP(参考信号接收功率)和SINR(信噪比)。RSRP低于-110dBm就别指望稳定了。
// 4G模块AT指令配置示例(以移远EC20为例)
AT+QICSGP=1,1,"CMNET","","",0 // 设置APN
AT+QIACT=1 // 激活PDP上下文
AT+QIOPEN=1,0,"TCP","你的服务器IP",8080,0,1 // 建立TCP连接
避坑指南: 我曾经在山区部署时,4G信号时有时无。后来发现是基站扇区方向不对。解决办法是加装定向天线,对准最近的基站。另外,别忘了考虑运营商——移动覆盖广,电信延迟低,联通速率高。建议备两张不同运营商的卡,自动切换。
4.2 LoRa组网方案
LoRa适合低功耗、小数据量的场景。比如土壤湿度、温度这类每分钟传一次的数据,用LoRa再合适不过。说白了,它就是个省电的远距离通信方式。
组网结构:
- 节点: 每个气象站就是一个LoRa节点,采集数据后发送给网关。
- 网关: 负责接收节点数据,并通过4G或以太网上传至云端。网关覆盖半径可达3-5公里(视地形而定)。
- 网络服务器: 处理数据去重、下行指令等。可以用开源方案如ChirpStack,或者商用平台。
关键参数:
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 扩频因子(SF) | SF7-SF12 | SF越大,距离越远,但速率越低。我一般用SF9平衡距离和速率。 |
| 带宽(BW) | 125kHz / 250kHz | 125kHz更抗干扰,250kHz速率更高。 |
| 编码率(CR) | 4/5 | 默认即可,抗干扰能力强。 |
部署注意事项:
- 网关位置: 尽量高处安装,比如铁塔或屋顶。我见过有人把网关放在铁皮房顶下,结果信号全被屏蔽了。
- 节点数量: 一个网关理论上支持上千个节点,但实际建议不超过200个,否则冲突率会上升。
- 频段选择: 国内用CN470-510MHz频段。注意避开干扰源,比如对讲机、工业设备。
我的习惯: 部署前先用LoRa测试模块跑一遍路径损耗。如果RSSI低于-120dBm,就得考虑加中继或换方案。另外,LoRaWAN协议支持自适应数据速率(ADR),能自动优化参数,建议开启。
4.3 卫星通讯应急方案
有些地方,比如无人区、沙漠、高山,4G和LoRa都覆盖不到。这时候就得靠卫星通讯了。说白了,卫星是最后的保底方案,成本高,但可靠。
常用方案:
- 铱星(Iridium): 全球覆盖,支持短数据(SBD)和语音。我曾在青藏高原用过,信号稳定,就是贵——一条消息几块钱。
- 北斗短报文: 国内常用,支持双向通信。适合传输小数据包,比如每小时传一次温度、湿度。
- 天通卫星: 中国自主系统,支持语音和低速数据。覆盖亚太地区,资费比铱星便宜些。
避坑指南: 我曾经在新疆部署过一个站,用了铱星SBD模块。结果发现模块功耗特别大,电池撑不过三天。后来加了太阳能板和更大的电池才解决。另外,卫星通讯有延迟,别指望实时控制。建议设置数据缓存机制,等卫星过顶时批量上传。
// 铱星SBD发送示例(伪代码)
初始化卫星模块
while(1) {
采集传感器数据
打包成SBD消息(最大340字节)
发送至卫星
等待确认(通常30-60秒)
如果失败,存入本地缓存,下次重试
}
适用场景:
- 无人区长期监测(如冰川、荒漠)
- 应急备份(主通讯失效时自动切换)
- 移动平台(如浮标、无人机)
4.4 本地数据存储与回传机制
不管用哪种通讯方案,本地存储都是必须的。你想想看,万一网络断了,数据丢了,那整个监测周期就白费了。我见过太多人只依赖实时上传,结果一次断网就损失了半个月的数据。
存储方案:
- SD卡: 便宜、容量大。建议用工业级SD卡,耐高低温。我一般配32GB,能存好几年的数据。
- eMMC: 可靠性更高,适合嵌入式设备。但成本也高一些。
- NAND Flash: 适合小数据量,比如只存关键参数。
数据格式: 我习惯用CSV或JSON。CSV体积小,解析方便;JSON可读性好,适合复杂结构。示例:
// CSV格式
timestamp,temperature,humidity,pressure
2025-01-15 10:00:00,25.3,68.2,1013.5
2025-01-15 10:01:00,25.4,68.1,1013.4
// JSON格式
{
"device_id": "WS-001",
"timestamp": "2025-01-15T10:00:00Z",
"sensors": {
"temperature": 25.3,
"humidity": 68.2,
"pressure": 1013.5
}
}
回传机制:
- 定时回传: 比如每小时上传一次。适合数据量不大、实时性要求不高的场景。
- 事件触发: 比如检测到降雨或风速超标时立即上传。适合预警场景。
- 断点续传: 网络恢复后,自动补传本地缓存的数据。这个功能一定要实现,我吃过亏——有一次断网三天,恢复后数据没补传,结果客户投诉。
我的建议: 设计一个环形缓冲区。比如存最近30天的数据,满了就覆盖最旧的。这样既能保证数据不丢,又不会撑爆存储。另外,定期检查SD卡健康状态,比如用SMART信息。我遇到过SD卡坏道导致数据损坏的情况,后来加了CRC校验才解决。
嗯,通讯方案这块就聊到这儿。说白了,没有完美的方案,只有最适合的。4G/5G适合城市周边,LoRa适合农田和牧场,卫星适合无人区。而本地存储,是所有方案的基石。下一章咱们聊聊供电系统——别小看它,很多站死就死在供电上。