
Gartner 预测,物联网设备在 2021 年将增长到 250 亿。物联网很有可能成为继 AI 和区块链之后的下一个风口。各大云服务商也分别推出了自己的物联网平台和服务。比如,阿里云 IoT、AWS IoT……但如果你正在从事物联网项目的开发,或者打算投身于物联网应用开发事业,再或者想做一些物联网的知识储备以应对不断变化的技术趋势……那么,还是需要好好规划下自己的学习路径。
理解物联网软件的设计思路和实现逻辑
其实我们可以把物联网开发和 Web 开发进行以下类比。先来回想一下我们是怎么学习 Web 开发的。首先我们会了解一下 HTTP 协议,然后选择一个框架,比如 Java 的 Spring Boot、 Python 的 Django、Ruby 的 Rails 等。这些框架提供固定的模式,对软件进行了高度的抽象和分层,比如集成了一些 Web 开发的 Good Practice。你知道在 Model 层处理业务的逻辑,用 ORM 来进行数据库操作,在 Controller 层处理输入输出和跳转,在 View 层渲染 HTML 页面……这样一个网站和 Web 服务就能够很快被开发出来,除了性能优化的时候,你几乎不用去想 HTTP 协议的细节。回到物联网开发上,抛开设备端的异构性,单说服务端的架构这块,和 Web 开发不同的是,物联网开发并没有一个 Well Known 的模式、架构或开发框架,开发者往往还是需要从协议这一层慢慢往上搭积木,学习曲线还是比较陡的。我的上一门课程《MQTT 协议快速入门》详细讲解了 MQTT 协议及其各种特性。在课程的交流群中,读者们也提了很多问题,除了关于 MQTT 协议本身的内容以及特性相关的问题之外,还有很多问题是关于物联网软件设计和架构方面的,比如:- 我应该如何管理我的设备和设备的状态?
- 业务服务端应该怎么接收、处理和存储来自设备的数据?
- 我的设备数量很多, Broker 端应该怎么架设来确保性能和扩展性?
- 我的设备处理能力有限,除了使用 MQTT 协议以外,还有没有其他的选择?
- ……

关于我
同时,我也在密切地关注着各大云服务商(比如阿里云、AWS 等)提供的 IoT 平台,在一些功能上,我们的设计思路和实现逻辑是非常相似的,同时我也会把在云 IoT 平台上的新功能或者更好的实现集成到自研的物联网平台上。我希望把我多年的经验积累都分享给你,让你在物联网开发这条路上,少走些弯路、少踩些坑。
与《MQTT 协议快速入门》侧重协议内容和理论不同,本门课程包含大量的实战代码,毕竟代码是程序员之间交流的最好语言。
课程学习目录
