兴趣使然,斥巨资25元淘宝了一块ESP32的开发版,也就是最“昂贵”的ESP32 DEVKIT V1。
已经有将近10年没有做嵌入式开发,正琢磨着要不要搞一个Windows环境做ESP32开发,搜索一圈以后发现,esp-idf对各个平台的支持居然都不错。因此尝试在M1上面配置了一下ESP32的开发环境。
esp-idf本质上是一个VS Code插件。因此,所谓的安装配置过程就是ESP-IDF VS Code 插件的安装过程。整体流程基本做到了一路下一步。如果你跟我一样是苹果M1的环境,有几个点需要在注意一下:
- idf插件依赖python 3环境。macOS Monterey自带的python3会在一些路径识别上出现头文件无法找到的问题,导致安装失败。诸如:
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/Headers -arch arm64 -arch x86_64 -Werror=implicit-function-declaration -DCYTHON_CLINE_IN_TRACEBACK=0 -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -Isrc -Isrc/lxml/includes -I/Users/liudanking/.espressif/python_env/idf4.4_py3.8_env/include -I/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/Headers -c src/lxml/etree.c -o build/temp.macosx-10.14-arm64-cpython-38/src/lxml/etree.o -w -flat_namespace
解决方式其实也很简单,从python官网下载一个python3版本手动安装一下即可。
- 安装完成以后,直接使用USB线连接,电脑可能无法识别设备,需要安装CP2102芯片的usb-to-uart驱动
- 根据范例,手动尝试点亮板载的蓝色LED,可能会出现无法点亮的问题。这是因为自己购买的开发版并不是官方版本,GPIO引脚并不是实例源码中的8,可以通过查看商家给的电路图的方式,确定正确的蓝色LED GPIO具体是多少。具体到我的情况,修改为GPIO 2即可。
初步体验下来,ESP32的示例代码挺齐全的,环境配置门槛也不够,开发版整体也足够便宜,再加上当前“万物互联”的概念,这几年能够拿下相当一部分市场也的确是软硬实力兼具的。接下来会用一些业余时间做一些有意思的玩具,不定期更新在博客。