集成式低功耗智能家居系统的设计与实现

来源 :软件 | 被引量 : 0次 | 上传用户:fangli95680
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘  要: 为了降低智能家居系统的配置成本,并通过集成式的解决方案,尝试缓解智能家居市场的碎片化问题,提高用户的购买和使用体验。设计了一套基于Raspberry Pi平台,利用低功耗蓝牙?红外等无线数据传输技术进行辅助控制的智能家居系统。本平台可以通过手机微信小程序、PC智能语音助手“Cortana”对家用电器进行控制,实现了通过个人智能设备控制家用电器的目的。本套智能家居系统使用方便,购置成本低廉,具有较好的实用性和应用开发前景,将有望提高智能家居在我国的普及程度,缓解智能家居市场碎片化问题,使普通用户可以更方便的接触、体验到智能家居给生活带来的便利。
  关键词: 树莓派;智能家居;蓝牙;微信小程序;语音助手
  中图分类号: TP274    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2019.08.009
  本文著录格式:乔明泽,边凯宸,王世喆,等. 集成式低功耗智能家居系统的设计与实现[J]. 软件,2019,40(8):4245
  【Abstract】: In order to reduce the configuration cost of the smart home system, and through the integrated solution, try to alleviate the fragmentation problem of the smart home market and improve the user's purchase and use experience. This team designed a smart home system that based on Raspberry Pi platform, using wireless data transmission technologies such as low-power Bluetooth and infrared to assist in the control of household appliances. The platform can control household appliances through the mobile phone WeChat applet and the PC intelligent voice assistant “Cortana”, which could realize the purpose of controlling household appliances through personal smart devi?ces. This smart home system is easy to use, low in cost, good in practicality and application development prospects, and it is expected to increase the popularity of smart homes in China, alleviate the fragmentation of the smart home market, and make it easier for ordinary users to contact. Experience the convenience that smart home brings to life.
  【Key words】: Raspberry Pi; Smart home; Bluetooth; WeChat applet; Voice assistant
  0  引言
  近年來,智能家居系统在我国已经开始逐渐普及,物联网产业取得了长足进步。目前市面上常见的智能家居系统有基于红外、ZigBee与蓝牙的系统[1]。华为?小米等数码科技巨头及国内各大家用电器厂商都已开始进行一定程度的智能家居系统的研发。然而目前智能家居的普及率仍处在较低水平,这与智能家居系统的高成本?碎片化以及人们对于智能家居系统的了解不足都有着很大关系,同时,市场上常见的智能家居系统在单一系统内搭建物联网所使用的通讯手段通常较为单一与局限。智能家居存在安装过程复杂、维护成本过高、稳定性差、终端设备使用不方便、用户体验欠佳等问题[2-3]。基于这种情况,项目小组设计了一款基于Raspberry Pi平台,利用低功耗蓝牙(Bluetooth Low Energy,BLE)、红外等无线数据传输技术进行辅助控制的智能家居系统。本系统的实现目标,是降低智能家居系统的配置成本,并通过集成式的解决方案,尝试缓解智能家居市场的碎片化问题,提高用户的购买和使用体验。
  1  树莓派中控系统设计与实现
  1.1  关于中控硬件的选择
  (1)初版硬件选择为Arduino开发板,搭配HC-05蓝牙扩展芯片控制硬件,但是由于HC-05蓝牙芯片与Arduino开发板之间连接困难?开发板处理能力低下等问题,放弃了Arduino开发板。
  (2)在之后的开发实验中采用了Raspberry Pi与HC-05蓝牙芯片搭配的开发方式。Raspberry Pi是一款基于Linux的单片机计算机。它由英国的树莓派基金会所开发,目的是以低价硬件及自由软件促进学校的基本计算机科学教育。树莓派配备一枚博通出产的ARM架构700 MHz BCM2835处理器,256 MB內存(B型已升级到512 MB内存),使用SD卡当作存储媒体,且拥有一个Ethernet?两个USB接口?以及HDMI(支持声音输出)和RCA端子输出支持[4]。(于2016年2月发布的第三代树莓派已经集成了WiFi和蓝牙模块,处理器也升级为博通BCM2837。项目组使用的为树莓派一代版本,并未配备蓝牙模块,故而外接了一枚HC-05蓝牙芯片。)   1.2  关于程序语言的选择
  (1)在使用Arduino开发板时,使用的是Arduino语言,其基于C/C++。
  (2)在改用Raspberry Pi之后,曾采用C语言结合wiringPi。但是由于接口使用相对复杂,最后放弃了该方案。
  (3)最终版采用了Python语言,由于Python语言是一种高层次的解释型语言,所以语言的可读性很强。在编写程序的时候可以引用的库比较多,所以代码量比较小,有助于中控程序的编写?丰富与优化。
  1.3  设计思路
  (1)采用树莓派与HC-05芯片进行串口连接,在用户使用手机时,可以通过接收用户发过来的串口指令的方式进行控制。在实验的过程中,设备连接与控制正常。
  (2)由于Raspberry Pi上面拥有40Pin的引脚,并且有线连接的安全性比较高,所以采用引脚对硬件进行直接控制的方式比较稳妥。在此思路基础上,我们团队决定使用引脚对硬件进行控制。
  (3)调查市面上的用电器基本情况后,我们发现可以将市面上的用电器大体分为两类,分别是双状态电器(只有开和关两状态的用电器)和多状态电器(例如风扇有多个挡位),在进行更深度调查后,我们发现双状态用电器可以采用供电控制的方式进行控制。例如电灯只需要控制其是否供电,就可以对其进行完全控制。而多状态电器大多可以采用红外对其遥控,所以可以采用树莓派+红外二极管的方式对信号进行模拟。以上思路可以控制家庭内大多数用电器。
  (4)编程采用Python语言,脚本在树莓派开机后自动执行,等待蓝牙设备的信号传入。如果传入信号,根据传入的状态码自动运行对应的程序功能块。
  2  手机端交互程序设计与实现
  蓝牙(Bluetooth),一种无线技术标准, 使用2.4—2.485 GHz的ISM波段的UHF无线电波,可实现固定设备?移动设备之间的短距离数据交换。蓝牙技术最初由电信巨头爱立信公司于1994年创制,当时是作为RS232数据线的替代方案。蓝牙可连接多个设备,克服了数据同步的难题。蓝牙模块是利用无线蓝牙技术进行蓝牙传输的一种模块,蓝牙模块对外联络网络环境,对内联络单片机,在智能家居系统中起到非常重要的衔接作用。
  2.1  工作原理
  本模块旨在实现:手机连接蓝牙发送指令,蓝牙模块接收到指令,开启适配器,进行设备连接。最后,蓝牙模块将指令发送给单片机接口,完成无线传输。
  在智能家居系统中采用BLE(低功耗蓝牙)通讯技术具有以下优势:
  (1)功耗低且传输速率较快
  蓝牙的短数据封包特性是其低功耗技术特点的根本,传输速度大概每秒195-215 KB左右,最高24 Mbps,也就是每秒3 MB。而功耗主要由传输速率和距离来决定,低功耗蓝牙一开始是蓝牙4.0核心规格的一部分,专门在低功耗?低带宽?低成本与低复杂性方面做了优化。
  (2)建立连接时间短
  蓝牙用应用程序打开到建立连接只需要短短的3 ms,同时能以数毫秒的传输速度完成经认可的数据传递后并立即关闭连接。
  (3)兼容性较强
  蓝牙的普及性广,也是基于其兼容性较强,几乎能够兼容所有数码设备,让各种数码设备之间能够无线沟通。
  同时,选用蓝牙做智能家居系统的无线连接技术也有几点缺陷待改进,如:有一定传输距离的约束?蓝牙的安全性不容易保证?稳定性也有待加强。在本实验中,针对蓝牙模块,我们采用了微信小程序开发方式,调用微信官方的蓝牙API文档,使用微信小程序对蓝牙进行操作。
  2.2  程序设计
  2.2.1  蓝牙建立连接过程梳理
  首先,开启蓝牙适配,获取蓝牙适配器状态,判断设备蓝牙是否可用。判断蓝牙适配器可用时开启扫描蓝牙设备和开启获取已连接的蓝牙设备。如果开启扫描蓝牙设备失败,自动再次开启扫描。开启扫描蓝牙设备成功后开启监听已扫描的设备。开始连接设备,获取已连接蓝牙设备ID及name。开始连接某设备时停止扫描设备,停止循环获取已连接设备。连接成功后停止扫描设备,停止循环获取已连接设备。
  2.2.2  关键步骤说明
  Step1. 调用wx.openBluetoothAdapter(),初始化小程序蓝牙模块,生效周期为调用wx.openBlue?too-thAdapter至调用wx.closeBluetoothAdapter或小程序被销毁为止。
  Step2. 开启蓝牙适配,判断蓝牙是否可用wx.openBluetoothAdapter(OBJECT);
  Step3. 调用wx.onBluetoothAdapterState?Chan?ge()监听蓝牙适配器状态变化事件;
  Step4. 调用wx.onBluetoothDeviceFound()监听寻找到新设备的事件,在log文件中记录下来设备ID和name。若初始适配器失败,给出提示,“检测手机蓝牙是否打开”;
  Step5. 調用wx.closeBluetoothAdapter()关闭蓝牙模块,使其进入未初始化状态。调用该方法将断开所有已建立的链接并释放系统资源。在使用小程序蓝牙流程后调用,与wx.openBluetoothAdapter()成对调用;
  Step6. 调用wx.startBluetoothDevicesDiscovery()开始搜寻附近的蓝牙外围设备。此操作比较耗费系统资源,在搜索并连接到设备后需要立即调用 stop 方法停止搜索。即调用方法wx.stopBluetooth?Devi?ces-Discovery()停止搜寻附近的蓝牙外围设备。若已经找到需要的蓝牙设备并不需要继续搜索时,调用该接口停止蓝牙搜索;   3  无线数据传输模块在系统中的应用
  3.1  低功耗蓝牙模块的进一步应用
  尽管当前WiFi技术发展已经相当成熟,但在数据传输量与传输速度要求并不苛刻的情况下,蓝牙模块相比于WiFi,仍然具有体积小、成本低、配对快等等优势。这些特性将有助于用更低的成本,使智能家居系统与个人智能硬件(如手机、电脑及各种智能可穿戴设备)之间的联系更加紧密。尤其是智能手环等并不具备WiFi模块的可穿戴设备,蓝牙模块在智能家居系统与这些设备进行通信的过程中有着重要作用。
  3.1.1  利用BLE进行室内定位
  目前主流的室内定位的算法分为基于测距和非测距两种类型。其中基于无线测距的主要有到达时间(time of arrive,TOA)、到达角度(angle of arrive,AOA)、TDOA等方法。另一种就是利用接收的信号强度指示(received signal strength indicator,RSSI)的非测距类的定位算法。[5]而本套系统的主要使用场景在家庭住宅中,通常并不需要采用较高精度的定位方法,既降低了开发难度,也节约了生产成本。下面简要介绍本系统采用的两种定位模式的实现方法。
  (1)非测距定位
  假设室内环境中有两个房间A、B,在房间内安装蓝牙接收器a、b,并连接到中控系统。当使用者佩戴搭载蓝牙芯片的智能手环进入房间A,手环与蓝牙接收器a进行通信,当使用者从房间A进入房间B,手环与蓝牙接收器a的通信断开,并与蓝牙接收器b进行通信,通过简单地判定“在某房间”或“不在某房间”,中控便可以识别分析出使用者在房间内的简略运动路线。
  (2)测距定位
  此种定位方式相较于非测距定位,精度相对更高,基本能满足大部分使用场景。通过分析蓝牙信标与蓝牙接收器之间的通信信号强度,可大致分析出信标与接收器之间的距离,从而实现简单的室内定位。
  3.1.2  室内定位数据的应用
  前文中提到过,本智能家居系统不依赖高度精确的室内定位,中控在收集到用户在家中的定位数据后,通过简单地判定“在某房间”或“不在某房间”,即可依据分析结果对家电系统进行智能控制(如照明、供暖等)。
  通常来讲,用户对家居设备的使用行为存在一定的习惯性,行为之间存在一定的联系和规律,这种规律是可以通过对用户的历史操控进行记录而分析与学习的。[6-7]通过诸如文献[8]中提出的基于假设检验的关联分析算法,对家居设备间的关联进行分析,从而构建用户操作行为习惯模型,智能家居中控将可以更为智能地对家居系统进行自动控制,有利于提升系统智能化程度和用户体验,减少对能源的浪费。
  3.1.3  利用智能可穿戴设备对智能家居进行操控
  此项与智能手机通过蓝牙控制智能家居系统的概念相似,在开发相应控制程序后,用户将可以利用智能可穿戴设备对智能家居系统进行简单控制。再此就不过多赘述。
  3.2  红外模块在系统中的应用意义
  传统家用电器,如空调、电视,普遍采用红外信号进行遥控,将红外遥控模块接入智能家居中控,将赋予中控对这些传统家电的控制能力,一方面可以避免频繁更换遥控器的麻烦,另一方面也将赋予传统家电新的生机,用户将不必须购买具有互联网功能的家电(这些家电普遍售价偏高:“目前市场上销售的智 能家电的价格普遍是及其昂贵的,以洗衣机为例,海尔的7.0公斤滚筒洗衣机最低的价格是2000元左右,而7.0公斤物联网智能 滚筒洗衣机的最低价格则在3500元以上,在这之间的价格差是 1500元左右。”[9])一定程度上降低了家居智能化的整体成本。
  4  结语
  使用Raspberry Pi作为中控的智能家居控制系统实现了对常用电用电器的控制。用户可以通过手机微信小程序、PC智能语音助手“Cortana”对家用电器进行控制,实现了通过个人智能设备控制家用电器的目的。
  项目组采用树莓派与HC-05芯片进行串口连接,设计出了价格成本相对低廉且能耗较低的智能家居控制系统。该系统采用WiFi、蓝牙、红外线等多种途径实现对家电的控制,搭建了家居物联网,手机端采用时下流行的微信小程序对中控进行远程指令操作,使用方便,购置成本低廉,具有较好的实用性和应用开发前景,将有望提高智能家居在我国的普及程度,缓解智能家居市场碎片化问题,使普通用户可以更方便的接触、体验到智能家居给生活带来的便利。
  参考文献
  [1] 孙月驰, 李冠, 平伟. 基于物联网技术的智能家居监控系统[J]. 软件导刊, 2018, 17(3): 142-145.
  [2] 贾阳静, 邹念育, 雷冬鸣, 等. 基于Android和WiFi通信的智能家居系统设计[J]. 大连工业大学学报, 2016(1): 67-71.
  [3] 扈乐华. 基于Android的智能家居系统设计与实现[J]. 电脑与电信, 2016(8): 32-33.
  [4] 树莓派[OL]. https://zh.wikipedia.org/wiki/树莓派.
  [5] 杨保, 张鹏飞, 李军杰, 路朋. 一种基于蓝牙的室内定位导航技术[J/OL]. 测绘科学: 1-12[2019-04-17]. http://kns. cnki.net/kcms/detail/11.4415.P.20190409.1940.061.html.
  [6] Noury N, Hervé T, Rialle V, et al. Monitoring behavior in home using a smart fall sensor and position sensors[C]// Proc of the 1st Annual International Conference on Microtech?nologies in Medicine and Biology. Piscataway, NJ: IEEE Press, 2000: 607-610.
  [7] 吕培卓, 戴洪涛. 智能家居用户行为预测的方法研究[J]. 中国新技术新产品, 2016(3): 19-20.
  [8] Jin K K, Kim K B, Jo S. A service scenario generation scheme based on association rule mining for elderly survei-llance system in a smart home environment[J]. Engineering Appli?cations of Artificial Intelligence, 2012, 25(7): 1355-1364.
  [9] 關超, 柴宝仁. 基于stm32的智能家居控制系统的设计与实现[J]. 轻工科技, 2019(02): 91-92+95[2019-03-16].
