论文部分内容阅读
智能家电目前正处于发展阶段,为了占领先机成为规则的制定者,国内外企业无论大小纷纷推出自己的智能产品。智能家电市场的混战使得操控智能家电的APP应用层出不穷,且相互之间无法实现兼容,这一情况严重阻碍了智能家电的发展,为此本论文提出基于微信平台的智能家电实时操控这一解决方案。微信平台虽已对智能家电产品提供物联网连接功能,但平台对智能设备的规格、数据、以及相关参数点有较为硬性的规定,这一情况使得微信产品的灵活性大大减小。同时,微信硬件平台目前依然处于开发阶段,在实际应用中平台经常出现各种问题。基于上述情况,本课题决定将微信作为用户操控设备的客户端,同时搭建一套自己的智能家电设备实时操控系统,并选择性的吸收部分的微信硬件平台功能,从而达到基于微信平台的智能家电实时操控这一效果。为实现这一操控系统,本课题做了如下工作:(一)采用Nginx和Redis应用搭建系统的代理服务器及数据库服务器,并通过配置相关参数使其符合整个后台服务器系统开发的需求。(二)使用Express.js作为搭建Web服务器的基本框架,实现服务器端到客户端的文件传输/管理。同时,Web服务器也对WebAPP客户端提供信息查询、管理服务。(三)用MQTT消息队列遥测传输协议作为设备的通信协议,并基于协议的Pub/Sub消息模型实现设备到服务器端的实时通信,该服务器即为本课题自建的设备服务。设备服务器对外开放设备的控制/读取接口,是系统实现实时操控的基础。(四)搭建与设备服务器对接的应用服务器,并通过应用服务器实现用户关于设备操控权限的管理。应用服务器对外同时开放Http和Websocket两种协议类型的接口,两种接口可对外实现相同的功能。相对于Http协议,Websocket协议可进行全双工的实时通信,所以在实际应用中以Websocket接口为主,仅在一些特殊的网络环境下才使用Http接口。(五)基于HTML5、CSS、JavaScript三种语言进行微信客户端WebAPP的开发,WebAPP通过调用应用服务器的OpenAPI接口实现对设备的实时操控。