摘 要:基于智能家居无线控制的市场需求,以集成了CSR1010低功耗蓝牙芯片的智能插座为例,在Android平台上设计了一套基于蓝牙4.0通信协议的智能家居控制系统,实现了对此智能插座的无线通断电控制等功能。实际测试证明,系统工作良好,反应灵敏、准确,可以达到使用要求。

关键词:Android;BLE;智能家居;蓝牙4.0通信协议

中图分类号:TP237 文献标识码:A 文章编号:2095-1302(2016)03-00-02

0 引 言

近年来,随着物联网技术的发展和生活水平的提高,人们对居住环境的要求越来越高,智能家居随之成为物联网技术领域的一个重要研究课题,而家居系统的智能控制是其中的一个重要研究方向。低功耗蓝牙(Bluetooth Low Energy, BLE)是2010年推出的最新蓝牙版本,BLE相对于传统蓝牙最大的特点是超低功耗,并且目前BLE的硬件成本已经降到一个合理水平,非常适合应用于智能家居系统控制领域,据Bluetooth SIG高级市场总监柯瑞德分析,2013年至2018年,BLE的最大市场增长空间将会出现在智能家居系统领域。笔者研究了Android手机BLE应用及智能家居控制,以智能插座为例,设计了一套基于Android智能手机的BLE智能家居控制系统,实现对智能设备的实时控制功能。

1 Android系统中的BLE

Bluetooth SIG于2010年6月发布了蓝牙4.0技术标准,而Android智能手机全面支持BLE是在2013年7月Android4.3系统发布后。相较于传统蓝牙,BLE运行和待机功耗极低,一颗标准纽扣电池可以使其连续工作一年到几年时间。BLE与传统蓝牙协议及开发差别较大,以下对BLE通信协议及Android中的BLE开发做简单介绍。

1.1 BLE通信协议

低功耗蓝牙协议栈由控制器(Controller),主机(Host)和应用程序(Apps)组成,其协议栈如图1所示。各层的各种规范都基于GATT制定,它规定了发送和接收设备的各种属性值的方法。BLE通信把各种属性表示为服务(Service)的集合,而每个Service都由多个特征值(Characteristic)组成,Characteristic可以理解为一个数据类型,它包括一个value和0至多个对此value的描述(Descriptor)。BLE在连接建立过程中可以分为中心设备(Central)和外围设备(Peripheral)两个角色,Central负责scan advertisement,而Peripheral负责make advertisement。在BLE连接建立后,两个连接的设备又可分为服务端(GATT server)和客户端(GATT client),发送数据的设备为Server,接收数据的设备为Client。

1.2 Android中BLE的开发

Android平台的BLE开发常用类如表1所列,开发主要包括以下步骤:

(1) BLE授权,为使应用能使用手机BLE功能,需要在AndroidManifest.xml中进行授权。

(2) 检查并启动BLE功能,验证手机是否支持BLE。如果支持,通过蓝牙适配器BluetoothAdapter来查看蓝牙是否已经开启,也可以通过Intent传递ACTION_REQUEST_ENABLE参数调出蓝牙开启界面。

(3) 搜索BLE设备,使用BluetoothAdapter的startLeScan方法配合BluetoothAdapter.LeScanCallback回调参数进行BLE广播搜索,搜索需要设置时间上限并在发现设备后停止搜索以减少电量消耗。如果只想搜索某些设备,可以加入一个UUID数组参数。

(4) 建立GATT连接,当搜索到设备之后,可以使用BluetoothAdapter的getRemoteDevice方法根据UUID获得目标device,并通过BluetoothDevice的connectGatt方法进行BLE连接,之后即可进行数据交换。

2 系统设计

Android智能手机作为智能家居控制系统中BLE通信的主设备,负责搜索智能插座设备、发起连接、发送控制指令、断开连接等操作。软件整体运行流程如图2所示。

Android客户端主界面如图3所示,通过智能插座控制功能模块可以检查并打开手机蓝牙,添加设备,即开启BLE设备搜索,设置搜索时间上限为180 s,发现插座设备后发起连接请求并进行密码配对验证,建立连接后把设备信息保存到Sqlite数据库并添加到列表实现界面显示,之后可以点击开关按钮对插座通断电进行控制,即通过发送封装好的指定Service代表通断电Characteristic值。为实现多设备控制,在每次发送指令后断开GATT连接,当再次点击开关按钮时则先连接设备再发送相应指令。

3 实验结果及分析

3.1 功能测试

多次实验测试发现,在理想情况下系统实现了对集成CSR1010低功耗蓝牙芯片的智能插座通断控制功能。

3.2 性能测试

通过室内有障碍物及室外空旷环境下的实验测试发现,系统在室内障碍物环境下有效控制距离为13~15米,室外空旷环境下有效控制距离则达到30米以上,性能良好。

3.3 遇到的问题及解决方法

Android智能手机BLE在建立GATT连接之后马上进行Characteristic值传输有一定传输失败的概率。经研究实验,在连接建立成功后延时0.2秒进行数据传输能使控制成功率达到99%以上,使用效果良好。

4 结 语

本文介绍了一种Android平台上基于BLE的智能家居控制系统,通过Android App控制集成了蓝牙芯片的智能插座,整个系统结构明了、操作简单,经实验测试,系统对智能插座通断控制准确、反应灵敏、控制距离优秀,完全能够满足在室内复杂环境下工作的要求。

参考文献

[1]李侠,沈峰,李德胜.基于Android系统的低功耗蓝牙应用程序开发[J].重庆科技学院学报(自然科学版),2014,16(5):133-136.

