1、课程导学与硬件准备:ESP32开发板介绍、华为云账号注册与实名认证、开发环境搭建
大家好,欢迎来到《ESP32接入华为云IoT实现双向通信》的第一课。
我是你们这门课的老朋友。说实话,做IoT开发这些年,我踩过的坑比走过的路还多。从最早的51单片机玩起,到后来用STM32连各种云平台,再到如今专注ESP32+华为云,这一路走来,积累了不少经验。今天这第一课,咱们先把地基打牢。
1.1 为什么选ESP32?
你可能要问:市面上开发板那么多,为什么偏偏选ESP32?
我个人习惯用ESP32,原因有三:
- 便宜:一块带Wi-Fi和蓝牙的开发板,十几块钱就能搞定。我当年做项目时,用Wi-Fi模块加MCU的方案,成本翻了好几倍。
- 性能够用:双核240MHz的Xtensa处理器,520KB SRAM,跑MQTT协议栈绰绰有余。
- 生态成熟:Arduino、MicroPython、ESP-IDF,你想怎么玩都行。
嗯,这里要注意:市面上ESP32的型号很多,比如ESP32-WROOM-32、ESP32-S3、ESP32-C3。咱们这门课统一用经典的ESP32-WROOM-32,兼容性最好,资料也最多。
核心参数速览
| 处理器 | Xtensa LX6 双核 240MHz |
| Wi-Fi | 802.11 b/g/n,2.4GHz |
| 蓝牙 | BLE 4.2 + Classic BT |
| SRAM | 520KB |
| Flash | 4MB(常见) |
| GPIO | 34个可编程引脚 |
| ADC | 12位,最多18通道 |
1.2 华为云账号注册与实名认证
搞定了硬件,咱们得有个云平台。华为云IoT,我用了好几年,稳定性没得说。
注册流程其实很简单,但我还是想啰嗦几句,因为我在项目中遇到过因为账号权限问题折腾半天的情况。
- 打开华为云官网:点击右上角的「注册」。用手机号或者邮箱都行。
- 实名认证:这一步必须做。不认证的话,很多IoT服务开不了。我个人建议用「个人认证」,上传身份证正反面,一般几分钟就审核通过。
- 开通IoTDA服务:在控制台搜索「IoTDA」或者「设备接入」。进入后点击「立即开通」。注意选择区域,我一般选「华东-上海一」,延迟低一些。
避坑指南
我曾经因为没注意「免费额度」的限制,月底收到了一笔小账单。华为云IoTDA每个月有100万条消息的免费额度,咱们做实验完全够用。但如果你开了「企业版」或者「标准版」,记得看清楚计费规则。
1.3 开发环境搭建:两种方案任你选
开发环境这块,我给大家准备了两种方案。你选哪个都行,看个人习惯。
方案一:Arduino IDE(推荐新手)
说白了,Arduino IDE就是傻瓜式操作。我刚开始带学生时,都用这个,上手最快。
- 下载安装:去arduino.cc下载最新版。安装时一路默认就行。
- 配置ESP32支持:打开「文件」→「首选项」,在「附加开发板管理器网址」里填入:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - 安装ESP32开发板:打开「工具」→「开发板」→「开发板管理器」,搜索「ESP32」,点击安装。大概要下载几百兆,等几分钟就好。
- 选择开发板:插上你的ESP32,在「工具」→「开发板」里选择「ESP32 Dev Module」。端口选对,一般Windows下是COM口,Mac下是/dev/cu.usbserial-xxx。
小技巧
如果你在安装ESP32支持包时遇到网络问题,可以试试用手机热点。我遇到过好几次公司网络屏蔽了GitHub的情况,换热点秒解决。
方案二:VS Code + PlatformIO(进阶推荐)
如果你以后打算做商业项目,我建议直接上这个组合。PlatformIO的库管理、调试功能比Arduino IDE强太多了。
- 安装VS Code:去code.visualstudio.com下载安装。
- 安装PlatformIO插件:在VS Code的扩展商店里搜索「PlatformIO IDE」,点击安装。这个过程比较慢,因为要下载Python和一堆依赖。
- 创建新项目:点击PlatformIO的「Home」图标,选择「New Project」。项目名随便起,Board选「Espressif ESP32 Dev Module」,Framework选「Arduino」。
- 编译上传:写个简单的Blink程序,点击右下角的「→」箭头上传。第一次编译会下载ESP32的工具链,耐心等几分钟。
验证环境是否成功
不管用哪种方案,都先跑个Blink程序试试:
void setup() {
pinMode(2, OUTPUT);
}
void loop() {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
}
上传成功后,你会看到ESP32板载的LED灯(GPIO2)以1秒间隔闪烁。如果没亮,检查一下接线和端口选择。
1.4 硬件连接与注意事项
最后,咱们聊聊硬件连接。你想想看,如果硬件没接对,后面所有代码都是白搭。
- 供电:ESP32工作电压3.3V,但开发板通常自带USB转串口芯片,直接用USB线供电就行。千万别直接接5V到3.3V引脚,我烧过一块板子,血的教训。
- 串口通信:默认用GPIO1(TX)和GPIO3(RX)。如果你要用其他引脚做串口,记得在代码里指定。
- 按键和LED:很多开发板上有板载按键(GPIO0)和LED(GPIO2)。GPIO0在下载程序时拉低可以进入下载模式。
重要提醒
ESP32的GPIO引脚不是所有都能随便用的。比如GPIO6-11是Flash引脚,接了外部设备会导致程序跑飞。我刚开始做项目时,就因为这个排查了整整两天。记住:GPIO6-11、GPIO16-17(PSRAM)尽量别用。
好了,第一课的内容就到这里。硬件准备好了,环境搭好了,下一课咱们就开始写代码,让ESP32连上华为云。有什么问题,欢迎随时交流。
公众号:蓝海资料掘金营,微信deep3321