当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:基于智能家居无线控制的市场需求,以集成了CSR1010低功耗蓝牙芯片的智能插座为例,在Android平台上设计了一套基于蓝牙4.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。

基于Android平台上BLE的智能家居控制系统设计与实现

1.2 Android中BLE的开发

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

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

<uses-permission android :name="android.permission.BLUETOOTH"/>

<uvses-permission android :name="android.permission.BLUETOOTH_ADMIN"/>

(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连接,之后即可进行数据交换。

基于Android平台上BLE的智能家居控制系统设计与实现

2 系统设计

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

基于Android平台上BLE的智能家居控制系统设计与实现

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

基于Android平台上BLE的智能家居控制系统设计与实现

3 实验结果及分析

3.1 功能测试

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

3.2 性能测试

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

3.3 遇到的问题及解决方法

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

4 结 语

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






本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在智能家居日益普及的今天,无线开关作为实现家居自动化的重要工具,受到了越来越多消费者的青睐。然而,对于许多家庭来说,如何将现有的普通灯具接入无线开关,实现远程控制,仍然是一个值得探讨的问题。本文将详细阐述普通灯具接入无线...

关键字: 无线开关 智能家居

今天,小编将在这篇文章中为大家带来语音识别的有关报道,通过阅读这篇文章,大家可以对语音识别具备清晰的认识,主要内容如下。

关键字: 语音识别 智能家居

一直以来,语音识别都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来语音识别的相关介绍,详细内容请看下文。

关键字: 语音识别 智能家居 智能客服 人工智能

本文中,小编将对语音识别技术予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 语音识别 智能家居 物联网

LED灯作为现代照明领域的重要一员,以其高效节能、环保长寿命等优势,广泛应用于家居、商业、工业等各个领域。然而,在使用过程中,LED灯也可能遇到一些故障。本文将针对LED灯的三种常见故障进行详细分析,并给出相应的解决方法...

关键字: led灯 智能家居

语音识别技术,作为人工智能领域的重要分支,近年来取得了显著的进步。它能够将人类语音转化为计算机可理解的文本或指令,为人们的生活和工作带来了极大的便利。那么,语音识别技术究竟可以做什么呢?本文将从多个角度探讨其应用与价值。

关键字: 语音识别 智能家居

台湾新竹 – 2024年3月26日 – 新唐科技宣布推出基于微控制器的终端AI平台,使AI生态系扩展至微控制器领域。此解决方案是基于新唐全新架构设计的微控制器和微处理器,包括NuMicro® MA35D1、NuMicro...

关键字: AI 智能家居 机器学习

2024年3月25日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 即日起开售英飞凌CYW20822 AIROC™低功耗蓝牙模块。CYW208...

关键字: 低功耗蓝牙模块 工业物联网 智能家居

随着科技的飞速发展,智能家居、楼宇自动化等概念逐渐深入人心,而作为其中不可或缺的组件之一,双控开关扮演着举足轻重的角色。双控开关,顾名思义,是指可以在两个不同的位置控制同一盏灯或其他电器设备的开关。本文将深入探讨双控开关...

关键字: 双控开关 智能家居

【2024年3月21日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)近日宣布推出最新款蓝牙模块CYW20822-P4TAI040,在低功耗与覆盖范围等方面实现了新的突破,推动物联...

关键字: 蓝牙模块 智能家居 传感器
关闭
关闭