物联网曾被认为是继计算机、互联网之后,信息技术行业的第三次浪潮。随着基础通信设施的不断完善,尤其是5G的出现,进一步降低了万物互联的门槛和成本。
Gartner预测,物联网设备在年将增长到亿。物联网很有可能成为继AI和区块链之后的下一个风口。各大云服务商也分别推出了自己的物联网平台和服务。比如,阿里云IoT、AWSIoT……
但如果你正在从事物联网项目的开发,或者打算投身于物联网应用开发事业,再或者想做一些物联网的知识储备以应对不断变化的技术趋势……那么,还是需要好好规划下自己的学习路径。
理解物联网软件的设计思路和实现逻辑
其实我们可以把物联网开发和Web开发进行以下类比。
先来回想一下我们是怎么学习Web开发的。首先我们会了解一下HTTP协议,然后选择一个框架,比如Java的SpringBoot、Python的Django、Ruby的Rails等。
这些框架提供固定的模式,对软件进行了高度的抽象和分层,比如集成了一些Web开发的GoodPractice。你知道在Model层处理业务的逻辑,用ORM来进行数据库操作,在Controller层处理输入输出和跳转,在View层渲染HTML页面……这样一个网站和Web服务就能够很快被开发出来,除了性能优化的时候,你几乎不用去想HTTP协议的细节。
回到物联网开发上,抛开设备端的异构性,单说服务端的架构这块,和Web开发不同的是,物联网开发并没有一个WellKnown的模式、架构或开发框架,开发者往往还是需要从协议这一层慢慢往上搭积木,学习曲线还是比较陡的。
我的上一门课程《MQTT协议快速入门》详细讲解了MQTT协议及其各种特性。在课程的交流群中,读者们也提了很多问题,除了关于MQTT协议本身的内容以及特性相关的问题之外,还有很多问题是关于物联网软件设计和架构方面的,比如:
我应该如何管理我的设备和设备的状态?业务服务端应该怎么接收、处理和存储来自设备的数据?我的设备数量很多,Broker端应该怎么架设来确保性能和扩展性?我的设备处理能力有限,除了使用MQTT协议以外,还有没有其他的选择?……因此,我希望为大家制作一门《从0开始搭建IoT平台》的课程,把我积累的一些物联网平台在架构和设计模式等方面的经验分享给大家,学完之后,应该可以覆盖大家在物联网开发中80%的场景和可能遇到的设计和架构问题。
扫码了解《从0开始搭建IoT平台》课程详情
▼
关于我
我是付强,现在是一家物联网startup的联合创始人兼CTO,在自己创业之前,我曾经在趋势科技和诺基亚工作过。从年我在硅谷参与的第一个物联网项目算起,至今我在物联网这个行业已经摸爬滚打8年了。
年,我开始在物联网方向进行创业,我的第一个决定就是先实现一个供业务系统和设备使用的物联网平台。当时阿里云的IoT平台已经上线,由于功能性和定制性方面暂时满足不了我们的需求,最后还是决定自行开发。我们自研的物联网平台很好地支持了业务服务端和设备端的快速迭代。
同时,我也在密切地