[2]张少华,魏志远.基于蓝牙4.0技术智能灯泡的设计与实现[J].物联网技术,2015,5(4):90-93.

[3]黄强国,孙先松,陈燃,等.基于android蓝牙无线通信系统的实现[J].电子质量,2015(4):9-13.

[4]熊小军,万辉勇,陈泓屹.基于Android的低功耗蓝牙通讯研究与实现[J].科技广场,2015(7):122-127.

[5]常敏,梅晓敏,崔永进,等.基于BLE与Android的牧场温湿度智能监控系统设计[J].通信电源技术,2015(5):134-137.

[6]余文琦,邓建国,张鹏辉,等.基于Android的低功耗移动心电监控系统设计与实现[J].电子世界,2013(21):130-131.

android 智能设备管理,基于Android平台上BLE的智能家居控制系统设计与实现相关推荐

  1. 基于android小区智能管理,基于Android的智能车库管理系统的设计与实现.doc

    基于Android的智能车库管理系统的设计与实现 编号 毕 业 设 计(论文) 题目 基于Android的智能车库管理 系统的设计与实现 二级学院 专 业 班 级 学生姓名 学号 指导教师 职称 时 ...

  2. android 行车记录仪分析,基于Android的智能行车记录仪的设计与实现.doc

    基于Android的智能行车记录仪的设计与实现 摘要:移动互联网的出现,极大的方便了人们的衣食住行,同时人们当下对行车安全非常看重,因此设计一款智能行车记录仪APP便可以解决行车安全中的一些需求,如有 ...

  3. android 行车记录仪分析,基于Android智能行车记录仪设计及实现.doc

    基于Android智能行车记录仪设计及实现 基于Android智能行车记录仪设计及实现 摘要:移动互联网的出现,极大的方便了人们的衣食住行,同时人们当下对行车安全非常看重,因此设计一款智能行车记录仪A ...

  4. 基于ANDROID的智能家居控制系统设计

    pe基于Android的智能家居控制系统设计 配套论文

  5. Android本科毕业设计基于Android的天气预报APP系统(附带源码)

    Android本科毕业设计基于Android的天气预报开发APP系统源码.显示城市当前的实时天气状况,包括城市名称.城市名片.天气情况.温度高低.星期等信息.界面左边有一列城市列表,显示中国各个城市名 ...

  6. 基于树莓派的智能家居控制系统设计论文参考

    完整论文咨询可WX联系:gyf1842965496 智能家居控制系统功能实现详细介绍:基于树莓派的智能家居控制系统设计https://blog.csdn.net/G1842965496/article ...

  7. ChatGPT直出1.5w字论文查重率才30% - 基于物联网技术的智能家居控制系统设计与实现

    文章目录 ChatGPT直出1.5w字论文查重率才30% - 基于物联网技术的智能家居控制系统设计与实现 一.绪论 1.1 研究背景与意义 1.2 国内外研究现状分析 1.3 研究内容与目标 1.4 ...

  8. 基于STM32设计的智能家居控制系统设计_语音+环境检测(OneNet)_2022

    1. 前言 如今的智能家居越来越深入人心,越来越受人们的欢迎.智能家居作为与人们日常生活息息相关的科技智能产物,可以给我们的生活带来舒适便利.随着物联网.云计算.无线通信等新技术的发展,智能家居得到了 ...

  9. 基于STM32物联网WiFi智能家居控制系统设计(原理图+源代码+系统资料)

    基于STM32物联网WiFi智能家居控制系统设计(原理图+源代码+系统资料) 原理图:Altium Designer 程序编译器:keil 5 编程语言:C语言 设计编号:C0053 主要功能: 1. ...

最新文章

  1. 数学 计算机工作,不过有人说先学数学,后学计算机后劲足一点,工作也可以的,这估...
  2. 思科发布安全大数据分析架构 OpenSOC
  3. Linux终端下 dstat 监控工具
  4. JavaSE(九)——正则表达式、Date类、集合、泛型
  5. sap gateway development mode
  6. LeetCode 1216. 验证回文字符串 III(DP)
  7. 科学数字_七年级数学上册:科学记数法、有效数字记住这点中考分可定拿得到...
  8. GIS和RS里面的一些小问题
  9. 2017年闰秒linux_2017年Linux专业人员的4个热门技能
  10. python26章_笨方法学Python-26章练习题
  11. abb限位开关已打开drv1_软限位开关的设置原理与应用
  12. HanLP里使用DAT存取字典的方法
  13. 2020华为软挑热身赛
  14. 史上最全的springboot导出pdf文件
  15. 360度全方位超详尽iPhone5s新手入门宝典(上)
  16. 《信任的速度》读书笔记
  17. centos检测不到磁盘_CentOS下磁盘坏道的检测及修复
  18. 简述窄带调频和宽带调频的_宽带调频和窄带调频的简单区别方法
  19. 我写过的软件之TSE-背景介绍
  20. Zabbix启动失败,提示Zabbix-agent.servic never wrote its PID file,failing

热门文章

  1. VTK:利用qt实现体绘制剪裁
  2. 最高估值2641亿港元,京东物流能攻下“物流界”半壁江山吗?
  3. 光纤收发器指示灯以及跳线说明
  4. 第三次全国土地调查拉开了帷幕
  5. PTA 7-3 输油管道问题 (50 分)
  6. IDEA奇YIN巧技
  7. Aspects swift 源代码分析
  8. 自己如何写mysql数据库_自己手写的一个初始化MySQL数据库的工具!
  9. halcon sobel 边缘检测 sobel_dir
  10. 用C++来解一元二次方程组