第二章:硬件选型与准备——主流MCU对比、传感器选型、通信模块与开发板介绍

各位同学,欢迎来到第二章。这一章我们聊聊硬件选型。说实话,很多初学者一上来就纠结“到底用哪个板子好”。我当年也这样,买了一大堆开发板,最后吃灰的比用的还多。所以这一章,我帮你把主流方案理清楚,让你少花冤枉钱。

2.1 主流MCU对比:ESP32、STM32、Arduino

选MCU就像选工具。螺丝刀能干很多活,但拆手机你得用精密螺丝刀。咱们一个一个说。

2.1.1 ESP32——物联网的“万金油”

我个人最推荐新手从ESP32入手。为什么?因为它自带Wi-Fi和蓝牙,你不需要额外接模块。我在项目中遇到过很多次,用ESP32做原型验证,从传感器采集到数据上云,一块芯片全搞定。

  • 核心优势:双核处理器、内置Wi-Fi/BLE、价格便宜(20-30元)
  • 缺点:功耗偏高、ADC精度一般(12位,实际有效位可能只有10位)
  • 适合场景:智能家居、环境监测、低成本原型
我的小技巧:ESP32的ADC在测量电池电压时,记得用分压电阻。我曾经直接接3.7V锂电池,结果ADC读数飘得厉害,后来加了两个10k电阻分压才稳定。

2.1.2 STM32——工业级的“老大哥”

如果你要做产品,尤其是需要高可靠性、低功耗的场景,STM32是首选。我做过一个冷链物流项目,要求设备在-20°C环境下连续工作半年,当时毫不犹豫选了STM32L系列。

  • 核心优势:丰富的外设(定时器、DMA、CAN总线)、低功耗、稳定性强
  • 缺点:开发门槛高、需要外接通信模块、价格稍贵
  • 适合场景:工业控制、医疗设备、电池供电设备
注意:STM32的HAL库虽然好用,但初学者容易掉进“配置陷阱”。我建议先学标准库或者直接上CubeMX生成代码,别自己手写底层。

2.1.3 Arduino——学习者的“玩具”

嗯,这里我要说句实话。Arduino不适合做产品,但它非常适合学习。你想想看,一个初学者能在10分钟内让LED闪烁,这种成就感很重要。我教学生时,第一节课永远用Arduino。

  • 核心优势:生态丰富、社区强大、上手极快
  • 缺点:性能弱(8位AVR)、无网络功能、不适合量产
  • 适合场景:教育、快速原型、创客项目
对比项 ESP32 STM32 Arduino
主频 240MHz 72-480MHz 16MHz
内置Wi-Fi
开发难度 中等
价格 20-30元 15-100元 10-30元
推荐指数 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐

2.2 传感器选型:温湿度、光照、GPS

传感器是物联网的“眼睛”。选错了传感器,数据就是垃圾。我见过有人用DHT11测-20°C的环境,结果数据全是0。嗯,这里要注意,传感器选型要看量程和精度。

2.2.1 温湿度传感器

  • DHT11:便宜(5元)、精度低(±2°C)、适合室内环境监测
  • DHT22:精度高(±0.5°C)、价格稍贵(15元)、适合农业大棚
  • SHT30:工业级、I2C接口、精度±0.3°C、我项目中最常用的
避坑指南:我曾经在户外项目中使用DHT11,结果夏天暴晒后数据直接飘到99°C。后来换成SHT30,加了个百叶箱防护罩,数据才稳定。

2.2.2 光照传感器

  • BH1750:数字输出、I2C接口、量程1-65535 lux、适合室内外
  • 光敏电阻:模拟输出、便宜、但需要自己校准

我个人习惯用BH1750。为什么?因为它直接输出lux值,不用自己算。你想想看,光敏电阻还得搭分压电路、写公式换算,多麻烦。

2.2.3 GPS模块

  • NEO-6M:经典款、冷启动36秒、精度2.5米
  • NEO-8M:支持北斗、搜星更快、价格差不多
  • ATGM336H:国产替代、性价比高、我最近在用的
经验分享:GPS模块的天线一定要放在开阔处。我做过一个车载项目,把GPS模块塞在金属机箱里,结果死活搜不到星。后来把天线引到车顶,信号瞬间满格。

2.3 通信模块:Wi-Fi、4G、LoRa

通信是物联网的“血管”。选什么通信方式,取决于你的应用场景。我总结了一个简单原则:室内用Wi-Fi,室外广覆盖用4G,低功耗远距离用LoRa。

2.3.1 Wi-Fi模块

  • ESP8266:经典Wi-Fi模块、AT指令控制、价格10元
  • ESP32:自带Wi-Fi、性能更强、推荐直接使用

说白了,现在很少有人单独用ESP8266了。ESP32价格差不多,性能翻倍,还带蓝牙。我建议你直接上ESP32。

2.3.2 4G模块

  • SIM7600:支持4G全网通、TCP/UDP/HTTP、适合车载
  • EC20:移远通信、工业级、功耗低、适合远程监控
注意:4G模块功耗高,待机电流可能达到20mA。如果你用电池供电,记得加MOS管控制电源。我有个学生没注意这个,电池两天就没电了。

2.3.3 LoRa模块

  • SX1278:433MHz、传输距离3-5km(空旷)、适合农业
  • E32-433T20S:国产、带MCU、使用简单

LoRa的优点是功耗极低,一颗电池能用一年。但缺点是速率慢,只能传小数据。你想想看,用它传视频肯定不行,但传温湿度数据绰绰有余。

通信方式 距离 功耗 速率 成本
Wi-Fi 50-100m
4G 无限
LoRa 3-5km 极低

2.4 开发板介绍

最后说说开发板。我建议初学者直接买现成的开发板,别自己画板子。等原型验证通过了,再考虑做PCB。

  • ESP32-DevKitC:官方开发板、引出所有IO、适合学习
  • NodeMCU-32S:国产、带USB转串口、即插即用
  • STM32F103C8T6最小系统板:便宜(10元)、适合入门STM32
  • Arduino Uno:经典款、适合初学者
我的推荐:如果你只买一块板子,买ESP32-DevKitC。它既能学Wi-Fi,又能接传感器,还能上云。一块板子走天下,不香吗?

好了,这一章就到这里。下一章我们开始搭建开发环境,把代码烧进去,让LED亮起来。到时候见。