• 休闲生活
  • 教育教学
  • 经济贸易
  • 政法军事
  • 人文社科
  • 农林牧渔
  • 信息科技
  • 建筑房产
  • 环境安全
  • 当前位置: 达达文档网 > 达达文库 > 农林牧渔 > 正文

    基于Android的智能家居一体化控制系统

    时间:2021-04-12 07:51:32 来源:达达文档网 本文已影响 达达文档网手机站

    【摘 要】为推动智能家居一体化的发展,本文基于Android系统研发了一款能够不限产品类型,可对所有智能家居产品进行统一控制的移动客户端APP。该系统基于TCP/IP和HTTP网络通信协议,通过Socket和Web service、云数据库技术和智能网关连接,实现了对有Wifi、ZigBee、Bluetooth等连接功能的智能家居硬件产品的远程控制和状态监控。

    【关键词】Android;智能家居;一体控制

    中图分类号: TU855 文献标识码: A 文章编号: 2095-2457(2019)04-0062-002

    DOI:10.19694/j.cnki.issn2095-2457.2019.04.024

    0 引言

    从20世纪80年代智能家居概念的提出至今已有30多年,智能家居已经历了4代的发展[1],发展技术较成熟,有着巨大的发展前景。反观我国智能家居市场却一直不愠不火,居民在智能家居的使用上并没有得到普及,这正是由于传统家电产业与新型电子产业之间的隔阂使“智能家居”行业尚未达成一个统一的标准。市场上繁多的智能家居品牌及其各自开发的移动客户端给用户带来了选择和使用困难。

    为解决此问题,开发了一款基于Android系统,通过Socket和Web service(基于TCP/IP和HTTP网络通信协议)、云数据库技术、智能网关技術的手机移动客户端APP。将智能家居硬件产品以不同的形式与智能网关连接,利用客户端APP与智能网关的网络通信实现对硬件产品的控制和监控,打破了智能家居产品在品牌、类型的局限,可根据不同厂商生产的智能家居产品的功能定制操作界面,并更新到云服务器。实现了用户只需通过一款手机APP即可对家中所有智能家居产品进行远程控制及状态监控。

    1 系统总体设计方案

    1.1 系统架构设计

    系统的整体架构是通过智能网关连接到软件客户端和智能家居硬件。系统架构图如图1所示。移动客户端通过TCP/IP协议和HTTP协议与无线路由器连接,无线路由器同时与智能网关连接。硬件产品分别通过WiFi、ZigBee、GPRS及家庭现场总线技术[2]与智能网关相连接,且硬件均支持TCP/IP和HTTP通信协议。同时由云服务器提供云数据库技术,为客户端实时提供本地数据库更新和通信控制数据支持。使用户能够远程监控和控制连接到智能网关上的所有智能家居产品。

    1.2 Android客户端开发架构

    Android客户端的开发以Android Studio3.1.3为开发环境,以JAVA面相对象语言为开发语言,其中SDK版本为JDK10。开发过程中所选用的测试机型为HUAWEI TIT-TL00(Android5.1,API22)。采用Google公司在2017年提出的官方开发架构。官方的开发架构实现了UI与Data的真正分离、使异步调用和逻辑控制更加精细,通过Model驱动UI,使代码简洁、逻辑易于管理。

    2 软件的设计与实现

    2.1 客户端主流程设计

    Android的客户端系统设计主要包括用户界面UI、Socket和Web Service通信、SQLite和SQL Azure数据库的设计[3]这三个方面。

    客户端应用程序具有以下四个主要组件:Activity;Service;Content Provider;Broadcast Receiver。通过以上四种Android的基本组件和依据Android官方的开发架构分别进行UI界面、通信模块、数据库的设计。

    2.2 Android客户端UI界面设计

    XML布局文件设计:利用了Bottom Navigation View实现底部导航栏视图、Navigation View实现滑动菜单、CardView实现卡片式布局、RecyclerView实现内容滚动事件,以及优秀的开源UI组件设计出了简洁美观的布局界面。操作界面截图如图2所示。

    2.3 通信模块的设计与实现

    采用Socket和Web Service两种方式结合来实现客户端的远距离通信,使客户端可以实时与家庭智能网关相连接,并进行远程控制和监控。

    2.3.1 Socket远程通信

    Socket远程通信是JAVA面向对象开发语言中重要的一种远程通讯方式,可以通过TCP/IP通讯协议实现远程通讯,Socket网络流程图如图3所示。

    本设计仅实现客户端编程,服务端用Socket Tool TCP/IP通信调试工具在PC端建立。使用Socket实现客户端[4]的步骤如下:

    (1)通过IP地址和端口实例化套接字,并请求连接到服务器。

    (2)获取Socket上的输入流进行读写。

    (3)把流包装仅Buffered Reader的实例中。

    (4)对Socket进行读写。

    (5)关闭打开的流程。

    2.3.2 Web Service远程调用

    程序多次使用Web Service实现天气实时查询、卫星地图定位、网页推送等功能。具体步骤如下:

    (1)创建服务视图对象。

    (2)创建API接口。

    (3)创建实现类、注册监听,并调用PortType方法(可实现远程通信)。

    (4)接收方法的返回值、并发布服务。

    2.4 数据库设计

    建立两种类型的数据库:轻量级SQLite数据库,用于储存用户个人使用信息的;Microsoft的SQL Azure数据库,用于更新产品数据、商品信息及大量个人、公用信息的云数据库。

    2.4.1 SQLite数据库

    Android系统内置的轻量级数据库。对于SQLite的操作,Android提供了SQLite Database和SQLite Open Helper两个类。其中SQLite Open Helper类提供的两个方法:onCreat()和onUpgrade()对SQLite数据库进行可以更新表项等。

    2.4.2 SQL Azure数据库

    基于SQL server构建的云关系数据库,提供了Web服务集合,可使用TSQL来管理和创建以及操作云数据库;它的数据类型、存储过程和传统的SQL 服务器十分相似,可以在本地开发应用程序,然后将其部署到云平台[5]。

    3 结论

    系统将软件客户端与硬件通过智能网关作为桥梁连接,通过网络传输协议传输到智能网关转发无线传输协议到硬件产品,将多种无线通信方式与网络通信结合。实现了对多种智能家居产品的远程控制和状态监控。打破智能家居产品品牌、类型的局限,真正实现了智能家居的去品牌限制。只需开发者在云数据库上更新智能产品并实现更新控制命令功能,用户就可以下载更新到本地客户端使用。

    用户仅使用此一款手机应用即可对家中不同品牌、不同连接方式的物联网智能家居产品实现控制。系统的开发对推动智能家居行业的一体化发展具有重要意义。

    【参考文献】

    [1]朱敏玲,李宁.智能家居发展现状及未来浅析[J].电视技术,2015,39(04):82-85+96.

    [2]邵鹏飞,王喆,张宝儒.面向移动互联网的智能家居系统研究[J].计算机测量与控制,2012,20(02):474-476+479.

    [3]王朝华,陈德艳,黄国宏,童怀.基于Android的智能家居系统的研究与实现[J].计算机技术与发展12,22(06):225-228+233.

    [4]乔雷,雷斌,杜剑英.基于Android平台的物联网网关方案设计[J].电子元器件应用,2012,14(Z1):5-9.

    [5]林子雨,赖永炫,林琛,谢怡,邹权.云数据库研究[J].软件学报,2012,23(05):1148-1166.

    相关热词搜索: 控制系统 智能家居 Android 一体化

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网