基于Arduino的智能家居控制系统设计
实验题目:基于 Arduino 的智能家居控制系统设计
1. 课程简要信息
本实验相关课程名称为单片机原理及应用、通信工程、物联网工程、蓝牙技术、模拟电子技术、数字电子、电子系统等课程,课程学时为32学时,适用于所有专业的大三、大四年级学生。
2. 实验内容与任务(限 500 字)
项目内容:
(1)以Arduino单片机为控制核心,通过APP 客户端使用蓝牙协议连接灯光模块,在APP 客户端中实现LED 灯光颜色,亮度的智能调节功能。
(2)使用蓝牙协议连接灯光模块,在 APP 端播放器中开启一段音乐,灯光模块会随着音乐的节奏进行规律性地闪烁。
(3)使用 HTTP 协议连接核心模块,实现在 APP 端对外围电路的远程开关控制功能。
(4)检测模块将基本的环境信息采集后通过 IO 口传输给核心模块,再由 APP 端通过 HTTP协议请求WEB 服务器的数据,实现在APP 端对室内环境信息的实时监控功能。
(5)通过APP 客户端使用 HTTP 协议连接核心模块,设置特定温度时外围电路的工作状况,当检测模块检测到温度达到或低于预设温度时,外围电路电器将智能调整工作状态。
项目任务:
(1)设计并实现具有智能模式的 1600万色 LED 灯光色彩调节及100级灯光亮度调节功能;
(2)设计并实现具有实时监控室内温湿度及气压的监控功能;
(3)设计并实现具有智能感知温度并智能调配室内电器工作状态的调配远程遥控功能;
(4)设计并实现具有远程智能家居开关控制功能。
3. 实验过程及要求(限 300 字)
(1)通过查阅资料学习和了解不同软/硬件方式下,实现系统方案的方法,并确定实验元器件;
(2)掌握单片机 Arduino 功能,联合 W5100 网络模块,搭建本地 WEB 服务器,确保家居环境信息的智能采集内容正确;
(3)通过 RFID 模块连接 Arduino UNO 单片机构建刷卡门禁模块,注意智能门禁是否实现;同时使用蓝牙模块、5050 全彩 LED 模块及 Arduino Nano 单片机搭建室内智能灯光模块,考虑通过安卓客户端使用哪种协议进行连接,才能实现灯光亮度及色彩的远程控制及智能开关;
(4)通过安卓客户端使用 HTTP 协议请求该服务器能否获取室内环境数据并传输到安卓客户端,实现室内环境的实时智能检测;
(5)制作硬件电路,并测试调试,优化电路参数,记录测试结果;
(6)设计系统程序流程图,在程序中实现各模块功能;(7)设计软件的APP 端程序、WEB 服务器程序、灯光色彩亮度调节模块、节奏灯光的程序设计模块;(8)优化电路并仿真,记录仿真结果,系统调试无误绘制PCB图;(9)撰写设计报告,阐明电路设计方案、过程、数据及结果分析等;(10)展示作品,并通过分组演讲,学习交流不同解决方案的特点。
4. 相关知识及背景(限 150 字)
本实验是运用单片机原理与应用、通信工程、物联网工程以及蓝牙技术等解决传统家居电器的机械化控制方式不能满足现代都市居民生活需求的典型案例。涉及Ethernet Shield 网络模块、WEB服务器、ATmega328 处理芯片、连级模式、温湿度传感器及 BMP085 气压传感器、BluetoothAdapter协议、HTTP 连接控制、频谱转换及传输、元器件参数设定、绘制 PCB 板、系统焊接与调试等相关知识与技术方法。掌握几种常用的计算机辅助分析和设计软件;熟悉一般电子电路的设计、安装、调试的方法;掌握模拟电子和数字电子电路常用的故障检测和排除方法。
5. 教学目标与目的(限 100 字)
综合考察了学生对单片机技术、通信工程技术、物联网工程应用、模拟电路、数字电路相关知识的掌握,引导学生夯实基础的同时拓展知识视野,设计不同的解决方案及根据工程需求比较选择技术方案;引导学生根据需要设计电路、选择元器件,构建测试环境与条件,并通过测试与分析对项目做出技术评价;鼓励拔尖学生突破知识瓶颈,尝试用单片机等方案去实现。
6. 教学设计与引导
对系统的设计任务进行具体分析,仔细研究题目,明确设计和实验要求,充分理解题目的要求、每项指标的含义。
针对系统提出的任务、要求和条件,查阅资料,广开思路,提出尽量多的不同方案,仔细分析每个方案的可行性和优缺点,加以比较,从中选取合适的方案。
将系统分解成若干个模块,明确每个模块的功能、各模块之间的连接关系及实现方法等。构建总体方案与框图,清晰地表示系统的工作原理,各单元电路的功能及各单元电路间的关系。
(1)我们为什么要做这个实验?不仅仅是考查所学知识。例如对于运算速度要求并不高,设计任务所需控制系统也不复杂的情况下,选用FPGA实现整个系统还是用单片机为控制核心?
(2)掌握电路的基本模型和设计方法,自行设计电路及其参数。
(3)加深对 Ethernet Shield 网络、ATmega328 芯片、BluetoothAdapter 协议、HTTP 连接、频谱转换、WEB服务器等概念的理解,设计表格,测量并记录相关数据。
(4)在电路设计、搭试、调试完成后,必须要用标准仪器设备进行实际测量,观测波形、数据等,记录数据的同时用照片记录相关波形。
(5)尝试设计故障场景,让学生找出问题所在,分析和总结错误的结果,使学生加深对相关电路和概念的理解。
(6)在实验完成后,可以组织学生以项目演讲、答辩、评讲的形式进行交流,了解不同解决方案及其特点,交流在实验过程中出现的问题及解决方法等,拓宽知识面。
(7)讲解一些超出目前知识范围的解决方案,鼓励学生学习并尝试实现。
在设计中,要注意学生设计的规范性;如系统结构与模块构成,模块间的接口方式与参数要求;在调试中,要注意工作电源、参考电源品质对系统指标的影响,电路工作的稳定性与可靠性;在测试分析中,要分析系统的误差来源并加以验证。
7. 实验原理及方案
(一) 系统结构
(1) 框架图及系统原理图



