1APP缓存
APP缓存是为了支持APP和设备在没有网络的情况下任然可以使用,APP在启动时如果有网络会从平台缓存当前用户的所有数据,包括家庭,房间,设备,设备控制信息,场景信息等
2双mqtt模式
3在无网控制场景中,有些设备只有在有网络的情况下才能进行控制,另外一些设备支持无网操作。APP因此设计了2个mqtt的连接进行设备控制,一个是平台的mqtt,另外一个设设备网关的mqtt,APP根据网络情况可能同时连接到2个mqtt,也可能只连到其中一个,这样保证了无网和有网的情况都能进行设备控制
4设备控制
4.1设备控制采用mqtt协议,APP根据设备的物理模型动态生成不同的控制界面,通常有5大类型的控制,布尔类型,数值类型,文本类型,枚举类型,结构体类型。
6网关设备ip地址发现
APP在连接mqtt是如果当前家庭没有保存网关的mqtt地址,责会通过udp广播来寻找,设备在接收的APP发送的指令时会回复当前网关的ip,APP拿到ip和会保存家庭和ip的关系,并进行mqtt连接