第二章:硬件选型与准备——主流MCU对比、传感器选型、通信模块与开发板介绍
各位同学,欢迎来到第二章。这一章我们聊聊硬件选型。说实话,很多初学者一上来就纠结“到底用哪个板子好”。我当年也这样,买了一大堆开发板,最后吃灰的比用的还多。所以这一章,我帮你把主流方案理清楚,让你少花冤枉钱。
2.1 主流MCU对比:ESP32、STM32、Arduino
选MCU就像选工具。螺丝刀能干很多活,但拆手机你得用精密螺丝刀。咱们一个一个说。
2.1.1 ESP32——物联网的“万金油”
我个人最推荐新手从ESP32入手。为什么?因为它自带Wi-Fi和蓝牙,你不需要额外接模块。我在项目中遇到过很多次,用ESP32做原型验证,从传感器采集到数据上云,一块芯片全搞定。
- 核心优势:双核处理器、内置Wi-Fi/BLE、价格便宜(20-30元)
- 缺点:功耗偏高、ADC精度一般(12位,实际有效位可能只有10位)
- 适合场景:智能家居、环境监测、低成本原型
2.1.2 STM32——工业级的“老大哥”
如果你要做产品,尤其是需要高可靠性、低功耗的场景,STM32是首选。我做过一个冷链物流项目,要求设备在-20°C环境下连续工作半年,当时毫不犹豫选了STM32L系列。
- 核心优势:丰富的外设(定时器、DMA、CAN总线)、低功耗、稳定性强
- 缺点:开发门槛高、需要外接通信模块、价格稍贵
- 适合场景:工业控制、医疗设备、电池供电设备
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、我项目中最常用的
2.2.2 光照传感器
- BH1750:数字输出、I2C接口、量程1-65535 lux、适合室内外
- 光敏电阻:模拟输出、便宜、但需要自己校准
我个人习惯用BH1750。为什么?因为它直接输出lux值,不用自己算。你想想看,光敏电阻还得搭分压电路、写公式换算,多麻烦。
2.2.3 GPS模块
- NEO-6M:经典款、冷启动36秒、精度2.5米
- NEO-8M:支持北斗、搜星更快、价格差不多
- ATGM336H:国产替代、性价比高、我最近在用的
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:移远通信、工业级、功耗低、适合远程监控
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:经典款、适合初学者
好了,这一章就到这里。下一章我们开始搭建开发环境,把代码烧进去,让LED亮起来。到时候见。