IoT-For-Beginners 第 2 课深度解析:IoT 应用组件、微控制器与单板计算机完全指南

发布时间:2026/9/15 2:56:50
IoT-For-Beginners 第 2 课深度解析:IoT 应用组件、微控制器与单板计算机完全指南 IoT-For-Beginners 第 2 课深度解析IoT 应用组件、微控制器与单板计算机完全指南【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners本文基于 IoT-For-Beginners 开源课程第一项目1-getting-started的第 2 课内容撰写。该课程以12 周、24 课、面向所有人的 IoT为目标第 2 课《A deeper dive into IoT》在上一课概念基础上深入剖析 IoT 应用的两大组成设备与互联网、微控制器Microcontroller与单板计算机Single-board Computer的底层原理并回答用 Arduino 还是 Raspberry Pi这一经典选型问题。读完本文你将掌握 IoT 系统分层架构、MCU 的 CPU/内存/GPIO 工作机制、Arduinosetup/loop编程模型、Raspberry Pi 硬件规格并能结合仓库源码与实操任务完成平台选型决策。引言本课在课程体系中的位置第 2 课是 第一课Introduction to IoT 的纵深延续。第一课建立了基础概念传感器Sensors从物理世界采集数据执行器Actuators将电信号转化为物理动作IoT 设备分为微控制器和单板计算机两大阵营。第 2 课则把每个概念拆开来看IoT 应用的组成部分设备 互联网 边缘 安全微控制器的 CPU、内存、输入/输出、物理尺寸、框架与 RTOS单板计算机的代表——Raspberry Pi 的规格、编程方式与专业部署场景。整个课程支持三种硬件路径ArduinoSeeed Studios Wio Terminal、物理单板计算机Raspberry Pi 4、以及无需购买硬件的虚拟设备CounterFit 模拟器详见 hardware.md。本课的实验任务都围绕 Wio Terminal 与 Raspberry Pi 展开。IoT 应用的两个核心组件设备Thing与互联网Internet一个完整的 IoT 应用由两个主要部分组成设备Thing和互联网Internet。设备Thing与物理世界交互的小型计算机设备指能够与物理世界交互的装置。它们通常是小型、低成本、低功耗的计算机——例如仅有千字节KB级 RAM对比 PC 的吉字节 GB、运行在数百兆赫兹MHz对比 PC 的 GHz的简单微控制器功耗低到可以依靠电池运行数周、数月甚至数年。设备通过两类途径与物理世界交互传感器从周围环境收集数据执行器Actuators控制输出、产生物理改变。经典例子是智能恒温器Smart Thermostat它包含一个温度传感器、一个设定目标温度的装置旋钮或触摸屏、以及与供暖/制冷系统的连接。当温度传感器检测到房间过冷时执行器便打开供暖设备。能够充当 IoT 设备的物范围极广从只感知单一事物的专用硬件到通用设备——甚至你的智能手机。手机用 GPS 传感器检测位置用扬声器给出导航指令正是传感器 执行器 连接的典型体现。互联网Internet云端、消息与决策互联网侧包含两类应用IoT 设备所连接、用于收发数据的应用以及处理设备数据、帮助决策该向设备执行器发送什么指令的应用。典型拓扑如下设备通过家庭 WiFi 连接云端服务云端服务负责安全、接收设备消息、回发消息温度数据写入数据库房主通过手机 App 查看当前与历史温度另一云端服务知晓目标温度通过云端向设备回发指令控制供暖开关。更智能的版本可在云端使用AI结合其他 IoT 设备的占用传感器Occupancy Sensors、天气数据乃至你的日历做出精细决策——例如读到日历显示你外出度假就关闭供暖或按房间使用情况逐屋调温并随时间推移不断学习优化。值得注意的是设备并非总直连互联网。部分设备通过蓝牙等无线技术组成网状网络Mesh Networking经由具备互联网连接的中心设备Hub接入云端。边缘计算IoT on the Edge不联网的 IoT尽管IoT中的I代表 Internet设备并不必须连接互联网。设备可以连接边缘设备Edge Devices——运行在本地网络中的网关设备使数据处理无需经过互联网更快当数据量大或网络慢时本地处理延迟更低可离线运行适用于船舶、人道主义危机灾区等无法联网的场景数据私密敏感数据不出本地网络。部分设备甚至运行用云端工具开发、在本地执行的处理代码不依赖互联网连接即可做出决策。典型例子是 Apple HomePod、Amazon Alexa、Google Home 等智能家居设备它们用云端训练、本地运行的 AI 模型监听唤醒词Wake Word只有被唤醒后才把语音发往云端处理并在检测到语音停顿等合适时机停止发送——唤醒词之前和停止监听之后的语音都不会上传从而保护隐私。IoT 安全没有S的 IoT安全是任何互联网连接设备的关键议题。业内流传一个老笑话IoT 中的 S 代表 Security——因为 IoT 里根本没有字母 S暗示它不安全。IoT 设备连接云端服务其安全强度取决于云端服务本身如果云端允许任意设备接入就可能被注入恶意数据或遭受病毒攻击。由于 IoT 设备控制物理世界后果可能非常严重——例如 Stuxnet 蠕虫 通过操纵离心机阀门造成设备损坏黑客也曾利用薄弱安全机制入侵婴儿监视器等家用监控设备。 一些 IoT 设备与边缘设备会运行在与互联网完全隔离的网络上以保证数据私密与安全这种方式称为air-gapping物理隔离。深入微控制器Microcontroller微控制器MCU是一种把 CPU、内存、可编程 I/O 集成在一块芯片上的小型计算机。下面从五个维度深入剖析。CPU时钟、取指-译码-执行与功耗CPU 是微控制器的大脑负责运行代码并与外设收发数据。CPU 可含一个或多个核心Cores——即一个或多个可协作执行代码的处理器。CPU 依赖**时钟Clock**同步动作每秒滴答数百万或数十亿次。每个滴答即一个周期 CycleCPU 可以执行一条程序指令如从外部设备取数或做数学运算。时钟周期越快每秒处理的指令越多CPU 越快。CPU 速度以HertzHz衡量1 Hz 即每秒一个周期。 CPU 速度常用 MHz 或 GHz 表示1 MHz 100 万 Hz1 GHz 10 亿 Hz。 CPU 通过取指-译码-执行周期fetch-decode-execute cycle运行程序每个时钟滴答从内存取出下一条指令、译码然后用算术逻辑单元ALU等部件执行例如两数相加。部分指令需要多个周期故下一周期在指令完成后才启动。微控制器时钟速度远低于桌面/笔记本计算机甚至多数智能手机。例如Wio Terminal 的 CPU 运行在 120MHz每秒 1.2 亿周期。而普通 PC/Mac 多为多核、数 GHz 的 CPU每秒滴答数十亿次。每个时钟周期都会消耗功率并产生热量滴答越快功耗与发热越高。PC 需要散热器和风扇否则数秒内就会过热关机微控制器通常两者皆无因为它们运行更慢更凉。PC 靠市电或大电池运行几小时微控制器却可凭小电池运行数天、数月甚至数年。部分微控制器还有异构核心——CPU 负载低时切换到低速低功耗核心以省电。 一些新 PC/Mac 也采用高速高功耗核心 低速低功耗核心混合方案例如 Apple M1 芯片可在 4 个性能核心与 4 个效率核心之间切换。实操任务针对 Wio Terminal在 Wio Terminal 产品页 的Hardware Overview部分查看内部结构图透过背面透明塑料窗口尝试找到 CPU。内存程序内存与 RAM微控制器通常有两类内存类型特性用途程序内存Program Memory非易失Non-volatile断电后内容保留存储程序代码RAM随机访问内存易失Volatile断电后内容清零程序运行时的变量与外设数据 程序内存保存你的代码断电仍在RAM 用于运行程序断电即重置。与 CPU 一样微控制器内存比 PC/Mac 小若干个数量级。典型 PC 有 8 GB80 亿字节RAM每字节可存一个字母或 0-255 的数字而微控制器通常只有 KB 级 RAM1 KB 1000 字节。Wio Terminal 只有 192KB192,000 字节RAM——比普通 PC 少 4 万倍以上程序存储同样远小于 PC典型 PC 有 500GB 硬盘微控制器可能只有 KB 到数 MB1 MB 1000 KB。Wio Terminal 有 4MB 程序存储。输入/输出I/OGPIO 引脚微控制器需要输入/输出连接来从传感器读取数据、向执行器发送控制信号通常包含多个通用输入/输出GPIO引脚可在软件中配置为输入接收信号或输出发送信号⬅️ 输入引脚读取传感器数值➡️ 输出引脚向执行器发送指令。实操任务针对 Wio Terminal在产品页Pinout diagram部分查询引脚定义。Wio Terminal 附带一张可贴在背面的引脚编号贴纸建议现在就贴上。物理尺寸从高尔夫球窝到 i9 散热器微控制器通常体积小巧最小的 Freescale Kinetis KL03 MCU 小到可以放进高尔夫球的凹窝。而 PC 中仅 CPU 裸片就有 40mm x 40mm且不含散热所需的散热器和风扇——整体远大于一个完整微控制器。Wio Terminal 开发套件含微控制器、外壳、屏幕与各种连接组件只比裸 Intel i9 CPU 略大且远小于带散热器和风扇的 CPU。设备尺寸Freescale Kinetis KL031.6mm x 2mm x 1mmWio Terminal72mm x 57mm x 12mmIntel i9 CPU 散热器 风扇136mm x 145mm x 103mm框架与操作系统为什么 MCU 不跑 Windows由于速度和内存有限微控制器不运行桌面意义上的操作系统。Windows/Linux/macOS 需要大量内存与算力来处理微控制器完全不需要的任务。微控制器通常被编程执行一个或多个非常具体的任务而非像 PC/Mac 那样支持 UI、播放音视频、写文档、玩游戏、上网。不跑 OS 时编程微控制器需要工具链将代码构建为 MCU 可执行的形式并通过 API 与外设通信。由于每个 MCU 不同厂商通常维护标准框架Framework让你按标准配方构建代码并在支持该框架的任何 MCU 上运行。部分微控制器也可以运行操作系统——即实时操作系统RTOSReal-Time Operating System专为实时收发外设数据而设计非常轻量提供多线程Multi-threading多核并行或单核轮流执行多段代码网络Networking安全地进行互联网通信GUI 组件为带屏幕的设备构建用户界面。常见的 RTOS 有 Azure RTOS、FreeRTOS、Zephyr。Arduino最流行的微控制器框架Arduino 可能是最流行的微控制器框架尤其在学生、爱好者与创客群体中。它是一个开源电子平台软硬件结合可从 Arduino 或第三方厂商购买兼容板再用 Arduino 框架编程。Arduino 板用C 或 C编程。C/C 允许代码编译得极小、运行得飞快——这正是受限设备微控制器所需要的。Arduino 应用的核心叫草图Sketch是包含两个函数的 C/C 代码setup板子上电后由 Arduino 框架代码执行一次用于初始化——连接 WiFi 和云服务、初始化输入/输出引脚loop之后反复执行直到断电包含处理逻辑——读取传感器、把数值发送到云端。通常在每次loop末尾加入延迟delay例如希望每 10 秒发送一次传感器数据就在循环末尾加 10 秒延迟让 MCU 休眠省电10 秒后再跑下一轮。✅ 这种程序架构称为事件循环Event Loop或消息循环是多数桌面应用的底层标准loop监听按钮等 UI 组件或键盘等设备发来的消息并作出响应。仓库中就有真实的草图示例可对照。第一课 Hello World 的 main.cpp 展示了标准的setup/loop骨架#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中初始化串口波特率 9600并等待串口就绪loop中每 5 秒向串口输出一次 Hello World——正是文档所述初始化代码放setup、处理代码放loop、循环末尾加延迟的实践。Arduino 提供标准库抽象不同 MCU 的硬件差异例如delay暂停程序指定时长、digitalRead从引脚读取HIGH或LOW——无论在哪块板上运行API 一致。因此为一块板写的 Arduino 代码只要引脚相同、板子支持相同功能就可重新编译到其他 Arduino 板运行。此外还有庞大的第三方库生态支持各类传感器、执行器以及云 IoT 服务接入。实操任务针对 Wio Terminal重读上一课写的代码找到setup与loop函数观察串口输出中loop被反复调用尝试在setup中添加串口写入代码验证它每次重启只执行一次——用侧面电源开关重启设备来观察该行为。深入单板计算机Single-board Computer单板计算机是包含完整计算机全部要素的单块小主板规格接近 PC/Mac运行完整操作系统但更小、更省电、价格更低。Raspberry Pi从慈善项目到三线产品Raspberry Pi 基金会 是 2009 年成立于英国的慈善机构旨在推动计算机科学教育为此开发了名为 Raspberry Pi 的单板计算机。目前有三个产品线全尺寸版、更小的 Pi Zero、以及可嵌入最终 IoT 设备的计算模块Compute Module。Raspberry Pi 4B全尺寸旗舰最新全尺寸型号 Raspberry Pi 4B 的规格CPU四核4 核1.5GHz内存2、4 或 8GB RAM网络千兆以太网Gigabit Ethernet WiFi视频/音频2 个支持 4K 屏幕的 HDMI 端口、音频与复合视频输出USB2 个 USB 2.0 2 个 USB 3.0GPIO40 个引脚扩展Raspberry Pi 相机模块连接器、SD 卡槽尺寸与供电88mm x 58mm x 19.5mm3A USB-C 电源适配器价格起价 35 美元远低于 PC/Mac。 另有Pi400一体机——把 Pi4 直接做进键盘里。Pi Zero更小更省电CPU单核 1GHz内存512MB RAM网络WiFi仅 Zero W 型号接口1 个 HDMI、1 个 micro-USB、40 个 GPIO 引脚扩展相机模块连接器、SD 卡槽尺寸65mm x 30mm x 5mm功耗极低价格Zero 5 美元带 WiFi 的 W 版 10 美元。 两款型号的 CPU 都是ARM 处理器而非多数 PC/Mac 的 Intel/AMD x86/x64——这与部分微控制器、几乎所有手机、Microsoft Surface X 以及 Apple Silicon Mac 相同。操作系统所有 Raspberry Pi 运行Raspberry Pi OS——一个 Debian Linux 发行版提供两种版本Lite 轻量版无桌面适合无头headless 项目和完整版含桌面环境、浏览器、办公软件、编程工具与游戏。由于基于 Debian可安装任何为 Pi 的 ARM 处理器构建的 Debian 应用。实操任务针对 Raspberry Pi了解板载硬件组件——在 Raspberry Pi 硬件文档 阅读所用型号的处理器定位 GPIO 引脚并阅读 GPIO 文档用 GPIO 引脚使用指南 识别引脚。编程单板计算机Python 与生态单板计算机是运行完整 OS 的完整计算机因此可用广泛的编程语言、框架与工具编程——这与依赖 Arduino 等特定框架的微控制器形成鲜明对比。大多数语言都有访问 GPIO 引脚的库用于与传感器和执行器收发数据。在 Raspberry Pi 上构建 IoT 应用最常用的语言是Python。Pi 拥有巨大的硬件生态几乎每种硬件都带有 Python 库。许多生态组件基于帽子Hats——因像帽子一样盖在 Pi 上、通过大插座连接 40 个 GPIO 引脚而得名。帽子提供屏幕、传感器、遥控车、标准化传感器线缆适配器等额外能力。仓库中第一课对应的 app.py 仅一行print(Hello World!)即可在树莓派上直接运行——直观体现了单板计算机全功能 OS 任意语言的开发体验与微控制器的 C 草图形成鲜明对照。单板计算机在专业 IoT 部署中的使用单板计算机不仅用于开发者套件也用于专业 IoT 部署它们提供强大的硬件控制能力可运行复杂任务如执行机器学习模型。例如 Raspberry Pi 4 Compute Module 提供 Pi 4 的全部算力但采用更紧凑、更便宜的形态去掉大部分端口专为嵌入定制硬件而设计。课程配套挑战、测验与作业 挑战上一课的挑战是尽可能多地列出家里、学校或工作场所的 IoT 设备。本课的延伸问题是列表中的每个设备是围绕微控制器、单板计算机构建还是两者的组合课后测验本课配有一次课后测验与课前测验共同覆盖本课知识点可在课程 quiz-app 中完成。回顾与自学建议阅读 Arduino 入门指南、Raspberry Pi 4 介绍以及关于 CPU/MPU/MCU/GPU 概念的科普文章。结合 hardware.md 中列出的各硬件成本决定使用哪种硬件平台或是否选择虚拟设备虚拟设备路径无需购买任何硬件用 CounterFit 模拟传感器与执行器即可完成全部作业。作业Assignment对比微控制器与单板计算机 ——创建对比表格并分别给出为何用微控制器而非单板计算机与为何用单板计算机而非微控制器各至少 2 条理由。核心结论速查维度微控制器MCU单板计算机SBC典型代表ArduinoWio TerminalRaspberry Pi 4 / Pi Zero编程语言C/CArduino 框架Python 等任意语言操作系统通常无 OS可选 RTOS完整 OSRaspberry Pi OSRAMKB 级Wio Terminal 192KB数百 MB 到数 GBPi 4 可达 8GB时钟频率数百 MHzWio Terminal 120MHz1GHzPi 4 四核 1.5GHz功耗极低电池可运行数月到数年较低需持续供电典型应用单一特定任务、受限嵌入式场景复杂任务、机器学习、专业部署选型时牢记本课要点需要极低功耗、长期电池供电、单一任务时倾向微控制器需要完整 OS、复杂处理、灵活语言生态时倾向单板计算机而不买硬件也能学的虚拟设备路径则适合任何想先低成本入门的学习者。【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询