You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

131 lines
12 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 开篇词 | 物联网这个趋势,你不应该错过
你好,我是郭朝斌。
很高兴能有机会和你聊聊物联网,因为我觉得,这是未来的一个趋势,即使你不在这个行业,了解一下也可能会对自己有用。
可能你已经感受到了,我们身边越来越多的硬件设备正在被嵌入芯片、注入软件,从而实现各种各样的新应用、新功能,比如智能门锁。
以前我们出门的时候,经常说要带好四样东西,“伸手要钱”,也就是身份证、手机、钥匙和钱包。随着智能手机的发展,我们现在出门已经不需要带钱包了,拿着手机扫二维码,就可以买东西。而智能门锁则让我们省去了带钥匙的麻烦,你输入密码或者指纹就可以开门,甚至还可以远程生成临时密码给别人开门。
比方说你在外面休假,然后你的亲戚临时要到你家里取东西,你完全可以生成一个临时密码发给他,这样他就可以进去了。
这些东西,一开始的时候我们都感到很新奇,但是一段时间之后就觉得很自然、很平常了,甚至还会觉得如果离开它们,生活反而会出现问题。
这一切,正是物联网这一技术趋势的体现。
## 下一个技术风口
所谓物联网,其实就是借助互联网的力量,实现万物互联。
互联网本质上已经实现了人与人、人与信息的连接。那么接下来,人体自身,比如你的各项生理指标;人使用的各种物品,比如水杯、桌子和椅子;甚至人所处的周围环境,例如卧室的温度、湿度和甲醛含量,都会被接入互联网,实现人与物、物与物的连接。
所以说,**物联网是互联网发展的必然趋势。**
这种万物互联的愿景和趋势,无疑会深刻改变我们的生活,重塑农业、制造业、交通、物流、零售和家居等各个领域。
Gartner 是一个美国的技术咨询公司,每年都会发布一些技术趋势分析报告。它有一个工具叫[技术成熟度曲线](https://www.gartner.com/en/documents/3947474/hype-cycle-for-the-internet-of-things-2019)。这个工具会把每一个技术发展的过程分成5个阶段
* 一开始,技术处于**萌芽期**
* 然后,它会迅速到达一个最高点,也就是**期望膨胀期**
* 紧接着,这种技术就会进入**泡沫破裂低谷期**,有些技术在这个阶段已经被验证为不符合实际需求,就淘汰掉了;
* 但是还有一些技术,会进入到**稳步爬升恢复期**
* 最后,技术进入到**生产成熟期**。
现在我们来看一下物联网。Gartner 曾经在 2015 年发布过一个报告说物联网处于期望膨胀的巅峰到了2019年我们再找到它新发布的报告就会看到智能家居、工业物联网和智能楼宇这些细分的领域正在从恢复期走向成熟期。我在这里放了一张图你可以去参考。
![](https://static001.geekbang.org/resource/image/d4/5f/d4a7f7b2779d821327316b06bd16fa5f.jpg "Gartner 2019年物联网技术成熟曲线改自Gartner官网")
大公司向来对于技术趋势非常敏感,一方面它们要保持领先,另一方面它们要防止出现颠覆者。我们看看国内的一线技术公司:硬件厂商,如华为、小米;云计算企业和互联网巨头,比如阿里云、腾讯云等,已经纷纷投入大量的人力、资金布局物联网行业。
面对技术的潮起潮落,吴军博士曾说:**“我们所能做的就是尽量把握每一次技术大潮。”**
公司如此作为技术人也是这样顺应技术趋势发展才能成为时代的弄潮儿。记得在移动互联网刚起步的阶段大概2013年我还在诺基亚从事手机相关的开发工作。我有一位同事在那个时候就选择离开诺基亚加入了 Uber成为中国总部早期成员后来又去了另一家打车软件公司担任部门总监实现了能力和职位的火箭式提升。
也许你也可以像我的这位前同事一样,抓住一个行业的机会,实现自身价值的提升。因为我很看好物联网这个技术趋势,在我看来,物联网就是这样一个机会。它的影响力正在变得越来越大,现在很火热的**新基建**和**数字化转型**都离不开它,所以它将让很多人进入职业发展的快车道。
## 物联网为什么不好懂?
如果你主动了解过物联网相关的知识,很可能觉得它们不太好掌握。而且你也会发现,网络上的很多相关资料,大多数内容不成体系,学起来往往不得要领。
这是为什么呢?因为**物联网涉及的知识非常庞杂**,包括通信技术、嵌入式开发、互联网系统、大数据、人工智能等等,甚至还有相关应用领域的专业知识。比如,你做交通物流方面的应用开发,就得了解交通物流的知识。
这些知识可以说是“盘根错节”地交织在一起,要求我们得先**具备抽丝剥茧、理清思路的能力**,去看清楚这些技术的作用和相互之间的关系。只有这样,我们才能在物联网这个领域获得快速的成长。
![](https://static001.geekbang.org/resource/image/71/d7/71c5376c5848f7b2cba2b27eaa16d9d7.png)
因此,在这门课中,我会为你梳理清楚物联网领域庞杂的专业知识,将“庞杂”转变为“条理”,并深入剖析其中的核心技术,最终帮你建立起一个完整的知识体系。
这个完整的知识体系,可以确保你在任何时候都不会迷路。这样,你对工作中的很多问题就会看得更加清楚,能够逐渐建立架构师的思维能力,为职场中的提升做好“内功”的准备。
## 为什么我能为你讲清楚?
你可能想问,既然物联网知识这么难掌握,为什么我可以讲清楚呢?
其实我也一直有这样的疑惑:我常常觉得自己对于物联网有天然的熟悉感,但是不知道为什么。直到有一次整理简历,我发现这跟我的经历有很大的关系。
我非常喜欢机器人研究生时期主要做的研究就是国自然国家自然科学基金资助的机器人相关的课题。我们几个同学还与清华的一位同学组队代表清华大学参加了RoboCup 机器人竞赛,之后我们又代表自己的学校参加了 FIRA 机器人竞赛,并且获得了几个奖项。
参加工作后我在诺基亚做过移动通信、蓝牙等通信技术的相关开发研究过手机操作系统的底层架构移植、开发过FireFoxOS这类理念非常超前的手机操作系统做过比 Apple Watch 还要早的智能手表项目;并且多次参加 Hackathon 比赛。
后来,创业过程中,我不但做过小米生态的智能硬件(那是小米平台上少有的医药器械设备);而且还从 0 开始设计、搭建过一个完整的物联网系统,并投入到了几个大型企业的生产环境中。
正是因为从大学到工作的这些经历,我对**硬件**、**软件**、**通信技术**、**前端**和**后台**都有比较好的掌握,而这正好契合物联网的多种技术融合的特点。所以,我对物联网的整个知识体系非常清楚,并对相关技术有深入研究。
## 怎样高效入门物联网?
物联网从整个体系结构来看,可以分为三个层面。
第一是**设备层**,也就是各种硬件设备。
设备组件有传感器,比如测量温度、湿度、光照强度等参数的设备;也有执行器,比如控制电路通断的继电器、实现物体移动的马达等。
物联网设备,不仅涉及传统嵌入式系统的开发,而且也需要考虑通信技术,比如 Wi-Fi、蓝牙和蜂窝网络等。你只有熟悉它们的特点才能在实践中做出正确的选择。
第二是**网络层**,主要关注的是设备与物联网平台的通信协议。
物联网的网络通信仍然是基于互联网的,所以底层还是 TCP/IP 协议。应用中你更多需要了解、掌握的是具体的网络协议,比如 HTTP、MQTT 和 AMQP 等。在做物联网系统设计的时候,你得搞清楚这些协议的适用场景。
第三是**应用层**,也就是实现具体业务逻辑的地方。
除了像普通互联网后台一样,要面对服务器框架、数据库系统、消息队列等问题外,物联网系统首先需要处理的就是海量的数据。这又可以分为三个方面:
1. 数据存储,比如 NoSQL 数据库和时序数据库的选择。
2. 数据处理,比如 Spark、Flink 等大数据处理框架的不同特点,批处理和流处理的适用场景等。
3. 数据分析,如各类机器学习算法,甚至 AI 的应用。
设备层、网络层和应用层这三个层面的知识,都是你在设计和实施一个物联网系统的过程中需要掌握的。另外,现在**数据隐私**和**系统安全**越来越重要,它们贯穿系统的整个生命周期,也是需要你通盘考虑的事情。我提供了一个知识体系图,供你随时查看。
![](https://static001.geekbang.org/resource/image/a3/64/a324a38ab7d0236bbef0a567288a2264.jpg "物联网知识体系图")
## 这门课是怎样设计的?
我们应该如何高效地学习呢?在这门课里,我将通过三个循序渐进的模块,理论结合动手实践,来帮你构建物联网的知识体系。
在基础篇,我会带你**快速认识物联网**。
我将按照设备接入网络、与平台对话、传输数据和利用数据产生价值的路径介绍物联网系统的基本框架让你对设备层、网络层和应用层这三大层面留下初步的印象然后通过智能家居场景的简易IoT系统设计让你对物联网建立更直观的认知。
在进阶篇,我会带你掌握**物联网的关键技术**。
我将结合简易智能家居项目,为你深度剖析物联网三大层面的核心知识点,并对开源生态、用户隐私、系统安全的实践注意事项做针对性的补充。这些知识能帮你做好充足的准备迎接工作实践。
在实战篇,我会手把手带你**从0开始完成自己的智能家居项目作品**。
网上虽然已经有一些 DIY 硬件设备的资料,但是大多没有放在物联网的技术背景下去做,只是单机版本的。而这个实战项目,是我为你量身定制的。我将围绕智能家居的简易物联网系统,一步一步讲解实现步骤和注意事项。为了降低难度,我还专门做了两件事:
1. 我采用了 Python 语言来进行嵌入式系统的开发。就算你是 0 基础,也可以做出自己的小作品。
2. 我设计了一个**硬件套装**,如有需要,你可以根据[这份文档](https://shimo.im/sheets/D3VVPdwcYRhhQRXh/MODOC)自行采购相关硬件。
你在跟着我动手操作的过程中,肯定会对物联网的核心技术有更深刻的理解。工程项目跟游泳一样,我从来没有见过哪个人是通过看书学会游泳的。你必须不断地在实践中锻炼、提高自己的技能。
最后,我也特别希望,你能在部落里晒出自己的实战作品,跟其他同学一起学习交流。
在这三个模块之外,我还会时不时为你加个餐,介绍一下物联网的**未来发展趋势**和**重点实践领域**,比如 5G 等新型通信技术的应用。
期待能通过这门课程帮助你在物联网领域实现自己的成就,在职场获得更大的提升。让我们一起做**万物互联时代的懂行者**吧!
欢迎你把课程分享给同样对物联网感兴趣的朋友,一起进步;也请你多多给我留言,说说自己对这门课的期待,或者目前遇到的困惑,我一定会认真答复。
我是郭朝斌,我们下一讲见!