版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第页共38页基于ESP8266智能家居控制系统设计摘要本项目将物联网与WIFI网络技术相结合,开发出一套多功能的智能家居控制系统。感知层包括温度、湿度、二氧化碳,甲醛,TVOC,PM2.5,PM10、光照强度、WIFI-mac探测,该层由STM32单片机做主控负责采集感知传感器的数据并处理打包,通过由无线网络传输到服务器,ESP8266网络通信模块,主要功能是将设备数据通该层传输至远程服务器。平台层是设备端与用户端数据传输的载体,他是在服务器的基础上通过PHP+MYSQL组成的,主要做接收设备端上传的数据并解析保存到服务器数据库和应用层的用户数据请求,当监测到数据有异常的时候根据程序设计逻辑下发命令到设备端开启和用户端小程序提示。应用层了解如何通过移动微信小程序和全球移动通信网络与用户进行通信。:物联网;MQTT;STM32;ESP8266;目录1绪论 21.1课题研究背景及意义 21.2物联网的发展历史 31.3中国物联网的现状 41.4本文的主要设计章节内容 51.5本章小结 62系统设计方案 62.1系统设计分析 62.2系统设计要求 62.3整体系统功能模块设计 72.4本章小结 73硬件系统方案的选择及确定 83.1供电系统 83.2WIFI无线通信模块 93.3数据采集处理主控芯片 103.4系统电源模块 113.5控制电源继电器 113.6光照芯片的选择 123.7DC-DC稳压电路 123.8本章小结 134硬件实现和单元电路设计 144.1 市电输入系统设计 144.2 系统电源设计 144.3控制驱动继电器放大电路 154.4无线网络通讯模块与单片机复位电路 154.5ESP8266无线网路通讯模组 164.5.1WS2812接口 164.5.2网络状态指示灯 174.5.3板层数据接口 174.6 STM32F103C8T6单片机系统外设 184.5.1单片机外设电路 184.5.2晶振电路 184.7环境传感器数据的采集 194.6.1串口3接口 194.6.2七合一环境空气质量传感器 194.6.2环境光照强度传感器 205软件系统设计 215.1ESP8266配网过程 215.1.1ESP8266配网函数移植 215.1.2ESP8266WS2812驱动移植 235.2控制继电器模块 235.2.1控制方式 235.2.2单独控制方式实现 235.3环境传感器数据采集 245.3.1七合一环境传感器模块 245.3.2环境光照强度芯片 255.4云服务器端 265.4.1后台系统基本框架 265.4.2服务端工作流程 275.5手机微信小程序端 275.5.1微信小程序界面 275.5.2微信小程序接收json数据 285.5.3微信小程序订阅服务器主题代码 285.5.4微信小程序发布信息代码 285.6本章小结 286系统调试与测试 296.1硬件测试效果 296.2软件测试效果 306.3本章小结 317总结 32致谢 33参考文献 34附录 361绪论1.1课题研究背景及意义在21世纪大数据时代,物联网控制给为我们带来更高效的家电管理和监控。各个方面智能化,计算机通信和计算机技术越来越精湛,发展越来越快速。由互联网技术扩展和延伸的物联网技术正在人们的生活和家庭中逐渐发挥着不可替代的作用。物联网(IoT)技术将我们生活中所有无处不在的终端和设备按照约定的协议连接到互联网上,使得物与物之间的信息交换和通信更加高效,极大地方便了人们对物的控制和状态监控,GPS、互联网及RFID的应用已经遍布很广,并且,互联网使人们对信息数据进行了深入的了解,因为这会给人们带来非常大的经济效益,为了满足现代管理的模式,从而为其迈进一步,这些技术以实现跟踪并识别全球的商品流通的方式进行全面覆盖。互联网技术在各个方面应用非常广泛。在全球的每个小小地方都可以遍及到。例如说在全球在每个地方的政治、社会日常生活乃至全球的经济都有涉及,还深入全世界各国的经济、政治和社会生活,给人们的生活带来不一样的体验,还有在日常生活和工作带来了巨大的方便。新技术之所以能被开发出来,是因为它能把人们从繁忙的生活中解放出来,而且很多事情都是由计算机而不是人工逐渐完成的,这便是“智能”最大的体现,智能家电不仅能使用户在繁忙的生活中解放出来,更多的是带给人新的生活体验。但是互联网也是有它的不足,比如那种关于数据信息的采集工作还是得需要人工来进行管理,所以这个就比较麻烦。人们对其做了一个设想,也就是说把这些互联网技术与商品信息的收集和处理工作给综合起来以满足全球化的经济需求。与传统的家电管理方式相比,智能家电的主要优势在于操作简单方便,在一定程度上也更方便用户维护和管理设备,增加了家电的安全运行。另外,我们可以换一个角度考虑把信息流通与互联网技术相融合在一起的现象的话,我们就可以互联网可以的涉及面扩宽非常的多,从“人”升级到“物”的更新域,也是要涉及互联网的范围,通过互联网技术获取相关物流信息,准确识别和完全跟踪物流信息的技术是物流互联网技术。物联网发展的社会与技术背景如下图1-1所示。图1-1物联网的发展背景1.2物联网的发展历史1999年,互联网的概念问世了,互联网开发的核心是应用程序的创新,也被认为是应用程序的扩大,所以互联网的发展以用户的亲身体验为主。物联网的实际应用始于1990年,当时施乐公司在互联网上推出了可乐售货机。1999年,网络国际会议中上提出就一个有关物联网的概念。大概意思就是传感网是21世纪的新的一个发展机遇。物联网的定义是被Ashton教授提出的,除了普及物联网的定义以外,还提出了一些技术的解决方案,比如物品编译、RFID及计算机方面。在当时来说射频识别技术和无线数据通信技术,是非常火爆的,在计算机方面得到了大量的应用为了满足全球物流信息需求,随时设计了共享功能。这在2003年引起了趋势,成为中国互联网趋势的第一轮暴风雨潮流。2003年,传感网络技术有着很大发展前景,占十大技术的榜首,在《技术评论》说道。除此之外,还会因此而改变人们的生活。2008年之后,各国政府一直在找一种新的经济点,使科技得到快速的发展同时也对下一代的技术规划非常重视,因此盯上了物联网。2008年11月,北京大学针对移动技术及物联网技术这一问题提出了看法,这就说明了新一代信息技术已经形成,也会使社会的经济及创新形态有了快速的提高,它将用户的经验作为知识社会的核心,并促进下一代创新的形成2.0。从用户体验以及以人为本的思想去操作,去创新去发展,同时还要注意以人为本的思维。美国总统在多年来的,第一次又黑人接任总统,那就是奥巴马,奥巴马上任之后就工商业的两位领导人进行了交流谈论。当时那个时候,新能源和物联网快速成长,迅速成为美国提高国内经济的焦点。如今,绝大部分的美国人都觉得“信息高速公路”跟“智慧地球”很接近,成为了他们用来提高经济及相互竞争的一种手段。这种手段到底能不能将其推到一个科技及经济的浪潮呢,就像互联网革命的浪潮一样,这个问题引起了所有人的关注。甚至超过了其他国家。实际上,互联网的代名词可以与“中国制造”相提并论,因为它的应用范围太广,超出了阿什顿教授和国际电联的报告的范围。1.3中国物联网的现状近年来我国不止在居民环境重视也一直对信息技术建设方面非常重视,科技技术能力也是一个国家综合国力的体现。我国在很早时候计划好信息技术建设,比如在国家“十一五”规划中,我国规划出具体的方案,在进行宽带无线通信网络作了相关的部署安排。物联网系统的重要组成部分由物联网传感网络、编码等。让智能物联网的发展进一步的提升,进行更深层次的改革。国家有关部门对物联网的推广在接下来的几个月里达到了更新的一个高度。哪里都可以看到它的存在。不过相关部门也发现了物联网技术的瓶颈。这个瓶颈就是物联网的关键技术制约物联网产业健康发展,特别是在安全技术领域。我国在“十二五”规划时,有关部门发出有关物联网的计划,计划中讲述着快速的完成并且有质量完成,让信息安全更有保障。在这次计划中特别的指出信息安全的重要性和高度重视信息安全的特殊任务。不管是物联网开发方面还是物联网技术深入学习和研究。努力创造一个并且去完善它。在“十二五”的基础上,我国在“十三五”对互联网说明了更加细致的方案。“十三五”说道,要积极落实互联网强国的战略。建设智慧城市,加强网络安全风险防控能力。加快脚步建设设计出新一代的高速、便捷、安全、无处不在的信息基础设施,完成互联网强国战略。物联网的系统刚开始建设的时候,物联网的规模限制了互联互通,导致了物联网基地只能单独运作,所以,信息安全的威胁也相对来说没有这么大。后来由于物联网的规模越来越大并且系统也逐渐增多,尤其是物联网的互联互通作用,还有就是因为数据处理时系统管理比较集中,由于这个原因让物联网的安全性慢慢的搬出水面,体会到物联网安全的重要性。后面更是因为雪崩效应的到来,让物联网的行业造成了不小的威胁,如果到时候再想做进一步的补救措施的话就来不及了。目前,国内外智能家电发展迅速,新概念和新技术不断涌现。可用多种设备种接入协议,目前使用最广泛、使用最普遍的是MQTT协议,有些物联网设备厂商也在MQTT协议上加入自己的加密权限,用最精简的协议转变成特有、独有的接入协议,高并发连接管理,可维持数十亿设备的长时间连接管理。通过引入现在成熟的AI技术,让身边的设备都能联网、上云。再过几年的时间,人与设备之间可以自由对话、交流、控制,设备与设备之间也能够对话并自动做出最优决策。1.4本文的主要设计章节内容这个项目主要设计一个家庭智能控制系的基于ESP8266智能家居控制系统。采无线网络通信技术,作为这次项目的数据转输枢纽,可实现各类传感器检测环境中的温度、湿度、二氧化碳,甲醛,TVOC,PM2.5,PM10、光照强度等数据,并实时上传至服务器中存贮以便后续的大数据分析。以下本项目章节内容主要概括。第一章研究物联网的背景意义,再对当前的物联网的背景进行了介绍,以及对物联网发展历史与趋势做了分析。第二章本章节介绍本次系统设计的设计方案,根据需求分析硬件与软件结合方面的具体设计与实现并给出总体的解决方案。第三章本章节介绍硬件方案选型与论证,STM32单片机、ESP8266、DC-DC、IC等元器件的方案进行一些方案选择和论证。第四章本章节主要介绍了本次选型使用的硬件内容,并根据选择的元器件进行电路设计介绍了实现的原理和功能。第五章本章节主要介绍使用的软件和程序功能的实现、流程图、部分代码展示。第六章主要对本次设计的作品所做的调试与测试内容进行展示与分析。主要是结合硬件部分和软件部分,验证是否达到本次设计的要求和目标。第七章对本次设计作品效果进行调试并针对本文做出总结,分享设计过程体会与感受。1.5本章小结本章介绍发展历史,论述了课题的背景和意义,了解当前物联网发展状况,并最终确定本次设计的主要思路,设计出能够达到低成本且高性能的物联网控制系统。2系统设计方案通过使stm32主控芯片采集传感器的环境数据、使用ESP8266无线网络传输数据,通过MQTT协议传输到云端服务器,云端对数据进行解析后保存到数据库中,登录后台系统后可以查看数据流;用户可在手机微信小程序上进行查看设备信息,以及控制。2.1系统设计分析本系统主要由以下5大部分组成。(1)电源控制系统电路。(2)环境数据传感器。(3)无线通信WIFI模组。(4)主控系统STM32最小核心系统。(5)继电器控制电路。(6)微信小程序控制。2.2系统设计要求(1)首次打开设备开关后需手动一键配网而后的即可自主完成网络连接、数据采集,上传至数据库保存(2)采集的传感器数据应有温度、湿度、二氧化碳,甲醛,TVOC,PM2.5,PM10、光照强度。(3)各路电源是否通电的状态实时更新到云端服务器。(4)可在后台系统查看设备实时数据流与反向控制设备。(5)在使用不同的无线网络,可以进行一键配网。(6)可在微信小程序端查看设备在线状态和实时数据采集到的数据与控制设备本项目设计的主要系统框架图如图2-1所示:图2-1主要系统框架图2.3整体系统功能模块设计本项目智能家居控制系统通过WIFI无线网络通信模块、传感器数据采集模块、电源管理模块。电源模块通过220伏的市电AC-DC转换得到5伏电压在通过3.3伏稳压芯片得到一个相对稳定的电压,供给WIFI网络通信模块和STM32单片机使用,WIFI模组通过MQTT方式与服务器连接。数据采集模块是通过STM32做主控芯片采用TTL与传感器连接采集数据并封包处理转输至WIFI无线网络通信模块。2.4本章小结这一章主要讲了这次课题项目的各个方面的需求分析,对它的整体设计思路以及框架进行说明,先了解课题的大致框架,在对整体设计系统模块功能进行逐一分析,让设计目标更加清晰明了,使研究方向更加的明确。可以增加对本课题的认识与熟悉,更加利于开展完成本次课题的各方面设计。3硬件系统方案的选择及确定作品的硬件系统主要由ESP8266模块、STM32单片机、八路继电器和传感器模块。首先由WIFI模块搜寻信号并通过MQTT协议与服务器建立长连接,由主控芯片STM32定时采集各项数据后进行编码封包按照协议传输到服务器中,服务器端程序收到上报数据并根据协议解析保存到数据库。3.1供电系统供电系统在整个项目中是非常重要的,我们可以比喻为整个设计项目的“地基”,作为项目的核心部分的其中之一,它的稳定性和技术指标对整个项目的效果起到很大作用,因为它可以直接决定了整个项目设计的好坏。供电系统作为电路中的能量来源,因此,好的供电系统往往为电路稳定提供基础和保障。为了方便各种环境下的安装使用,尽可能的降低安装运维成本,经过多方面考虑,并结合设计所需,最终确定采用的电源供电硬件方案为220V供电系统。方案(1):使用220V市电接入后通过集成开关电源模块输出的额定电压电流;开关电源采用工作的频率能远远高于工频的频率-高频变压器。现在开关电源基本的发展路线为向效率能快速、所花费用较少、体积实现小且重量轻。但同时也存在的比较大的缺点是纹波控制比较困难,而且对户外使用没有市电的情况下难以使用或者设备安装的基础设施成本远远大于其本身的效益。方案(2):设备接220V市电后由线性电源供电;因为线性电源中使用的变压器是在50HZ的工频下,工作时会产生大量的热量。如果热量很大,需要进行散热处理,安装巨大的散热片。这会导致设备重量增加,占用空间大,效率低。一般在没有市电的35%左右的环境下很难使用,或者设备安装的基础设施成本远远大于其自身的效益。但其输出纹波远低于开关电源,纹波可以做得很小,一般不超过5mV。方案(3):采用太阳能电池板方式供电;通过设计输入电压8V-20V直流电通过DC-DC变换在单片机控制下实现稳压恒流输出。当阳光充足时太阳能电池板给设备供电和蓄电池充电,当阳光不足时使用蓄电池给设备供电。缺点是如果使用的环境中长时间下雨或者阴天,无法提供足够的紫外线给太阳能电池板,则设备不能长期稳定的工作。对线性电源与开关电源、太阳能电池板的优缺点进行总结如下:(1)开关电源①效率高且体积小。比起变压器来说效果会更加有效,因为它只有电路板和器件。在它体积方面就会比较小,在重量上也会减轻。②外观小,但是纹波系数不小。由于在音频和视频环境中,它会因为电磁干扰而敏感,同时会在音频上会出现音色不厚的缺点,出现轻微的声响,在视频中图像可能有细微的动荡,会感觉呈现的图像不够细腻。③设计复杂,复杂的设计会导致不便的维护。因为非专家不可能进行维护,因此维护和维护的成本很高。(2)线性稳压电源线性稳压电源优缺点如下表3-1所示。表3-1线性稳压电源优缺点①纹波噪声干扰小。②成本比较低,经济实惠。③效率相对较低,先电生磁,再由磁生电,在转化过程中根据楞次定律和法拉第定律可知,转化中的能量会损耗是无法消除的。(3)太阳能电池板。①纹波噪声干扰适中。②可在多种环境下使用。③安装运维、成本低,工作低于安全电压36V,不会对人体造成伤害。④依赖于太阳光,长时间没有足够的光照可能导致设备无法正常运行。综上分析所述,本设计尽量降低设备安装运维成本、长时间工作,体积小,所以最后认为选择使用最终选用方案1比较合适。3.2WIFI无线通信模块WIFI网络模组是整个系统通信的核心部分,系统是否能够长期稳定的运行就要由它决定,如果通信模组出现故障将会导致整个系统的数据流无法上传云端,所以通信模块有着举足轻重的重要作用。方案(1):ESP8266模块目前较为主流的wifi无线网络通讯模块,安信可ESP8266-12S,具有SPIFLASH32bit,I/O口9个,低功耗方案(2):TG-12F/01M是一款基于平头哥TG7100CWiFi+BLE芯片开发的模组,使用与高性能类应用开发,支持SDTO/SPI/UART/I2C/IRremote/FWM/ADC/DAC/PIR/GPIO接口;采用SMD-22封装;集成Wi-FiMAC/BB/RF/PA/LNA;经过以上分析所述,根据实际本身有现货模块,所以本设计采用方案(1)作为网络通讯模块,因具有功耗低、稳定性高、应用广泛等特点。安信可ESP8266模块如图3-1所示。图3-1ESP8266无线模块图3.3数据采集处理主控芯片数据采集是比较重要的部分,他采集到的数据准确度将直接会影响系统的可靠性,所以高精度的数据采集与转输尤为重要。方案(1):使用传统的51芯片,操作比较简单,容易上手。拥有着经典的MSC-51内核。并且可以直接使用串口下载。但速度相对比较慢,处理大数据的时候可能因为RAM不足导致溢出,外部I/O口较少。方案(2):环境传感器数据采集主控芯片采用意法半导体的STM32F103C8T6芯片,工作频率高,内存大,片上资源非常丰富,可以降低信息系统的功耗。三个串行通信接口USART、内部分数速率生成器、通用可编程速率的传输和接收,数据字长度和可配置停止位高达40kb/s。12位一次接近ADC,将转换结果存储在相关日志中16位左右对齐的数据上。7路通用DMA支持可实现数据从管理系统存储到存储、从设备到存储以及从存储到设备的移动。经过以上综合的对比后采用方案2作为数据采集的主控芯片。因为他的内部存储空间大,运行速度快,功能丰富的内部资源,拥有大量的外设可供是直接使用,节省的设计开发成本。例如STM32F103C8T6单片机芯片下图3-2所示。图3-2STM32单片机芯片3.4系统电源模块电源的模块化设计,可以起到防潮和防震尺寸小,整体性能好、应用简单、可靠性高等。它体积小,安装方便。方案(1):海凌科HLK-5M05宽电压输入、全封闭外壳、有良好的输出短路和过载保护并可自恢复。方案(2):开放式开关电源,体积较大,功率大。经过以上综合的对比后采用方案1作为电源的输入。图3-3所示海凌科HLK-5M05电源模块。图3-3海凌科HLK-5M053.5控制电源继电器继电器,使用来通断电路的一种元件。方案(1):使用松乐双刀双掷继电器,可以同时切断和闭合零线和火线。方案(2):单刀双掷继电器,不可以同时切断和闭合零线和火线,如果继电器接的是零线,触电危险就会大大的增加。经过以上的对比分析,采用更为稳定、高效的方案(1)。图3-4所示双刀双掷继电器。图3-4松乐双刀双掷继电器3.6光照芯片的选择因为需要根据实际环境来判断光线强度,从而打开灯光。方案(1):环境光照强度传感器BH1750FVI是一种使用两线式串行总线接口方式(IIC接口),环境光照强度传感器BH1750FVI是数字型环境光照强度传感器集成电路。凭借其高分辨率,可以检测到大范围的光强变化。具有I2C总线接口,数据输出对应亮度的数字值,受红外线影响很小。方案(2):光敏电阻随着光照强度的升高,电阻值降低,可降低至1KΩ以下导效应。光敏电阻模块对环境光强最敏感,一般用来检测周围环境的亮度和光照前度。通过单片机的AD转换或AD芯片转换,即可以获得环境光照强度更精准的数值。经过以上分析后选择方案(1)的BH1750FVI作为本设计的环境光强度检测部分。如图所示3-5BH1750FVI芯片内部结构框架。表3-2芯片脚位说明图3-5BH1750FVI芯片内部结构框架脚位名称说明1VCCVCC供给电压3-5v2SCLSCLIIC总线时钟线3SDASDAIIC总线数据线4GND地5ADDRADDRIIC地址引脚表3-2芯片脚位说明3.7DC-DC稳压电路DC-DC是一种在直流电路中将一个高电压电能量变为低电压电能量的电能电压值转换芯片,利用微电子封装技术,在一个小的空间中设计制造集成电路和微型电子元器件组装成一体而构成。本系统工作电压为3.3V,因此需要将电能电压值进行变换。方案(1)AMS1117三端稳压器最大输出电流为1A,芯片工作时输入端电压与输出端电压差至少为1V。芯片的最小电压差可以保证其在不超过1.3V时能够输出最大电流,当负载电流减小时,输入电压与输出电压的压差可以相应的降低。方案(2)LM7805稳压芯片一般应用于线性电源的稳压电路,在需要大功率用电设备使用时需要按照足够大的散热器给集成稳压芯片降温,防止过热损坏。综合上面的分析,选用方案(1)AMS1117稳压芯片作为本设计的稳压电路部分。如图3-7所示稳压AMS1117芯片实物图。图3-6稳压AMS1117芯片实物图3.8本章小结这章章节主要介绍这项目设计的硬件部分,基本从供电方式、WiFi模块、数据采集主控芯片、控制单元等。对每个模块所采用的方案进行分析、选择,使之符合本次设计的理念和目标。4硬件实现和单元电路设计按照系统设计功能有市电输入系统模块设计、系统电源模块设计、控制驱动继电器放大设计、无线网络通讯模块与单片机复位电路设计、STM32单片机晶振电路设计、ESP8266无线网络模块设计、STM32单片机最小系统设计、传感器数据采集系统、RGB环型灯系统。4.1 市电输入系统设计模块由220V交流市电接入经过模块(开关电源)降压降至5V1A供给后级使用。AC-DC模块原理图电路如图4-1所示。图4-1AC-DC模块原理图电路4.2 系统电源设计系统电源由AC-DC模块输出端经两路AMS1117-3V3分别给模块与芯片、外设供电,AMS1117稳压器可以输出最大电流为1A,芯片工作时的电压差最低为1V,LED9为AC-DC输出端的指示状态,LED10、LED11分别是3.3V输出指示状态,图中电容C2、C6、C4作用是高频滤波、防干扰,C1、C3作用是低频滤波,储能。如图4-2所示系统电源原理图。图4-2系统电源原理图4.3控制驱动继电器放大电路当继电器部分需要工作时,RELAY为高电平时打开Q1三级管,三级管接入5V电源系统驱动继电器,同时LED指示灯亮。控制继电器放大如图4-3所示。图4-3控制继电器放大电路4.4无线网络通讯模块与单片机复位电路复位电路是由一个微动开始实现STM32单片机和ESP8266模块复位,单独分开控制,互不干扰。电路工作原理:主控STM32F103C8T6单片机与ESP8266均是低电平复位,所以两者电路一致,C2、C3电容作用是上电时使无线网络通讯模块与单片机上电复位和滤波作用。无线网络通讯模块与单片机复位电路如图4-4所示。图4-4无线网络通讯模块与单片机复位电路电路4.5ESP8266无线网路通讯模组ESP8266无线网络通讯模组,模组主频支持有80MHz和160MHz,内置所有I/O口上拉、内置稳压器和电源管理组件。如图4-6所示ESP8266模组与外设连接原理图。图4-5ESP8266模组与外设连接原理图4.5.1WS2812接口5050封装内部集成WS2812控制电路与WS2812RGB芯片,使用12个灯珠制作成了灯环形成一个完整的灯圆环控制。控制颜色、亮度。内置上电复位电路和断电复位电路。WS2812使用一根线通讯,WS2812与WS2812之间组成串行级联接口可以通过一条信号线发送接收和解码数据。WS2812任何两点传输数据的传输距离小于3m时,都不需要额外增加任何电路。下图4-6WS22812接口电路原理图。图4-6WS22812接口电路原理图4.5.2网络状态指示灯网络状态指示灯引脚主要用于驱动网络状态指示灯,用于提示用户设备在线状态以及发送和接收数据显示状态。ESP8266模块网络状态引脚电路如下表4-1所示。如下图4-7描述了不同网络状态下指示灯逻辑LED3表示模块电源指示灯,LED1表示串口数据指示灯,LED2表示网络指示灯图4-7网络状态指示灯原理图表4-1不同网络状态下指示灯逻辑引脚电平模块状态指示灯显示慢闪(300ms高/800ms低)配网状态指示灯显示快闪(200ms高/200ms低)数据传输状态4.5.3板层数据接口板层数据接口主要有上层主控板与下层执行板和电源组成。如下图4-8板层数据接口部分电路原理图所示。图4-8板层数据接口部分电路原理图4.6 STM32F103C8T6单片机系统外设采用STM32F103C8T6单片机作为采集数据和处理数据的主控芯片,I/O口丰富,工作频率高,内存大,片上资源非常丰富,可以降低信息系统的功耗。三个串行通信接口USART、内部分数速率生成器、通用可编程速率的传输和接收,数据字长度和可配置停止位高达40kb/s。4.5.1单片机外设电路如图4-12所示路由模块与外设连接原理图图4-10路由模块与外设连接原理图4.5.2晶振电路如下图4-13所示,晶振电路,给STM32单片机提供稳定的频率。图4-11晶振电路原理图4.7环境传感器数据的采集传感器数据的采集是通过STM32的串口接口与传感器相连接进行数据传输,将采集到的数据通过串口总线发送到STM32单片机做数据处理。4.6.1串口3接口如图4-9所示串口3接口电路。图4-9串口3接口原理图电路4.6.2七合一环境空气质量传感器TW70ST7合1环境空气质量传感器模块是一个数字串行数据输出传感器模块。采用RS485数据总线和通用UART异步收发器串行TTL电平同时输出数据,集成了CO2、甲醛、TVOC、PM2.5、PM10、温湿度。七合一空气质量传感器如图4-10所示。图4-10七合一空气质量传感器4.6.2环境光照强度传感器环境光照强度传感器BH1750FVI是一种使用两线式串行总线接口方式(IIC接口)的数字型环境光照强度传感器集成电路。凭借其高分辨率,可以检测到大范围的光强变化。具有I2C总线接口,数据输出对应亮度的数字值,受红外线影响很小。环境光照传感器如图4-11所示。图4-11环境光照传感器5软件系统设计软件部分主要分为ESP8266配网过程、继电器控制方式、传感器数据采集与上传、云服务器端、数据库端、微信小程序端。5.1ESP8266配网过程ESP8266模块启动完成后需要首次配网连接无线网络,等待连接完成。如图5-1所示SmartConfig一键配网的过程。图5-1SmartConfig一键配网的过程智能硬件配网采用SmartConfig模式。设备需要手动进入配网模式,在广播中获取SSID和PASS,进行连接路由器,而且有些路由器不支持;优点显而易见,一键完成。将设备配置为无需与其他设备建立任何通信链接即可访问WIFI网络(支持smartConfig技术)通过移动终端和设备终端共享一套编码表,可以分析TCP/IPv4协议栈中网络层和传输层的数据结构。明文长度=20+8+dataLen密文长度=20+8+dataLen+算法常量。5.1.1ESP8266配网函数移植在main.c中插入一下代码voidTaskSmartConfigAirKiss2Net(void*parm){ EventBits_tuxBits; //判别是否自动连接 boolisAutoConnect=routerStartConnect(); //是的,则不进去配网模式,已连接路由器 if(isAutoConnect){ ESP_LOGI(TAG,"Nextconnecttingrouter."); vTaskDelete(NULL); } //否,进去配网模式 else{ GPIO_Low(LED); ESP_LOGI(TAG,"intosmartconfigmode"); ESP_ERROR_CHECK(esp_smartconfig_set_type(SC_TYPE_ESPTOUCH_AIRKISS));ESP_ERROR_CHECK(esp_smartconfig_start(sc_callback)); } //阻塞等待配网完成结果 while(1){ uxBits=xEventGroupWaitBits(wifi_event_group,CONNECTED_BIT|ESPTOUCH_DONE_BIT|AIRKISS_DONE_BIT,true,false,portMAX_DELAY); //微信公众号配网完成 if(uxBits&AIRKISS_DONE_BIT){ ESP_LOGI(TAG,"smartconfigover,startfinddevice"); esp_smartconfig_stop(); //把设备信息通知到微信公众号 if(handleLlocalFind==NULL){ xTaskCreate(TaskCreatSocket,"TaskCreatSocket",1024*2,NULL,6,&handleLlocalFind); ESP_LOGI(TAG,"getAirkissVersion%s",airkiss_version()); vTaskDelete(NULL); } //smartconfig配网完成 if(uxBits&ESPTOUCH_DONE_BIT){ ESP_LOGI(TAG,"smartconfigover,butdon'tfinddevicebyairkiss..."); esp_smartconfig_stop(); GPIO_High(LED); vTaskDelete(NULL); } }}最后执行makeflashESPPORT=COM5编译下载,编译完成将固件烧写进入FLASH中,重新启动后ESP8266移植完成。5.1.2ESP8266WS2812驱动移植将ws2812_driver.cpp文件添加到componets文件中,在main.c直接可以使用ws2812驱动。5.2控制继电器模块控制继电器模块的作用是控制用电器的通断。5.2.1控制方式继电器需要5V供电,单片机是3.3V系统,所以需要经过三极管来放大控制,而单片机需要用I/O口做推挽输出。以下插入初始化代码。voidRelay_Init(){ GPIO_InitTypeDefGPIO_InitStructure; //使能GPIOA端口时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7| GPIO_Pin_8|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO口速度为50MHz GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO_ResetBits(GPIOA,GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7| GPIO_Pin_8|GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_15);//输出高电平}5.2.2单独控制方式实现 采用八路按键分别对八路继电器做相应动作,短按继电器闭合,长按继电器断开。如图5-2所示按键检测驱动函数。voidKeyDriver(void){inti;staticu8backup[8]={1,1,1,1,1,1,1,1};//按键值备份,保存前一次的值staticu16TimeThr[8]={1000,1000,1000,1000,1000,1000,1000,1000};for(i=0;i<8;i++){//循环检测按键if(backup[i]!=KeySta[i]){//检测按键状态变化if(backup[i]!=0){//按键按下时执行动作KeyAction(i+1);//调用按键动作函数}backup[i]=KeySta[i];//更新前一次的备份值}if(KeyDownTime[i]>0){if(KeyDownTime[i]>=TimeThr[i]){KeyAction(i+11);TimeThr[i]+=200;}}else{TimeThr[i]=1000;}}}图5-4按键驱动函数5.3环境传感器数据采集5.3.1七合一环境传感器模块七合一环境传感器模块与主控的连接方式主要是通过串口TTL连接,主机通过轮询的方式读取传感器的数据。如图5-5所示七合一环境传感器模块数据采集流程图。STM32启动STM32启动初始化串口轮询传感器等待响应处理传感器数据未收到响应收到响应图5-5七合一环境传感器模块数据采集流程图环境传感器数据采集模块采集完成数据后,定时一段时间后将数据按设定好的格式打包,通过串口发送到ESP8266-12S模块,再通过WIFI无线网络传输到云服务器中的数据库上,图5-9所示定时将数据上传服务器。STM32启动完成STM32启动完成初始化串口打包数据上传服务器延时等待发送到E发送到ESP8266 图5-9定时将数据上传服务器5.3.2环境光照强度芯片环境光照强度传感器BH1750FVI是一种使用两线式串行总线接口方式(IIC接口),环境光照强度传感器BH1750FVI是数字型环境光照强度传感器集成电路。凭借其高分辨率,可以检测到大范围的光强变化。具有I2C总线接口,数据输出对应亮度的数字值,受红外线影响很小。STM32启动完成STM32启动完成初始化BH1750FVI打包数据上传服务器延时等待发送到ESP8266发送到ESP8266 图5-10BH1750FVI采集环境光照传感器5.4云服务器端云端服务器操作系统使用的是CentOS7.364位操作系统,系统环境Nginx+EMQ+NoedRed+MYSQL。在服务器中输入配置EMQ启动代码。如图5-10所示服务器EMQ启动代码。图5-10服务器EMQ启动代码5.4.1后台系统基本框架后台系统上传数据部分,由设备端Graduation_device_OUT主题和微信小程序Graduation_wx_OUT主题解析数据并上报到数据库,如图5-11上报数据框架所示。图5-11上报数据框架后台系统获取数据库数据框架,有服务点的心跳时间5秒进行SQL数据库查询,一次性获取所有,如图5-12获取数据库数据框架所示。图5-12获取数据库数据框架5.4.2服务端工作流程如图5-14所示服务端启动服务端启动完成等待设备上报数据解析数据并保存响应数据库中的字段向设备端应答向设备端应答向设备端应答向设备端应答图5-14服务端工作流程5.5手机微信小程序端为了方便查看设备的数据与动态,打开微信小程序即可查看设备的信息以及环境数据和控制设备。5.5.1微信小程序界面图5-15设备数据信息图5-16WS2812全彩灯图5-17八路开关按钮5.5.2微信小程序接收json数据图5-18接收数据5.5.3微信小程序订阅服务器主题代码图5-19订阅部分代码5.5.4微信小程序发布信息代码图5-20发布信息部分代码5.6本章小结本章内容主要软件设计部分,包括各个部分的设计流程思路,后台系统界面的展示、小程序功能演示。6系统调试与测试6.1硬件测试效果STM32主控采集电路板PCB,实物图。如图6-1所示。图6-1主控采集电路板电源和电源控制电路板PCB,实物图如图6-2所示。图6-2电源控制电路板6.2软件测试效果软件测试是检验硬件及整个系统是否正常工作的标准,在软件中主要是后台服务器接收MQTT协议数据并解析将其存入数据库中,打开微信小程序后,服务器定时从数据库中拉取信息发送给小程序并渲染至前端的过程。控制设备,服务器将前端数据通过MQTT协议发布到对应设备节点上,达到其控制目的。以下是测试过程及结果:测试所用平台及软件:(1)操作系统:Windows10(2)开发环境:keil5(3)Websocket服务器后台打印日志如图6-3所示图6-3服务器后台日志SQL数据库数据如图6-4所示。图6-4SQL数据库数据6.3本章小结本章主要是对软件和硬件的结合调试效果展示,及调试过程中的数据说明。7总结本项目完成各个软硬件的单元模块调试后,再进行结合系统整体联调,系统联调主要是将各个分模块的软硬件或者分系统进行关联,验证当各个分系统组合在一起时是否还能达到预期的工作,以及各个设计指标是否都达到了设计的指标。首先是分析系统设计,硬件使用什么,软件做什么在这个设计项目中,设计了基于ESP8266的智能家居系统。适应不同环境,独立完成一键配网网络连接、环境数据采集、继电器控制方案,并根据当前采集的数据。当整个系统联调时,各个子模块能互不干扰的独立工作这表示设计的正确性。若中间出现了问题,这应该定位问题出现的原因,找到问题的出处,然后对症下药进行解决。一般联调时出现问题后处理办法是,将出现问题的模块单独独立出来进行调试观察是否是因为加入系统后导致的,是否是由于其他模块的影响导致的,最后综合评估在不影响系统功能的基础上给出合理的解决方案。在设计过程中,遇到了很多问题,如信号采集、信号处理、传感器问题等。以及小程序的设计。使整个项目功能多元化,人性化的效果更加明显。虽然这个过程中有很多困难,出现了很多问题,但是在老师和同学的帮助下,接下来是可以解决的。参考文献[1]任远林,徐奇.基于嵌入式单片机的智能家居远程控制系统设计[J].新乡学院学报,2021,38(03):72-76.[2]张津瑜.智能家居控制系统设计和应用[J].自动化技术与应用,2021,40(03):141-143+165.[3]程翔,许正荣,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大规模的海水运动 洋流(一)(教学设计)
- 企业HR招聘流程与面试评估标准操作手册
- 项目合作合同签订通知(8篇)
- 缅怀先人小学主题班会课件弘扬传统文化
- 2026重庆两江新区云尚小学校招聘教师备考题库含完整答案详解(典优)
- 2026四川成都市植物园考核招聘7人备考题库附参考答案详解(研优卷)
- 小学六年级英语上册 Unit 2 Around the World(Lesson 1112)融汇贯通教学设计
- 2024年上海实验学校高二(下)3月考语文试卷含解析
- 小学英语六年级上册Unit 3 Part A Let‘s try Let’s talk 教案
- 初中化学中考一轮复习专题教案:基础实验操作的系统重构与创新应用
- 2026年二级建造师之二建建筑工程实务考试题库500道及完整答案【必刷】
- 2026年书记员考试题库100道(历年真题)
- 人工智能深度学习入门
- 医疗机构运营管理经验分享
- 盘扣打包工人合同协议
- 2025云南临沧高新技术产业开发区管理委员会公益性岗位招聘4人考试笔试备考试题及答案解析
- 2025《中级消防设施操作员》职业能力考评500题(标准答案)
- 水工建构筑物维护检修工岗前操作技能考核试卷含答案
- 券商签sac协议书
- 【MOOC】《国际商务》(暨南大学)期末考试慕课答案
- YY/T 0764-2025眼科仪器视觉敏锐度测量用投影和电子视力表
评论
0/150
提交评论