凭借其简单的用户界面,在Arduino和Arduino IDE中的开发始终轻松而有趣。Arduino IDE是开源的,可免费使用具有所有功能的开发环境,例如编写,编译并将代码上传到Arduino开发板。它基于Java,可在Windows,OS X和Linux等主要操作系统上运行。但是,尽管它具有简单性和广泛的社区性,但它并没有某些经验丰富的开发人员需要的某些功能来进行快速开发,从而可以缩短开发周期。有许多可用于Arduino的开发环境,但是都有各自的优点和缺点。今天,我们将开始使用易于使用的PlatformIO开发环境,并与Arduino环境相比增加了功能。
什么是PlatformIO?
PlatformIO是用于物联网开发的基于Python的开源生态系统,并且具有在Windows,Mac和Linux上运行的具有统一调试器的跨平台IDE。PlatformIO随附了针对平台的库管理器,如Arduino或MBED支持以及单元测试和固件更新。PlatformIO支持许多平台,框架,开发板(如Arduino,ESP32,ESP8266),并附带许多示例和库。它独立于运行它的平台,并且只需要在计算机上安装Python。
PlatformIO的优势
该PlatformIO特点迅速发展,其功能,如C / C ++代码完成和智能代码短绒快速的职业发展是不是有在Arduino的IDE。除此之外,PlatformIO还提供深色和浅色主题支持,可随时进行开发。它还带有智能代码导航和代码格式设置。核心功能包括多平台构建系统,库管理器,串行端口监视器等。
支持多种架构和开发平台的统一调试器允许使用零配置调试多个嵌入式板。PlatformIO Unified Debugger具有条件断点,表达式和监视点,内存查看器,活动调试会话的热重启等功能。PlatformIO Core用Python 2.7编写,可在Windows,macOS,Linux,FreeBSD甚至是基于ARM的信用卡大小的计算机(如Raspberry Pi,BeagleBone,CubieBoard,Samsung ARTIK等)上运行。除此之外,PlatformIO具有文件浏览器,可帮助当项目发展到一定水平时,组织文件,并且有必要进行组织。
为Arduino Uno设置PlatformIO
使用PlatformIO非常简单,只需几步即可开始。由于如上所述,PlatformIO核心是用Python 2.7编写的,因此PlatformIO需要在计算机上安装Python。请注意,PlatformIO不支持Python 3,因此建议先安装Python 2版本,然后继续设置PlatformIO IDE。 PlatformIO是一个IDE,另外它还为最受欢迎的IDE和文本编辑器提供了官方软件包(插件,扩展名)。
今天,我们将PlatformIO安装到诸如Atom和Visual Studio Code之类的文本编辑器中。在Platform IDE的官方文档中,它指出用于VS Code的PlatformIO IDE(Visual Studio Code)提供了更好的系统性能,并且用户发现它更容易入门。因此,我们将在Visual Studio Code中设置PlatformIO。VS Code是一个著名的文本编辑器,具有许多扩展名,使我们能够使用不同的编程语言进行开发。
让我们开始设置PlatformIO以开始在Arduino UNO中开发代码。涉及的步骤如下所述:
- 首先从其官方网站安装Visual Studio Code。这里不会解释Visual Studio Code的安装步骤,但是您可以在VS Code网站上找到它。就像在Windows OS上安装任何其他软件一样,涉及的一般步骤。
- 成功安装后,Visual Studio代码将如下所示。
- 下一步包括使用VS Code Extensions安装PlatformIO。为此,您需要转到VS Code左上角的扩展图标。方形框图标是左上角的第5个图标。只需单击该按钮,旁边就会出现一个搜索框,您可以在其中找到许多不同编程语言的扩展名,例如C / C ++,C#,Python,PHP,Go,JavaScript,TypeScript和Node.js等。
- 在扩展名搜索框中搜索“ PlatformIO”,您将看到带有名称和描述的PlatformIO图标。只需单击并安装。安装工具链和其他依赖项可能需要一些时间。依赖项包括C / C ++环境,因为Arduino开发大部分是在C / C ++上完成的。
- 安装完成后,您将看到以下界面。该界面包括所有必要的导航,例如创建新项目,导入Arduino项目,打开项目,项目示例等。建议在PlatformIO安装后重新启动VS代码编辑器。
这样就完成了PlatformIO的安装步骤。现在,PlatformIO已安装并可以使用。就像Arduino IDE一样,我们将从Blink程序开始,然后尝试将Blink程序上传到Arduino UNO。
使用PlatformIO IDE编程Arduino UNO
在编程Arduino UNO时将同时解释PlatformIO接口。在这里,我们正在对Arduino进行编程,以便使用PlatformIO来使LED闪烁。使用Arduino IDE可以完成相同的操作。请按照以下步骤创建一个用于闪烁LED的新项目。
- 从快速访问菜单中选择“新建项目”选项卡。
- 命名项目(此处为“ Blink”)。搜索并选择Arduino UNO板。由于我们正在使用Arduino框架,因此选择的框架将是Arduino。填写所有详细信息后,只需单击完成。
- 该项目将通过收集资源和其他依赖关系开始创建。
- 成功创建项目后,您将获得提示消息“已成功初始化项目”,其中包含所有已填写的详细信息。
- 要打开创建的项目,只需向下滚动PlatformIO的主菜单,您将看到从头开始创建的所有项目列表。在创建的项目的右上角,单击“打开”以打开项目并开始编辑。
- 当项目打开时,最初看起来像是隐藏的,但是不用担心,PlatformIO具有文件浏览器功能,可以在其中找到当前项目的所有文件。只需转到左上角,然后打开“无标题(工作场所)”即可。单击它时,所有文件将显示为下拉菜单。要找到文本编辑器来编辑“代码”,请选择“ src”并打开“ main.cpp”。打开新标签页后,文本编辑器模式将出现在主屏幕上。您可以在此处编写当前正在进行的项目的所有代码。
- 只需编写Arduino UNO的闪烁代码。请注意,PlatformIO没有默认访问Arduino库的权限,因此,每次您编写Arduino代码时,始终在程序开头包含Arduino库,即“ #include”。
- 下一步将是编译和上传代码。为此,让我们看一下PlatformIO提供的功能。同样,PlatformIO默认选择COM端口。但是,如果不是所需的COM端口,也可以更改该端口。 COM端口的更改将在本教程的后面部分进行说明。PlatformIO具有诸如构建,上载,上载到远程设备,清理,测试,运行任务,串行监视器,新终端之类的功能。所有功能都可以在编辑器的左下角找到。将鼠标悬停在图标上时,将显示功能。
- 要生成草图,请单击“生成”,然后单击“上传”图标以上传草图。上载完成后,您将可以看到上载时间以及所有其他详细信息,并显示一条消息“成功”。代码已成功上传,您将能够在Arduino板上看到LED闪烁。
要选择或更改任何COM端口,只需转到PlatformIO主屏幕,然后转到设备,在这里您可以看到已连接的所有可用设备。选择适当的COM端口,并按照相同的步骤上传草图。
使用PlatformIO IDE编程STM32开发板
对STM32开发板进行编程将具有与上述Arduino UNO编程完全相同的步骤。区别在于在为STM32打开新项目时选择STM32开发板。 PlatformIO的好处是,它不需要任何外部软件包即可单独下载任何板,它会自动下载所有软件包,使我们轻松选择板并转到编辑器。我们将使用外部JLink / JTAG / STLink /串行编程器将草图上传到STM32。 STM32也可以使用Arduino IDE进行编程。继续执行以下步骤,使用PlatformIO对其进行编程。
- 只需命名项目(此处为'Blink STM32')即可。然后选择STM32的开发板,即“ BluePill F103C8(Generic) ”。然后选择Framework作为Arduino。单击Finish并等待一段时间,因为最初将需要一些时间来下载STM32板的软件包和依赖项。
- 设置完成后,下一个项目的创建时间将比第一个项目少。现在,只需转到左侧文件资源管理器中的Untitled(Workspace)-> src-> main.cpp。
- 现在,即将到来的步骤将变得很重要,因为需要确定我们应该使用哪个编程器对STM32开发板进行编程。有许多可用的编程器,例如JTAG,STLink,JLink,Serial等。所有这些都可以使用,但是您需要配置“ platformio.ini”配置页面或文件。
- 在本项目中,我们使用串行编程器CP210x USB至UART桥。我们已经使用USB端口完成了STM32F103C8板的编程,大多数步骤仅从那里开始。您可以访问该链接并找到有关此内容的更多信息。
- 首先,通过以下引脚映射将串行编程器连接至STM32开发板,并将其连接至PC。
USB转串口编程器 |
STM32开发板 |
5伏 |
5伏 |
nd |
nd |
接收 |
A9 |
Tx |
A10 |
- 现在转到项目资源管理器并打开“ platformio.ini”页面,然后更改该语句,如图所示。该 upload_protocol 会告诉它的程序员应该使用(STLink,JLINK,串口等)。所述 upload_port 选择的COM端口。您可以通过转到主页中的“设备”进行查找。根据您的COM端口更改COM端口。
- 转到 “ main.cpp” 并将程序更改为“ 闪烁 程序”。现在只需上传程序,它将显示成功消息和上传时间。现在,连接到STM32板的PC13引脚的LED将开始闪烁。
至此,完成了使用PlatformIO对Arduino UNO和STM32开发板进行编程的完整教程。如果您在执行这些步骤时遇到任何困难,请写信给我们的论坛或在下面发表评论。