ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

IoT-For-Beginners 硬件指南:Arduino(Wio Terminal)与 Raspberry Pi 双平台选型与虚拟硬件实战

IoT-For-Beginners 硬件指南:Arduino(Wio Terminal)与 Raspberry Pi 双平台选型与虚拟硬件实战 IoT-For-Beginners 硬件指南ArduinoWio Terminal与 Raspberry Pi 双平台选型与虚拟硬件实战【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners导读本指南基于 IoT-For-Beginners 课程仓库中的 hardware.md 硬件说明文档系统梳理该 12 周、24 课 IoT 入门课程所依赖的硬件方案以 Seeed Wio Terminal 为代表的Arduino 微控制器路线、以 Raspberry Pi 为代表的单板计算机路线以及无需购买任何硬件即可完成全部作业的CounterFit 虚拟硬件路线。读完本文你将掌握三条路线的设备清单、采购方式、传感器/执行器配置以及虚拟硬件环境的搭建与源码级运行原理从而为后续课程做出最合适的硬件选型决策。课程硬件设计哲学T 即 ThingsIoT 中的T代表Things物即与周围世界交互的物理设备。本课程的每一个项目都基于真实可获得的硬件构建但同时提供虚拟硬件版本——你不需要购买任何 IoT 硬件即可完成全部作业所有内容都可以通过虚拟 IoT 硬件完成。课程在设计上提供了Arduino与Raspberry Pi两种物理硬件选择具体选哪条路线取决于个人偏好、编程语言熟悉程度、学习目标以及硬件可获得性。两大平台的差异各自的优势与劣势在 1-getting-started/lessons/2-deeper-dive/README.md第一项目的第二课中有深入讲解尚未决定平台的学习者可以先阅读该课再行决策。课程所选的硬件经过精心挑选以降低课程与作业的复杂度虽然其他硬件可能也能工作但无法保证全部作业都能在未附加硬件的情况下得到支持例如大量 Arduino 设备没有 WiFi而 WiFi 是连接云端Azure IoT Hub 等所必需的——这正是课程选择Wio Terminal的原因因为它内置 WiFi。此外完成课程还需要少量非技术性物品例如土壤或盆栽植物、水果或蔬菜用于农业项目的植物生长预测、果实检测等实验。购买套件Seeed Studios 官方套装Seeed Studios 将课程所需的全部硬件打包为易于购买的一站式套件Arduino 路线 —— Wio Terminal 套装IoT for beginners with Seeed and Microsoft - Wio Terminal Starter Kit外部链接详见英文原版 hardware.mdRaspberry Pi 路线 —— Raspberry Pi 4 套装IoT for beginners with Seeed and Microsoft - Raspberry Pi 4 Starter Kit外部链接详见英文原版 hardware.md说明本仓库为纯文档/代码仓库原文中的套件购买链接指向 Seeed 官网文中不展开具体购买页内容两套套件的完整设备构成见下文两个路线的硬件清单。Arduino 路线Wio TerminalC 编程Arduino 路线的全部设备代码使用C编写。在仓库中可以找到对应证据Wio Terminal 的代码均位于各课的wio-terminal目录下例如 1-getting-started/lessons/3-sensors-and-actuators/code-sensor/wio-terminal/nightlight/src/main.cpp并配套 platformio.ini 工程配置文件。Arduino 应用以setup和loop两个函数为核心骨架这一点在 1-getting-started/lessons/2-deeper-dive/README.md 中有详细展开。Arduino 基础硬件完成全部 Arduino 作业需要Wio Terminal——课程选定的 Arduino 兼容开发板内置 WiFi这是连接云端的关键能力可选USB-C 线缆或 USB-A 转 USB-C 适配器Wio Terminal 配备 USB-C 端口出厂附带一根 USB-C 转 USB-A 线。如果你的 PC 或 Mac 只有 USB-C 端口则需要额外的 USB-C 线或转接适配器。Arduino 专属传感器与执行器以下外设仅适用于 Wio Terminal与 Raspberry Pi 路线无关设备用途结合课程ArduCam Mini 2MP Plus (OV2640)SPI 摄像头用于制造业项目的果实/库存图像采集参见 4-manufacturing/lessons/2-check-fruit-from-device 相关课程代码ReSpeaker 2-Mics Pi HAT双麦克风语音输入用于消费者项目的语音识别参见 6-consumer/lessons/1-speech-recognition面包板跳线Breadboard Jumper Wires电路连接3.5mm 接口耳机/音箱或 JST 音箱如 Mono Enclosed Speaker - 2W 6 Ohm语音输出microSD 卡16GB 及以下 SD 读卡器存储图像/数据注意Wio Terminal 仅支持最高 16GB 的 SD 卡不支持更高容量Raspberry Pi 路线Python 编程Raspberry Pi 路线的全部设备代码使用Python编写。仓库证据见各课的pi目录例如 1-getting-started/lessons/3-sensors-and-actuators/code-sensor/pi/nightlight/app.py该文件通过from grove.grove_light_sensor_v1_2 import GroveLightSensor直接操作 Grove 生态的光传感器。Raspberry Pi 基础硬件完成全部作业需要Raspberry Pi型号参考 Raspberry Pi 4 Model B兼容性说明Pi 2B 及以上版本应可运行本课程全部作业。若计划直接在 Pi 上运行 VS Code 进行开发则需要Pi 4 且内存 2GB 及以上若采用远程访问方式连接 Pi则任何 Pi 2B 及以上均可。microSD 卡部分 Raspberry Pi 套件自带配合 SD 读卡器若电脑无内置卡槽USB 电源适配器Raspberry Pi 4 需要USB-C电源更早的型号需要micro-USB电源。Raspberry Pi 专属传感器与执行器以下外设仅适用于 Raspberry Pi与 Arduino 路线无关Grove Pi base hat——通过 40 针 GPIO 扩展 Grove 生态传感器接口的扩展板Raspberry Pi Camera Module——摄像头用于果实检测、库存检测等视觉类项目参见 4-manufacturing 与 5-retail 的课程麦克风与音箱以下任一方案或其等价替代任意 USB 麦克风 任意 USB 音箱或带 3.5mm 接口线的音箱或在连接了带音箱显示器/电视时使用 HDMI 音频输出任意带内置麦克风的 USB 耳机ReSpeaker 2-Mics Pi HAT 3.5mm 耳机/音箱或 JST 音箱USB 会议音箱SpeakerphoneGrove 光传感器phototransistor 光电晶体管Grove 按钮。通用传感器与执行器两条路线共用以下传感器与执行器在 Arduino 和 Raspberry Pi 两条学习路线中都会被用到是本课程硬件清单的核心设备课程场景结合仓库课程目录Grove LED × 2夜灯项目输出1-getting-started/lessons/3-sensors-and-actuatorsGrove 温湿度传感器DHT11植物生长温度监控2-farm/lessons/1-predict-plant-growthGrove 电容式土壤湿度传感器防腐型土壤湿度检测与自动浇水2-farm/lessons/2-detect-soil-moistureGrove Relay 继电器控制水泵实现自动灌溉2-farm/lessons/3-automated-plant-wateringGrove GPSAir530位置追踪项目3-transport/lessons/1-location-trackingGrove Time of Flight 测距传感器VL53L0X距离检测3-transport 与 4-manufacturing 相关作业仓库图片目录 images/ 中提供了上述传感器的实物图如grove-relay.png、grove-capacitive-soil-moisture-sensor.png、grove-gps-sensor.png等可用于核对设备外观与接线方式。可选硬件USB 水泵实现自动灌溉2-farm/lessons/3-automated-plant-watering 的自动浇水课程通过继电器控制水泵。作为一个可选扩展可以将继电器连接到由 USB 供电的水泵上所需硬件如下6V 迷你水泵USB 供电端子USB terminal硅胶软管红黑导线小型一字螺丝刀。该扩展硬件用于构建湿度传感器读取 → 控制器判断 → 继电器开关 → 水泵灌溉的完整自动浇水闭环仓库中的 chart-soil-moisture-relay.png 等图片展示了相关运行结果。虚拟硬件路线用 CounterFit 模拟全部传感器与执行器对于没有实体硬件、或希望在购买前先体验的学习者课程提供了虚拟硬件路线为传感器与执行器提供基于 Python 实现的模拟器核心依赖CounterFit 项目。灵活的运行方式根据你的硬件拥有情况虚拟路线支持三种模式在普通开发机Mac / PC上运行模拟全部传感器与执行器在 Raspberry Pi 上运行仅模拟你没有的那部分硬件——例如你拥有 Pi 摄像头但没有 Grove 传感器就可以在 Pi 上运行虚拟设备代码来模拟 Grove 传感器同时使用实体摄像头完全无硬件仅靠开发机完成全部作业。完成这些课程至少需要网络摄像头、麦克风、音频输出音箱或耳机内置或外接均可且需配置好与操作系统的兼容性、可供所有应用调用。环境搭建与源码原理虚拟硬件路线的完整搭建过程记录在 1-getting-started/lessons/1-introduction-to-iot/virtual-device.md核心步骤如下1. 安装基础软件Python、VS Code、VS Code Pylance 扩展Python 语言支持。2. 创建 Python 虚拟环境隔离 Pip 包避免版本冲突mkdir nightlight cd nightlight python3 -m venv .venv激活虚拟环境macOS/Linux 为source ./.venv/bin/activateWindows 的 Command Prompt 为.venv\Scripts\activate.batPowerShell 为.\ .venv\Scripts\Activate.ps1并确认 Python 版本不低于 3.6python --version3. 安装 CounterFit 相关 Pip 包pip install CounterFit pip install counterfit-connection pip install counterfit-shims-grove三个包的分工与仓库代码对应CounterFit主应用以本地 Web 应用形式模拟传感器与执行器counterfit-connection提供CounterFitConnection类负责在代码中建立与 CounterFit 应用的连接counterfit-shims-groveGrove 硬件的 shim 层让你可以像编写实体 Grove 传感器代码一样编写虚拟硬件代码。4. 连接硬件先运行counterfit启动模拟应用默认监听127.0.0.1:5000可通过CounterFit --port 端口号修改端口再在代码中初始化连接from counterfit_connection import CounterFitConnection CounterFitConnection.init(127.0.0.1, 5000)运行后 CounterFit 界面会从Disconnected变为Connected表示虚拟设备连接成功。对应的完整 Hello World 代码见 1-getting-started/lessons/1-introduction-to-iot/code/virtual-device/nightlight/app.py。虚拟传感器实战夜灯项目中的光传感器以夜灯项目为例1-getting-started/lessons/3-sensors-and-actuators/virtual-device-sensor.md 演示了如何在 CounterFit 中创建虚拟光传感器在Sensors面板的Create sensor框中将Sensor type选为Light、Units保持 NoUnits、Pin设为 0然后编写读取代码。完整可运行版本见 1-getting-started/lessons/3-sensors-and-actuators/code-sensor/virtual-device/nightlight/app.pyimport time from counterfit_connection import CounterFitConnection from counterfit_shims_grove.grove_light_sensor_v1_2 import GroveLightSensor CounterFitConnection.init(127.0.0.1, 5000) light_sensor GroveLightSensor(0) while True: light light_sensor.light print(Light level:, light) time.sleep(1)运行python3 app.py后控制台会持续输出光强读数。在 CounterFit 界面中既可以在Value框输入固定数值并点击Set也可以勾选Random并设定Min/Max让传感器每次读取返回随机值从而模拟环境光照变化。值得注意的移植性设计对比实体 Pi 版本 code-sensor/pi/nightlight/app.py两者仅导入语句不同counterfit_shims_grove.grove_light_sensor_v1_2对grove.grove_light_sensor_v1_2核心读写逻辑完全一致——这正是 CounterFit shim 层的设计目标让学习者从虚拟硬件迁移到实体硬件或反向时几乎无需改动业务代码。选型决策与平台对比综合以上信息三条路线的选型决策可归纳为维度ArduinoWio TerminalRaspberry Pi虚拟硬件CounterFit编程语言CPythonPython成本低微控制器级别较高Pi 4 需 2GB RAM 才能本机开发仅需电脑现有外设摄像头/麦克风/音频硬件准备Wio Terminal Grove 外设Pi 主板 microSD 电源 Grove hat 与外设零采购适用人群偏好嵌入式/C、关注低功耗偏好 Python、需要完整操作系统与视觉/语音能力无硬件或先体验课程内容更深入的平台对比微控制器与单板计算机在 CPU 主频、内存量级、I/O、操作系统、框架生态等方面的差异见 1-getting-started/lessons/2-deeper-dive/README.md 与配套作业 assignment.md。硬件的课程使用全貌本仓库 6 大项目板块入门、农业、交通、制造业、零售、消费者对硬件的依赖贯穿始终1-getting-started夜灯项目使用 LED、光传感器、按钮、继电器与温湿度传感器是硬件入门的起点2-farm植物生长预测温湿度/DHT11、土壤湿度检测电容式湿度传感器、自动浇水继电器 可选 USB 水泵3-transportGPSAir530位置追踪、位置数据存储与可视化、地理围栏4-manufacturing 与 5-retailArduCam / Pi Camera 的图像采集与边缘推理6-consumerReSpeaker 双麦克风语音识别、语音反馈与多语言支持。每个项目目录下都同时提供pi、wio-terminal、virtual-device三种实现保证任意硬件路线包括零硬件的学习者都能完整走完课程。总结选择哪条硬件路线本质是在嵌入式 C 的 Wio Terminal、Python 生态的 Raspberry Pi与零成本的 CounterFit 虚拟硬件之间做权衡。无论选择哪条路线hardware.md 给出的清单与本文结合源码补充的环境搭建、传感器接线、虚拟模拟器使用方式都能确保你以最小的上手成本开启完整的 12 周 IoT 学习之旅。如果仍有犹豫最稳妥的做法是先用虚拟硬件跑通前几课再根据兴趣决定是否采购 Wio Terminal 或 Raspberry Pi 套件。【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表