(2) 程序流程图

(3)核心模块


(4)灯光模块

(5)蓝牙模块、5050 全彩 LED 模块

(6)检测模块


(二)实现方案
首先,确定系统总体设计。基于Arduino的智能家居控制系统以Arduino UNO 单片机为核心通过联合 W5100 网络模块搭建本地的 WEB 服务器,通过 A/D 采集各引脚连接的室内环境传感器的数值并进行处理,实现家居环境信息的智能采集;通过 RFID 模块连接第二块Arduino UNO 单片机构建刷卡门禁模块,实现智能门禁;使用蓝牙模块、5050 全彩LED 模块及 Arduino Nano单片机搭建室内智能灯光模块,通过安卓客户端使用蓝牙协议进行连接,实现灯光亮度及色彩的远程控制及智能开关;通过安卓客户端使用 HTTP 协议请求该服务器获取室内环境数据并传输到安卓客户端,实现室内环境的实时智能检测;通过安卓客户端使用 HTTP 协议传输控制命令到服务器,实现本地WEB 服务器连接外围电路的远程控制;最后通过核心板搭建的WEB服务器链接各个功能模块,组成一个功能完善,扩展性强的智能家居控制系统。系统的工作流程分为两部分组成:APP 客户端通过蓝牙协议控制的灯光模块和APP 客户端通过HTTP 协议控制的外围电路。
其次,整个系统电路可以分成四个模块:核心模块、灯光模块、检测模块、外围电路。下面我们对这四个电路模块进行理论上的分析。
1、由 Arduino 单片机及 W5100 网络模块通过直接总线连接构成核心模块。Arduino UNO 是Arduino USB 接口系列的最新版本。UNO 的核心控制器件是 ATmega328 处理芯片,数字输入/输出口共计有14路:6路PWM 输出端口,6路模拟输入端口,1路 ICSP header,1个16MHz晶体振荡器,1个电源插口,1个USB接口和1个复位按钮,控制板能同时兼容5V和 3.3V的供应电压。
2、灯光模块采用的是 HC-05 蓝牙模块。蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备、计算机及其终端设备、各种数字数据系统、甚至家用电器采用无线方式联接起来。它的传输距离为 $1 0 \mathrm { c m } { \sim } 1 0 \mathrm { m }$ ,如果增加功率或是加上某些外设便可达到 $1 0 0 \mathrm { m }$ 的传输距离。它采用 $2 . 4 \mathrm { G H z }$ ISM 频段和调频、跳频技术,使用权向纠错编码、ARQ、TDD 和基带协议。TDMA 每时隙为0.625μ s,基带符合速率为 1Mb/s。蓝牙支持 64kb/s 实时语音传输和数据传输,语音编码为 CVSD,发射功率分别为 $1 \mathrm { m W } , 2 . 5 \mathrm { m W }$ 和 $1 0 0 \mathrm { m W }$ ,并使用全球统一的 48 比特的设备识别码。由于蓝牙采用无线接口来代替有线电缆连接,具有很强的移植性,并且适用于多种场合,加上该技术功耗低、对人体危害小,而且应用简单、容易实现,所以易于推广。
5050 全彩 LED 模块内置控制芯片,仅需 1 个 IO 口即可控制多个 LED 芯片内置整形电路,信号畸变不会累计,稳定显示三基色 256级亮度调剂,16 万色真彩显示效果,扫描频率不低于 $4 0 0 \mathrm { H z } / \mathrm { S }$ 串行连级接口,能通过一根信号线完成数据的接收与解码,刷新速率 30 帧/秒时,低速连级模式连级数不小于 512 点。
3、检测模块由DHT11温湿度传感器及BMP085气压传感器组成。DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个 NTC测温元件,并与一个高性能 8 位单片机相连接,具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。BMP085 是一款高精度、超低能耗的压力传感器,它可以应用在移动设备中。它的性能卓越,绝对精度最低可以达到 $0 . 0 3 \mathrm { h P a }$ ,并且耗电极低,只有 3uA。BMP085 采用强大的 8-pin 陶瓷无引线芯片承载(LCC)超薄封装,可以通过 IIC 总线直接与各种微处理器相连。
4、外围电路由耗电设备直接通过 I/O 口连接到Arduino 的相应接口上组成。
第三、设计系统软件。
1、APP 端程序设计:
作为系统的控制端部分,APP 端使用全球占有率最高的android系统,具有极佳的普适性;其程序设计分为两个部分:
(1)蓝牙连接控制:APP 端先通过 BluetoothAdapter 协议搜索获取本地的蓝牙列表,手动选择蓝牙设备后通过调用 BluetoothSocket 对象的方法与灯光模块的 HC-05 蓝牙模块进行通信, 再由getOutputStream()方法以数据流的形式输出控制指令,HC-05 蓝牙模块接收控制指令后传输给Arduino Nano 单片机进行处理,最后 APP 端关闭输出,完成灯光模块的控制。
(2)HTTP 连接控制:APP 端通过 HTTP 协议连接 Arduino Uno 单片机与 W5100 网络模块共同搭建的WEB 服务器,采用AJAX 技术使用Javascript向服务器提出请求及发送控制指令,从而完成对WEB 服务器采集到的环境信息的获取及远程控制外围电路。
2 、WEB 服务器程序设计:
WEB 服务器通过 Arduino 单片机的编程语言搭建,通过使用以太网库,Arduino Uno 单片机将能够通过 W5100 模块回应 APP 端的 HTTP 请求,通过 APP 端内嵌的 WEB 浏览器连接到特定的 IP地址后,Arduino Uno单片机便可以通过HTTP协议从模拟引脚端获取的检测模块检测到的环境数据,最后通过HTTP 协议反馈检测数据到 APP 端。
3、灯光色彩亮度调节:
APP 端将取色盘上的 RGB 颜色及亮度条百分比转换为特定的数据流格式后(格式为(255,255,255,100),由蓝牙模块接收并输出给 Arduino Nano 单片机,再由 Arduino Nano 单片机分析处理后传输给5050全彩LED 模块进行显示,完成灯光模块的色彩及亮度调节。
4、 节奏灯光的程序设计:
节奏灯光的程序设计分为两部分:
(1)android 音乐频谱获取:利用数字信号处理的知识把时域上连续的信号(波形)强度转换成离散的频域信号(频谱)。频谱反映的是音乐在某个连续时间段内,声音的震动频率。
(2)频谱转换及传输:通过采集震动频率将其转化为特定格式的数据流,在 App 端以
BluetoothSocket 方法传输给 Arduino Nano 单片机进行处理,从而实现节奏灯光。
最后通过调试的结果,发现存在以下问题:(1)由于App端采用了Visualizer类,所以在 android2.3以下的版本无法支持,需要使用 2.3以上版本的安卓系统。(2)由于使用HTTP 协议所以远程控制时会存在2到3秒内的延迟,不会影响数据的传输。
8. 教学实施进程
在实验实施过程中的任务安排、预习自学、现场教学、分组研讨、现场操作、结果验收、总结演讲、报告批改等环节中,教学设计安排及重点工作为:
a)任务安排:结合本实验目的,教师针对性的布置预习任务,发送给学生,其中预习目标应明确并尽可能量化;
b)预习自学:学生按要求预习,完成预习目标,形成预习报告,提出疑问待课上与教师交流;
c)现场教学:教师对实验环节及注意事项做简明讲解,给学生留充足时间动手操作,此环节注重授课的简明扼要,对已经安排预习的内容不赘述;
d)分组研讨:根据课前预习及教师讲解,学生按实验器材套数分组,讨论并模拟实验进程,汇总疑问,教师对共性问题统一讲解;
e)现场操作:学生分组实验,按预先设计的实验步骤操作,教师做统一监督指导,此环节注重学生动手能力培养,尽量保证所有学生都能参与;
f)结果验收:实验进行中,学生应对重要环节实验结果应予以记录,结果验收时教师检查各组过程结果及最终实验结果,综合评定;
g)总结演讲:教师对此次课程总体表现情况做总结,与学生交流分享,公布交报告时间;
h)报告批改:学生按时完成报告,教师从实验结果达标情况、课程理解程度、问题回答等方面,对报告作出批改,给出分数。
9. 实验报告要求
a) 实验要求分析:正确的理解项目要求;
b) 实现方案论证:实验的蓝图,关系到实验的成败;
c) 理论推导计算:科学的计算分析;
d) 电路设计与参数选择:模型选择及参数计算;
e) 电路测试方法:调试电路,纠错校正;
f) 表格设计,实验数据记录:表格合理,数据清晰;
g) 数据处理分析:结果计算分析;
h) 实验结果总结与心得体会:误差分析,出现的问题及解决方法,心得体会。
10. 考核要求与方法(限 300 字)
a) 实物验收:功能与性能指标的完成程度(如硬件设计、软件设计、电路调试),完成时间。
b) 实验质量:电路方案的合理性,焊接质量、程序调试、组装工艺。c) 自主创新:功能构思、电路设计的创新性,自主思考与独立实践能力。
d) 实验成本:是否充分利用实验室已有条件,材料与元器件选择合理性,成本核算与损耗。
e) 实验数据:执行结果和数据误差。
f) 实验报告:实验报告的规范性与完整性。
11. 项目特色或创新(可空缺,限 150 字)
综合、系统地应用已学到的单片机技术、通信工程、物联网技术、模拟电路、数字电路的知识,在单元电路设计的基础上,利用软件设计出具有实用价值和一定工程意义的电子电路;扩展新知识的学习,培养综合运用能力,增强独立分析与解决问题的能力;培养严肃认真的工作作风和科学态度,为以后从事互联网技术、电子电路设计和研制电子产品打下初步基础。
12. 参考文献
刘连浩.物联网与嵌入式系统开发(第 2 版).北京:中国工信出版集团
吴功宜. 物联网工程导论.北京:机械工业出版社
欧阳骏、陈子龙、黄宁淋.蓝牙 4.0 BLE 开发完全手册:物联网开发技术实战. 北京:化学工业出版社
谭晖.低功耗蓝牙开发与实战. 北京:航空航天大学出版社胡仁杰,韩立.电工电子创新实验.北京:高等教育出版社.
侯建军. 电子技术基础实验、综合设计实验与课程设计.北京:高等教育出版社.
谢自美.电子线路设计•实验•测试.武汉:华中科技大学出版社.
吴援明,唐军.模拟电路分析与设计基础.北京:科学出版社.
王紫婷.电子技术实验教程.北京:中国铁道出版社.
实验案例信息表
| 案例提供单位 | 兰州交通大学电子与信息工程学院国家级电工电子实验示范中心 | 相关专业 | 自动化、自动控制专业 | ||||
| 设计者1姓名 | 程小阳 | 电子邮箱 | 360895653@qq.com | ||||
| 移动电话 | 18919055525 | 通讯地址(含邮编) | 甘肃省兰州市安宁区安宁西路 88号兰州交通大学704信箱,730070 | ||||
| 设计者2姓名 | 张华卫 | 电子邮箱 | 14169576@qq.com | ||||
| 移动电话 | 13919338766 | 通讯地址(含邮编) | 甘肃省兰州市安宁区安宁西路 88号兰州交通大学704信箱,730070 | ||||
| 设计者3姓名 | 周庆华 | 电子邮箱 | 462446302@qq. com | ||||
| 移动电话 | 13321218787 | 通讯地址(含邮编) | 甘肃省兰州市安宁区安宁西路 88号兰州交通大学704信箱,730070 | ||||
| 相关课程名称 | 单片机原理及应用、通信工程、物联网工程、蓝牙技术、模拟电子技术、数字电子技术等 | 学生年级 | 大三、大四 | 学时(课内+课外) | 课外开放实验 | ||
| 仪器设备 | 计算机、示波器、信号发生器、电源 | ||||||
| 软件工具 | Altium Designer6.0、Multisim、Pspice、Visio | ||||||
| 主要器件 | Arduino UNO 单片机、Arduino Nano 单片机、Android 手机、WEB 服务器、Ethernet Shield 网络、无线路由器、BMP085气压传感器、DHT11温,湿度传感器、ATmega328 处理芯片、HC-05蓝牙模块、陶瓷无引线芯片、IIC 总线、5050 全彩LED、电阻/光敏电阻/可调电阻、30pF 电容、PCB 板、18脚坐、插针、发光二极管及各类元器件等。 | ||||||
| 其他 | 电烙铁、焊锡丝等 | ||||||