物联网越来越成为炙手可热的领域,不过提到嵌入式IoT开发,最让人不舒服的一件事无疑就是不同厂家的芯片可能要使用不同的集成开发环境。例如:STM32要使用Keil,Arduino默认使用自家Arduino开发环境,而且Keil和Arduino都不够友好;ESP8266和ESP32要使用linux环境或者在windows下部署eclipse,涉及到交叉编译工具,所以操作起来也比较复杂。
??那会不会有一个IDE可以集成大多数常用的芯片和模块的开发任务,而且只要配置完成之后就一劳永逸的呢?
众里寻他千百度,那就应该是PlatformIO IDE了。
先简单介绍一下PlatformIO IDE是个什么东西
- 新一代的IoT集成开发环境,支持mac linux windows。
- 作为插件支持Atom 和 Visual Studio Code。(整完之后发现你的编辑器既能开发IoT,又能开发Web,万能IDE即将诞生,妈妈再也不用担心我装好几个开发环境了)
- 支持的硬件平台 (Atmel AVR, Atmel SAM, Espressif 32, Espressif 8266, Freescale Kinetis, Intel ARC32, Lattice iCE40, Maxim 32, Microchip PIC32, Nordic nRF51, Nordic nRF52, NXP LPC, Silicon Labs EFM32, ST STM32, Teensy, TI MSP430, TI Tiva, WIZNet W7500)
- 支持的固件SDK包(Arduino, ARTIK SDK, CMSIS, Energia, ESP-IDF, libOpenCM3, mbed, Pumbaa, Simba, SPL, STM32Cube, WiringPi)
- 模块和外围传感器的库管理器
- 代码智能检错、智能补全
好吧,这么多硬件平台被支持,还有很多的特性,不过社区版本和收费版本有些差异,详情看官网。
开始介绍安装的过程和出现的问题
平台为windows10 64bit vscode 64bit
因为PlatformIO需要python2.7支持,我们先安装python2.7.14,python3还未支持倒是很奇怪,安装的时候勾选配置PATH环境变量选项。
PlatformIO就当做vscode插件去安装,可以在vscode插件里搜索PlatformIO,安装时会先请求安装依赖,确定之后就开始下载和安装依赖和PlatformIO,
安装时间比较长,如果中间出现找不到python2.7,而你确实已经安装过python了,就要在弹出的提示框中输入python的完整路径,比如
D:\python\python2.7\python.exe
,如果没有什么问题继续下去就OK了。
安装完成之后重载一下,就能看到如下界面
下面多了构建,下载,清除,串口监视,终端按钮,为了方便程序编译下载调试用的。
中间竖着有主页,账户,库管理,开发板管理,平台管理菜单,可以提供各种固件和库的下载和升级服务。
右面有新建项目,导入项目,打开项目,示例程序。
点击新建项目,以ESP32模块和官方IDF固件库为例,Board栏目支持模糊搜索,选定之后,发现固件支持Arduino和ESP-IDF,还是不错的,选定ESP-IDF。
这样会在它默认的项目路径下新建一个文件夹,并部署一些架构文件。这个时候src目录为空,我们可以相应的加一个简单的函数作为入口。然后点击下面的对勾形状的构建,会先下载IDF开发包并部署,都下载成功后会开始构建并生成固件文件。
这是用图形界面新建项目的方式,
还可以用命令行的方式。在桌面新建一个空目录,在vscode里打开,Ctrl+Shift+P进入命令行面板,输入platformIO,可以看到有一些命令显示出来
选择PlatformIO:Initialize or Update Project之后会弹出选择开发板和固件SDK选项
到这里就相当于是用图形界面建立了一个新项目,接着点击构建就可以了,依然会先下载SDK库和一些工具。
构建成功之后就可以点击下载了,ESP32需要IO0拉低然后复位进入flash模式,如果没什么问题下载进去之后,点击串口监视器,然后手动复位ESP32,就可以看到串口打印信息,默认串口监视器的波特率是9600,可以按Ctrl+T进行调整,若要每次打开串口监视器都使用自己想要的串口波特率,请参考另一篇文章解决PlatformIO开发环境串口监视器的默认波特率问题。
这只是演示了ESP32的项目创建和构建构成,其他的开发板和SDK也是同样的步骤,是不是如果这个环境搭建好之后,就能满足你的大部分开发要求。赶紧试一试吧。