3、硬件平台介绍:主控芯片与LoRa模块选型

做物联网项目,硬件选型是第一步,也是最容易踩坑的一步。我这些年经手过不下二十个IoT项目,从智能农业到工业监测,选错芯片或者模块,后面调试起来真是欲哭无泪。今天咱们就好好聊聊主控芯片、LoRa模块和传感器怎么选。

3.1 主控芯片选型:STM32 vs ESP32

先说结论:没有最好的芯片,只有最合适的芯片。我个人习惯把项目需求先列清楚,再决定用哪个。

STM32系列

STM32是意法半导体的王牌产品,Cortex-M内核,生态极其成熟。我在2018年做的一个农业大棚项目,用的就是STM32F103C8T6,到现在还在稳定运行。

型号 内核 主频 RAM Flash 典型场景
STM32F103C8T6 Cortex-M3 72MHz 20KB 64KB 传感器采集+LoRa透传
STM32L051C8T6 Cortex-M0+ 32MHz 8KB 64KB 低功耗电池供电
STM32G070CBT6 Cortex-M0+ 64MHz 36KB 128KB 性价比之选

优点

  • 资料多,遇到问题百度一下基本有答案
  • 外设丰富,SPI、I2C、UART随便用
  • 低功耗做得好,L0系列待机电流才0.3μA

缺点

  • 没有WiFi/蓝牙,需要外接模块
  • 开发环境Keil/IAR,上手有点门槛
我的建议:如果你做的是纯传感器采集+LoRa上传,不需要联网,STM32是首选。特别是电池供电的场景,L0系列的低功耗表现让我很放心。

ESP32系列

ESP32是乐鑫的明星产品,集成了WiFi和蓝牙。说白了,它就是个带无线功能的单片机。我最近做的一个环境监测站,就用的ESP32-S3,因为需要偶尔通过WiFi上传数据做备份。

型号 内核 主频 RAM Flash 特色
ESP32-WROOM-32 双核Xtensa LX6 240MHz 520KB 4MB WiFi+蓝牙经典
ESP32-S3 双核Xtensa LX7 240MHz 512KB 16MB AI加速、USB OTG
ESP32-C3 单核RISC-V 160MHz 400KB 4MB 低成本、蓝牙5.0

优点

  • 自带WiFi/蓝牙,省一个模块的钱
  • Arduino IDE支持,入门快
  • 性能强,240MHz跑复杂算法没问题

缺点

  • 低功耗不如STM32,深度睡眠还有10μA左右
  • ADC精度一般,采集模拟传感器要小心
避坑指南:我曾经在一个项目中用ESP32的ADC采集土壤湿度,结果数据跳得厉害。后来发现ESP32的ADC线性度不太好,需要做软件校准。如果你对模拟量精度要求高,建议外挂一个ADS1115。

3.2 LoRa模块对比:SX1278 vs SX1262

LoRa模块是远距离传输的核心。市面上主流的就两种:SX1278和SX1262。我两个都用过,说说真实感受。

SX1278

这是Semtech的老将,FIFO模式,SPI接口。我2019年做的一个水库水位监测项目,用的就是SX1278,通信距离实测3.2公里(城市环境)。

  • 频段:410-525MHz,国内常用433MHz
  • 灵敏度:-148dBm(SF12时)
  • 最大发射功率:+20dBm(100mW)
  • 调制方式:LoRa、FSK、OOK
  • 价格:模块价格约15-25元

SX1262

这是新一代产品,支持CAD(信道活动检测)和DIO2控制。我去年做的一个智慧农业项目,换成了SX1262,功耗比SX1278低了约30%。

  • 频段:150-960MHz,覆盖更广
  • 灵敏度:-148dBm(SF12时)
  • 最大发射功率:+22dBm(158mW)
  • 调制方式:LoRa、FSK、MSK、GFSK
  • 价格:模块价格约20-35元
