ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

IoT-For-Beginners 课程导读:物联网核心概念、三种硬件路径与第一个 Hello World 实战

IoT-For-Beginners 课程导读:物联网核心概念、三种硬件路径与第一个 Hello World 实战 IoT-For-Beginners 课程导读物联网核心概念、三种硬件路径与第一个 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”系统讲解物联网IoT的定义与组成传感器、执行器、云端与边缘设备梳理开发板两大类别微控制器与单板计算机的差异并对照仓库中真实的示例代码带你完成 ArduinoWio Terminal、Raspberry Pi 与虚拟设备三条硬件路径的初始化和“Hello World”验证同时覆盖消费、商业、工业与基础设施四大 IoT 应用场景。读完本篇你将明确该课程 12 周、24 节课的学习路线入口并具备在真实或虚拟硬件上跑通第一个 IoT 程序的完整能力。什么是“物联网”“物联网”Internet of Things这一术语由 Kevin Ashton 于 1999 年提出最初指通过传感器把互联网与物理世界连接起来。此后该术语被用来描述任何与周围物理世界交互的设备它既可以通过传感器采集数据也可以通过执行器actuator做出实际动作的装置例如接通开关、点亮 LED产生现实世界的交互通常还会与其他设备或互联网相连。传感器从世界采集信息例如测量速度、温度或位置。执行器把电信号转换为现实世界的交互例如触发开关、点亮灯光、发出声音或向其他硬件发送控制信号如接通电源插座。从技术领域的角度看IoT 远不止设备本身它还包括云端服务处理传感器数据或向连接在 IoT 设备上的执行器下发请求边缘设备没有或不依赖互联网连接的设备它们可以自行处理和响应传感器数据通常使用在云端训练好的 AI 模型。IoT 是一个快速增长的技术领域。课程原文估算到 2020 年底约有 300 亿台 IoT 设备被部署并接入互联网到 2025 年IoT 设备预计将采集近 80 泽拍字节zettabyte即 80 万亿 GB的数据。课程同时留下了一个思考题这些设备产生的数据中真正被利用的有多少为什么大量数据被忽略这些数据是 IoT 成功的关键。要成为一名成功的 IoT 开发者你需要理解需要采集哪些数据、如何采集、如何基于数据做决策以及如何在必要时用这些决策与物理世界交互。IoT 设备微控制器与单板计算机IoT 中的T代表Things物——通过传感器采集数据或通过执行器与现实交互的设备。面向生产或商用的设备如消费级运动手环、工业机床控制器通常是定制产品使用定制电路板、甚至定制处理器以满足特定任务的需求——小到能戴在手腕上或坚固到能在高温、高压、高振动的工厂环境中工作。而作为学习 IoT 或做设备原型的开发者起点是开发套件developer kit。这是为开发者设计的通用型 IoT 设备常带有生产设备上不会出现的特性用于连接传感器/执行器的外部引脚、支持调试的硬件或大批量生产时会造成不必要成本增加的额外资源。开发套件通常分为两类微控制器Microcontroller和单板计算机Single-board Computer。手机本身也可以被视为一种通用 IoT 设备——内置传感器与执行器不同 App 以不同方式调用它们并对接不同的云服务。微控制器MCU微控制器MCUmicrocontroller unit是一个小型计算机由以下部分组成一个或多个 CPU——微控制器的“大脑”负责运行你的程序内存RAM 与程序存储器——存储你的程序、数据和变量可编程输入/输出I/O接口——与外部外设传感器、执行器等通信。微控制器通常是低成本计算设备用于定制硬件的 MCU 平均价格可低到约 0.50 美元个别器件低至 0.03 美元开发套件从 4 美元起价功能越多成本越高。课程选用的 Seeed Studios 微控制器开发套件 Wio Terminal内置传感器、执行器、WiFi 与屏幕价格约 30 美元。微控制器被设计为只执行数量有限、目标非常明确的任务而不是像 PC/Mac 那样的通用计算机——除极特殊场景外你无法给它接上显示器、键盘和鼠标用于通用计算。微控制器开发套件通常板载额外的传感器与执行器大多数板子都有可编程的 LED、用于扩展传感器/执行器的标准接口不同厂商各自拥有生态以及内置传感器通常是温度传感器这类最普及的器件。部分微控制器内置蓝牙或 WiFi 等无线连接能力或在板上集成额外的 MCU 来提供这种连接。 微控制器通常使用 C/C 编程。另外在网上搜索微控制器时注意“MCU”一词也会命中大量 Marvel 电影宇宙Marvel Cinematic Universe的结果检索时需要甄别。单板计算机SBC单板计算机把完整计算机的所有要素集中在一块小电路板上规格接近台式/笔记本 PC 或 Mac运行完整操作系统但体积更小、功耗更低、价格明显更低。Raspberry Pi 是最流行的单板计算机之一。与微控制器类似单板计算机也有 CPU、内存和输入/输出引脚但额外具备图形芯片可接显示器、音频输出、USB 接口连接键盘、鼠标、摄像头、外置存储等标准 USB 设备。程序连同操作系统一起存储在 SD 卡或硬盘上而不是板载存储芯片。可以把它理解为更小、更便宜的 PC/Mac 版本外加用于与传感器和执行器交互的GPIOgeneral-purpose input/output通用输入/输出引脚。单板计算机是功能完整的计算机因此可以用任何语言编程——IoT 设备通常使用 Python。后续课程的硬件选择后续每节课都包含使用 IoT 设备与物理世界交互、并与云端通信的实战任务。每节课均支持3 种设备选择Arduino使用 Seeed Studios Wio Terminal物理单板计算机Raspberry Pi 4虚拟单板计算机运行在你的 PC 或 Mac 上无需购买任何硬件。完成全部任务所需的硬件清单在 硬件指南 中有详细说明包括 Wio Terminal 与 Raspberry Pi 两个方向的完整传感器/执行器清单Grove LED ×2、温湿度传感器、电容式土壤湿度传感器、继电器、GPS、飞行时间测距传感器等。 你不需要购买任何 IoT 硬件——所有项目都可以在虚拟硬件上完成。两种硬件路线使用同一套传感器生态Grove因此中途从一条路线切换到另一条时无需更换大部分设备。虚拟单板计算机相当于在 Raspberry Pi 上学习大部分代码将来可以直接迁移到真机 Pi。选择哪种硬件取决于你现有的条件家中/学校可用设备以及你熟悉或计划学习的编程语言Arduino 路线要求基本的 C/C 知识课程只教与 Arduino 框架、所用传感器/执行器及云端交互库相关的代码单板计算机路线要求基本的 Python 知识。三条硬件路径的设置与 Hello World在开始编程之前需要先做少量初始化设置。以下分别介绍三条路径的核心步骤完整的分步操作见仓库内对应的三篇设置指南Arduino - Wio Terminal 设置指南单板计算机 - Raspberry Pi 设置指南单板计算机 - 虚拟设备设置指南三条路径统一使用Visual Studio Code作为编辑器Arduino 路线额外搭配 PlatformIO 扩展单板计算机路线搭配 Pylance 扩展。完成各自指南后你需要做出一个 “Hello World” 项目——这将是后续 4 节课内构建IoT 小夜灯nightlight应用的第一步代码文件夹统一命名为nightlight后续课程会在此基础上持续扩展。路径一ArduinoWio Terminal PlatformIOWio Terminal 是一款 Arduino 兼容的微控制器内置 WiFi、传感器、执行器和 Grove 接口。设置流程要点安装 VS Code 与 PlatformIO 扩展PlatformIO 会自动安装其依赖的 C/C 扩展用 USB-C 数据线连接 Wio Terminal并按官方 Wiki 说明更新固件以启用 WiFi通过 PlatformIO 的Project Wizard新建项目项目名称填nightlight板卡选择Seeeduino Wio Terminal框架保持Arduino。向导生成的项目中设备与应用的关键配置位于 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 框架。应用入口在 src/main.cpp 的setup上电后只运行一次与loop反复运行直到断电中。Hello World 代码如下#include Arduino.h void setup() { Serial.begin(9600); // 初始化串口波特率 9600 位/秒 while (!Serial) ; // 等待串口就绪 delay(1000); } void loop() { Serial.println(Hello World); delay(5000); // 每 5 秒输出一次 }Serial.begin(9600)中的 9600 是串口波特率每秒传输的比特数。上传代码时需要先把 Wio Terminal 拨入上传模式快速下拉电源开关两次观察蓝色状态灯闪烁然后在 VS Code 命令面板执行PlatformIO: Upload编译完成后用PlatformIO: Serial Monitor打开串口监视器即可每 5 秒看到一行Hello World输出。路径二Raspberry PiPythonRaspberry Pi 通过 Grove Base Hat扣在 GPIO 排针上的扩展板连接 Grove 传感器与执行器用 Python 编程。有两条工作方式直接在 Pi 上开发刷入带桌面环境的 Raspberry Pi OS在 Pi 上安装 VS Code无头headless模式远程开发在电脑上用 Raspberry Pi Imager 将Raspberry Pi OS Lite刷入 SD 卡在写入阶段的高级选项中预先启用 SSH、配置 WiFi 与区域设置然后通过ssh piraspberrypi.local连接并用 VS Code 的 Remote SSH 扩展远程编辑、调试和运行代码体验与直接在 Pi 上编码一致。两种方式的软件配置核心命令相同更新系统后安装 Grove Python 包并启用 I²C 接口sudo apt install git python3-dev python3-pip --yes git clone https://github.com/Seeed-Studio/grove.py cd grove.py sudo pip3 install . sudo raspi-config nonint do_i2c 0Grove Python 包需要从源码安装全局安装课程不采用虚拟环境——Pi 开发者通常每个项目重刷 SD 卡最后一条命令开启 I²C 通信接口Grove 传感器多通过 I²C 连接。Hello World 部分创建nightlight/app.py参考 code/pi/nightlight/app.pyprint(Hello World!)在 VS Code 终端中执行python app.py若同时装有 Python 2 则需显式使用python3终端输出Hello World!即验证成功。路径三虚拟设备CounterFit 模拟硬件没有实体硬件时可以用CounterFit项目在本地运行一个模拟 IoT 硬件的 Web 应用传感器数值可自定义执行器结果直接在屏幕上显示而本地 Python 代码的写法与在真实 Pi 上完全一致通过 Grove shims 实现。设置步骤安装 Python 3.6 与 VS Code含 Pylance 扩展为nightlight目录创建并激活 Python 虚拟环境隔离依赖mkdir nightlight cd nightlight python3 -m venv .venv # macOS / Linux 激活 source ./.venv/bin/activate # Windows PowerShell 激活 .\.venv\Scripts\Activate.ps1在虚拟环境中安装 CounterFit 三个 Pip 包pip install CounterFit pip install counterfit-connection pip install counterfit-shims-grove先写print(Hello World!)验证 Python 环境然后在终端启动counterfit应用会在浏览器中打开并显示为Disconnected右上角 LED 熄灭在 app.py 顶部加入连接代码from counterfit_connection import CounterFitConnection CounterFitConnection.init(127.0.0.1, 5000) print(Hello World!)127.0.0.1即 localhost5000是 CounterFit 的默认端口若端口冲突可修改代码中的端口并用CounterFit --port 端口号启动。在新终端中运行python app.py浏览器中的 CounterFit 状态变为Connected、LED 亮起即完成“虚拟接线”验证。IoT 的应用领域IoT 覆盖了大量用例可归为四大类消费级 IoTConsumer IoT指消费者购买并用于家庭的设备。其中有些极其有用——智能音箱、智能供暖系统、扫地机器人有些则 usefulness 存疑例如只能语音控制、却因听不见流水声而无法关闭的水龙头。消费级 IoT 设备正在帮助人们尤其约 10 亿残障人士做得更好扫地机器人让行动不便的人拥有干净的地板语音烤箱让视力或运动控制受限的人仅凭声音加热食物健康监测设备让患者能以更高频率和更细粒度跟踪慢性病。这些设备已普及到儿童日常——疫情期间远程上课的学生用智能家居设备设置作业计时器和上课提醒。商业 IoTCommercial IoT覆盖工作场所中的 IoT 应用办公室用存在传感器和运动检测器管理照明与供暖只在需要时开启降低成本与碳排放工厂用 IoT 监测安全隐患如工人未戴安全帽、噪音达到危险水平零售业监测冷藏温度冰箱/冰柜超温时告警或监测货架缺货并引导员工补货运输业依赖 IoT 监测车辆位置、按里程计费、跟踪司机工时与休息合规性或在车辆接近场站时提前通知装卸人员。工业 IoTIIoT工业 IoT 是用 IoT 设备大规模管控机械从工厂到数字农业都有覆盖工厂用多传感器温度、振动、转速监控机器超出容差如过热时自动停机历史数据还可用于预测性维护——AI 模型分析故障前的数据模式提前预测其他故障数字农业对养活不断增长的人口尤其约 5 亿户、20 亿以自给农业为生的人口至关重要。规模可以从几美元的单个传感器到大型商业系统。农户可以从监测温度、用**生长度日growing degree days**预测收获时间起步把土壤湿度监测接入自动灌溉系统做到“按需供水、一滴不多”更进一步无人机、卫星数据与 AI 可用于在广阔农田上监测作物生长、病害与土壤质量。基础设施 IoTInfrastructure IoT指监测与管控人们每天使用的本地乃至全球基础设施智慧城市城市用 IoT 采集数据以改善运行通常由地方政府、学术界与本地企业合作推动覆盖交通、停车、污染等。例如丹麦哥本哈根的空气污染对居民重要因此城市测量空气质量并用数据为骑行和慢跑推荐最清洁路线智能电网通过采集家庭级用电数据改善电力需求分析。这类数据既能支撑国家级决策如新建电站选址也能给个人提供洞察用了多少电、何时使用甚至给出省钱建议如夜间给电动车充电。你身边可能已经存在的 IoT 设备课程作者在家中写作本文时就有如下联网且具备应用控制、语音控制或向手机推送数据等智能功能的设备多台智能音箱冰箱、洗碗机、烤箱与微波炉太阳能面板电力监测器智能插座视频门铃与安全摄像头带多个室内智能传感器的智能恒温器车库门开启器家庭娱乐系统与语音控制电视灯光健身与健康追踪器。这些设备都具备传感器和/或执行器并与互联网通信。典型场景作者可以在手机上查看车库门是否开着并让智能音箱把它关上还能设置定时器——若整夜未关就自动关闭门铃响起时无论身在何处都能在手机上看到门口的人并通过门铃内置的扬声器与麦克风通话可以监测血糖、心率与睡眠模式从数据中寻找规律以改善健康灯光通过云端控制——网络中断时作者只能坐在黑暗里。挑战与作业 挑战尽可能多地列出你家中、学校或工作场所的 IoT 设备——数量可能超出你的想象课后作业调研一个 IoT 项目。在全球范围内有大量大小 IoT 项目落地智慧农场、智慧城市、健康监测、交通运输与公共空间。请在网上搜索一个你感兴趣的项目最好是离你近的解释该项目的优点与缺点它带来什么收益、造成哪些问题、隐私如何被考量。评分标准Rubric围绕“是否清晰解释优点与缺点”划分优、合格、待改进三档。复盘与自研建议阅读消费级 IoT 项目的成功与失败案例在新闻网站上寻找出问题的案例——隐私泄露、硬件故障或因连接缺失引发的问题——例如 Apple Watch 的健康监测救人性命的事件或安防公司技术员长期偷看客户摄像头录像的丑闻。小结本课程第一课确立了完整的 IoT 认知框架传感器采集 → 数据驱动决策 → 执行器作用于物理世界并明确了云与边缘两种处理模式。三条硬件路径Wio Terminal / Raspberry Pi / 虚拟设备共享同一套 Grove 传感器生态与nightlight代码结构Hello World 分别验证了 C/C PlatformIO、Python Grove、Python CounterFit 三套工具链的可用性。下一步可继续阅读第二课“deeper dive”深入对比微控制器与单板计算机的架构差异随后进入 4 节课的 IoT 小夜灯实战。【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表