gateway & data management

smart gateway上命令的执行,设备消息通知都可以被记录,目前仅被记录用于做设备联动(IOT ITTT)的判断。
 
作为IOT,或者smart home除了简单的设备远程、无线控制,管理外,这些操作中产生的用户行为数据,
以及设备自产生数据可以存储起来,然后做进一步的机器学习,数据分析,最后反过来使得设备可以
更加智能控制,真正意义上的smart home.
 
数据存储
命令的执行,设备消息通知分别为cmdlog, dev-notification。
cmdlog格式如下
设备类型
设备实例(UUID)
设备方法
状态
用户
时间
hue
xxxxxxxx-xxxx- xxxx
bulbOn
power=0
xxx
2222-2-2 22:22:22

即说明用户xxx在时间x对设备hue做了关灯操作。
 
dev-notification格式如下
设备类型
设备实例(UUID)
内容
时间
zigbee xxxxxxxx-xxxx- xxxx xxxx
2222-2-2 22:22:22
上面的用户行为数据和设备自产生数据可以存储到cloud.
 
数据显示(监控),分析
1. web服务器可以从db读取显示到前端供用户查看操控情况,设备状态数据,
    以数据表格形式,和曲线图,饼状图等图形化形式来展现数据,做家庭的家电设备监控;
 
2. 数据分析系统做机器学习,进行数据分析,然后给出设备使用建议,更进一步,让家庭的设备系统自我改变。
 
比如通过长时间的数据积累,发现某家庭经常深夜还在看电视,并且声音会调得很小,客厅灯光亮度也会较低,
数据分析系统会自动推送一条规则(if 晚上过了12点 then smart tv声音关小;客厅灯光亮度调低)给该家庭gateway,
gateway检查到规则生效,就给smart tv, light发送命令,让tv声音自动关小,灯亮度自动降低,规则首次生效,会提示
用户是否同意。(这样省去用户手动设置ITTT规则)
 

流程架构如下图所示:

 
a. gateway 通过 http post等方式推送操作日志,设备数据到开源系统flume(Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data)
 
b. web服务器访问storage,或者flume获取cmdlog, dev-notification数据,将其以表格或者图形化形式展示给用户,
   达到家庭设备监控目的。
 
c. 数据分析系统访问storage, 利用机器学习分析数据(使用spark开源系统做机器学习),生成设备使用建议,规则,推送给用户,gateway.
 
ps: 希望大家一起交流讨论!
原文地址:https://www.cnblogs.com/europelee/p/4728802.html