物联网全栈开发原理与实战
上QQ阅读APP看书,第一时间看更新

目前,国内外主流的一些物联网生态系统以云服务为中心。海尔U-Home、阿里智能、苹果HomeKit、华为HiLink等物联网监控系统(智能家居为主)都采用该方式。其特点是,家居设备采用Wi-Fi通信方式,通过家庭网关或移动基站接入云端服务器;智能手机等客户端程序,从互联网同样接入云端的服务器,从而实现移动端远程设备监控,如图1-2所示。

图1-2 监控平台在云端的物联网监控系统结构示意图

这种结构的优势在于以下几个方面。

(1)借助互联网云服务商提供的强大功能,可以集中管理众多物联网设备。特别适合于单件“智能”设备的家庭使用,其云监控平台是共享的。

(2)消费者无须关心网络连接问题和费用。由于目前行业巨头都有自己的云平台,消费者一旦购买其产品,就可以连接到云服务中。

(3)便于云服务商收集消费者的设备信息和使用习惯等数据,可以延伸各种服务。

这种结构的缺陷也很明显,主要表现在以下几个方面。

(1)设备通信方式单一,目前只能使用Wi-Fi方式接入互联网。即使接入局域网,最终也必须通过网关接入互联网,无法直接在局域网内监控。使用NB-IOT技术接入互联网,会产生一定的费用,家庭消费者难以接受。

(2)集中管理风险大。过于依赖互联网和特定云平台,一旦云服务宕机或受到黑客攻击,影响面极大,远程监控和各种服务都将停止。如果服务商倒闭,消费者的利益得不到保障。

(3)如果不开放通用的监控平台,则“绑架”了硬件设备生产商和消费者。迫使硬件厂商为同一个产品生产符合多个平台要求的设备。

(4)如果消费者使用的设备较多、交互频繁,复杂的场景任务管理等功能很难实现,无法满足消费者对智能监控高度自动化服务的要求。

(5)消费者隐私、设备安全难以保障。在安全和隐私越来越被关注的社会,该问题越发突出。

鉴于这种架构的缺陷,一些企业把监控平台的部分功能移植到了专用的智能网关设备中,以期减轻云服务的压力和提供本地服务,如小米、华为的专用智能网关设备;但依然会迫使消费者购买价格不菲的网关设备,有些甚至打起了使用客厅电视机充当监控中心的主意。

从实际使用物联网智能监控(如智能家居)的角度考察,大部分的设备操控是在企业、组织、家庭内部进行的,只有出门在外才需要通过互联网进行设备监控。因此,把监控平台设立在组织机构局域网内部是明智的。这样为设备的多样性接入、安全管理、任务定制、智能监控,都提供了强有力的保障。图1-3所示是全栈开发项目实现的智能设备监控系统的结构示意图。其中,连接到云端服务是可选的。

图1-3 监控平台在局域网内部的监控系统结构示意图

这种结构具有很多特点和优势。

(1)设备连接的多样性。

设备可通过Wi-Fi接入局域网后连接到设备监控平台(Device Monitor Center,DMC)使用TCP/IP协议;也可通过USB、RS232、有线以太网等直接连接到监控中心,甚至通过远距离的485通信方式连接。这保证了传统已有设备的智能化升级改造,无须硬件的重新设计和改造,只需简单改写部分程序代码即可,成本极低。这对传统工厂的智能化改造十分重要。

(2)对路由器或网关设备没有特殊要求。

企业、家庭使用已有的网络结构可满足监控平台的搭建和使用,省心、省力、省费用。

(3)可使用成本低廉的低功耗平板电脑安装监控平台系统。

甚至可以使用价格低于某些品牌的智能网关设备。如果监控设备众多,且监控中心提供众多的服务,也可以使用高配计算机或服务器。

(4)监控平台(中心)是一套多功能的软件系统。

不在操作系统级别进行硬件的管理,兼容性强。理论上,任何可连接计算机的设备(包括程序等虚拟设备),都可为其设计监控驱动程序,从而纳入平台的监控之下。软件的升级、维护、功能扩展都很方便。

(5)本地、互联网皆可进行智能监控。

在组织机构内部,移动监控App直接连接到监控平台进行监控,速度快、安全性高。如果需要从互联网监控,则可购买云服务商提供的虚拟机,在其中安装通信服务程序,充当远程客户端与监控平台的通信桥梁,仅此而已,并无其他功能,从而保证了系统的安全性。对虚拟机配置的要求不高,如使用阿里云最基本的几百元/年的云服务器,可部署4个云通信服务程序。消费者可自由选择不同的服务商。由于通信服务程序不保存任何设备和消费者的信息,因此可随时迁移到其他服务商的云平台中。当然,也可在云服务器上搭建数据中心和Web服务,满足行业的需求。这种场景下,DMC实际上就是一个边缘服务器。

这也为互联网服务商提供了广大的市场。互联网服务商可利用其强大的资源为千万级别的家庭搭建特色的通信服务(目前主流云平台通过大规模消息队列服务提供物联网设备监控的信息交换)。

在使用互联网监控时,本全栈开发的项目使用了华为的云虚拟机,并且为开发者提供了一个测试通信服务器,但对连接客户端数量做了限制。开发者最好自己购买一个云虚拟机。如果是在校学生,可申请9元/年购机。

(6)设备也可直接连接到云通信服务器。

我们设计的通信服务程序也实现了全栈项目核心技术的3个协议(见1.2节)。这样,很多移动设备,如车载导航系统、穿戴式设备,都可通过Wi-Fi或移动互联网(如、、NB-IOT)连接到通信服务器,被视为组织内部设备的一员。DMC用统一的方式监控所有的设备,实现设备互联互通。设备的安装位置已经没有限制了,由于监控仍然是从内部的DMC发出的,安全性也得到了保障。