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-Fi802.11 b/g/n,2.4GHz
蓝牙BLE 4.2 + Classic BT
SRAM520KB
Flash4MB(常见)
GPIO34个可编程引脚
ADC12位,最多18通道

1.2 华为云账号注册与实名认证

搞定了硬件,咱们得有个云平台。华为云IoT,我用了好几年,稳定性没得说。

注册流程其实很简单,但我还是想啰嗦几句,因为我在项目中遇到过因为账号权限问题折腾半天的情况。

  1. 打开华为云官网:点击右上角的「注册」。用手机号或者邮箱都行。
  2. 实名认证:这一步必须做。不认证的话,很多IoT服务开不了。我个人建议用「个人认证」,上传身份证正反面,一般几分钟就审核通过。
  3. 开通IoTDA服务:在控制台搜索「IoTDA」或者「设备接入」。进入后点击「立即开通」。注意选择区域,我一般选「华东-上海一」,延迟低一些。

避坑指南

我曾经因为没注意「免费额度」的限制,月底收到了一笔小账单。华为云IoTDA每个月有100万条消息的免费额度,咱们做实验完全够用。但如果你开了「企业版」或者「标准版」,记得看清楚计费规则。

1.3 开发环境搭建:两种方案任你选

开发环境这块,我给大家准备了两种方案。你选哪个都行,看个人习惯。

方案一:Arduino IDE(推荐新手)

说白了,Arduino IDE就是傻瓜式操作。我刚开始带学生时,都用这个,上手最快。

  1. 下载安装:去arduino.cc下载最新版。安装时一路默认就行。
  2. 配置ESP32支持:打开「文件」→「首选项」,在「附加开发板管理器网址」里填入:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  3. 安装ESP32开发板:打开「工具」→「开发板」→「开发板管理器」,搜索「ESP32」,点击安装。大概要下载几百兆,等几分钟就好。
  4. 选择开发板:插上你的ESP32,在「工具」→「开发板」里选择「ESP32 Dev Module」。端口选对,一般Windows下是COM口,Mac下是/dev/cu.usbserial-xxx。

小技巧

如果你在安装ESP32支持包时遇到网络问题,可以试试用手机热点。我遇到过好几次公司网络屏蔽了GitHub的情况,换热点秒解决。

方案二:VS Code + PlatformIO(进阶推荐)

如果你以后打算做商业项目,我建议直接上这个组合。PlatformIO的库管理、调试功能比Arduino IDE强太多了。

  1. 安装VS Code:去code.visualstudio.com下载安装。
  2. 安装PlatformIO插件:在VS Code的扩展商店里搜索「PlatformIO IDE」,点击安装。这个过程比较慢,因为要下载Python和一堆依赖。
  3. 创建新项目:点击PlatformIO的「Home」图标,选择「New Project」。项目名随便起,Board选「Espressif ESP32 Dev Module」,Framework选「Arduino」。
  4. 编译上传:写个简单的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