欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式
概要
近年来,伴随着智能手机的发展智能家居也快速升级,使用智能手机控制家电逐渐成为潮流,市场需求强烈,本文介绍了一种基于Arduino的智能化家居控制系统设计方案。本系统采用模块化设计,以Arduino UNO为核心控制板,通过EDR蓝牙协议连接模块,实现了智能开关和电器外围电路的灯光提示等功能。本毕业设计基于易安卓平台进行了Android手机客户端的软件程序设计与开发。简单、高效、交互友好的Android客户端与Arduino UNO核心板进行连接,形成了功能完善、扩展性强的智能家居控制系统。Arduino UNO核心板主要进行控制信号与数据的发送和接收以及控制连接的各个功能模块等功能。本设计改善了传统家用电器等需要手动地进行接触式控制的弊端,具有高效传输、操作简单、可靠性强等优点。本设计所采用的控制方式提高了家庭的舒适性和友好性,为实现便捷高质量的生活提供了解决途径。
关键字:智能家居;Arduino;易安卓;EDR蓝牙协议
一、系统总体设计方案
本课题研究的内容
本次系统设计的核心是Arduino UNO,利用蓝牙协议,远程检测并通Android客户端的室内家居的智能控制。基于出发方向,方便有效生活的目标主要是改善传统家庭背后的现有控制模式和不方便使用。智能遥控设计是为了取代传统的手动机械控制装置而设计的,它拥有效率较高、成本较低、便于使用等优点,也进一步提高了家庭的舒适性和便利性。是制作出一款,能够利用来Arduino远程控制家电开关的智能家居系统,并且有APP方便进行控制。
本次设计的内容:①Arduino上安装蓝牙模块;②基于易安卓的APP操作界面;③基于Arduino对继电器进行操作(开启或关闭)。
本次设计解决的关键问题为:①如何在确保数据安全保障的情况下、通过蓝牙对设备进行控制;②方便友好的APP界面;③四个继电器实现分开控制。
(一)系统组成
系统的结构组成示意图如图2.1。系统总共由五大部分所组成:分别是APP客户端、核心模块、检测模块、灯光模块和外围电路。各部分组成如下:
①APP客户端是安卓客户端,是通过易安卓软件编写的;
②蓝牙模块是基于Bluetooth Specification V2.0带EDR蓝牙协议的数传模块;
③核心模块是Arduino UNO单片机;
④控制模块由四个继电器组成,分别能单独开关控制四个家电;
⑤外围电路较为简单,通过发光二极管和其他元器组成。
图2.1 系统结构图
(二)硬件模块
1.蓝牙模块
蓝牙通信功能的实现采用的是HC-05 蓝牙串口模式的通信模块,附带EDR 蓝牙协议,基于Bluetooth Specification V2.0模式无线工作频段是2.4GHz ISM,调制方式采用的是GFSK[7]。模块极限发射功率为4dBm,接收灵敏度可达到-85dBm,板载PCB天线,最远可覆盖10米距离通信[8]。模块采用类似邮票孔的封装方式,模块大小为27mm×13mm×2mm,采用这种安装方式可以方便用户使用,可自定义安装内容,装备有LED灯,通过这种方式可以观察蓝牙的连接状态是打开还是关闭。为方便用户根据需要灵活使用,模块采用CSR的BC417芯片,支持AT指令[9],可随时更改各项参数。表2.1为蓝牙继电器的接线表。
表2.1蓝牙继电器接线表
图2.2 HC-05原理图
2.控制模块
控制模块是由四个光耦隔离高低电平触发组成。该系列继电器模块,为保证稳定的性能,使用光耦方式进行隔离[10],隔离效果大大提高,同时可以实现高低电平信号触发。仅需5mA电流即可驱动控制能力为10A的继电器吸合,模块采用优质功率继电器,小型封装光耦,大功率高耐压三极管,红蓝信号指示灯,PCB板材,性能稳定是它最大的特点。表2.2为该系列继电器的参数表,本次选用的是工作电压为5V的继电器。
3.核心模块
UNO是开放原始代码,便于理解,可以搭配按钮、指示灯等多种电子元件使用。同时可以在多个平台进行使用,不发生冲突,而且使用方便,代码更新换代快,符合当今社会发展要求。采用Arduino项目不仅可以涵盖Arduino,也能实现PC程序的通信,由国外团队研发。开发成员有Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、DavidMellis和Nicholas Zambetti等[11]。该项目经过多年的发展,技术逐渐成熟,已经发展成多型号多控制器,拥有诸多优势。使用Arduino的人员越来越多,这更加加速了该项目的发展,目前大学里也添加了研究该项目的学科,软件、艺术等门类都开展了课程进行学习。
图2.1 Arduino uno原理图
二、软件设计
1.APP客户端
软件采用安卓系统设计,具有较高的市场占有率和较高的普及率,Android(安卓)其实用英文翻译是机器人的意识,是一种由Linux构成的开源操作系统,面向于手机等便捷设备,在被谷歌收购之后开始逐步发展,平台也越来越复杂,由操作核心系统、中间元件、使用界面和APP等多种元素构成,在手机领域逐渐发展壮大,并且已经进军到平板电脑等多个领域。具有以下几点优势:
开放性强:Android平台有很强的开放性,可以允许各类开发商加入,拥有其他系统无法比拟的众多开发者参与,使系统愈发完善,技术更加先进,性能更加成熟。因此就吸引了更多开发商的目光,人气越来越高,消费者也喜欢用Android平台的产品[12]。因为里面有着丰富的软件资源,消费者有更多的选择权利,开放性平台有着以上诸多优点,但也有弊端,就是加大了开发商的竞争,性能一般的产品会被迅速淘汰。
硬件丰富:由于Android平台极大的开放性,导致开发商会设计出各种各样极具特色的产品[13],可供消费者们选择。虽然功能上各有千秋,但是其基本功能却不会受到影响,不同产品之间的数据交换,各类软件的兼容都能无差别的满足,这是其他平台所无法比拟的,极大的方便了消费者的需求。
开发方便:Android平台的诞生,相当于为开发商打开了新世界的大门,没有各类条框、法则的困扰,可以随心所欲的进行研究开发,这就促进了各类软件的出现。万物都有其两面性,Android平台也是一把双刃剑,无拘无束的环境导致滥竽充数的程序的越来越多,难以管理,这是Android急需解决的问题之一。
2.APP控制流程
如图2.4所示,用户打开安卓手机上的APP应用点击搜索设备,找到设备后点击连接绑定设备进行蓝牙配对,若配对失败在APP上会有提示请重新配对,若配对成功Arduino UNO板上会有灯光闪烁,APP界面也会同时显示配对成功。此时用户就可以控制四个继电器的打开与关闭,每打开一个继电器相对应的灯光就会亮起,关闭则会熄灭,每个继电器可以独立操控,非常符合时下家电越来越多的趋势。
图2.4 APP控制流程图
三、实物
程序
E4A程序源代码
事件 主窗口.创建完毕()
如果 蓝牙1.是否存在() = 假 则
信息框("信息","本机找不到蓝牙设备,程序将退出!","确定")
结束程序()
结束 如果
如果 蓝牙1.是否已开启() = 假 则
蓝牙1.开启蓝牙()
蓝牙1.置工作模式