第一章 课程导论与硬件准备
各位同学好,我是这门课的主讲。做了十几年嵌入式开发,从最早的8位单片机一路折腾到现在的ARM Cortex-M系列,踩过的坑确实不少。今天咱们开始第一讲,先把整个物联网网关的架构理清楚,再把硬件清单列明白。
说白了,这一章就是“兵马未动,粮草先行”。你如果连LoRa和GPS模块长什么样都不清楚,后面写代码肯定抓瞎。我个人习惯是,动手之前先把全局图画在脑子里,再一个个模块去啃。
物联网网关架构概览
先看整体架构。一个典型的物联网数据采集网关,从下到上分四层:
- 感知层:传感器、GPS模块、各种采集终端
- 通信层:LoRa无线传输、串口通信
- 处理层:STM32主控芯片,负责数据解析、协议转换、逻辑控制
- 上云层:Wi-Fi/以太网/4G,把数据送到服务器或云平台
咱们这门课聚焦在“通信层+处理层”。GPS定位数据通过串口进STM32,LoRa模块负责把数据发出去。网关本身不存大量数据,它就是个“二传手”——收数据、打包、转发。
核心要点:网关不是路由器,它更像个翻译官。把传感器的原始数据翻译成LoRa无线帧,再通过另一个网关节点送到服务器。我见过不少新手把网关当路由器配,结果折腾一星期发现根本连不上网——方向错了。
下面这张图把咱们课程涉及的核心模块关系画清楚了:
LoRa与GPS技术选型
LoRa:远距离低功耗的王者
LoRa不是什么新技术,但它解决了物联网的一个核心痛点:又想传得远,又想省电。LoRa的物理层用的是扩频调制,灵敏度能做到-148dBm。什么概念?我在一个项目中做过实测,城区环境下,2公里轻松覆盖,郊区能到5公里以上。
选型时主要看三点:
| 参数 | SX1276 | SX1278 | 说明 |
|---|---|---|---|
| 工作频段 | 868MHz | 433MHz | 国内常用433MHz,穿透性更好 |
| 最大发射功率 | +20dBm | +20dBm | 约100mW,符合ISM频段法规 |
| 接收灵敏度 | -148dBm | -148dBm | 扩频增益带来的优势 |
| 调制方式 | LoRa™ / FSK | LoRa™ / FSK | 建议固定用LoRa模式 |
我的建议:初学者直接买集成的LoRa模块,比如E32-433T20D或者Ra-01。别自己画射频电路——高频走线、阻抗匹配、天线调试,这些坑我当年都踩过,没频谱仪根本调不出来。
GPS:定位精度与启动时间
GPS模块选型,我只看三个指标:
- 冷启动时间:第一次定位要多久。好的模块在35秒以内,差的能到2分钟。
- 定位精度:民用级一般在2.5米CEP(圆概率误差)。
- 更新率:1Hz够用,5Hz更好。
NEO-6M是入门首选,便宜、资料多、库函数成熟。NEO-8M支持GPS+北斗双模,室内弱信号环境下表现更好。我个人习惯是先用NEO-6M调通协议,再换高端模块。
注意:GPS模块的天线一定要有源天线(带LNA放大器),而且天线要放在室外或者窗边。我曾经在室内用无源天线测试,等了5分钟没定位成功,后来才发现是天线增益不够。嗯,这种低级错误犯一次就够了。
STM32单片机选型
STM32家族太庞大了,F0、F1、F4、L0、L4……初学者容易挑花眼。咱们这门课,我推荐两个方向:
| 型号 | 内核 | Flash | RAM | 适用场景 |
|---|---|---|---|---|
| STM32F103C8T6 | Cortex-M3 | 64KB | 20KB | 入门首选,资料最多 |
| STM32L051K8U6 | Cortex-M0+ | 64KB | 8KB | 低功耗场景,电池供电 |
F103是经典中的经典,淘宝上“最小系统板”十几块钱一块,串口、SPI、I2C全都有。L0系列主打低功耗,适合用电池供电的网关节点。我个人的经验是:先拿F103调通所有功能,再移植到L0上做功耗优化。
所需硬件清单与采购指南
下面这张清单,是我反复验证过的。照着买,不会错:
- STM32最小系统板 × 2块(一块做发送端,一块做接收端)
- LoRa模块(SX1278方案) × 2个
- GPS模块(NEO-6M或NEO-8M) × 1个
- USB转TTL模块(CH340或CP2102) × 1个
- 有源GPS天线 × 1根(SMA接口)
- 433MHz弹簧天线 × 2根
- 杜邦线(公对母、母对母各20根)
- 面包板 × 1块
- 5V/3.3V电源模块(AMS1117-3.3) × 1个
采购建议:别在同一个店买齐所有东西。STM32板子去专门卖开发板的店,LoRa模块去卖无线模块的店,GPS天线去卖安防配件的店。分开买反而便宜,而且质量有保障。我吃过一次亏,在一家店买了全套,结果LoRa模块焊盘虚焊,退换货折腾了两周。
总预算控制在150元以内。嗯,你没看错,150块钱就能搭出一套完整的物联网网关原型。这就是开源硬件的魅力。