@ -22,13 +22,13 @@
## 什么是 ‘ 物联网( IoT) ’ ?
## 什么是 ‘ 物联网( IoT) ’ ?
为了形容运用感应 器来链接网络与物质世界, 1999年 [凯文·阿什顿( Kevin Ashton) ](https://wikipedia.org/wiki/Kevin_Ashton ) 生造了‘ 物联网( IoT) ’ 这个词。自从那时起, 这个生造词被用来形容任何能够跟周围的世界交互的设备。这些设备可以使用感应 器收集数据或者使用执行器(会做事—例如打开开关、发光二极管等—的设备)在物质世界完成任务。通常执行器会连接到其它设备或者网络。
为了形容运用传 感器来链接网络与物质世界, 1999年 [凯文·阿什顿( Kevin Ashton) ](https://wikipedia.org/wiki/Kevin_Ashton ) 生造了‘ 物联网( IoT) ’ 这个词。自从那时起, 这个生造词被用来形容任何能够跟周围的世界交互的设备。这些设备可以使用传 感器收集数据或者使用执行器(会做事—例如打开开关、发光二极管等—的设备)在物质世界完成任务。通常执行器会连接到其它设备或者网络。
> ** 感应 器** 从世界中收集数据,例如:速度、温度或地点。
> ** 传 感器** 从世界中收集数据,例如:速度、温度或地点。
>
>
> ** 执行器** 将电信号转换成行动,例如:打开灯,发出声音或将控制信号传送到其它硬件。
> ** 执行器** 将电信号转换成行动,例如:打开灯,发出声音或将控制信号传送到其它硬件。
IoT 不仅是设备,还包含云服务;这些服务能处理数据,或者将请求传送给跟 IoT 设备有链接的执行器。它也包括没有链接的设备; 它们通常被称为“边缘设备”, 而且它们有能力用基于云的AI模型自己处理与回应感应 器的数据。
IoT 不仅是设备,还包含云服务;这些服务能处理数据,或者将请求传送给跟 IoT 设备有链接的执行器。它也包括没有链接的设备; 它们通常被称为“边缘设备”, 而且它们有能力用基于云的AI模型自己处理与回应传 感器的数据。
IoT 是一个快速发展的技术领域。专家预计2020底, 世界上有三百亿 IoT 设备跟网络有链接。专家也预计2025年, IoT 设备将来收集大概80 ZB( 80万亿GB) 。那是个非常大的数量!
IoT 是一个快速发展的技术领域。专家预计2020底, 世界上有三百亿 IoT 设备跟网络有链接。专家也预计2025年, IoT 设备将来收集大概80 ZB( 80万亿GB) 。那是个非常大的数量!
@ -40,15 +40,15 @@ IoT 是一个快速发展的技术领域。专家预计2020底, 世界上有三
## IoT 设备
## IoT 设备
IoT 的 **T** 代表 **Things** (物)—— 可以跟物质世界交互的设备;它们使用感应 器收集数据或者使用执行器在物质世界完成任务。
IoT 的 **T** 代表 **Things** (物)—— 可以跟物质世界交互的设备;它们使用传 感器收集数据或者使用执行器在物质世界完成任务。
为生产或商业的设备(例:健身追踪器、机器控制器等)通常是自定义生成的。它们利用的自定义生成电路板——有时连自定义生成处理器都有——设计使它们能够满足某某任务的需求。例:要戴在手上的需要够小,或者要承受高温度、高压力、高振动的工厂环境的需要够耐用。
为生产或商业的设备(例:健身追踪器、机器控制器等)通常是自定义生成的。它们利用的自定义生成电路板——有时连自定义生成处理器都有——设计使它们能够满足某某任务的需求。例:要戴在手上的需要够小,或者要承受高温度、高压力、高振动的工厂环境的需要够耐用。
无论你正在学 IoT 或者在创立原型设备,作为一名 IoT 开发者,你必须由一个开发者套件开始。这些是为 IoT 开发者设计的通用设备,而它们通常不会有生产设备的特点,例如用来链接感应 器和执行器的外部引脚、帮助排除错误的硬件或者将生产运行中加不必要的成本的额外资源。
无论你正在学 IoT 或者在创立原型设备,作为一名 IoT 开发者,你必须由一个开发者套件开始。这些是为 IoT 开发者设计的通用设备,而它们通常不会有生产设备的特点,例如用来链接传 感器和执行器的外部引脚、帮助排除错误的硬件或者将生产运行中加不必要的成本的额外资源。
这些开发者套件通常有两种:微控制器和单板机。我们会在这儿介绍它们,而将在下一课更详细地解释它们。
这些开发者套件通常有两种:微控制器和单板机。我们会在这儿介绍它们,而将在下一课更详细地解释它们。
> 💁 你的手机也算是一个通用 IoT 设备;它拥有感应 器与执行器,以及有不同应用程序用不同的方式来跟不同云服务利用它们。你甚至可以找到几个用手机的应用程序当作 IoT 设备的 IoT 教程。
> 💁 你的手机也算是一个通用 IoT 设备;它拥有传 感器与执行器,以及有不同应用程序用不同的方式来跟不同云服务利用它们。你甚至可以找到几个用手机的应用程序当作 IoT 设备的 IoT 教程。
### 微控制器
### 微控制器
@ -58,9 +58,9 @@ IoT 的 **T** 代表 **Things**(物)—— 可以跟物质世界交互的设
💾 内存( 随机存取存储器( RAM) 和程序存储器——储存你的程序、数据变量的地方
💾 内存( 随机存取存储器( RAM) 和程序存储器——储存你的程序、数据变量的地方
🔌 可编程输入输出( I/O) 连接——为了跟外围设备( 如感应 器或执行器)沟通
🔌 可编程输入输出( I/O) 连接——为了跟外围设备( 如传 感器或执行器)沟通
微控制器通常是较便宜的计算设备;自定义生成硬件的平均成本下降到 US$0.50,而也有些设备到 US$0.03 那么便宜。开发者套件的价钱可以从 US$4 起,但你加上越多特点,价钱就越高。[Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是个来自 [Seeed studios ](https://www.seeedstudio.com ) 的微控制器;它包含感应 器、执行器、Wi-Fi和一个屏幕, 总共算起来大约 US$30。
微控制器通常是较便宜的计算设备;自定义生成硬件的平均成本下降到 US$0.50,而也有些设备到 US$0.03 那么便宜。开发者套件的价钱可以从 US$4 起,但你加上越多特点,价钱就越高。[Wio Terminal](https://www.seeedstudio.com/Wio-Terminal-p-4509.html) 是个来自 [Seeed studios ](https://www.seeedstudio.com ) 的微控制器;它包含传 感器、执行器、Wi-Fi和一个屏幕, 总共算起来大约 US$30。


@ -68,7 +68,7 @@ IoT 的 **T** 代表 **Things**(物)—— 可以跟物质世界交互的设
微控制器的设计允许它们被编程完成几个非常特定的任务,不像比较通用的电脑。除了一些很具体的情况,你无法连接显示器、键盘和鼠标并利用它完成通用任务。
微控制器的设计允许它们被编程完成几个非常特定的任务,不像比较通用的电脑。除了一些很具体的情况,你无法连接显示器、键盘和鼠标并利用它完成通用任务。
微控制器开发者套件平时包括额外的感应 器和执行器。大多数的会有至少一个能被编程的发光二极管( LEDs) , 还有其它设备如普通插头用来链接更多应用其或执行器或内置感应 器(平时最常见的如温度)。有些微控制器有内置的无线连接如蓝牙或 Wi-Fi, 或者有额外微控制器用来加这个连接性能。
微控制器开发者套件平时包括额外的传 感器和执行器。大多数的会有至少一个能被编程的发光二极管( LEDs) , 还有其它设备如普通插头用来链接更多应用其或执行器或内置传 感器(平时最常见的如温度)。有些微控制器有内置的无线连接如蓝牙或 Wi-Fi, 或者有额外微控制器用来加这个连接性能。
> 💁 我们通常用 C 或 C++ 来为微控制器写程序。
> 💁 我们通常用 C 或 C++ 来为微控制器写程序。
@ -82,7 +82,7 @@ Raspberry Pi 是其中最流行的单板机。
就像一个微控制器,单板机有个中央处理器、内存和输入输出引脚,但它们也有额外的特点如一个让你链接显示器的图形芯片、音频输出与 USB 端口让你链接键盘、鼠标和其它普通 USB 设备如网络摄像头和外置储存。程序将在 SD 卡或硬盘以及一个操作系统被储存,而不是通过一个内置的存储芯片。
就像一个微控制器,单板机有个中央处理器、内存和输入输出引脚,但它们也有额外的特点如一个让你链接显示器的图形芯片、音频输出与 USB 端口让你链接键盘、鼠标和其它普通 USB 设备如网络摄像头和外置储存。程序将在 SD 卡或硬盘以及一个操作系统被储存,而不是通过一个内置的存储芯片。
> 🎓 你可以把单板机当成一个较小、较便宜的电脑版本,就像你现在正在用来读这些的电脑。可是,单板机还加了通用输入/输出端口,让你和感应 器、执行器交互。
> 🎓 你可以把单板机当成一个较小、较便宜的电脑版本,就像你现在正在用来读这些的电脑。可是,单板机还加了通用输入/输出端口,让你和传 感器、执行器交互。
单板机有电脑的所有要素,所以你可以用任何编程语言来为它写程序。我们通常用 Python 为 IoT 设备写程序。
单板机有电脑的所有要素,所以你可以用任何编程语言来为它写程序。我们通常用 Python 为 IoT 设备写程序。
@ -94,11 +94,11 @@ Raspberry Pi 是其中最流行的单板机。
> 💁 你不需要为了完成作业而买任何 IoT 硬件;所有东西可以使用一个虚拟单板机来做。
> 💁 你不需要为了完成作业而买任何 IoT 硬件;所有东西可以使用一个虚拟单板机来做。
要使用哪个硬件是你的选择,取决于你家里或学校里有什么,以及你知道或想学的编程语言。两种硬件都利用同样的感应 器系统,所以万一你想途中改变你的选择,你也不需要替换大部分的套件。用虚拟单板机学跟用一个 Raspberry Pi 学差不多一模一样,而且你可以把大多数的程序转换去你的 Pi 如果你后来得到一个设备和感应 器。
要使用哪个硬件是你的选择,取决于你家里或学校里有什么,以及你知道或想学的编程语言。两种硬件都利用同样的传 感器系统,所以万一你想途中改变你的选择,你也不需要替换大部分的套件。用虚拟单板机学跟用一个 Raspberry Pi 学差不多一模一样,而且你可以把大多数的程序转换去你的 Pi 如果你后来得到一个设备和传 感器。
### Arduino 开发者套件
### Arduino 开发者套件
如果你对微控制器的开发感兴趣,那你可以用一个 Arduino 设备完成作业。你需要对 C 或 C++ 的编程语言有基本的理解,因为将来的课程只会教关于 Arduino 框架的程序、需要用到的感应 器和执行器以及跟云交互的库。
如果你对微控制器的开发感兴趣,那你可以用一个 Arduino 设备完成作业。你需要对 C 或 C++ 的编程语言有基本的理解,因为将来的课程只会教关于 Arduino 框架的程序、需要用到的传 感器和执行器以及跟云交互的库。
作业将用 [Visual Studio Code ](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn ) 跟 [为微控制器开发的 PlatformIO 扩展 ](https://platformio.org ). 如果你对 Arduino IDE 熟悉的话,你也能用它,但我们不会提供指示。
作业将用 [Visual Studio Code ](https://code.visualstudio.com/?WT.mc_id=academic-17441-jabenn ) 跟 [为微控制器开发的 PlatformIO 扩展 ](https://platformio.org ). 如果你对 Arduino IDE 熟悉的话,你也能用它,但我们不会提供指示。
@ -106,7 +106,7 @@ Raspberry Pi 是其中最流行的单板机。
如果你对使用单板机学 IoT 开发有兴趣,你可以用一个 Raspberry Pi 完成作业,或者在你的电脑运行的虚拟设备。
如果你对使用单板机学 IoT 开发有兴趣,你可以用一个 Raspberry Pi 完成作业,或者在你的电脑运行的虚拟设备。
你需要对 Python 有基本的理解,因为将来的课程只会教关于需要用到的感应 器和执行器的程序以及跟云交互的库。
你需要对 Python 有基本的理解,因为将来的课程只会教关于需要用到的传 感器和执行器的程序以及跟云交互的库。
> 💁 如果你想学怎么用 Python 写程序,看一看一下的两个视频系列:
> 💁 如果你想学怎么用 Python 写程序,看一看一下的两个视频系列:
>
>
@ -117,7 +117,7 @@ Raspberry Pi 是其中最流行的单板机。
如果你在用一个 Raspberry Pi, 为了运行你的 Pi, 你可以通过完整的桌面 Raspberry Pi 操作系统以及用 [VS Code 的 Raspberry Pi 操作系统版本 ](https://code.visualstudio.com/docs/setup/raspberry-pi?WT.mc_id=academic-17441-jabenn )直接在你的 Pi 写程序,或者把它当成一个无头设备,从你的电脑用 VS Code 的 [Remote SSH 扩展 ](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn )写程序;这个扩展让你链接你的 Pi, 便编辑你的程序、从程序排除错误和运行程序, 就像如果你直接在 Pi上写程序一样。
如果你在用一个 Raspberry Pi, 为了运行你的 Pi, 你可以通过完整的桌面 Raspberry Pi 操作系统以及用 [VS Code 的 Raspberry Pi 操作系统版本 ](https://code.visualstudio.com/docs/setup/raspberry-pi?WT.mc_id=academic-17441-jabenn )直接在你的 Pi 写程序,或者把它当成一个无头设备,从你的电脑用 VS Code 的 [Remote SSH 扩展 ](https://code.visualstudio.com/docs/remote/ssh?WT.mc_id=academic-17441-jabenn )写程序;这个扩展让你链接你的 Pi, 便编辑你的程序、从程序排除错误和运行程序, 就像如果你直接在 Pi上写程序一样。
如果你选择用虚拟设备,你会直接在你的电脑上写程序。你不会读取感应 器和执行器,反而你会用模拟工具来定义传感器值以及在屏幕上查看执行器的结果。
如果你选择用虚拟设备,你会直接在你的电脑上写程序。你不会读取传 感器和执行器,反而你会用模拟工具来定义传感器值以及在屏幕上查看执行器的结果。
##设置你的设备
##设置你的设备
@ -162,9 +162,9 @@ IoT 有好多用例,跨过几组:
工业 IoT( 也称为 “IIoT”) 指的是使用 IoT 设备在大范围上来控制与管理机械。这包含很多用例,从工厂到数字农业。
工业 IoT( 也称为 “IIoT”) 指的是使用 IoT 设备在大范围上来控制与管理机械。这包含很多用例,从工厂到数字农业。
IoT 设备在工厂中有很多用例。它们能使用各种感应 器( 如: 温度、振动、旋转速度等) 来监测机械。我们将可以观察这些数据, 而如果机器超出某些公差( 如它的温度太高) , 我们可以把它停下来。我们也能收集并分析这些数据, 让人工智能( AI) 模型看故障前的数据, 再利用它预报其它未来的故障; 这就叫做“预测性维护”。
IoT 设备在工厂中有很多用例。它们能使用各种传 感器( 如: 温度、振动、旋转速度等) 来监测机械。我们将可以观察这些数据, 而如果机器超出某些公差( 如它的温度太高) , 我们可以把它停下来。我们也能收集并分析这些数据, 让人工智能( 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),预测农作物能什么时候收割。再次,为了确保植物有充足的水量和避免浪费太多水,他们可以连接土壤水分监测。最后,农民可以进一步、用无人驾驶飞机、卫星数据、人工智能来监测大面积农田的作物生长、疾病和土壤质量。
✅ 还有什么 IoT 设备可以用来帮助农民呢?
✅ 还有什么 IoT 设备可以用来帮助农民呢?
@ -193,7 +193,7 @@ IoT 设备在工厂中有很多用例。它们能使用各种感应器(如:
* 灯光
* 灯光
* 健身和健康追踪器
* 健身和健康追踪器
这些设备都有感应 器和/或执行器与跟互联网沟通。从我的手机,我能看得出如果我的车库门还开着,再叫我的智能音箱替我把它关上。我甚至能用计时器,那万一它晚上还开着,它可以自动关上。每当我的门铃响着,无论我在世界的哪儿个地方,我都能从手机看到门前是谁,并通过门铃的音箱和麦克风跟他们沟通。我能监测我的血糖、心率和睡眠周期,再用数据中的趋势来改善自己的健康状况。我能通过云控制我的灯,而当我的网络连接出状况,我能在黑暗中坐着。
这些设备都有传 感器和/或执行器与跟互联网沟通。从我的手机,我能看得出如果我的车库门还开着,再叫我的智能音箱替我把它关上。我甚至能用计时器,那万一它晚上还开着,它可以自动关上。每当我的门铃响着,无论我在世界的哪儿个地方,我都能从手机看到门前是谁,并通过门铃的音箱和麦克风跟他们沟通。我能监测我的血糖、心率和睡眠周期,再用数据中的趋势来改善自己的健康状况。我能通过云控制我的灯,而当我的网络连接出状况,我能在黑暗中坐着。
---
---