对比项 SX1278 SX1262
功耗(接收) 10.8mA 4.6mA
功耗(发射20dBm) 120mA 85mA
最大速率 37.5kbps 62.5kbps
CAD支持 需要软件实现 硬件支持
开发难度 简单,资料多 中等,寄存器有变化
选型建议:如果项目对功耗敏感(比如电池供电一年以上),选SX1262。如果只是做原型验证或者成本敏感,SX1278完全够用。我个人现在新项目都优先用SX1262,毕竟功耗优势太明显了。

3.3 传感器选型原则

传感器选型,说白了就是三个字:准、稳、省。准是精度,稳是长期稳定性,省是功耗和成本。我踩过的坑不少,分享几个原则。

温湿度传感器

最常用的是DHT11、DHT22和SHT30。DHT11精度太差,我从来不用。DHT22精度还行,但响应慢。SHT30是我现在的首选。

  • SHT30:精度±2%RH,±0.3°C,I2C接口,价格约8元
  • DHT22:精度±2%RH,±0.5°C,单总线,价格约5元
  • BME280:精度±3%RH,±1.0°C,还带气压,价格约10元
我的经验:做户外项目,千万别把传感器直接暴露在阳光下。我吃过这个亏,数据直接飘到50°C。加个百叶箱或者遮阳罩,数据就正常了。

光照传感器

光照传感器分两种:模拟输出和数字输出。模拟的便宜,但需要ADC。数字的贵,但精度高。

  • BH1750:数字输出,I2C接口,量程1-65535lux,价格约5元
  • TSL2561:数字输出,I2C接口,可测红外+可见光,价格约8元
  • 光敏电阻:模拟输出,便宜但精度差,价格约0.5元

我个人习惯用BH1750,精度够用,代码也简单。你想想看,一个光照传感器如果误差几百lux,对植物生长判断影响不大,但如果是光敏电阻,误差可能上千lux。

气压传感器

气压传感器主要用于海拔测量和天气预报。BMP280和BME280是主流。

  • BMP280:精度±1hPa,I2C/SPI,价格约3元
  • BME280:精度±1hPa,还带温湿度,价格约10元
  • MS5611:精度±0.1hPa,价格约15元
避坑指南:我曾经在一个项目中用BMP280测海拔,发现数据一直在跳。后来查资料才知道,BMP280对气流敏感,不能放在风口。加个海绵挡一下,数据就稳定了。

土壤湿度传感器

土壤湿度传感器是农业项目的核心。市面上主要有电容式和电阻式两种。

  • 电容式(如YL-69改进版):寿命长,不易腐蚀,价格约5元
  • 电阻式(如YL-69):便宜,但容易生锈,价格约2元
  • FDR型(如SM3001):精度高,带温度补偿,价格约30元

嗯,这里要注意:电阻式传感器用久了会电解腐蚀,我见过一个项目三个月后数据就完全不准了。所以我现在一律推荐电容式,虽然贵几块钱,但省心。

3.4 知识体系总览

下面这张图,是我自己总结的硬件选型决策流程。你跟着这个思路走,基本不会出错。

硬件选型决策流程 需求分析 是否需要WiFi/蓝牙联网? 选ESP32系列 选STM32系列 LoRa模块选型 LoRa模块选型 电池供电? → SX1262 市电供电? → SX1278 传感器选型(准、稳、省)

这张图的核心逻辑很简单:先看需不需要联网,再选主控,然后根据供电方式选LoRa模块,最后按准稳省原则选传感器。我每次做新项目,都会先画这么一张图,思路就清晰了。

总结一下:硬件选型没有标准答案,但有几个原则可以帮你少走弯路。主控芯片看功耗和联网需求,LoRa模块看功耗预算,传感器看精度和稳定性。记住这三个维度,你的项目就成功了一半。

好了,这一章的内容就到这里。下一章咱们开始动手搭建开发环境,把代码跑起来。


公众号:蓝海资料掘金营,微信deep3321