
1) 【一句话结论】
系统采用感知-网络-边缘-云四层架构,结合动态传感器部署、双网络覆盖(LoRa+5G)、边缘动态数据聚合与云端分片存储,通过针对性优化确保农田数据实时采集及收割季数据一致性。
2) 【原理/概念讲解】
系统分为四层,各层功能及关键设计:
3) 【对比与适用场景】
| 对比项 | LoRa | 5G | 适用场景 |
|---|---|---|---|
| 传输距离 | 5-15km(农田广域覆盖) | 1-2km(基站覆盖) | 偏远、大面积农田(传感器数量多) |
| 速率 | 低(几十kbps) | 高(Mbps级) | 数据密集场景(如病虫害图像传输) |
| 功耗 | 极低(电池供电,寿命≥5年) | 较高(需电源) | 长期部署,偏远区域 |
| 注意点 | 需中继站解决信号盲区,覆盖有限 | 基站部署成本高,信号受地形影响 | 需结合两种网络,互补覆盖 |
4) 【示例】
伪代码展示动态聚合逻辑:
# 传感器数据采集(感知层)
def collect_data():
while True:
moisture = read_moisture_sensor() # 读取湿度
temp = read_temp_sensor() # 读取温度
image = capture_pest_image() # 捕获病虫害图像
data = {
"ts": datetime.now(),
"moisture": moisture,
"temp": temp,
"image": image
}
send_to_edge(data) # 发送至边缘网关
time.sleep(5) # 非收割季每5秒采集一次
# 边缘网关动态处理(边缘层)
def edge_process(data, flow_rate):
# 检测异常值
if moisture < 10 or moisture > 80: # 湿度异常
alert("湿度异常")
# 动态聚合(收割季调整周期)
if is_harvest_season(): # 判断是否收割季
aggregated = aggregate(data, 30) # 30秒聚合一次
else:
aggregated = aggregate(data, 60) # 非收割季60秒
upload_to_cloud(aggregated) # 上传聚合数据
# 云端数据同步(云平台层)
def cloud_sync():
aggregated_data = fetch_from_edge() # 每分钟拉取聚合数据
store_in_influxdb(aggregated_data) # 存储到时序数据库
sync_edge_cloud() # 同步边缘与云端数据
5) 【面试口播版答案】
各位面试官好,我设计的农业物联网监控系统主要围绕分层架构和针对性优化来确保数据实时性和一致性。首先,感知层根据农田实际条件(比如地形、作物类型)动态调整传感器部署密度,比如平坦农田每10亩1个,坡地或作物密集区增加至5亩1个,确保数据采集全面。网络层采用LoRa(广域覆盖,适合偏远区域)和5G(高速传输,用于数据密集场景),通过现场勘测规划基站位置,确保信号覆盖。边缘计算层部署边缘网关,做数据预处理,比如过滤异常值,并根据收割季调整数据聚合周期(非收割季每分钟聚合一次,收割季缩短至30秒),减少云端压力。云平台层用流处理技术实时分析数据,存储时序数据库按时间/区域分片,弹性扩展应对高峰。这样既能保证数据实时传输,又能应对收割季数据峰值,满足青浦区农田监控需求。
6) 【追问清单】
7) 【常见坑/雷区】