其他文献
摘 要: 医疗信息的缺失导致医疗差错频发[1],移动医疗[2]的出现改善了这一现象。本项目通过与专业医生合作,运用机器视觉、自然语言处理等人工智能技术,自动采集患者的健康信息,通过搭建医学知识图谱,实现医疗健康智能问答。另外,使用基于用户兴趣的推荐算法,对患者进行个性化健康资讯推荐。使用血糖仪、血压计等设备对患者进行生命体征监测,然后结合专业随访量表对患者健康进行评估。在项目中,采用AHP层次分析
期刊
摘 要: 为保证大钩钩体满足设计要求,根据API 8C和AMSE的相关标准,对YG-170型的大钩钩身进行了有限元分析。利用SolidWorks软件构建大钩钩身的三维实体模型,应用Abques软件对其进行有限元应力应变分析,结合分析结果对大钩构体在最大钩载和最大钻柱重量条件下的强度、刚度进行校核计算,计算结果完全符合标准要求。  关键词: 大钩钩体;有限元;Abques  中图分类号: TE923
期刊
摘 要: 目前人脸识别技术被广泛应用于实际生活各个领域,尤其是在实时视频场景下应用越来越普及,因此对人脸识别的研究具有重大价值。通过应用Keras框架和深度学习相关知识构建深度卷积神经网络,训练出有效的人脸识别模型,并应用到实时视频场景进行人脸检测和识别,最后通过实验表明此方法能够有较高的正确率,并能准确识别视频中的人脸。  关键词: 人脸识别;卷积神经网络;深度学习  中图分类号: TP391.
期刊
摘 要: 针对医学院校大学生创新创业问题,本文探讨了基于互联网+医疗背景下医学院校大学生创新创业思维平台设计构建。本研究通过查阅文献的方式对医学院校大学生就业形势进行分析,并对平台如何构建进行了讨论。研究表明,基于互联网+医疗背景下医学院校大学生创新创业思维平台的建构可有效的提高学生的创业创新思维,锻炼学生思维能力,并可以一定程度上缓解以学生的就业压力。  关键词: “互联网+医疗”;医学生;创新
期刊
摘 要: 本文选择社会力模型作为行人疏散理论,并在此基础上进行仿真实验,研究单出口环境中出口宽度与疏散时间的关系;为了进一步研究多出口环境中宽度变化对疏散的影响,以社会力模型为基础,构建了考虑距离因素、宽度因素的行人疏散模型;仿真结果表明,出口宽度的变化极大影响整体疏散效率;单出口环境中,宽度大小与疏散时间整体呈反比,当宽度达到一定值时,疏散时间趋于稳定;多出口环境中,仅考虑距离因素时,出口宽度差
期刊
摘 要: 政策文本(Policy Text)是指因政策活动而产生的记录文献,当前多数的政策文本分类方法存在特征维度高、缺乏上下文信息这两个缺点。基于此,本文采用Doc2vec算法,通过词向量化解决特征维度高的问题,采用CBOW方法获取词语上下文信息。本文采用的方法经过实验测试,结果显示该方法对提高政策文本的分类准确率有着显著作用。  关键词: 政策文本;文本分类;Doc2vec  中图分类号: F
期刊
摘 要: 阐述了如何利用3ds Max和Photoshop对北魏时期的服饰进行设计与三维重建。通过对大同市博物馆的调查以及对有关北魏时期文献的查阅,全面了解和学习北魏时期的服饰文化,并设计出服饰的基本造型。利用3ds Max,采用多边形建模的方法,制作服饰的数字化模型,对模型进行uv展开,再利用Photoshop为建好的模型绘制贴图,包括对服饰色彩、花纹和质感的绘制,最终实现对北魏服饰数字化模型的
期刊
摘 要: 《计算机应用基础》是职业院校学生必修的一门课程,学好这门课程有助于学生拓展知识视野,同时对其未来的求职就业也有一定的促进作用。近些年来,随着科技的发展和进步,信息技术得以在教育教学工作中广泛的应用,各院校教师以信息技术为基础录制了大量的精品资源共享课程,该课程在教学中的应用,有效的减轻了教师的教学负担,提高了学生的学习积极性。为此,文章尝试对精品资源共享课教学在《计算机应用基础》中的应用
期刊
摘 要: 针对天地图·云南平台数据更新的需求,提出了基于地理信息系统(GIS)的海量DOM影像数据重采样系统的设计方案,论述了系统的结构以及实现方法。重点对系统的整体框架、功能设计和系统实现进行了详细介绍。有效解决了将1:2000DOM影像批量化重采样为1:5000DOM影像的问题,完成了天地图·云南平台数据更新工作。  关键词: GIS;DOM;重采样;ArcObjects  中图分类号: TP
期刊
摘 要: 借助Solidworks软件,来设计模拟试卷袋施胶装置的结构,对部件进行三维建模和模型装配,并利用Solidworks Simulation插件对取胶辊进行受力分析,以及Motion插件对整个试卷袋施胶机构进行运动仿真,得出数据以及仿真结果有助于我们分析试卷袋施胶机构的可行性,其中有限元分析计算,使我们对所设计方案能够更好地进行综合评价。  关键词: 施胶装置;Solidworks;建模
期刊