硬件平台选型:主控芯片、传感器与通信模块
做嵌入式气象站,第一步就是选型。说白了,就是给这个系统挑「大脑」、「五官」和「嘴巴」。
我这些年经手过不少气象站项目,从农业大棚到小型科研站都碰过。选型这事儿,真不能光看参数表。你想想看,一个传感器选错了,后面整个数据链路都得跟着改,那叫一个头疼。
好,咱们直接进入正题。
主控芯片:STM32 vs ESP32
这两款芯片,可以说是嵌入式圈子的「绝代双骄」。我个人的习惯是,先看项目需不需要联网,再决定用谁。
| 对比项 | STM32(以F103为例) | ESP32 |
|---|---|---|
| 核心架构 | Cortex-M3/M4 | Xtensa LX6 双核 |
| 主频 | 72MHz ~ 240MHz | 160MHz ~ 240MHz |
| WiFi/蓝牙 | 无(需外挂模块) | 内置双模蓝牙+WiFi |
| 功耗 | 低(可做到uA级待机) | 较高(WiFi开启时约80mA) |
| 开发难度 | 中等(HAL库较复杂) | 较低(Arduino生态友好) |
| 价格(批量) | ¥8 ~ ¥25 | ¥12 ~ ¥30 |
| 实时性 | 优秀(硬件定时器精准) | 良好(FreeRTOS原生支持) |
我的建议:
- 如果做有线传输或低功耗电池供电的气象站,选STM32。我在一个高山气象站项目里用过STM32L0系列,一节18650电池撑了半年。
- 如果做WiFi联网或快速原型验证,选ESP32。说白了,ESP32自带WiFi,省掉一个通信模块的钱和布线麻烦。
一个小技巧:ESP32的ADC线性度不太好,测模拟传感器时容易有误差。我建议用外部ADC芯片,比如ADS1115,精度会好很多。
传感器选型:温湿度、气压、风速风向
传感器是气象站的「五官」。选错了,数据就是垃圾。嗯,这里我踩过不少坑。
温湿度传感器
市面上最常见的就两种:DHT11和SHT30。
- DHT11:便宜(¥3左右),但精度差(±2°C,±5%RH)。适合做演示,别当真数据用。
- SHT30:贵一点(¥8左右),精度高(±0.3°C,±2%RH)。我建议直接上这个。
我曾经在一个项目中用了DHT11,结果数据跟旁边专业气象站差了4°C。后来换成SHT30,数据就对上了。所以,别省那几块钱。
气压传感器
推荐BMP280或BME280。BME280比BMP280多了一个湿度测量功能,但价格也贵一倍。
- BMP280:精度±1hPa,适合做高度计和气压趋势分析。
- BME280:精度更高,还能测湿度,但功耗稍大。
我个人习惯用BMP280,因为气压数据变化慢,没必要用BME280的湿度功能——温湿度已经有SHT30了。
风速风向传感器
这部分比较特殊。市面上有机械式和超声波式两种。
- 机械式:便宜(¥50~¥200),但容易卡死。我在一个沿海项目里,机械风速计用了三个月就锈死了。
- 超声波式:贵(¥500+),但无机械磨损,精度高。适合长期无人值守。
如果你做的是教学或低成本项目,可以用霍尔传感器+风杯的方案。我自己做过一个,用霍尔开关测风杯转速,再用ADC读风向电位器,成本控制在¥80以内。
注意:风速风向传感器通常输出的是脉冲信号或模拟电压。主控芯片需要配置外部中断或ADC来读取。ESP32的ADC线性度不好,建议用外部ADC或直接选数字输出的传感器。
通信模块选型
气象站的数据最终要传出去。怎么传?看场景。
| 通信方式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| WiFi(ESP32内置) | 室内或短距离(<100m) | 免布线,直接上云 | 功耗高,依赖路由器 |
| LoRa | 野外、远距离(1~10km) | 低功耗,穿透力强 | 速率低(仅几百bps) |
| NB-IoT | 蜂窝网络覆盖区 | 运营商网络,稳定 | 需要SIM卡,有流量费 |
| 4G/5G | 高速率、大带宽 | 速度快,实时性高 | 功耗高,模块贵 |
| 蓝牙 | 手机直连、近距离 | 简单,无需网关 | 距离短(<10m) |
我的推荐:
- 教学或室内项目:直接用ESP32的WiFi,省事。
- 野外长期监测:LoRa + 网关。我做过一个农业气象站,用LoRa把数据传到1.5公里外的网关,再通过4G上云,效果很好。
- 城市环境:NB-IoT,不用自己建网关,插卡就能用。
避坑指南:我曾经在LoRa项目里踩过一个坑——天线没选对。433MHz的天线长度约17cm,如果用了2.4GHz的天线,通信距离直接缩水到十分之一。所以,天线一定要匹配频率。
总结一下选型思路
说白了,选型就是三个问题:
- 要不要联网?要 -> ESP32;不要 -> STM32。
- 传感器精度够不够?温湿度用SHT30,气压用BMP280,风速风向看预算。
- 数据怎么传?近距离WiFi,远距离LoRa,有蜂窝信号用NB-IoT。
你想想看,把这些定下来,硬件平台就基本成型了。下一章咱们开始画原理图,到时候再细聊每个引脚的连接。