@ -14,15 +14,15 @@
本课程将涵盖:
本课程将涵盖:
* [什么是 ‘ 物联网( IoT) ’ ? ](#what-is-the-internet-of-things )
* [什么是 “物联网( IoT) ” ? ](#what-is-the-internet-of-things )
* [IoT 设备 ](#iot-devices )
* [IoT 设备 ](#iot-devices )
* [设置你的设备 ](#set-up-your-device )
* [设置你的设备 ](#set-up-your-device )
* [IoT 的应用场景 ](#applications-of-iot )
* [IoT 的应用场景 ](#applications-of-iot )
* [在你的周围的 IoT 设备例子](#examples-of-iot-devices-you-may-have-around-you )
* [在你的周围的 IoT 设备例子](#examples-of-iot-devices-you-may-have-around-you )
## 什么是 ‘ 物联网( IoT) ’ ?
## 什么是 “物联网( IoT) ” ?
为了形容运用传感器( sensors, 又译作感应器) 来连接网络与物理世界, 1999年 [凯文·阿什顿( Kevin Ashton) ](https://wikipedia.org/wiki/Kevin_Ashton ) 生造了‘ 物联网( IoT) ’ 这个词。自从那时起,这个术语被用来形容任何能够与周围物理世界交互的设备。这些设备可以使用传感器收集数据,或者使用执行器( actuators, 指的是执行诸如打开开关, 点亮发光二极管等操作的设备) 在物理世界完成任务。通常执行器会连接到其它设备或者互联网。
为了形容运用传感器( sensors, 又译作感应器) 来连接网络与物理世界, 1999 年 [凯文·阿什顿( Kevin Ashton) ](https://wikipedia.org/wiki/Kevin_Ashton ) 生造了“物联网( IoT) ” 这个词。自从那时起,这个术语被用来形容任何能够与周围物理世界交互的设备。这些设备可以使用传感器收集数据,或者使用执行器( actuators, 指的是执行诸如打开开关, 点亮发光二极管等操作的设备) 在物理世界完成任务。通常执行器会连接到其它设备或者互联网。
> ** 传感器** 从世界中收集数据,例如:测量速度、温度或地点。
> ** 传感器** 从世界中收集数据,例如:测量速度、温度或地点。
>
>
@ -30,9 +30,9 @@
物联网作为一个技术领域, 不仅是设备, 它也包含云服务; 这些服务能处理传感器数据, 或者将请求传送给跟物联网设备有连接的执行器。它也包括没有或不需要互联网连接的设备; 它们通常被称为“边缘设备( edge devices) ”, 而且它们有能力用基于云的AI模型自己处理与回应传感器的数据。
物联网作为一个技术领域, 不仅是设备, 它也包含云服务; 这些服务能处理传感器数据, 或者将请求传送给跟物联网设备有连接的执行器。它也包括没有或不需要互联网连接的设备; 它们通常被称为“边缘设备( edge devices) ”, 而且它们有能力用基于云的AI模型自己处理与回应传感器的数据。
物联网是一个快速发展的技术领域。专家预计2020底, 世界上有三百亿物联网设备部署并连接到互联网。专家也预计2025年, 物联网设备将收集大概80 ZB( 80万亿GB) 的数据。这是巨量的数据!
物联网是一个快速发展的技术领域。专家预计到 2020 底,世界上有三百亿物联网设备部署并连接到互联网。专家也预计到 2025 年,物联网设备将收集大概 80 ZB( 80 万亿 GB) 的数据。这是巨量的数据!
![这个图表展示随着时间的推移的有源 IoT 设备;它展示出一个上升趋势,从 2015年不超过50亿到2025年超过300亿](../../../../images/connected-iot-devices.svg )
![这个图表展示随着时间的推移的有源 IoT 设备;它展示出一个上升趋势,从 2015 年不超过 50 亿到 2025 年超过 300 亿](../../../../images/connected-iot-devices.svg )
✅ 做一点儿研究: 物联网设备收集的数据,多少是有用的、多少是被浪费的?为什么那么多数据被忽略了?
✅ 做一点儿研究: 物联网设备收集的数据,多少是有用的、多少是被浪费的?为什么那么多数据被忽略了?
@ -60,13 +60,13 @@ IoT 的 **T** 代表 **Things**(物)—— 可以和物理世界交互的设
🔌 可编程输入/输出( I/O) 连接——为了和外围设备( 如传感器或执行器) 通信
🔌 可编程输入/输出( I/O) 连接——为了和外围设备( 如传感器或执行器) 通信
微控制器通常是较便宜的计算设备; 定制硬件的平均成本下降到0.50美元,而有些设备低至 0.03 美元。开发者套件的起价低至 4 美元,但加上越多功能,价钱就越高。[Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是个来自 [Seeed studios ](https://www.seeedstudio.com ) 的微控制器; 它包含传感器、执行器、Wi-Fi和一个屏幕, 总共算起来大约 30美元。
微控制器通常是较便宜的计算设备;定制硬件的平均成本下降到 0.50 美元,而有些设备低至 0.03 美元。开发者套件的起价低至 4 美元,但加上越多功能,价钱就越高。[Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是个来自 [Seeed studios ](https://www.seeedstudio.com ) 的微控制器; 它包含传感器、执行器、Wi-Fi 和一个屏幕,总共算起来大约 30 美元。
![一个 Wio Terminal](../../../../images/wio-terminal.png )
![一个 Wio Terminal](../../../../images/wio-terminal.png )
> 💁 当你在网上寻找微控制器时,要小心用 **MCU** 这个词,因为这回 带来许多关于漫威电影宇宙( Marvel Cinematic Universe) 的搜索结果, 而不是关于微控制器的。
> 💁 当你在网上寻找微控制器时,要小心用 **MCU** 这个词,因为会 带来许多关于漫威电影宇宙( Marvel Cinematic Universe) 的搜索结果, 而不是关于微控制器的。
微控制器被设计成通过编程完成有限数量的非常特定的任务, 不像PC 或 Mac 那样的通用计算机。除了一些很特殊的场景,你无法连接显示器、键盘和鼠标并利用它完成通用任务。
微控制器被设计成通过编程完成有限数量的非常特定的任务,不像 PC 或 Mac 那样的通用计算机。除了一些很特殊的场景,你无法连接显示器、键盘和鼠标并利用它完成通用任务。
微控制器开发者套件通常包括额外的传感器和执行器。大多数电路板会有至少一个可编程的发光二极管( LEDs) , 还有其它设备, 例如用来添加不同制造商的传感器或执行器, 或是用来添加内置传感器的标准插头( 平时最常见的如温度) 。有些微控制器有内置的无线连接如蓝牙或 Wi-Fi, 或者在电路板上有额外的微控制器来添加这种连接。
微控制器开发者套件通常包括额外的传感器和执行器。大多数电路板会有至少一个可编程的发光二极管( LEDs) , 还有其它设备, 例如用来添加不同制造商的传感器或执行器, 或是用来添加内置传感器的标准插头( 平时最常见的如温度) 。有些微控制器有内置的无线连接如蓝牙或 Wi-Fi, 或者在电路板上有额外的微控制器来添加这种连接。
@ -80,21 +80,21 @@ IoT 的 **T** 代表 **Things**(物)—— 可以和物理世界交互的设
Raspberry Pi 是其中最流行的单板机。
Raspberry Pi 是其中最流行的单板机。
与微控制器一样, 单板机具有CPU、内存和输入/输出引脚, 但它们也有额外的功能, 如一个让你连接显示器的图形芯片、音频输出, 以及USB端口, 它让你连接键盘、鼠标和其它标准USB设备如网络摄像头和外置储存。程序与操作系统一起存储在 SD 卡或硬盘驱动器上,而不是内置于板中的内存芯片。
与微控制器一样,单板机具有 CPU、内存和输入/输出引脚,但它们也有额外的功能,如一个让你连接显示器的图形芯片、音频输出,以及 USB 端口, 它让你连接键盘、鼠标和其它标准USB设备如网络摄像头和外置储存。程序与操作系统一起存储在 SD 卡或硬盘驱动器上,而不是内置于板中的内存芯片。
> 🎓 你可以把单板机当成一个更小、更便宜的个人电脑, 就像你现在正在用来读这篇文章的PC或Mac。可是, 单板机还增加了通用输入/输出引脚( GPIO, general-purpose input/output) , 让你和传感器、执行器交互。
> 🎓 你可以把单板机当成一个更小、更便宜的个人电脑,就像你现在正在用来读这篇文章的 PC 或 Mac。可是, 单板机还增加了通用输入/输出引脚( GPIO, general-purpose input/output) , 让你和传感器、执行器交互。
单板机是功能齐全的计算机, 所以你可以用任何编程语言来为它写程序。我们通常用Python为物联网设备写程序。
单板机是功能齐全的计算机,所以你可以用任何编程语言来为它写程序。我们通常用 Python 为物联网设备写程序。
### 日后课程的硬件选择
### 日后课程的硬件选择
所有后续课程都包括使用物联网设备与物理世界交互, 并与云通信的作业。每节课会支持3种设备选择: Arduino( 使用Seeed Studios Wio Terminal) 或者单板机, 物理设备( Raspberry Pi 4) , 或在你的电脑上运行的虚拟单板机。
所有后续课程都包括使用物联网设备与物理世界交互, 并与云通信的作业。每节课会支持3种设备选择: Arduino( 使用 Seeed Studios Wio Terminal) 或者单板机, 物理设备( Raspberry Pi 4) , 或在你的电脑上运行的虚拟单板机。
你能在[硬件手册](../../../../hardware.md)查到完成作业所需的硬件。
你能在[硬件手册](../../../../hardware.md)查到完成作业所需的硬件。
> 💁 你不需要为了完成作业而买任何物联网硬件;虚拟单板机即可完成所有任务。
> 💁 你不需要为了完成作业而买任何物联网硬件;虚拟单板机即可完成所有任务。
要使用哪种硬件是你的选择, 取决于你家里或学校里有什么, 以及你知道或想学的编程语言。两种硬件都使用同样的传感器生态系统, 所以万一你想途中改变你的选择, 你也不需要替换大部分的套件。用虚拟单板机相当于在Raspberry Pi上学习, 如果你最后购买了设备和传感器, 大部分代码都可以转移到 Pi 上。
要使用哪种硬件是你的选择,取决于你家里或学校里有什么,以及你知道或想学的编程语言。两种硬件都使用同样的传感器生态系统,所以万一你想途中改变你的选择,你也不需要替换大部分的套件。用虚拟单板机相当于在 Raspberry Pi 上学习,如果你最后购买了设备和传感器,大部分代码都可以转移到 Pi 上。
### Arduino 开发者套件
### Arduino 开发者套件
@ -104,7 +104,7 @@ Raspberry Pi 是其中最流行的单板机。
### 单板机开发者套件
### 单板机开发者套件
如果你对使用单板机学物联网开发有兴趣, 你可以用Raspberry Pi( 树莓派) , 或者在你的电脑运行的虚拟设备来完成作业。
如果你对使用单板机学物联网开发有兴趣,你可以用 Raspberry Pi( 树莓派) , 或者在你的电脑运行的虚拟设备来完成作业。
你需要对 Python 有基本的理解,因为将来的课程只会教授与所使用的传感器和执行器相关的代码,以及与云交互的库。
你需要对 Python 有基本的理解,因为将来的课程只会教授与所使用的传感器和执行器相关的代码,以及与云交互的库。
@ -115,7 +115,7 @@ Raspberry Pi 是其中最流行的单板机。
作业将用 [Visual Studio Code ](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn )。
作业将用 [Visual Studio Code ](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn )。
如果你使用的是Raspberry Pi, 则可以使用完整桌面版 Raspberry Pi OS 运行你的树莓派,并使用 [VS Code 的 Raspberry Pi OS 版](https://code.visualstudio.com/docs/setup/raspberry-pi?WT.mc_id=academic-17441-jabenn )直接在你的树莓派上写程序。或者把它当成一个无头设备,从你的电脑用 VS Code 的 [Remote SSH 插件](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn )写程序;这个插件让你连接到树莓派,编辑,调试和运行代码,就像你直接在树莓派上写程序一样。
如果你使用的是 Raspberry Pi, 则可以使用完整桌面版 Raspberry Pi OS 运行你的树莓派,并使用 [VS Code 的 Raspberry Pi OS 版](https://code.visualstudio.com/docs/setup/raspberry-pi?WT.mc_id=academic-17441-jabenn )直接在你的树莓派上写程序。或者把它当成一个无头设备,从你的电脑用 VS Code 的 [Remote SSH 插件](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn )写程序;这个插件让你连接到树莓派,编辑,调试和运行代码,就像你直接在树莓派上写程序一样。
如果你选择用虚拟设备,将直接在你的电脑上写程序。你不会直接访问传感器和执行器,而是用工具来模拟此硬件,提供自己定义的传感器值,并在屏幕上显示执行器的结果。
如果你选择用虚拟设备,将直接在你的电脑上写程序。你不会直接访问传感器和执行器,而是用工具来模拟此硬件,提供自己定义的传感器值,并在屏幕上显示执行器的结果。
@ -127,13 +127,13 @@ Raspberry Pi 是其中最流行的单板机。
这些说明包括您将使用的硬件或工具的创建者提供的第三方网站链接。这是为了确保你始终遵照工具和硬件的最新说明。
这些说明包括您将使用的硬件或工具的创建者提供的第三方网站链接。这是为了确保你始终遵照工具和硬件的最新说明。
按照相关的指南来设置你的设备, 并完成一个“Hello World”项目。我们将用4个课程创造一个物联网夜灯, 而这是第一步。
按照相关的指南来设置你的设备, 并完成一个“Hello World”项目。我们将用 4 个课程创造一个物联网夜灯,而这是第一步。
* [Arduino: Wio Terminal ](wio-terminal.zh-cn.md )
* [Arduino: Wio Terminal ](wio-terminal.zh-cn.md )
* [单板机: Raspberry Pi ](../pi.md )
* [单板机: Raspberry Pi ](../pi.md )
* [单板机:虚拟设备 ](virtual-device.zh-cn.md )
* [单板机:虚拟设备 ](virtual-device.zh-cn.md )
您将使用 VS Code在Arduino 和单板机上编程。如果您以前从未使用过它,请在 [VS Code 站点 ](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn )上阅读更多相关信息。
您将使用 VS Code 在 Arduino 和单板机上编程。如果您以前从未使用过它,请在 [VS Code 站点 ](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn )上阅读更多相关信息。
## 物联网的应用场景
## 物联网的应用场景
@ -150,7 +150,7 @@ Raspberry Pi 是其中最流行的单板机。
消费物联网指的是消费者购买的家用物联网设备。这些设备中有的非常有用,例如:智能音箱、智能供暖系统和机器人吸尘器。其它的设备可用性则存疑,例如声控水龙头,这意味着您无法关闭它们,因为声控无法在流水声中听到您的声音。
消费物联网指的是消费者购买的家用物联网设备。这些设备中有的非常有用,例如:智能音箱、智能供暖系统和机器人吸尘器。其它的设备可用性则存疑,例如声控水龙头,这意味着您无法关闭它们,因为声控无法在流水声中听到您的声音。
消费物联网设备使人们能够在周围环境中获取更多能力, 尤其是世界上的10亿个残障人士。机器人吸尘器能为行动不便、无法亲自清扫的人提供干净的地板、声控烤箱让视力或行动较差的人用自己的语音打开烤箱、健康监测器使患者能够监测自己的慢性病情况并定期得到更加详细的信息。这些设备将变得普及到连小孩子也在天天使用它们, 如学生们在冠状病毒疫情时进行居家学习, 利用智能家居设备的计时器记录他们的功课或者设置闹钟来提醒他们参与他们未来的课程。
消费物联网设备使人们能够在周围环境中获取更多能力,尤其是世界上的 10 亿个残障人士。机器人吸尘器能为行动不便、无法亲自清扫的人提供干净的地板、声控烤箱让视力或行动较差的人用自己的语音打开烤箱、健康监测器使患者能够监测自己的慢性病情况并定期得到更加详细的信息。这些设备将变得普及到连小孩子也在天天使用它们,如学生们在冠状病毒疫情时进行居家学习,利用智能家居设备的计时器记录他们的功课或者设置闹钟来提醒他们参与他们未来的课程。
✅ 你身上或家里有什么消费物联网设备呢?
✅ 你身上或家里有什么消费物联网设备呢?
@ -166,7 +166,7 @@ Raspberry Pi 是其中最流行的单板机。
工厂以多种不同方式使用物联网设备。它们能使用各种传感器(如:温度、振动、旋转速度等)来监测机械。我们可以监测这些数据,以便在机器超出特定指标时停止机器 ( 如它的温度太高) 。我们也可以收集并分析这些数据, 让人工智能( AI) 模型学习故障前的数据, 再利用它预报其它未来的故障; 这就叫做“预测性维护”。
工厂以多种不同方式使用物联网设备。它们能使用各种传感器(如:温度、振动、旋转速度等)来监测机械。我们可以监测这些数据,以便在机器超出特定指标时停止机器 ( 如它的温度太高) 。我们也可以收集并分析这些数据, 让人工智能( AI) 模型学习故障前的数据, 再利用它预报其它未来的故障; 这就叫做“预测性维护”。
为了养活不断增长的人口,数字农业非常重要,尤其是对于依靠[自给农业](https://wikipedia.org/wiki/Subsistence_agriculture) 的5亿家户中的20亿人而言。数字农业的领域包括才几块钱的传感器, 也包含大规模的商业装置。农民可以首先监测温度以及用[生长度日( GDD) ](https://wikipedia.org/wiki/Growing_degree-day),预测农作物什么时候收割。你们还可以将土壤湿度监测与自动浇水系统连接起来,为他们的植物提供刚好所需的水量,而不浪费水资源。最后,农民可以进一步、用无人驾驶飞机、卫星数据、人工智能来监测大面积农田的作物生长、疾病和土壤质量。
为了养活不断增长的人口,数字农业非常重要,尤其是对于依靠[自给农业](https://wikipedia.org/wiki/Subsistence_agriculture) 的 5 亿家户中的 20 亿人而言。数字农业的领域包括才几块钱的传感器,也包含大规模的商业装置。农民可以首先监测温度以及用[生长度日( GDD) ](https://wikipedia.org/wiki/Growing_degree-day),预测农作物什么时候收割。你们还可以将土壤湿度监测与自动浇水系统连接起来,为他们的植物提供刚好所需的水量,而不浪费水资源。最后,农民可以进一步、用无人驾驶飞机、卫星数据、人工智能来监测大面积农田的作物生长、疾病和土壤质量。
✅ 还有什么物联网设备可以用来帮助农民呢?
✅ 还有什么物联网设备可以用来帮助农民呢?
@ -214,7 +214,7 @@ Raspberry Pi 是其中最流行的单板机。
几个例子:
几个例子:
* 这个推特账户 ** [Internet of Sh*t ](https://twitter.com/internetofshit )** *(亵渎警告)* 有几个关于消费物联网失败的好例子。
* 这个推特账户 ** [Internet of Sh*t ](https://twitter.com/internetofshit )** *(亵渎警告)* 有几个关于消费物联网失败的好例子。
* [c|net - 我的 Apple Watch 救了我一命: 5 个人分享他们的故事](https://www.cnet.com/news/apple-watch-lifesaving-health-features-read-5-peoples-stories/ )
* [c|net - 我的 Apple Watch 救了我一命: 5 个人分享他们的故事](https://www.cnet.com/news/apple-watch-lifesaving-health-features-read-5-peoples-stories/ )
* [c|net - ADT 技术人员承认多年来一直监视客户的摄像头信息 ](https://www.cnet.com/news/adt-home-security-technician-pleads-guilty-to-spying-on-customer-camera-feeds-for-years/ ) *(触发警告:未经同意的偷窥)*
* [c|net - ADT 技术人员承认多年来一直监视客户的摄像头信息 ](https://www.cnet.com/news/adt-home-security-technician-pleads-guilty-to-spying-on-customer-camera-feeds-for-years/ ) *(触发警告:未经同意的偷窥)*
## 作业
## 作业