IoT for Beginners 课程全攻略:微软 12 周 24 课时 IoT 入门路线图与实战指南
【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners
本指南基于开源课程 IoT-For-Beginners 的主文档(丹麦语版)整理成文。该课程由微软 Azure Cloud Advocates 团队出品,以“食物从农场到餐桌”为主线,用 12 周 24 课时的项目式教学带你掌握物联网(IoT)基础:如何编写设备端代码、连接云端、分析遥测数据并在边缘运行 AI。读完本文,你将获得完整的学习路线图、硬件选型方案、每课要点清单,以及本地/离线运行整套课程(含 Docsify 文档站、PDF 与测验应用)的具体操作步骤。
课程概览:12 周 24 课,项目驱动学习
IoT-For-Beginners 是微软 Azure Cloud Advocates 官方提供的免费开源课程,采用项目式教学(project-based pedagogy):每一课都包含课前/课后测验、书面讲解、可运行的解决方案代码、课后作业与挑战。课程设计强调“在做中学”,通过亲手构建真实项目让新技能真正“扎根”。
课程的所有项目围绕食物从农场到餐桌(farm to table)的旅程展开,覆盖物联网设备应用最广泛的五个行业领域:农业、物流、制造业、零售业与消费电子。课程主体位于各项目的lessons目录下,例如 1-getting-started、2-farm、3-transport、4-manufacturing、5-retail 与 6-consumer。
完成全部课程后,你将亲手搭建四类完整系统:
- 植物监测与自动浇水系统;
- 车辆位置追踪系统;
- 追踪与质检食品的智能工厂装置;
- 语音控制的智能烹饪计时器。
双支柱教学法:项目制 + 高频测验
课程设计围绕两条教学原则展开:
- 内容与项目对齐:每个知识点都附着在真实项目上,学生在解决问题中理解“为什么这样做”,从而提升概念留存率;
- 课前课后双重测验:低压力课前测验帮助学生建立学习意图,课后测验巩固记忆。课程设计灵活,可整体学习也可只学部分;项目从简到繁,在 12 周周期内逐步增加复杂度。
每节课的标准组成
每一课都包含以下标准模块:
- 视觉笔记(sketchnote);
- 可选的补充视频;
- 课前热身测验;
- 书面课程讲解;
- 项目制课程附有逐步构建指南;
- 知识检查(knowledge check);
- 挑战任务(challenge);
- 补充阅读材料;
- 课后作业(assignment);
- 课后测验。
关于测验的说明:全部测验存放在 quiz-app 目录中,共 48 道测验、每道 3 个问题。测验从课程内链接进入,应用本身可本地运行,也可部署到 Azure(README 中提供了基于 Azure Static Web Apps 与 GitHub Actions 的完整部署流程)。测验正逐步本地化(localized)为多语言版本。
硬件选型:Arduino、Raspberry Pi 与虚拟硬件三条路线
课程为学习者提供了两种实体硬件路线与一条虚拟硬件路线,可按个人编程语言偏好、学习目标与硬件可获得性选择。详细清单见 hardware.md。
| 路线 | 设备代码语言 | 核心硬件 | 适用场景 |
|---|---|---|---|
| Arduino | C++ | Seeed Wio Terminal(内置 WiFi) | 偏好微控制器、低功耗场景 |
| Raspberry Pi | Python | Raspberry Pi 4(Pi 2B 及以上兼容) | 偏好单板计算机、需要运行完整桌面 |
| 虚拟硬件 | Python | CounterFit 模拟器 | 无实体硬件或购买前先试学 |
💁提示:无需购买任何硬件也能完成全部作业。所有实验均可通过虚拟 IoT 硬件完成。
Arduino 路线(Wio Terminal)
- 主控板为 Wio Terminal,其内置 WiFi,这是连接云端所必需的——这也是课程选择它而非普通 Arduino 板的原因(许多 Arduino 板没有 WiFi);
- 可选 USB-C 线缆(若电脑仅有 USB-C 口);
- 特定传感器与执行器:ArduCam Mini 2MP Plus(OV2640)摄像头、ReSpeaker 2-Mics Pi HAT、面包板跳线、3.5mm 耳机或 JST 扬声器、16GB 及以下microSD 卡(Wio Terminal 不支持更高容量)。
Raspberry Pi 路线
- 主板:Raspberry Pi 4 Model B;Pi 2B 及以上版本均可完成作业。若直接在 Pi 上运行 VS Code,建议 Pi 4 且 RAM ≥ 2GB;若远程访问 Pi,则 Pi 2B 以上即可;
- microSD 卡、对应 USB 电源(Pi 4 用 USB-C,老版本用 micro-USB);
- 特定硬件:Grove Base Hat、Raspberry Pi Camera Module、麦克风与扬声器(USB 麦克风/耳机/ReSpeaker 2-Mics Pi HAT + 3.5mm 或 JST 扬声器)、Grove 光敏传感器、Grove 按钮。
两路线共用传感器与执行器
两条路线共用大部分 Grove 生态传感器:Grove LED(×2)、DHT11 温湿度传感器、电容式土壤湿度传感器、Grove 继电器、Grove GPS(Air530)、VL53L0X 飞行时间距离传感器。
虚拟硬件(CounterFit)
虚拟硬件路线使用开源 CounterFit 项目,以 Python 实现传感器与执行器的模拟。可在 Mac、PC 等常规开发设备上运行,也可在 Raspberry Pi 上混合使用:例如有物理摄像头但没有 Grove 传感器时,可在 Pi 上运行虚拟设备代码模拟 Grove 传感器、同时使用真实摄像头。该路线要求开发机具备可用的摄像头、麦克风与音频输出(内置或外接均可)。
24 课时完整课程表与学习目标
下表完整列出了全部 24 课的主题、所属项目、所授概念与学习目标,可直接对照规划学习进度:
| 课次 | 项目 | 所授概念 | 学习目标 | 对应课程 |
|---|---|---|---|---|
| 01 | 入门 | IoT 介绍 | 学习 IoT 基本原理与传感器、云服务等基本构件,并配置第一台 IoT 设备 | 介绍 IoT |
| 02 | 入门 | IoT 深入 | 深入了解 IoT 系统组件、微控制器与单板计算机 | IoT 深入 |
| 03 | 入门 | 用传感器与执行器与物理世界交互 | 学习传感器采集物理世界数据、执行器反馈输出,构建一盏夜灯 | 传感器与执行器 |
| 04 | 入门 | 连接设备到互联网 | 学习通过 MQTT 代理发送/接收消息,让夜灯联网 | 连接设备到互联网 |
| 05 | 农场 | 预测植物生长 | 使用 IoT 设备采集的温度数据预测植物生长 | 预测植物生长 |
| 06 | 农场 | 检测土壤湿度 | 学习检测土壤湿度并校准土壤湿度传感器 | 检测土壤湿度 |
| 07 | 农场 | 自动植物浇水 | 使用继电器与 MQTT 自动化并定时浇水 | 自动植物浇水 |
| 08 | 农场 | 将植物迁移到云端 | 了解云端 IoT 服务,将设备从公共 MQTT 代理迁移到云 | 迁移到云端 |
| 09 | 农场 | 应用逻辑迁移云端 | 学习在云端编写响应 IoT 消息的应用逻辑 | 迁移应用逻辑 |
| 10 | 农场 | 保持植物安全 | 学习 IoT 安全,用密钥与证书保护设备 | 保持设备安全 |
| 11 | 运输 | 位置追踪 | 学习 IoT 设备的 GPS 位置追踪 | 位置追踪 |
| 12 | 运输 | 存储位置数据 | 学习存储 IoT 数据以便后续可视化与分析 | 存储位置数据 |
| 13 | 运输 | 可视化位置数据 | 学习在地图上可视化位置数据,理解地图如何将 3D 现实世界映射为 2 维 | 可视化位置数据 |
| 14 | 运输 | 地理围栏 | 学习地理围栏及其在供应链车辆接近目的地时发出警报的用法 | 地理围栏 |
| 15 | 制造 | 训练水果质量检测器 | 学习在云端训练图像分类器检测水果质量 | 训练水果检测器 |
| 16 | 制造 | 从 IoT 设备检测水果质量 | 学习从 IoT 设备调用水果质量检测器 | 从设备检测水果 |
| 17 | 制造 | 在边缘运行水果检测器 | 学习在边缘 IoT 设备上运行检测器 | 边缘运行水果检测器 |
| 18 | 制造 | 由传感器触发检测 | 学习由传感器触发水果质量检测 | 传感器触发检测 |
| 19 | 零售 | 训练库存检测器 | 使用目标检测训练库存检测器,统计商店库存 | 训练库存检测器 |
| 20 | 零售 | 从 IoT 设备检查库存 | 使用目标检测模型从 IoT 设备检查库存 | 从设备检查库存 |
| 21 | 消费电子 | 用 IoT 设备识别语音 | 从 IoT 设备识别语音,构建智能计时器 | 语音识别 |
| 22 | 消费电子 | 理解语言 | 学习理解对 IoT 设备说出的句子 | 语言理解 |
| 23 | 消费电子 | 设置计时器并提供语音反馈 | 在 IoT 设备上设置计时器,并在设定与结束时提供语音反馈 | 语音反馈 |
| 24 | 消费电子 | 多语言支持 | 支持多种语言,包括被语音输入与智能计时器的语音回复 | 多语言支持 |
从源码结构看,每课的 README 均位于lessons子目录,且项目制课程内还包含solutions目录存放解决方案代码、code目录存放随课代码,方便对照学习。完整的文档导航结构可查看 docs/_sidebar.md,它按 6 大项目将 24 课组织为可直接跳转的目录树。
多语言支持与精简克隆
仓库内置50+ 种语言的完整翻译(translations 目录)与配套翻译图片(translated_images 目录),翻译由 GitHub Action 自动维护、持续更新。这在极大降低阅读门槛的同时也显著增加了仓库体积。若希望克隆时跳过全部翻译内容以加速下载,可使用 git sparse checkout:
Bash / macOS / Linux:
git clone --filter=blob:none --sparse https://github.com/microsoft/IoT-For-Beginners.git cd IoT-For-Beginners git sparse-checkout set --no-cone '/*' '!translations' '!translated_images'CMD (Windows):
git clone --filter=blob:none --sparse https://github.com/microsoft/IoT-For-Beginners.git cd IoT-For-Beginners git sparse-checkout set --no-cone "/*" "!translations" "!translated_images"该方案通过--filter=blob:none(按需获取文件内容)与 sparse checkout(仅检出课程正文)组合,让你获得完成课程所需的全部内容,同时下载体积大幅缩减。
离线访问:Docsify 本地文档站
课程文档可借助 Docsify 在本地离线运行:克隆仓库后安装 Docsify,然后在仓库根目录执行:
docsify serve站点会在本地localhost:3000提供服务。仓库根目录的 index.html 即 Docsify 入口页,而 docs/_sidebar.md 定义了侧边导航,保证 24 课可以像官网一样按章节浏览。
离线 PDF:npm 一键生成
课程还支持将全部文档编译为 PDF 离线使用。前提是本地已安装 npm,然后在仓库根目录依次运行:
npm i npm run convert其中convert脚本定义在 package.json 中:"convert": "node_modules/.bin/docsify-to-pdf",它调用 docsifytopdf.js 配置文件——该配置以docs/_sidebar.md作为目录源(contents),将 PDF 输出到pdf/readme.pdf(pathToPublic),并设定打印页边距(pdfOptions.margin)与print媒体类型(emulateMedia),编译过程会自动清理临时生成的.md与.html文件(removeTemp: true)。
幻灯片(Slides)
部分课程提供了配套幻灯片,存放在 slides 目录(如 lesson-1.pdf、lesson-2.pdf 等),可直接用于课前备课或演讲。
课堂使用:教师指南与推荐学习模型
- 教师可参考 for-teachers.md:支持直接 fork 仓库后在 GitHub Classroom 中按课创建独立仓库分配作业,也支持 Zoom/Teams 线上课堂用“breakout room”组织测验与作业互评;
- 若希望自主设计课程,可使用仓库提供的课程模板(含课前测验、知识点分块、知识检查、挑战、课后测验与作业的完整骨架);
- 推荐学习模型详见 recommended-learning-model.md:官方推荐类似理科实验课的“翻转课堂(Flipped Model)”——学生在课堂时间动手做项目、进行讨论与答疑,将讲解性内容作为课前自主阅读。教师应扮演“共同引导者(Co-Facilitator)”角色,多用“我注意到……”“我好奇……”等观察性引导语,帮助学生自主探索问题解决路径。
学生自学路径与配套资源
以个人身份自学时,官方建议:fork 整个仓库,从每课的课前测验开始,阅读讲解后独立完成其余活动;尽量通过理解课程内容来构建项目,而不是直接复制解决方案代码(解决方案代码位于各项目制课程的/solutions目录)。也可以组建学习小组互相讨论。测验应用(quiz-app)基于 Vue 构建,可在本地以npm install && npm run serve运行,也可按 README 中基于 Azure Static Web Apps + GitHub Actions 的流程部署。
社区与协作规范
仓库配套了完整的协作规范,欢迎建设性反馈:
- 行为准则:CODE_OF_CONDUCT.md;
- 贡献指南:CONTRIBUTING.md;
- 常见问题排障:TROUBLESHOOTING.md;
- 翻译目录:translations;
- 图片版权声明:attributions.md。
小结
IoT-For-Beginners 以“从农场到餐桌”的真实产业场景为轴,用 24 课串起物联网的完整技能链:从传感器/执行器与 MQTT 联网,到云迁移、数据可视化、边缘 AI,再到语音与多语言交互;硬件上提供 Wio Terminal、Raspberry Pi 与虚拟硬件三条路线,配合 Docsify 离线文档、PDF 生成、多语言翻译与 48 道随堂测验,是一套对自学者与课堂教师都友好的完整课程体系。你现在就可以从 1-getting-started 的第一课出发,开始构建你的第一个 IoT 设备。
【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考