0

0

VSCode与Arduino/PlatformIO:物联网开发入门

P粉986688829

P粉986688829

发布时间:2025-12-22 14:47:02

|

586人浏览过

|

来源于php中文网

原创

需安装VSCode、PlatformIO IDE扩展,初始化ESP32项目,配置串口权限,编写DHT22传感器代码并上传,最后用Serial Monitor监控115200波特率输出。

vscode与arduino/platformio:物联网开发入门

如果您希望使用 VSCode 进行 Arduino 或 PlatformIO 项目的开发,但尚未配置好开发环境,则可能是由于扩展未安装、工具链未初始化或串口权限未设置。以下是完成物联网开发入门配置的具体步骤:

本文运行环境:MacBook Air,macOS Sequoia。

一、安装 VSCode 及必要扩展

VSCode 本身不原生支持 Arduino 编程,需通过扩展引入编译、上传与调试能力。PlatformIO IDE 扩展是目前最主流的嵌入式开发集成方案,它内置了多平台工具链和项目管理器。

1、访问 code.visualstudio.com 下载并安装 VSCode 应用程序。

2、启动 VSCode,点击左侧活动栏的扩展图标(或按 Cmd+Shift+X)。

3、在搜索框中输入 PlatformIO IDE,找到官方发布的扩展(作者为 PlatformIO),点击“安装”。

4、安装完成后,重启 VSCode 使扩展完全加载。

二、初始化 PlatformIO 项目

PlatformIO 使用基于 C/C++ 的项目结构,自动管理库依赖、板卡定义与构建参数。初始化项目会生成 platformio.ini 配置文件及标准源码目录。

1、点击 VSCode 左侧活动栏底部的 PlatformIO 图标(火箭形状)。

2、在弹出侧边栏中选择 New Project

3、在项目名称栏输入 iot-sensor-node,框架选择 Arduino,开发板选择 ESP32 DevKitC(适用于常见 WiFi 物联网节点)。

4、点击“Finish”,等待项目结构自动生成完成。

三、配置串口与设备权限

上传代码至物理设备前,必须确保系统能识别 USB 转串口芯片,并授予当前用户读写权限,否则会出现 Permission denied 错误。

1、将 ESP32 开发板通过 USB 线连接至 MacBook Air。

2、打开终端,执行 ls /dev/tty.*,确认出现类似 /dev/tty.usbserial-1420 的设备节点。

破浪分红权返利系统基础版
破浪分红权返利系统基础版

破浪分红权返利系统是在破浪直销系统的基础上独立自主开发的一套稳定完善的购物商场网站管理系统,系统基于PHP+MYSQL开发,集购物商城、积分商城、商家联盟、会员营销机制等一体,模板与程序分离,集成网上支付,嵌入型短信应用API集成,使用简单、功能强大,多种返现模式可自由选择,为广大创业者者提供一个快速、高效、稳定、安全的电子商务系统。系统集O2O\C2C\B2C\B2B2C以及直销、分红、代理、分

下载

3、若提示权限拒绝,在终端中执行 sudo chmod 666 /dev/tty.usbserial-1420(请将设备名替换为实际查到的名称)。

4、返回 VSCode,点击右下角状态栏中的串口号(如 /dev/tty.usbserial-1420),确认已正确识别。

四、编写并上传基础传感器示例

物联网项目通常从采集温湿度等环境数据开始。DHT22 是常用数字传感器,其驱动已包含在 PlatformIO 默认库中,无需手动下载。

1、在项目 src 目录下打开 main.cpp 文件,删除默认内容。

2、粘贴以下代码段:

#include \n#include "DHT.h"\n\n#define DHTPIN 4\n#define DHTTYPE DHT22\nDHT dht(DHTPIN, DHTTYPE);\n\nvoid setup() {\n Serial.begin(115200);\n dht.begin();\n}\n\nvoid loop() {\n float h = dht.readHumidity();\n float t = dht.readTemperature();\n if (!isnan(h) && !isnan(t)) {\n Serial.print("H: "); Serial.print(h); Serial.print("% T: "); Serial.println(t);\n }\n delay(2000);\n}

3、保存文件后,点击 PlatformIO 工具栏中的 Build 按钮(锤子图标)验证编译是否通过。

4、编译成功后,点击 Upload(纸飞机图标)将固件烧录至开发板。

五、监控串口输出与调试

上传完成后,设备会立即运行代码并周期性发送传感器数据。PlatformIO 内置串口监视器可实时捕获这些输出,用于验证硬件连接与逻辑正确性。

1、点击 VSCode 左侧 PlatformIO 图标,展开“Serial Monitor”项。

2、点击右侧的 Open Serial Monitor 按钮。

3、在弹出窗口中确认波特率设置为 115200(与代码中 Serial.begin 参数一致)。

4、观察窗口中是否持续打印出类似 H: 45.2% T: 23.8 的数值行。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

186

2023.09.27

css中float用法
css中float用法

css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

579

2024.04.28

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

102

2025.10.23

typedef和define区别
typedef和define区别

typedef和define区别在类型检查、作用范围、可读性、错误处理和内存占用等。本专题为大家提供typedef和define相关的文章、下载、课程内容,供大家免费下载体验。

109

2023.09.26

define的用法
define的用法

define用法:1、定义常量;2、定义函数宏:3、定义条件编译;4、定义多行宏。更多关于define的用法的内容,大家可以阅读本专题下的文章。

338

2023.10.11

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

776

2023.08.22

vscode
vscode

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

592

2023.06.30

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

223

2023.07.21

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

141

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.6万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 7.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号