IoT-For-Beginners 硬件实战:Wio Terminal 开发板入门与 PlatformIO Hello World 完整指南 📅 发布时间:2026/9/16 13:00:42 👁 浏览次数: IoT-For-Beginners 硬件实战Wio Terminal 开发板入门与 PlatformIO Hello World 完整指南【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners导读本文是 IoT-For-Beginners 课程中《Introduction to IoT》第一课关于Seeed Studios Wio Terminal开发板的完整上手指南面向使用 Arduino 开发路线完成课程作业的学习者。Wio Terminal 是一块内置 Wi-Fi、传感器与执行器的 Arduino 兼容微控制器开发板本文将从环境安装、固件更新、PlatformIO 工程创建到编写并烧录第一个 Hello World 程序、通过串口监视器验证输出逐步带你完成课程智能夜灯nightlight项目的第一步。Wio Terminal 是什么Wio Terminal 是由 Seeed Studios 推出的 Arduino 兼容微控制器开发板它具备以下核心特性内置 Wi-Fi可直接连接网络与云服务板载多种传感器与执行器开箱即可编程使用提供标准扩展接口可基于名为Grove的硬件生态Grove 硬件体系外接更多传感器和执行器课程后续章节中使用的温湿度传感器、土壤湿度传感器、继电器、GPS 模块等均通过 Grove 接口接入。在课程路线中Wio Terminal 代表Arduino微控制器开发路线与 Raspberry Pi单板计算机和虚拟设备路线并列三条路线共用同一套传感器生态后续若更换路线无需更换大部分硬件。所有课程作业均使用 C/C 与 Arduino 框架完成需要具备基础的 C/C 编程知识。环境搭建与固件更新在使用 Wio Terminal 之前需要先在计算机上安装免费软件并在连接 Wi-Fi 前更新开发板固件。完整步骤如下1. 安装 Visual Studio CodeVS Code 是本课程编写设备端 C/C 代码的编辑器参考 VS Code 官方文档 完成安装。 另一款流行的 Arduino 开发 IDE 是 Arduino IDE。如果你已熟悉该工具可以替代 VS Code PlatformIO 使用但本课程的各课作业说明均基于 VS Code 给出故推荐按本文流程操作。2. 安装 PlatformIO 扩展PlatformIO 是 VS Code 中用于微控制器 C/C 编程开发的扩展参考 PlatformIO 扩展文档 完成安装。安装 PlatformIO 时会自动安装其依赖的 Microsoft C/C 扩展无需手动单独安装。3. 连接 Wio TerminalWio Terminal 机身底部有一个USB-C 接口通过它连接到计算机的 USB 端口。开发板随附一根USB-C 转 USB-A 数据线若你的计算机只有 USB-C 接口则需要准备 USB-C 数据线或 USB-A 转 USB-C 转接头。4. 更新固件按照 Wio Terminal Wiki WiFi 概览文档 中的说明完成开发板初始设置与固件更新——这是后续连接 Wi-Fi 以及所有网络相关作业的前提条件。创建 PlatformIO 工程环境就绪后第一步是创建一个针对 Wio Terminal 配置的 PlatformIO 工程。任务创建 nightlight 工程将 Wio Terminal 连接到计算机启动 VS Code在侧边菜单栏中找到 PlatformIO 图标点击该图标选择PIO Home - Open在欢迎页点击 New Project按钮在Project Wizard工程向导中完成配置将工程命名为nightlight在Board下拉框中输入WIO过滤开发板选择Seeeduino Wio TerminalFramework保持为Arduino可保留Use default location复选框使用默认位置也可取消勾选后自选工程存放目录点击Finish完成创建。PlatformIO 会下载编译 Wio Terminal 代码所需的组件并创建工程该过程可能需要几分钟。认识 PlatformIO 工程结构工程创建完成后VS Code 资源管理器会展示向导生成的文件与目录其结构与仓库中配套的 nightlight 示例工程 完全一致。目录说明目录用途.pioPlatformIO 运行所需的临时数据库、编译产物等。删除后会自动重建无需纳入 Git 版本管理.vscodePlatformIO 与 VS Code 使用的配置。删除后会自动重建无需纳入版本管理include存放外部头文件新增依赖库时需要。本课程各课不使用lib存放代码中调用的外部库。本课程各课不使用src应用程序主源码目录初始包含单个文件main.cpptest存放代码单元测试关键文件src/main.cpp—— 应用程序入口文件初始模板代码如下#include Arduino.h void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: }设备启动后Arduino 框架会先执行一次setup函数然后反复循环执行loop函数直到设备断电。platformio.ini—— 设备与应用的配置文件初始内容如下[env:seeed_wio_terminal] platform atmelsam board seeed_wio_terminal framework arduino各配置项含义[env:seeed_wio_terminal]段为 Wio Terminal 的配置。可同时存在多个env段让同一份代码编译到多块开发板platform atmelsam定义 Wio Terminal 所用的硬件平台——基于ATSAMD51的微控制器board seeed_wio_terminal定义具体的微控制器开发板型号framework arduino声明工程使用Arduino 框架。仓库中 nightlight 示例的 platformio.ini 与向导生成内容一致可作为参考模板直接使用。编写 Hello World 程序现在编写第一个程序用于验证工具链配置正确、开发板可正常烧录与通信。任务编写 Hello World在 VS Code 中打开src/main.cpp将代码替换为以下内容#include Arduino.h void setup() { Serial.begin(9600); while (!Serial) ; // Wait for Serial to be ready delay(1000); } void loop() { Serial.println(Hello World); delay(5000); }代码解析setup()函数初始化串口连接——此处即连接 Wio Terminal 与计算机的 USB 端口。参数9600是波特率Symbol Rate即数据通过串口传输的速度每秒比特数含义是每秒传输 9600 比特0 和 1数据。随后代码等待串口就绪while (!Serial)空循环阻塞直到串口可用loop()函数向串口发送一行Hello World!含换行字符然后休眠 5000 毫秒5 秒。loop结束后会再次执行只要微控制器通电就无限循环。 该代码已收录于仓库的 code/wio-terminal 目录其中 main.cpp 与上述示例完全一致可直接对照使用。将 Wio Terminal 置于上传模式每次向设备上传新代码前都必须先进入上传模式将电源开关快速向下拨动两次每次拨动后开关会弹回开启位置观察 USB 接口右侧的蓝色状态 LED它应该呈呼吸脉冲状态。可参考演示视频点击文中图片观看https://youtu.be/LeKU_7zLRrQ编译并上传代码打开 VS Code 命令面板Command Palette输入PlatformIO Upload搜索上传选项选择PlatformIO: UploadPlatformIO 会在上传前自动完成必要的编译 3. 代码随即被编译并烧录到 Wio Terminal。 若使用 macOS可能会弹出DISK NOT EJECTED PROPERLY磁盘未正确弹出通知。这是因为 Wio Terminal 在烧录期间会被挂载为磁盘而写入编译产物时会被断开可忽略该通知。⚠️ 若遇到上传端口不可用的错误请依次确认Wio Terminal 已连接到计算机、通过屏幕左侧的电源开关已开机、且已进入上传模式底部绿色 LED 常亮、蓝色 LED 呈脉冲状态。若问题依旧再次快速向下拨动电源开关两次强制进入上传模式后重试上传。使用 Serial Monitor 验证输出PlatformIO 内置Serial Monitor串口监视器可监视 Wio Terminal 通过 USB 数据线发送的数据从而查看Serial.println(Hello World);的输出结果。打开 VS Code 命令面板输入PlatformIO Serial搜索串口监视器选项选择PlatformIO: Serial Monitor将打开一个新终端串口数据会实时流式显示输出大致如下 Executing task: platformio device monitor --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, nocontrol, printable, send_on_enter, time --- More details at http://bit.ly/pio-monitor-filters --- Miniterm on /dev/cu.usbmodem101 9600,8,N,1 --- --- Quit: CtrlC | Menu: CtrlT | Help: CtrlT followed by CtrlH --- Hello World Hello WorldHello World每 5 秒在串口监视器中出现一次说明程序已在开发板上正常运行。 输出中的9600,8,N,1对应串口参数波特率 9600、8 个数据位、无校验位、1 个停止位——与代码中Serial.begin(9600)的设置一致。小结与后续路线至此你已完成 Wio Terminal 的 Hello World 里程碑环境安装、固件更新、PlatformIO 工程创建、代码编写、烧录与串口验证全部打通。这也是后续 4 节课搭建IoT 智能夜灯nightlight项目的第一步——该工程会在此基础上引入 Grove 传感器读取环境光、通过 Wi-Fi 连接云端等能力。如需复习本课 IoT 基础概念可回到 第一课主文档了解完整硬件清单可查阅 硬件指南。【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考