智能家居通用管理平台 – WP客户端程序设计
Posted ionfox
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智能家居通用管理平台 – WP客户端程序设计相关的知识,希望对你有一定的参考价值。
智能家居通用管理平台SHP完成实现后,通过SHS和SHM,已经可以监控家庭的智能设备系统了。但究竟不方便,服务器一般也很少被操作,它24小时默默的工作着。主人真正感兴趣的是,通过智能移动设备,能远程监控家庭设备,如查看各智能电器、安防设备的状态,或设置希望在某天某时,让家里的喇叭广播一些信息,提示家里的注意事项。
目前流行的三大移动平台:ios,android和windowsphone,都要开发相应的客户端程序,智能手机和平板电脑都可以运行这些智能家居应用,开发工作量不小,先挑容易的做吧,选windowsphone先开发,是因为服务平台程序也是用C#编写的,省了很多代码转换的工作量。
客户端应用程序,其实要实现SHS的大部分功能(见第8部分的介绍),现在的智能手机,功能很强大了,设计实现APP应该不是问题。有几个难点提出来要考虑:
1、移动端程序,应该不依赖于设备驱动程序,否则,需要编写不同操作系统下的驱动,非常麻烦和不便,工作量也很多,维护升级极耗资源。
2、客服端只通过TCP/IP与SHS交互,不直接与SHM交互,也没有其他通信方式与平台交互。必须全部实现SHP指定的通信协议,工作量较大。
3、除了设备监控功能外,还要具备简单的任务设置功能、简单的报警设置功能。这些实用功能,对家庭很重要,因为要经常使用。
先看如何解决第一个问题。移动应用,必须要知道家庭的所有设备信息,才能监控它们。我们在设计智能家居SmartHome时,实现了设备信息保存到文件(流)的功能。因此,在SHS中有文件保存了每个不同厂商设备的信息。只需要把这些文件传递到客户端,问题就解决了。同样,任务设置、监视设置的文件,都需要传递到客户端。下图是WP客户端实现了的UI:
应用第一次启动后(或添加了新的家居设备后),必须要更新设备等信息。然后再加载设备信息,这样就可以显示整个家居设备的状态信息,以及控制设备工作。下图是加载设备信息后的UI:
加载任务和监视设置后的UI如下:
第二个“困难”,其实不算问题,就是工作量大些,严格按协议编写代码,是很容易实现的。问题在于它跟SHS有交互,需要相互配合编写、调试。
协议已近基本完善,可以下载查看:http://download.csdn.net/detail/wuzhihui25/7749717
第三个问题,也是工作量的问题。只是手机屏幕都较小,实现起来有些麻烦。主人可在手机上执行特定的任务,设防/撤防,修改设置等。
这个应用大约花了半个月的时间(bug难免)。下面是他的类结构,供大家参考。
看起来比SHS的类图复杂多了,其实是因为没有使用共享连接库homeliberary,设备系统的整个接口架构在WP中重新编写了。所以类图中的右下角一大块的那些类,都是有关通用设备系统的业务类。现在放在了一起,显示格外的多。抛开这些类,可以看到很多业务类,都与SHS的类似(名称都一样),但如果看源代码的话,稍微显得复杂一些。因为在WP中,要实现数据绑定,很多类都实现了INotifyChangeProperty接口。如报警记录类:
至此,一个完整的智能家居管理平台可以正常运行了,目前的测试相当完美。剩下的工作就是开发其他移动平台的客户端应用,继续完善SHP功能。也陆续开发在我们生活、工作中不可缺少的虚拟设备系统,如家庭影院、电子屏广告发布系统。
当然,最艰巨的任务就是推广。期望各大电商、家居设备和安防产品生产商,能为他们的产品提供符合SHP规范的驱动程序,通过合作交流,真正实现一个符合中国国情的智能家居管理平台,让智能家居走进普通老百姓的家庭,成为我们生活中不可缺少的应用,正如微软让PC走进千家万户,我们有信心让智能家居平台安装在每台智能手机上。
期待您的加入。让智能家居DIY,让老百姓随意玩转SmartHome.
QQ:474394001
以上是关于智能家居通用管理平台 – WP客户端程序设计的主要内容,如果未能解决你的问题,请参考以下文章