zoukankan      html  css  js  c++  java
  • 物联家电系统业务技术体系介绍

    1 背景

    伴随着手机的智能化,在人们对于追求便捷性的心理作用下,越来越多的应用统一到了手机端,比如笔记、书籍、支付等,传统的遥控器的概念也逐渐纳入了智能手机的应用范畴;在这种趋势影响下,我们基于网络协议以及智能家电通信协议(e++协议),开发设计了物联智能家电体系,现在已经在空调上实现,除了通过手机端远程/ 本地控制空调的调温、设置模式(制冷、制热)等功能之外,还提供了睡眠曲线,周定时等定制化服务,使得空调功能实现自动化、智能化。

    2 业务说明

    根据业务的目标不同,可以将核心业务划分共有五大类,分别是UI展示业务;控制业务,配置业务,服务业务以及后台管理业务。

    image

    2.1 UI显示业务

    友好的客户端操作显示界面,并实时显示设备的状态,在单用户 - 多客户端场景下,一个客户端的操作得到设备响应后,可以及时通知所有的使用该用户登陆的客户端;

    2.2 控制业务

    通过手机客户端,提供传统的设备遥控器功能,可以调节温度,设定模式,变换风速等;体验上和传统遥控器不同之处在于,不仅可以在家中控制设备,还可以远程控制设备;这样用户就可以随时随地的了解设备状态并控制设备;

    2.3 配置业务

    1. 绑定设备:实现手机客户端用户和设备进行绑定,绑定之后,只要用户登录,就可以对之前绑定的设备进行控制;

    2. 分组:如果客户端用户绑定了多个设备,就可以对绑定的设备进行分组;分组的目的是组控,组控是指即可通过一次设置,实现对多个设备操作;

    2.4 服务业务

    1. 登陆/注销:提供安全认证机制,使用客户端应用需要首先注册登录;

    2. 推送提供天气预报:登陆之后,会根据用户的位置提供天气预报;

    3. 推送温馨提示:如果用户设置的温度过低或者过高会向用户提供温馨提示,建议用户将温度设定为科学的温度;

    4. 升级功能:对客户端应用和设备WIFI模块(WIFI模块用来接收外界指令并转发给底板,以让设备执行指令)可以实现自动升级功能,确保用户可以第一时间使用到享受到最好的客户端应用体验和设备响应;

    5. 预约(睡眠)曲线:设定好了预约曲线,空调就可以按照曲线设定的点(有时间和温度组成)来自动设定空调的温度;系统提供一些经验曲线,比如儿童曲线,睡眠曲线,同时还可以根据个人的喜好,设定自己的预约曲线;见图2-1;

    image

    2-1 预约(睡眠)曲线

    6. 周定时:可以指定一个以周为单位的某个时间点的空调设定(温度,风速以及模式);见图2-2

     

    image

    2-2 周定时

    7. 云适应:云适应是一种空调模式,是根据用户所在地当前的天气情况,自动将空调调整到最佳状态,最佳状态是通过经验公式计算获得;

    8. 意见反馈:客户通过客户端向设备的客服人员反馈应用的感受,并接收客服的回复;

    9. 安全认证:包括对于请求以及连接者身份的确认,通过对请求内容解析来判断请求是否合法;

    2.5 后台管理业务

    后台管理业务主要是为管理员提供,这里包括对设备的管理,用户的管理,统计信息,升级文件的上传等功能。

    1. 用户管理:记录绑定设备用户的信息,地址、绑定的设备mac等信息;

    2. 客户端升级管理:后台系统上传客户端升级程序,客户端可以根据后台上传的版本号来判断当前版本是否需要升级;

    3. 模块升级:后台系统上传模块升级程序,既可以自动为符合升级条件的模块升级;也可以通过手动来为指定设备升级;

    4. 设备信息管理:可以对当前设备的状态(在线、离线)进行查询和维护(设备的类型),绑定用户等等信息;

    5. 报表管理:基于空调控制的数据,对于控制数据进行挖掘分析,提供给生产以及销售具有指导意义的数据;

    6. 故障管理:对于产生故障的设备,系统会自动记录故障历史记录,并自动通知海尔的售后系统,传递故障的详细消息,售后可以会根据上报的信息联系到客户,进行故障确认和维修;

    7. 意见反馈回复:客户端端提供了意见反馈功能,系统管理员可以登录系统对于用户反馈的意见进行回复;

    8. 公告消息推送:可以指定的单个用户或者某个范围用户(比如地域)进行消息推送;

    9. 人员信息管理:配置登陆后台管理系统用户、角色以及组织等信息;

    3 应用架构

    基于核心业务,物联家电在物理架构做了清晰的划分,应用架构中包括了:客户端,业务服务器,命令服务器,数据库服务器以及模块和底板。

    image

    3-1 应用架构图

    3.1 客户端

    客户端是应用的最前端,是大部分业务需求的展示端,功能职责如下:

    1. 做UI的展示,比如当前的温度、模式,配置的睡眠曲线等;

    2. 命令发送装置,根据用户的操作生成命令,发送给设备执行;这个过程可能是直接控制设备,也可能是通过命令服务器转发给设备;

    3. 状态/命令接收装置,接收来设备/命令服务器发送过来的状态信息,进行解析处理并做UI显示处理;

    4. 服务终端,通过客户端调用业务服务器的接口,实现设备绑定/解绑、获取天气预报以及执行睡眠曲线等服务类以及配置类业务;

    3.2 业务服务器

    业务服务器主要是提供后台管理以及配置类和服务类业务的实现,并公开接口,请求者可以通过http协议向请求服务;功能职责如下:

    1. 提供服务:提供登陆/注销,预约睡眠曲线,周定时等配置类以及服务类功能接口,供客户端以及其他授权第三方调用;

    2. 安全网关:通过身份验证(使用海尔官方IDS服务),授权,加密/解密验证等方式确保处理的请求是安全的,对于恶意访问和不可靠访问进行拒绝;

    3.3 命令服务器

    命令服务器主要作用是中转站以及连接容器,负责转发命令和状态,以及存放客户端、命令服务器以及设备三者通信连接;功能职责如下:

    1. 命令/设备状态的中转站,客户端以及业务服务器下发操作命令需要通过命令服务器来做中转,下达到模块;设备上报状态以及也是需要通过命令服务器做中转,传递给客户端;

    2. 长连接容器,长连接可以理解为通信通道,命令服务器会扮演长连接池的角色,中转也是基于容器的长连接池;根据session或者mac找到对应的手机连接或者模块连接,做转发命令消息的处理;

    3. 在命令服务器中转命令/状态的过程中,记录设备的操作/状态历史,这些数据用于生成统计报表,为生产销售提供指导;

    4. 操作认证授权,服务器提供白名单功能,只有在针对白名单中记录的设备才可以白操作被操作,状态/命令才可以中转,否则抛弃请求;

    3.4 数据库服务器

    数据库服务器主要职责是记录和设备、用户以及服务相关数据信息;

    3.5 WIFI模块

    WIF模块主要职责如下:

    1. 提供wifi热点功能,供手机客户端发现(用于小循环)

    2. 自动连接附近路由器(需要手动绑定之后);

    3. 接收底板的响应并向远程命令服务器发送响应;同时接收来自手机以及命令服务器的命令字,下发给底板,

    3.6 底板

    底板的主要职责是接收外界(WIFI模块,遥控器以及设备按钮)下发的命令字,执行命令控制空调;

    4 通信技术架构

    在上述的应用架构之下,需要技术做支持:HTTP通信,Socket通信,sdk以及大小循环自适应;

    image

    4-1 通信技术架构图

    4.1 http通信

    客户端和业务服务器的通信因为是request-response的单向模式,所以采用的http方式,比如登陆/注销,获取天气预报等等服务类业务都可以通过http通信协议方式来进行交互;

    4.2 Socket通信(长连接)

    因为客户端、命令服务器以及模块三者之间的都是双向的通信,所以通信方式采用的socket通信,socket通信对于在手机端的开销比较大,主要是通信不稳当,经常会断开需要重现连接,而且socket是否要通过不断发包来维持通信,这些导致维持Socket通信比较费电;所以socket资源使用比较谨慎,现在客户端最多开两条socket通道,一个是和本地模块保持连接,一个是和远程命令服务器保持连接;

    4.3 协议封装和解析

    因为是和wifi模块、底板这些硬件交互,所以需要对操作命令进行封装,同样客户端和命令服务器对于底板上报的命令需要解析,这些工作都是封装在SDK中。SDK主要职责是根据应用层的的操作转化为可以被底板识别的命令字,以及根据命令字解析为应用层可以处理的形式。

    4.4 大小循环网络自适应

    客户端端会自动搜索设备热点, 如果搜索到,则自动切换到小循环(本地网络),发送指定通过小循环网络向设备发送命令;如果没有发现可以连接的热点,会通过大循环来控制设备。

    5 未来的改进

    5.1 安全性

    对于恶意的访问以及连接需要提供更加全面的控制;我们会考虑在传输层、网络层以及应用层加大安全认证机制;未来计划单独做一个安全网关,作为访问应用的前置机;

    5.2 性能

    近期将启动一个扩容项目,目标是命令服务器可以承载20万设备同时在线,实现手段是搭建一个可伸缩的架构,做到可以承载更高数量级的设备在线。

    6 总结

    智能家电和物联网的结合是家用设备的趋势,随着客户接受程度和智能机的普及,此类应用也将越来越广泛,我们提供的物联家电的应用架构和技术架构也在不断地完善和改进以符合市场、客户的体验需要,我们的目标是提供一流的技术平台和一流的客户体验。

  • 相关阅读:
    CSS样式实现两个图片平分三角
    Vue iview 表单封装验证
    Vue编程式路由跳转传递参数
    组件 Autofac 实现接口类工具
    GridView
    2016_09_8
    使用js创建对象
    从DataTable获取Json数据
    jQuery高级编程
    _16_08_15
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/3500899.html
Copyright © 2011-2022 走看看