毕业设计项目分享-基于STM32的云平台楼宇安防与光伏并网系统设计
本文设计了一种基于STM32的智慧楼宇管理系统,集成火灾监测、身份识别、节能照明及太阳能逆变并网功能。系统采用MQ-2烟雾和HY-01火焰传感器检测火情,红外传感器实现照明控制;结合RFID、指纹和人脸识别确保出入安全;利用晶闸管逆变技术将太阳能发电并网,HLW8032模块监测电能。通过ESP8266连接物联网平台实现远程监控和微信报警,AIR780E 4G模块提供通信冗余。测试显示,系统火警响应
前言:关于我的毕业论文要不要开源的问题,我想了好久好久好久,有很多人说,毕业论文是自己的作品,毕竟这是一种证明。也有人说毕业了论文没有用了,可以开源。最后因为某些原因,我还是决定发出来,供大家参考学习,好项目不能一个人使用。如果有内容问题,敬请谅解,一个人在六个月内做这么大的项目压力山大,已经尽力了
独 创 性 声 明
基于STM32的云平台楼宇安防与光伏并网系统设计 版权©:宋楠,未经允许,禁止转载 电话:2006.5.19屏蔽了不让发.
免责声明:禁止使用论文和作品直接参加竞赛,或者套用作毕业设计,由此造成的版权和纠纷问题,作者概不负责。同时,该作品存放在辽宁科技大学数据库中,因为查重或者检索的问题造成的标红,作者概不负责。该论文仅供参考,因为套用或使用的问题造成的一切版权问题,作者概不负责。
免责声明:禁止使用论文和作品直接参加竞赛,或者套用作毕业设计,由此造成的版权和纠纷问题,作者概不负责。同时,该作品存放在辽宁科技大学数据库中,因为查重或者检索的问题造成的标红,作者概不负责。该论文仅供参考,因为套用或使用的问题造成的一切版权问题,作者概不负责。
免责声明:禁止使用论文和作品直接参加竞赛,或者套用作毕业设计,由此造成的版权和纠纷问题,作者概不负责。同时,该作品存放在辽宁科技大学数据库中,因为查重或者检索的问题造成的标红,作者概不负责。该论文仅供参考,因为套用或使用的问题造成的一切版权问题,作者概不负责。
毕设题目:基于STM32的云平台楼宇安防与光伏并网系统设计
毕设内容:行人检测,火警检测,灭火操作,太阳能并网,人脸识别,指纹识别,刷卡识别,云平台控制
云端内容:心知天气、点灯科技、企业微信、巴法云
人脸识别设备:RDK X5和RaspberryPI 5B/4B
作者:宋楠(周哈飞)
电话:2006.5.19屏蔽了不让发
出生年月:2003年
就读学校,专业:辽宁科技大学,电气工程及其自动化
第二作者:李思雨(有权使用所有毕设内容,并且拥有全部权限)
出生年月:2004年
就读学校,专业:辽宁科技大学,自动化
本作品其中关于逆变并网部分是由李思雨参与制作。
其他:本项目的人脸识别部分由辽宁科技大学研电信余胤翔指导制作(有权使用该部分内容)。
毕业设计(论文)版权使用授权书
声明,辽宁科技大学电信学院自动化221李思雨、辽宁科技大学电子221王菲、辽宁科技大学电信学院测控232董佳琪、辽宁科技大学电子231李莹有权使用该作品进行改良,并使用作品进行二创,竞赛和其他创作。本文也已授权辽宁科技大学电子222郭威对其进行二创和改良。作者宋楠对此保留全部解释权和所有版权,也对滥用该作品保留追究责任的权力,包括但不限于对于侵权者的律师函,向有关竞赛官方举报作品剽窃等。因为版权问题引起纠纷造成损失,作者不承担任何责任。
基于STM32的云平台楼宇安防与光伏并网系统设计
摘 要
随着城市化进程加速,高层建筑数量激增,消防安全与能源管理问题日益突出。本文设计并实现了一种基于STM32的智慧楼宇综合管理系统,集成火灾监测、人员身份识别、节能照明及太阳能逆变并网等功能,旨在提升楼宇安全性、能效与管理智能化水平。
系统采用多传感器融合技术,通过MQ-2烟雾传感器与HY-01火焰传感器协同检测火情,并通过红外热释电传感器实现人员活动感知与自动照明控制;利用RFID、指纹识别及RDK-X5人脸识别模块构建多重身份验证机制,确保楼宇出入安全;还采用晶闸管有源逆变技术,将楼顶太阳能板发电并网,辅以HLW8032电能监测模块实现闭环调控和电能计算。系统还通过ESP8266物联网模块与点灯科技、巴法云平台对接,可以实现火灾实时报警、远程状态监控及微信推送功能,并采用AIR780E 4G模块作为通信冗余,增强系统的可靠性。
测试结果表明,系统火灾检测响应时间小于5秒,人员识别准确率超过90%,太阳能逆变效率达40%,且在市电断开时可自动切换备用电源。本系统为现代楼宇提供了安全、节能、智能的一体化解决方案,具有较高的实用价值与推广潜力,为智慧城市建筑管理提供了新思路。
关键词:消防安全,物联网,云端,逆变并网
Design of Cloud Platform Building Security and Photovoltaic Grid-connected System Based on STM32
Abstract
With the acceleration of urbanization, the number of high-rise buildings has soared, and the problems of fire safety and energy management have become increasingly prominent. This paper designs and implements a smart building integrated management system based on STM32, which integrates fire monitoring, personnel identification, energy-saving lighting and solar inverter grid-connected functions, aiming to improve building safety, energy efficiency and management intelligence.
The system uses multi-sensor fusion technology to detect fire through MQ-2 smoke sensor and HY-01 flame sensor, and realizes personnel activity perception and automatic lighting control through infrared pyroelectric sensor. Using RFID, fingerprint recognition and RDK-X5 face recognition module to build a multi-identity authentication mechanism to ensure the safety of building access. Thyristor active inverter technology is also used to connect the roof solar panel power generation to the grid, supplemented by HLW8032 power monitoring module to achieve closed-loop control and power calculation. Through the ESP8266 Internet of Things module, the system is docked with the lighting technology and Bafayun platform, which can realize real-time fire alarm, remote state monitoring and WeChat push function. The AIR780E 4G module is used as communication redundancy to enhance the reliability of the system.
The test results show that the system fire detection response time is less than 5 seconds, the personnel identification accuracy is more than 90 %, the solar inverter efficiency is 40 %, and the standby power supply can be automatically switched when the main power is disconnected. This system provides a safe, energy-saving and intelligent integrated solution for modern buildings. It has high practical value and promotion potential, and provides a new idea for smart city building management.
Key Words: Fire safety, Internet of Things, Cloud, Inverter grid-connected
1 绪论
1.1 引言
我国城市化进程加剧,截至2024年,中国的城市化率达到约66.16%左右。在这股浪潮中,各类写字楼、百货大厦、超高层建筑如雨后春笋般涌现,随之而来的安全问题,尤其是消防安全更是首要的问题之一。
目前,我国主要依赖化石燃料,尤其是煤炭,来满足电力需求。在发达的南方地区,夏季制冷用电量巨大,给电网带来了沉重负担。与此同时,大片闲置的楼顶区域不仅造成了太阳能的浪费,还加剧了城市热岛效应。
本系统旨在设计一个环保、节能且安全的数字化楼宇系统。实现全自动化的出入人员身份检测、楼宇内火灾报警、太阳能逆变等功能,为现代城市建筑注入智慧与绿色的新活力。
1.2 课题研究的背景及意义
现代楼宇存在的问题主要是房间数量多,走廊通道长,火灾问题隐蔽,很难依靠人工巡楼发现。而超高层建筑又因为楼层过高,消防人员难以第一时间到达,对火场内的情况缺乏了解,这无疑增加了救援的难度和风险[1]。传统的防火系统一般采用单一的离子式烟雾传感器,在有人吸烟或工作过程中使用焊烙铁造成烟尘较大的情况,容易造成误报警,而当浓度过低时又无法进行有效检测。大大降低了系统的可靠性和有效性。同时,现代楼宇内人口密集,人员流动频繁,对于上下班和进出楼宇的人员难以进行有效监管,也容易造成安全隐患。
因此,开发一种能够监控楼宇安防状态的智能系统就尤为重要。这样的系统不仅可以实时监测楼宇内的火灾隐患,减少误报和漏报现象,还可以对人员流动进行有效监管,及时发现并处理安全隐患。此外,它能实时与消防部门实现联动,一旦发生火灾,可以迅速提供准确的火场信息,为消防人员制定救援方案提供有力支持。
1.3 国内外研究现状
我国最新发布的国家标准GB 17945-202X对消防系统结构、设备功能进行了改进和完善,但绝大多数写字楼仍采用传统的报警-判断-逃生模式,依赖单一烟感探头探测火灾,通过人工到达现场判断火灾发展,然后通过喊话、电话等方式通知并疏散人群,这种模式通知速度慢,容易造成火势大范围蔓延。同时,采用离子式烟雾传感器对大颗粒烟雾反应较慢,且许多楼宇并未安装自动消防装置,需要依赖消防人员手动开启。仅有少数重要企业和数据中心配备的应急供电和备用电源装置。
传统的楼宇建筑过程中,也建立了室内监控系统,发挥了一定的作用。但是,大多数的监控设备都集中在室内,并且需要有人巡视[2]。现代城市高层建筑林立,人口密集,一旦发生火灾,疏散难度大,现有消防系统难以完全满足快速,安全疏散的需求,急需更加智能化的消防系统和应急预案。利用物联网、大数据等技术,实现早期预警、快速响应和智能疏散,最大程度保障人民生命财产安全。
国外对于智能化消防应急疏散系统的研究很早。目前的资料认为,1942年瑞士希伯勒斯公司,率先使用火灾报警器是最早接触智能消防安全和应急系统的公司。后续,日本也对疏散指示灯做了具体的规定,美国引入了模型来搭建建筑模拟人员疏散并计算最短疏散时间[3]。
欧盟的ISO/TC90标准是明确的消防标准,涵盖了系统的设计、安装、测试和维护等方面。为确保系统的有效性提供了强有力的保障。
近几年,国内外的消防都得到了快速的发展,将研究的重点集中在物联网,传感器,机器识别等技术上,逐渐向智能化,高效化发展。
国内的人脸识别门禁行业发展迅猛,但大多以中小型企业为主,产品良莠不齐。而且由于缺乏强制性的标准,导致市场十分混乱[4]。很多价格低的门禁设备采集失败率高,识别精准防假体攻击的设备价格较高,大多被应用在地铁站等场所,用于监测行人和寻找违法人员,在前几年疫情期间还被用在公共场所智能测温等方面。在这方面制作的比较好的是海康威视、阿里平台等。辽宁科技大学和沈阳农业大学均采用的海康威视公司的人脸门禁系统,目前效果较好,在疫情期间还实现了测温,但当学生戴上帽子或光线较强时仍然会出现验证失败的情况。
国外人脸技术发展较早,被应用于机场海关和支付方面[5],但同样也有识别准确率低等问题,并且由于国外监管法律不全面,还会出现人脸信息泄露滥用的问题。在这方面做的较好的是苹果的Face ID,它采用的是3D识别,使用激光扫描面部和眼睛,被应用于iPhone手机和iPad。
太阳能在全世界范围内都被认为是一种最理想的绿色能源,特别是太阳能在发电方面有很大的优势。它具有可再生,无污染等优点,是未来新兴产业的重要组成[6]。国内光伏发电并网发展迅速,尤其是西部地区太阳能资源丰富,推广分散光伏发电,不仅可以解决能源短缺的问题,还能促进经济社会发展。例如,在我国甘肃等光照丰富的地区,许多家庭已经在屋顶和院内安装光伏并网系统,不仅能满足自身的用电需求,还能将多余的电输送到电网,获得额外的经济效益。该系统主要由太阳能电池板,蓄电池,逆变器等部分组成。目前现在常用的并网逆变器都是采用MOSFET等全控器件,它需要在控制算法上实现电网电压同步锁相和锁频率等。在离网运转时,也采用可控硅有源逆变,例如在某些电力机车上,由于车轮电机是阻感性负载,常使三相桥式全控整流电路工作在逆变状态实现反接制动回馈电网[7]。除了太阳能光伏板发电之外,还有塔式太阳能发电,它是通过将太阳光反射到加热塔顶部,利用集中的热能烧开水,推动汽轮机旋转实现发电,冶炼等。在中国光伏发电并网前景广阔,不断推动着新能源产业的健康发展。
国外光伏并网的应用场景也非常的多。例如,沙特阿拉伯地区由于常年气候干旱,他们采用在住宅建筑中集成并网太阳能光伏来减轻电网的压力 尤其是在夏季用电高峰时,可以大大减少电网的能源消耗[8]。
美国是全球第二大太阳能市场,它的晶体硅薄膜太阳能电池等技术在世界上遥遥领先,但是他们的太阳能市场大多数都是用于公益性的事业、商业等,但是各个州的发展情况都不同。
澳大利亚政府在太阳能方面制定了目标,并且提供了补贴和支持,同时,积极推广储能系统,以解决太阳能发电的间歇性问题。
1.4 本文的主要研究内容和论文结构安排
第一章主要讲述了选题背景和课题的意义,对比了新型的云平台安防系统的优势,以及国内外关于楼宇安防、人脸门禁、太阳能发电等方面的现状。
第二章主要描述了系统的总体方案和功能,以及部分方案的选择。
第三章主要介绍了硬件电路,描述了各个模块和各部分的硬件电路设计。
第四章主要介绍了软件的编写和程序的逻辑。
第五章介绍了实物的调试和整体系统的测试,以及最终的实现效果。
2 系统总体设计方案
2.1 系统总体设计
该系统由STM32F103VCT6单片机电路、HC-SR505红外热释电传感器电路、MQ2烟雾传感器电路、HY-01火焰传感器电路、OLED屏幕显示电路、指纹、刷卡、摄像头人脸识别电路、ESP8266物联网电路等一系列电路组成。
系统可以将烟雾火焰信息发送给主控STM32F103VCT6进行处理,并在OLED显示屏上显示出来。如果烟雾和火焰传感器同时感应到信号,系统会判断已经发生火灾,此时系统会发命令给水泵,并开启对应区域的电磁阀,启动喷水灭火。此外,该系统还能够准确的感知行人的移动。白天(6-18时)楼内灯光会自动关闭,晚上(18-次日6时)当有人经过时,红外热释电传感器会自动感应,开启灯光,为行人提供照明。当行人离开后,灯光则会自动熄灭,从而实现节能效果。当开启入侵功能后,CAM摄像头会自动打开,进入移动侦测功能,检测到画面有物品移动即会抓拍,并闪烁灯光警报。温湿度传感器也会检测室内外温湿度,并根据云端设定温度自动调节空调设备。
系统还会通过Wi-Fi和以太网将异常信息发送到云平台,该系统还与企业微信平台对接,一旦检测到火灾,会立即通过公众号平台和企业微信通知楼宇管理人员和楼内的办公人员。确保他们能够迅速采取应对措施,逃生以确保安全。CAM摄像头也会辅助拍摄火灾现场的图片和视频,为楼外消防人员给予救援参考。4G模块也会作为冗余措施,当楼宇内的Wi-Fi和互联网断开时可以将火灾的信息发送到楼宇管理员的手中。
楼宇人员出入复杂,该系统还具有人脸识别身份认证和指纹认证功能。这部分由RDK-X5开发板和STM32F103C8T6做冗余备份,一般情况下用户可以方便的使用人脸识别来进行身份认证,HMI显示屏上会实时显示摄像头画面。当有人出现在人脸摄像头前时,会自动识别身份并执行开关门操作和播报检测结果。系统还有指纹冗余验证,当人脸光线过强或X5死机的情况,可以使用指纹识别来实现身份认证等功能。进一步增强了稳定性。系统还可以实现添加删除指纹和录入人脸功能,当系统识别到管理员ID卡,此时解锁管理员模式,可以进行指纹的录入和删除。在电脑端也可以实现人脸图片的添加。
该系统还具有太阳能光伏储能逆变并网功能,可以在白天实现发电并网,针对太阳光不稳定的情况,设计了闭环调节,系统会根据太阳能板的电压自动调节发电功率。并计算发电量,并在云端显示出来。
2.2 系统方案选择
完成系统总体功能分析后,对系统的整体功能实现方案进行设计。系统使用STM32单片机作为主控芯片,温湿度传感器可以获取室内的温湿度并根据设定值开关制冷设备,火焰传感器可以检测每个区域的火警值,烟雾传感器可以检测室内浓烟的含量,红外热释电传感器可以检测是否有人经过并执行开灯指令,ESP-CAM摄像头可以实时监视楼内情况并将视频发到手机端。这些数据也将实时显示在显示屏上。刷卡、指纹、人脸识别模块可以对进入楼宇的人员进行身份认证。RS485通讯模块也可以连接太阳能发电设备,将发电量和工作状态实时回传到单片机。同时,将这些数据通过无线传输发送到云端平台,ESP8266物联网模块也可以获取实时的时钟和天气预报。据此分析系统的整体设计方案如图2.1所示。

图2.1 系统框图
2.2.1 主控(CPU)的选择
目前市面上单片机的生产厂家有很多,例如国内的STC宏晶科技的STC89XX和STC15系列单片机,沁恒的CH32XX系列的单片机。国外英飞凌公司生产的TC2XX系列单片机,ST意法半导体公司生产的STM32单片机,TI德州仪器生产的TI-MSPXX系列的单片机。据此分析如下:
STC系列的单片机成本低,易于学习,一些型号内置驱动和ADC对外部组件要求少。但相较于高性能的单片机处理能力和内存资源有限,并且在极端环境下不如工业级单片机稳定
CH32系列单片机提供较高的性能和丰富的外设,并且内核基于ARM,能效控制好。一些CH32V系列的单片机还包含USB,CAN和以太网等高级通讯接口。缺点是沁恒系列市场份额小,社区支持少,开发较为困难。
英飞凌系列的单片机大多适用于汽车和工业领域,稳定性和可靠性强,处理能力强大。但正因为强大价格较高,而且开发需要专业的知识和开发工具,难度很大
STM32系列单片机性价比和功能高,拥有强大的开发工具支持,能耗成本较低,外设也很丰富。但有时在市场紧张时容易出现断货的情况。
TI系列单片机功耗低,稳定性强,外设丰富,但相对于STM32完善的生态系统,TI的生态较差,编写程序较为困难。
本系统只需要检测数字量信号的高低电平,并且对对应的信号进行输出,同时也需要进行多路串口通讯、I2C通讯等,需要对单片机的性能有要求。所以主控选择了STM32F103VCT6芯片。
2.2.2 显示模块选择
在显示方面,目前市面上有如下几种显示方式:使用LCD1602,使用OLED,使用LCD12864。
1、LCD1602
优点:具有16字符2行的显示容量,工艺成熟,而且内部自带字库,无需取模和创建字库。同时自带背光以适应不同光照条件。
缺点:采用并行接口通讯,连线较多,观看视角较窄,只能显示英文和数字,局限性大。
2、OLED
优点:采用IIC或SPI通讯,连线少,具有128×64像素显示,可以显示汉字数字英文,16×16范围及以上汉字均可显示。
缺点:必须有驱动信号才能工作,而且需要创建私有字库。
3、LCD12864
优点:屏幕大显示清晰,具有128x64像素显示,可以显示汉字数字英文。带有背光。
缺点:同样采用并行接口,连线多,电路复杂,而且同OLED都需要创建字库。
综合考虑,本系统采用0.96 OLED作为显示模块
2.2.3 温湿度检测模块的选择
对于温度检测,常用的目前有三种方案:数字模块采集,ADC采集,热电偶采集。对此分析如下:
1、数字模块采集
优点:使用方便,通过调用IO口即可驱动。典型的数字模块有DS18B20和DHT11,利用单总线即可运行。DHT11可以测量空气的温度和湿度,DS18B20可以测量液体固体的温度。
缺点:依赖精准的时序和单总线协议,其中,DHT11时序要求严格,总线时间出现误差即会罢工,对定时器要求很高。
2、ADC模拟量采集
优点:采集连续精准度较高
缺点:一部分单片机并不带有ADC功能,需要依赖外部芯片驱动,使用较为复杂。而且受限于ADC精度,转换比较麻烦。
3、热电偶采集
优点:可以测量较高温度
缺点:需要运算放大器作为外围电路,并且仍然需要依赖ADC进行数据读取。
综合决定,本系统采用数字芯片DHT11作为温湿度采集器。
2.2.4 云平台及APP选择
提供云平台服务的厂家有很多,例如:华为云、阿里云、巴法云、点灯科技和自己搭建网页平台等。
1、华为云稳定可靠,安全性高,覆盖广,成本低。但是需要一定技术门槛,对个人用户开发难度较高。
2、阿里云稳定性好,访问速度快,扩展强,安全性高。但操作界面复杂,并且对于小型企业或个人来说价格偏高。
3、巴法云采用最新的硬件和优化软件配置,性能强大,可靠性高[9],并且还可以根据实际需求增加减少服务器,还可以实现低功耗运转。缺点是有关配套资料较少,入手难度较高。
4、点灯科技支持快速接入,同时支持各种硬件开发,免费版赠送1个设备额度,专业版提供实时数据反馈和更多的设备支持。拥有37个功能模块,可以应对各种物联网项目需求,适合新手上手。缺点是使用人数多,高峰期服务器有时会宕机,数据反馈较慢。
5、局域网网页搭建,可以根据自己的需求定做网页界面。但是功能较少,扩展性差,并且只能使用局域网,通讯局限性大。
6、其他小型云平台,可靠性不高,并且接入较难,暂不考虑。
综合来看,我决定使用点灯科技平台来实现远程控制和接收数据信息,配合巴法云平台来接收微信公众号的预警信息。使用方便,同时又互为冗余提示,互不干扰。
2.2.5 短信平台的选择
目前,市面上发送短信的方式主要有两种:一种是通过调用云端API,如阿里云和华为云的SMS短信服务;另一种则是利用硬件的短信模块和SIM卡直接发送。虽然调用云端API的方式成本较低且支持包月付费,但由于其复杂性以及大多数情况下只能在PC或Linux系统上运行,鉴于目前本人关于Linux系统方面不是很擅长,因此不在本设计的考虑范围内。
硬件模块方面,常见的短信模块包括GSM模块和4G模块。GSM模块具有成熟稳定、成本低、覆盖范围广等优点,但同时也存在功耗高、传输速度慢、容量有限的缺点。相比之下,4G模块具有传输速度快、功耗低、功能全面的优势。
Air 780e是一款合宙通信推出的低成本,高性能的4G通信模块,专为物联网设计,支持LTE网络和蜂窝通讯。它采用cortex-M4内核,主频156MHz,支持全网通覆盖全球主流频率。内置PPP拨号协议,可以直接作为4G上网模块使用。外部带有UART串口和SIM卡接口等。此外,Air780E采用Lua语言编程,编程难度较低且灵活性较高。
本设计选择使用Air780E来实现报警短信的发送。它不仅支持语音通话、短信发送和流量上网等功能,还具有超低待机功耗的特点,非常适合用于发送报警信息。
综上所述,通过综合考虑成本、功能和易用性等因素,本设计选择使用Air780E 4G模块来实现报警短信的发送。
2.2.6人脸识别系统的选择
目前市面上常见的带有主控的摄像头有OpenMV、K210等,同时也有一些专用于运行AI、深度学习等功能的板卡等。
RDK X5是一款基于Sunrise 5智能计算芯片的开发套件,专为智能计算和机器人应用设计。它拥有强大的算力(10 Tops BPU和32 GFlops GPU)和丰富的接口(USB 3.0、千兆以太网、MIPI-CSI摄像头接口、GPIO、UART等),支持多种复杂模型和算法,例如Transformer、RWKV、Occupancy和Stereo Perception。
瑞芯微公司的RV1126是一款面向智能视觉和边缘计算的高性价比AIOT平台,它采用双核cortex-A7,搭配RISC-V,可以实现低功耗运转,同时能够高效处理多任务[10]。比较适合多摄像头、智能安防和工业视觉检测等场景。并且价格较低,实现了算力与功耗的平衡。
K210是由嘉楠科技(Canaan)推出的低功耗RISC-V架构AI芯片,主打边缘计算和轻量级AI推理,适合计算机视觉和语音识别等应用[11]。
OpenMV是一个基于微控制器的开源机器视觉平台,其硬件核心通常是STM32或类似的MCU,搭配专用摄像头模块。
其核心参数对比如表2.1所示。
RDK-X5有专用的BPU加速,支持复杂模型,算力强大,用在人脸识别方面非常合适。并且开发系统使用Linux,支持主流开发环境GCC,可以直接复用PC端算法和工具,无需重写代码。并且Linux内核还支持各种外设,可以轻松接入传感器、摄像头等。同时Linux还支持多任务并行处理,非常方便。
RDK-X5还可以加载大型模型来进行人脸识别操作,效果好。所以本系统采用RDK-X5来进行人脸识别操作。
表2.1** **常见四种嵌入式AI平台的参数
| 特性 | RDK X5 (Horizon) | RV1126 | K210 (Kendryte) | OpenMV Cam H7 (ST) |
|---|---|---|---|---|
| AI算力 | 10 TOPS (BPU, INT8) | 2 TOPS (NPU, INT8) | 0.5 TOPS (KPU, INT8) | 无专用NPU(依赖CPU计算) |
| CPU | 4核 Cortex-A55 (1.5GHz) | 双核 Cortex-A7 + RISC-V | 双核 RISC-V (400MHz) | Cortex-M7 (480MHz) |
| 内存 | 4GB/8GB LPDDR4x | 1-2GB DDR3 + 16MB Flash | 8MB SRAM + 16MB Flash | 1MB SRAM + 2MB Flash |
| 存储 | 32GB/64GB eMMC | 支持MicroSD卡扩展 | 支持MicroSD卡扩展 | 支持MicroSD卡扩展 |
| 摄像头接口 | 多路MIPI-CSI | 3TOPS ISP(多摄像头) | 单路DVP | 单路DVP(最高1MP分辨率) |
| 典型功耗 | <10W | 1.5W~3W | <1W | <0.5W |
| 开发框架 | TensorFlow/PyTorch/ONNX | Rockchip NPU SDK | Kendryte SDK (MicroPython) | MicroPython(OpenMV IDE) |
3 系统硬件设计
3.1 系统硬件原理图
图3.1为系统整体的电路原理图,其中重要的电路有:主控芯片电路、电源电路、降压模块、各区域火焰、烟雾检测电路、红外热释电检测电路、OLED显示模块、DHT11温湿度检测模块、TTL转RS485通讯模块、ESP8266-Wi-Fi模块等多个模块。

图3.1 系统整体原理图
该电路图和实际PCB板使用接口电路来代替使用的各类传感器,用LED灯代替各区域的照明电路。DHT11温湿度检测模块可以实时检测楼内外的温湿度,并在屏幕显示出来。同时,串口也可以将楼宇的数据传输到ESP8266,进而通过云端传送到手机,以便楼宇管理员可以方便的进行区域控制和接收实时安防信息。TTL转485通讯模块也可以将太阳能发电的数据和太阳能工作状态回传到主控。实时显示太阳能发电的状态。主控电路PCB板实物如图3.2所示。

图3.2 主控电路PCB板实物图
图3.3为楼宇人员信息检测电路的原理图,其中较为重要的电路有:按键电路,指纹模块接口电路,RC522刷卡接口电路,以及人脸识别系统。

图3.3 楼宇人员信息检测原理图
本系统中RC522刷卡接口电路与RC522 RFID检测模块连接,指纹模块接口电路与指纹检测模块连接。MCU直接与人脸识别系统连接。进入楼宇的人员可以通过按键调用指纹和人脸识别,OLED也会显示操作菜单信息。同时,数据信息会通过APP和SIGN传输到主控部分的ESP8266,实时在手机端显示楼宇出入人员情况,该部分PCB实物图如图3.4所示。其中H20连接RC522刷卡电路,H19连接AS608指纹模块,J1连接舵机模块,CV APP SIGN连接ESP8266用于云端控制。

图3.4 楼宇人员信息检测实物PCB图
图3.5是太阳能逆变的电路原理图。其中最重要的电路为晶闸管有源逆变电路、TTL转RS485通讯电路。

图3.5 太阳能逆变原理图
本逆变电路采用了晶闸管有源逆变,并且使用了光耦隔离,使晶闸管与单片机隔离开来。电能质量检测部分也会实时检测逆变的电能质量并计算出电流电压和发电量,并通过RS485通讯模块电路将数据发送到楼宇主控。PCB板如图3.6所示。其中板上的正极和负极连接太阳能电池板的负极和正极,火线和零线连接国家电网电路。TXD1连接HLW8032电能质量模块,J2连接RS485模块,U2供给系统工作电压,与楼宇核心板采用同一路供电。

图3.6 太阳能逆变板PCB图
3.2 STM32控制器
本设计采用STM32F103VCT6单片机作为核心控制器,其特点包括ARM Cortex-M3内核和32位架构;拥有100个引脚;内置64K字节Flash;工作温度范围为-40℃~85℃。此外,它还具备丰富的外设和功能如:3路UART、2路I2C、3组ADC、1组DAC,以及多组定时器等。
在本设计中,楼宇主控整体由MCU、电源电路、复位电路以及晶振电路构成。VCT6芯片示意图如图3.7所示。

图3.7 STM32F103VCT6
模块如实物图3.8所示。

图3.8 STM32F103VCT6模块实物图
在STM32系统中,复位电路起着至关重要的作用,它的主要作用包括将STM32初始化到最初状态,确保系统在上电时能够从开始位置执行程序。手动复位电路还允许系统在死机或需要重启时手动触发。此外,复位电路中的电容还有去耦和滤波的作用,稳定电源,减少噪声干扰,从而保证STM32稳定运行。复位电路如图3.9所示。

图3.9 复位电路
晶振电路是电子设备的心脏,它利用晶体的压电效应,在特定的固有频率下产生机械振动。当晶体两端的电压发生变化时,晶体会相应地伸缩,这种机械振动又会反过来改变晶体两端的电压,从而形成一个正反馈过程。在晶体的固有频率下,这个正反馈能够维持稳定的振荡,使得晶体不断地在电能和机械能之间转换,产生一个频率非常稳定的振荡信号。驱动电路则负责提供适当的放大和反馈,以确保晶体能够在最佳工作状态下振荡,从而输出一个精确且稳定的时钟信号。晶振电路的稳定性对于维持电子设备的正常运行至关重要。晶振电路如图3.10所示。

图3.10 晶振电路
电源电路是芯片和外围电路稳定工作的基础,它能为单片机提供稳定的电压,还能进行电压转换,1117芯片可以将5V电压转换为3.3V供单片机使用。同时,电路中的电容也具有稳压和滤波的作用,能够过滤电源的噪声,防止异常的电压对单片机造成的损坏。在单片机周围,还添加了0.1µf去偶电容,可以为单片机提供瞬间的电流补偿,减少电源噪声,确保程序运转稳定。电源电路如图3.11所示。

图3.11 电源电路
3.3 烟雾检测模块
MQ-2气敏传感器是一种常用于检测可燃气体泄漏的传感器,如液化石油气、丙烷、甲醇等。它的工作原理是基于半导体金属氧化物表面接触到可燃气体时,电阻值会发生变化的特性。它对烟雾中的某些成分(如燃烧产生的碳粒子)也是敏感的,因此,MQ-2传感器可以在一定程度上检测到烟雾。当烟雾中的颗粒物或气态污染物与传感器表面的金属氧化物接触时,它们可以引起传感器的电阻变化,从而触发警报或检测反应。实际系统采用5路烟雾传感器,它们输出端分别与单片机的PD10、PD11、PD12、PD13、PD14相连,接口电路如图3.12所示。走廊1区域烟雾传感器内部电路如图3.13所示。

图3.12 5路烟雾传感器接口电路

图3.13 烟雾检测模块
MQ-2气敏传感器由一个加热丝和一对电极组成。加热丝负责将传感器内部的金属氧化物加热到一定温度(通常在200°C~300°C之间),以便使其能够有效地检测周围的气体。当可燃气体进入传感器并与加热的金属氧化物接触时,会导致氧化物的电阻降低,输出端电压升高,超过滑动变阻器设定的阈值输出低电平。反之输出高电平(参考文献:物联网传感器技术在智能家居中的应用)
其特性参数如表3.1所示。
表3.1 MQ-2传感器参数
| 参数 | 描述 | |
|---|---|---|
| 供电电压 | 通常为5V DC。 | |
| 加热功率 | 大约700mW。 | |
| 响应时间 | 通常小于10秒。 | |
| 恢复时间 | 通常小于30秒。 | |
| 灵敏度 | 对于不同的可燃气体,其灵敏度会有所不同 | |
| 使用寿命 | 在正常操作条件下,MQ-2气敏传感器的使用寿命通常可以达到几年。 |
3.4 火焰传感器检测模块
火焰传感器的工作原理是通过红外接收管接收火焰发出的红外线波,电路采用LM393作为比较器,通过红外检测管CGQ1接收火焰的红外辐射信号,转换为电信号后输入比较器。比较器另一端接收来自分压电路的参考电压,参考电压通过滑动变阻器调节到合适位置。当检测信号超过参考电压时,比较器输出低电平。系统采用5个火焰传感器分别检测5个不同区域的火灾情况,他们的输出端分别与单片机的引脚PC9、PC8、PC7、PC6、PD15相连,接口电路如图3.14所示。走廊1区域的模块内部电路及接口电路如图3.15所示。

图3.14 火焰传感器接口电路

图3.15 火焰传感器模块内部电路
3.5 红外热释电传感器
PIR红外热释电传感器是一种能够检测人体辐射红外线的设备[12],当人体进入传感器探测范围后,红外线被传感器接收转化为电信号,输送到EG4001芯片中。
EG4001是一款信号放大及处理的数模专用芯片,内部集成了运算放大器、电压比较器、参考电压源和延时定时器等控制器。专门用于防盗报警和人体控制照明等场合。工作电压为3v~6v,采用CMOS工艺降低了外围电路元件数和成本,提高了稳定性。系统中采用4个红外热释电传感器充当走廊和办公区域的行人检测器,他们的输出端分别与单片机的引脚PD9、PD8、PB15、PB14相连,其接口电路如图3.16所示。内部电路如图3.17所示。

图3.16 红外热释电传感器接口电路

图3.17 红外热释电传感器模块内部电路图
在实际电路中采用的型号为EG4001A,它仅需要一个外接电容CT和一个上拉电阻RT即可设置振荡器的工作频率Tosc,它为芯片提供稳定的时钟基准,确保内部操作按照预设时序进行。此外,振荡器的频率直接影响OUT引脚输出高电平信号的持续时间,这对于实现延迟关闭或其他时间控制功能至关重要。工作频率Tosc的计算公式见式(3.1)。
通过接入一个100K的电阻(RT)和2nF的外接电容(CT),可以设置振荡器的工作频率。在这个电路中,上拉电阻RT的作用是提供必要的偏置电流,而外接电容CT则用于确定振荡器的充放电时间常数。根据公式(3.1)计算得出振荡器的工作周期Tosc为100微秒。进一步地,根据芯片的延时时间公式(3.2),可以计算出当热释电传感器检测到信号后,会持续发出10s(即10000000µs)的高电平信号。即使人离开检测区域,灯光会延迟10s关闭。
3.6 OLED显示模块
OLED模块是一种,高效节能的显示技术。它是由SSD1306驱动的其自发光特性使得每个像素点都能够独立发光,正因如此,它的对比度显示效果非常好,并且无需背光。且只有活跃的像素点消耗电能,因此比LCD更节能。本系统采用0.96 OLED作为显示。OLED模块内部电路如图3.18所示。

图3.18 OLED模块内部电路
系统使用STM32的PB6和PB7与OLED的SCL和SDA连接,具体电路连接如图3.19所示。

图3.19 OLED模块与主控连接图
3.7 DHT11温湿度检测模块
DHT11是一款常用的温湿度传感器,它的内部结合了湿敏电阻和热敏电阻测量技术,数据通过单总线接口进行传输[13]。主控芯片发送起始信号后,DHT传输40位数据包,包括湿度和温度的整数和小数部分,以及校验和,单片机接收解析还原出测量的温度和湿度。
在该系统中采用两个DHT11温湿度模块来检测室内外的温湿度,室内温湿度模块连接到单片机PA5引脚,户外温湿度模块连接到单片机PA6引脚。电路图如图3.20所示。

图3.20 DHT11温湿度检测模块
3.8 继电器模块
STM32单片机驱动能力较弱,可以通过的电流小,无法带动大电流的电磁阀、空调等大功率设备,所以需要一个继电器模块进行中转。继电器是一种电控器件,它可以用低电压弱电流来控制高电压强电流,并且它也有隔离的作用,可以有效防止高电压反冲损毁单片机。有些继电器模块还带有指示灯,可以指示工作状态以及是否吸合。如图3.21为单个继电器模块的原理图,PC817光耦实际相当于一个LED和一个光敏传感器,光耦的1引脚是高电平,当单片机的PD4引脚给与低电平时,光耦内部的LED发光,内部的光敏传感器电阻下降,电路导通,使得5V电压加在NPN三极管的基极,由于NPN三极管的基极电压高于发射极即会导通,所以电路接通,线圈通电,衔铁吸合。

图3.21 单个继电器模块
图3.22为本系统部分继电器连接图和接口电路。

图3.22 部分继电器连接图和接口电路
实际核心板控制器工作过程中,空调制冷压缩机、泵阀均需要用继电器控制,其中核心板PC10和PC11负责空调风扇的运转,PC12负责制冷压缩机的运转。PD0~PD4负责在火灾发生时泵阀的开启。控制器接口电路如图3.23所示。

图3.23 部分继电器连接图和接口电路
3.9 水泵电机驱动模块
L298N是一款常用的电机驱动模块,它带有两路输出,能够同时驱动两个直流电机,并且控制方向和速度。它的工作原理是通过两个使能端和一个PWM输入口来控制电机的正反转和调速。本系统采用的水泵电机是12V直流电机,使用L298N满足性能需求。核心控制器的PD5和PD6连接到L298N的INPUT1和INPUT2引脚上,PE9可以产生PWM脉冲连接到ENA,用于调速,防止水泵压力过大造成崩管。电机驱动模块的内部电路图如图3.24所示。

图3.24 电机驱动模块
3.10 报警模块
在楼宇发生危险时,系统会发出报警,报警使用的模块是ISD1820。它是一款语音录制和播放的模块,内部带有内存,可以录制8~20s的语音(取决于ROSE引脚连接的电阻值)。并且无需单片机即可实现录音功能,待机功耗几乎为零,只需要通过GPIO的引脚就可以实现播放控制。模块电路图如图3.25所示。ISD1820上的1、2、3接口负责录音和播放控制,当按下KEY3时,1引脚REC被接入高电平,此时启动录音模式,可以通过MIC1录制警报的音频。当按下KEY1时,2引脚PLAYE被接入高电平,开始播放储存的录音,音频完整播放结束后会自动停止。当按下KEY2时,3引脚PLAYL被接入高电平,开始播放储存录音,但KEY2松开时会关闭放音,属于点动播放。

图3.25 ISD1820录音播放模块
实际使用的过程中,由于ISD1820语音芯片驱动能力差,需要在输出口串接一个LM386放大芯片,它是一款低功耗音频功率放大器,集成电路可以将输出的声音放大,通过调节滑动变阻器即可实现增益调节。并且不需要外部耦合电容,使用非常方便。放大电路如图3.26所示。

图3.26 LM386音频增益模块
ISD1820芯片播放语音有两种方式:
1、当PLAYL引脚给予高电平即可实现播放声音,当高电平消失时,放音结束。
2、当PLAYE引脚给予高电平脉冲即可播放音乐,持续到音乐结束。如果将PLAYE和RECLED引脚连接,就可以实现循环播放报警。
实际系统电路设计中,采用继电器将PLAYE和LED引脚连接在一起,继电器使用单片机PD7引脚进行控制。电路图如图3.27所示:

图3.27 报警继电器电路
3.11 AT24C02存储模块
系统工作过程中会产生一些数据,比如系统设置的温度,发电量等数据。STM32内部有FLASH区域,也可以储存数据,它访问速度快,但擦写次数有限,长期使用容易造成芯片报废,这对系统的稳定性是致命的问题。
AT24C02是一款I2C通讯的EEPROM,可以储存256B的数据,具有至少100万次的擦写周期,并且可以储存至少100年,稳定可靠。旗下还有其它系列的容量,如AT24C32内部具有4KB(4096×8bit)空间。
所以本系统采用外挂一个AT24C02存储模块的方式来进行数据存储。它与OLED显示屏使用同一路I2C通讯,使用不同的从机地址区分设备型号[14]。电路图如图3.28所示。核心板的PB6与AT24C02的SCL连接,PB7与其SDA连接。

图3.28 AT24C02电路
3.12 楼宇人员信息检测系统控制器
系统的楼宇人员信息检测系统也有一个主控MCU,采用STM32F103C8T6与外设相连,负责刷卡认证、指纹识别、驱动舵机开关闸机等,电路同样包含晶振电路、复位电路、电源电路等。芯片连接引脚图如图3.29所示。晶振电路、复位、电源电路如图3.30所示。

图3.29 楼宇人员信息检测系统主控

图3.30 楼宇人员信息检测系统晶振、复位、电源电路
3.13 RFID RC522刷卡模块
楼宇人员信息检测系统添加信息需要管理员认证,所以,采用一个RC522刷卡模块来进行管理员认证检测。它的核心是MFRC522芯片,通过外部天线发射13.56MHz的射频信号形成电磁场,当RFID卡靠近该电磁场时(5~10cm之间),卡内的线圈感应到电信号并激活卡内芯片,将数据(四位16进制UID、加密数据等)发回RC522,RC522芯片将其转换为数字信号并通过SPI接口传输给主控MCU。主控将4位16进制的UID与芯片内部储存的管理员UID进行对比,当对比成功后,允许用户启动管理员模式。读卡器电路包括三个部分:MF RC522、滤波匹配电路和天线。电路图如图3.31所示。

图3.31 RC522刷卡模块电路和接口电路
RFID技术是一种非接触式的自动识别技术,广泛应用于身份识别等领域[15]。目前现在基本上绝大多数的手机也带有NFC功能,同样可以被RC522识别,所以管理员也可以用手机虚拟卡来代替RFID卡,更方便。
3.14 AS608指纹模块
人员进出楼宇可以使用二种验证方式,其中一种是使用指纹模块来进行身份认证。AS608指纹模块通过光学采集指纹图像,光学传感器利用内置光源和摄像头捕捉反射光。然后提取指纹的纹线、端点、分叉等特征点,并将这些特征转化为数学向量,与模块内部数据库中的指纹特征进行对比,根据阈值判断是否为同一指纹,从而实现身份验证。并将信息通过串口将认证信息发送到单片机MCU。指纹模块接口电路图如图3.32所示,模块的串口TX连接主控MCU的PB11,RX连接PB12,TCH连接PB7。

图3.32 AS608指纹模块接口电路图
首次使用需要设定指纹,使用独立按键KEY1控制指纹模块开启识别模式,此时在指纹传感器上按压手指,即可读取指纹照片。系统会自动读取两次,并且将两次的特征点进行比较,当检测合格后,模块会向STM32发送指令0X00,代表OK。单片机接收到后,跳转设置ID界面,设置好ID后按下KEY3储存,将指纹存储到AS608模块的存储中。随后,系统退回到工作界面,等待下一次使用。当开启验证指纹功能时,系统会向指纹模块发送验证指纹的指令,模块接收后会自动开启检测。当有手指按下时,系统会自动拍照进行特征点分析,并与指纹库中的指纹进行对比,如果比对成功,模块同样会向STM32发送0X00,单片机接收到后执行开锁指令,此时舵机旋转90度,代表闸机打开。其工作原理如下:首先,模块内部的光学传感器会发出光线并接收从手指表面反射回来的光线,当手指放置在识别区域时,传感器会对指纹图案进行扫描,并将光学信息转换为数字信号。接着,模块内部的图像处理算法会对数字信号进行处理,提取出指纹的特征信息,如纹路走向、纹线数量、纹线交叉点等,并将这些特征信息与预先存储在模块中的指纹模板进行比对。最后,如果比对结果显示当前指纹与模板指纹匹配,则模块会输出识别成功的信号;否则,输出识别失败的信号。
3.15 RDK X5人脸识别模块
人员进出楼宇也可以使用人脸识别来确认身份信息。RDK X5开发版类似一个微型Linux电脑,带有40PIN管脚。由于RDK需要稳定供电,也防止电流反灌烧坏开版,在输出端口接入了一个光偶与主控板隔离开来。本系统中使用RDK开发板的37和39引脚输出信号,通过PC817光耦隔离,输送到主控MCU的PA8引脚。它使用外置摄像头来收集人脸数据信息,并与开发板内的人脸数据进行比对,当数据比对成功时,RDK开发板37号引脚输出高电平,此时光耦导通,PA8引脚被拉至低电平,MCU检测对应信号,执行后续操作。RDK X5开发版管脚连接光耦电路图如图3.33所示。

图3.33 RDK-X5人脸识别系统接口电路
3.16 按键检测电路
由于楼宇人员信息检测系统需要依赖管理员手动录入指纹,以及供用户启动指纹识别功能,故需要按键系统来进行人机操作。本文采用五个独立按键分别为KEY1KEY5,采用下拉输入,一端连接主控MCU的PA2PA6引脚,另一端连接GND,其中KEY1负责启动添加指纹功能,KEY2负责二级菜单里的指纹存储加功能,KEY3负责启动删除指纹功能,KEY4负责二级菜单里的指纹存储减功能,KEY5负责验证指纹功能。图3.34为独立按键电路图。

图3.34 独立按键电路图
3.17 SG90舵机模块
SG90舵机是一种小巧轻便的微型伺服电机,应用于遥控模型,自动化等领域,其结构主要直流电机、减速齿轮组、位置检测元件(如电位器)、控制电路以及外壳组成。它能够在PMW信号控制下实现180度旋转,工作电压4.8V~6V。
本系统使用SG90舵机来代替闸机系统,当给予50Hz的PWM信号,即可控制舵机运转。SG90舵机接口电路图如图3.35所示,其中舵机的PWM连接至主控MCU的PA1引脚。脉冲周期电平范围见表3.2。

图3.35 SG90舵机接口电路图
表3.2 SG90脉冲周期电平范围
| 脉宽(ms) | 占空比(%) | 角度(度) | ||
|---|---|---|---|---|
| 0.5 | 2.5 | 0 | ||
| 1 | 5 | 45° | ||
| 1.5 | 7.5 | -90° | ||
| 2 | 10 | 135° | ||
| 2.5 | 12.5 | 180° | ||
3.18 太阳能并网逆变控制器
太阳能逆变系统采用STM32F411CEU6单片机作为控制器,搭配桥式整流电路实现有源逆变。它的核心为Cortex-M4,主频100MHz。主要负责采集交流电过零脉冲,并根据直流和交流测电压计算晶闸管触发角,从而实现有源逆变。单项桥式整流电路的公式见式(3.3)
其中Ud是直流电压,U2是交流电压,α是触发角。当触发角α>90°,桥式整流会进入有源逆变状态,此时直流侧电压稍高于理论直流电压Ud,即可实现逆变并网。
与核心控制器相同,STM32F411也需要晶振电路、复位电路、电源电路等。CEU6芯片以及部分外围电路如图3.36所示。

图3.36 STM32F411CEU6最小系统电路图
3.19 晶闸管有源逆变电路
晶闸管是一种半控器件,由它组成的整流桥,可以在单片机的驱动下,实现将交流电转换成直流电。当在直流侧给予直流电压,此时,利用单片机程序调整晶闸管的触发角度大于90°即可实现有源逆变并网。
由于逆变并网非常危险,在正式制作之前,我们采用了MATLAB仿真测试结果,当结果正确后,再焊接实物编写程序。MATLAB仿真Simulink如图3.37所示。

图3.37 MATLAB仿真电路图
仿真测试正常后,开始绘制电路图,同样使用四个晶闸管组成整流桥,在晶闸管与STM32单片机之间串入一个光偶隔离,防止烧坏单片机。采样电路使用PC817光耦隔离将交流电与单片机隔离开来,确保脉冲信号能稳定的输入到单片机的PA5引脚,防止冲坏单片机。触发角由单片机程序给予,通过PB4、PB5、PB6、PB7使光耦MOC3020按顺序导通,进而驱动晶闸管。由于晶闸管依靠电网换流,无需考虑相位。晶闸管有源逆变电路图如图3.38所示,采样电路如图3.39所示。

图3.38 单相有源逆变电路图

图3.39 采样电路原理图
由于电网交流电波形是正弦波,当波形经过光耦PC817后,正半周部分会使得光耦内部光电二极管导通,连带内部光敏传感器导通。光耦的3,4引脚接成开漏输出,当光耦内部光敏传感器导通,PA5被拉至低电平,主控检测到下拉外部中断,自动进入计时,并根据延时时间给与PB5和PB7高电平,光耦MOC3020开启,连接晶闸管的光耦3引脚和6引脚打开,1,3晶闸管导通。由于晶闸管导通后不需要门极电压维持也可以一直导通,所以PB5和PB7恢复低电平。负半周部分会使光耦PC817内部二极管关断,此时由于开漏电路原因,PA5会被拉至高电平,主控检测到上拉外部中断,自动进入计时,并根据延时时间给与PB6和PB8高电平,导通2,4晶闸管,随后PB6和PB8恢复低电平。
3.20 电能质量采集模块
HLW8032是一款高精度的电能计量芯片,它采用CMOS制造工艺,应用在单相交流电中。它的内部集成了两个ADC和一个高精度的电能计量内核,可以实时检测线电压、电流,计算有功功率、电能参数等。芯片采用5V供电,带有1路串口,内置晶振。外围电路采用1000:1的电流互感器和1000:1000的电压互感器采集电压和电流,误差仅在0.2%。太阳能发电板逆变产生的是单相电,采用了HLW8032芯片采集的方案,同时该芯片输出的数据到单片机还可以参与闭环运算,使电网更稳定。具体电路图如图3.40所示。输出串口TX连接到单片机的PA3引脚,实现通讯。

图3.40 电能质量采集模块电路图
该模块配备了一个简单的UART接口,采用异步串行通信方式,并通过两个单向引脚进行数据传输。该接口以固定的4800bps波特率运行,发送数据的时间间隔为50ms,非常适合低速设计。
芯片每次发送的数据量为 24 字节,数据从寄存器 1(StateREG)开始发送,到寄存器 11(CheckSumREG)结束,共包含 11 个寄存器的数据。例如,当模块工作稳定后,串口会稳定发送:F2 5A 02 CD 30 06 D7 48 00 3C F0 03 BD E5 4C D7 E0 4F AE 02 61 00 06 5E。
其中F2表示状态寄存器的值,5A表示检测寄存器的值,02 CD 30表示电压参数寄存器的值,06 D7 48表示电压寄存器的值,00 3C F0表示电流参数寄存器的值,03 BD E5表示电流寄存器的值,4C D7 E0表示功率参数寄存器的值,4F AE 02表示功率寄存器的值,61表示数据更新寄存器的值00 06表示PF脉冲寄存器的值,用于计算电功率,5E表示校验和寄存器的值。
当单片机串口接收数据后,会根据上面的数据判断检测是否可信,只有状态寄存器是F2,检测寄存器是5A时,单片机认为数据可靠,进而计算出相应测量值。其中有效电压计算公式见式(3.4),根据芯片手册,电压系数由分压电阻决定。本系统采用的是五个20K的电阻串联,分别是R6、R20、R21、R22、R23和一个1K的电阻R19分压,所以电压系数为20K5/1K1000=0.1。
有效电流计算公式见式(3.5)。电流系数是由采样电阻R决定的,本系统采样电阻R18为1R,所以电流系数为1/R*1000=0.001。
有功功率计算公式见式(3.6)。
3.21 TTL转RS485通讯模块
太阳能一般都安装在楼顶,和逆变器一同安装。而楼宇主控一般都安装在保安控制室或弱电井内。传统TTL、RS232通讯传输距离较近,容易受到干扰导致信号中断。所以本系统采用RS485通讯,将逆变器和主控连接在一起。
RS485是一种串行通讯协议,它采用差分信号传输,可以提高抗抗干扰能力,实现远距离通讯。并且总线还可以挂载多个设备,实现多点通讯。在较低速率下传输的距离则更远,非常适合从楼顶到控制器的长距离通讯。故本系统采用RS485来传输电能和工作状态数据。
MAX485是一种RS485收发器芯片,它能够将TTL电平转换为差分信号在双绞线上进行长距离传输,并且支持半双工通讯模式。芯片使用3.3V~5V电压工作,可以兼容多种单片机。还内置过热保护和过电压保护。搭配压电二极管、熔断器和保护接地,还可以实现防雷击效果。
74HC04是一种六反向芯片,它包含六个非门,搭配MAX485芯片可以实现自动发送和接收,还能实现电压兼容,防止损坏元器件。模块的电路图如图3.41所示。

图3.41 电能质量采集模块电路图
在工作时,MAX485通过DE和RE引脚控制收发状态:当MCU需要发送数据时,拉高DE(同时拉高RE关闭接收器),此时DI输入的TTL信号被转换为差分信号(逻辑“1”对应A-B=+V,逻辑“0”对应A-B=-V)并通过A、B线传输至总线;当接收数据时,MCU拉低RE(同时拉低DE关闭发送器),总线上的差分信号经A、B引脚输入,由接收器转换为TTL电平(A-B>+200mV输出“1”,A-B<-200mV输出“0”)并通过RO输出至MCU。在这个电路中,74HC04的作用是增强输出信号,调节差分信号电压等功能。
3.22 Wi-Fi模块
ESP8266是乐鑫科技推出的一款低成本,高性能的Wi-Fi MCU,被广泛应用于物联网领域,主频80MHz支持802.11 b/g/n Wi-Fi协议,并内置TCP/IP协议栈,可用于搭建服务器或用作AP模式[16]。它支持ArduinoIDE编程,简单易用,成本低廉。它的升级版ESP32是双核CPU,主频160MHz,但是价格更高,功能更强大。
本设计采用ESP8266 NodeMCU开发板作为系统的无线通讯模块,模块的基础电路图如图3.42所示。

图3.42 ESP8266的基础电路图
ESP8266开发板与系统核心板通过串口连在一起,以与点灯科技平台连接的ESP8266为例,它的TXD0连接核心板的PA9,RXD0连接核心板的PA10,GPIO4和GPIO5虚拟成另一对串口与楼宇人员信息检测部分连接,用于实现远程开锁和非法入侵警报提示。核心板的接口电路如图3.43所示。楼宇人员信息检测接口电路如图3.44所示。

图3.43 ESP8266与核心板连接电路图

图3.44 楼宇人员信息检测系统接口电路图
ESP8266的串口与核心板STM32串口波特率调为9600,STM32启动DMA接收模式,将8266传来的天气信息、时间日期、控制数据,存入缓存并执行对应操作。同时,将火灾等数据发送给ESP8266,进而通过Wi-Fi发送至云端点灯科技平台,通过另一个ESP8266发送给企业微信系统,提醒火灾和撤离。
3.23 AIR780E 4G模块
本系统是通过ESP8266接收报警指令,调用AIR780E内部程序实现发送短信报警。AIR780E的GND和VCC连接在负责企业微信通讯的ESP8266上,通过lua脚本启动GPIO1,连接在ESP8266的D4(GPIO2)口上,实现触发短信发送功能。由于AIR780E的串口启用和编写过于复杂,所以实际程序是采用了GPIO中断回调的方式实现发短信效果。当AIR780E接收ESP8266GPIO2的下降沿脉冲,系统进入回调函数,进而发送提示短信,实现报警传递。4G模块部分接口电路图如图3.45所示,其中12引脚LCD_RST为GPIO1。

图3.45 AIR780E部分接口电路图
由于采用Lua语言编程,不需要使用AT指令,直接接收ESP8266的引脚脉冲信号,响应更快。未来有望实现4G上网功能,因为ESP8266需要连接Wi-Fi,所以计划作为备用联网方案。
3.24 楼宇云端安防监控系统
该系统还拥有移动侦测和火灾录像功能,由ESP32-CAM担当,他带有一个OV2640摄像头,可以实现移动侦测和云端的实时视频监控功能。ESP32-CAM电路图如图3.46所示。

图3.46 ESP32-CAM电路图
4 系统软件设计
4.1 系统软件总体流程设计
图4.1即为本设计的系统软件主流程图。系统上电后会自动连接网络并检测模块连接是否正常,并在屏幕上显示连接状态。初始化结束后,系统会循环进行区域火灾检测,如果发生火灾,启动消防措施进行初步灭火并进行报警提示和上报云端,同时火灾应急灯也会启动,强制开启所有灯光。
系统还会接收云端和APP的指令,空调温湿度,时间日期和天气预报等信息。在没有火灾发生时,楼宇内的照明灯光会根据预设时间自动启停,当启动时,有行人经过会自动开启对应区域灯光,行人经过后会自动关闭。系统还会读取室内外温湿度检测模块,根据APP设定温度自动调节中央空调的工作。并在屏幕显示温湿度信息和空调信息,以及今明两天天气预报、时间信息、太阳能发电板状态和发电量信息等。

图4.1 系统流程图
4.2 楼宇人员指纹检测系统流程设计
图4.2是楼宇人员信息检测部分的流程图。系统上电后会对各部分进行初始化,然后进入等待模式,OLED屏幕显示出操作指示,当用户启动指纹验证功能时,它会自动启动指纹检测,当手指按压在传感器上时,模块通过光学反射原理采集高分辨率(500dpi)的指纹图像;随后,系统对图像进行去噪、增强对比度等预处理以提高识别精度,并提取纹线的端点、分叉点等关键特征生成指纹模板并与数据库中的指纹进行比对,比对正确会自动开启闸机,三秒后关闭。
系统还会实时进行RFID检测,当用户启动添加或删除指纹程序,若ID卡也同时被识别为管理员卡,视为管理员操作,此时进入二级菜单,可以进行添加指纹或删除指纹操作。如果没有检测到管理员ID卡,则不进行任何操作。

图4.2 楼宇人员信息检测部分流程图
4.3 RFID RC522刷卡模块工作流程设计
当指纹识别部分需要添加或删除指纹时,需要进行管理员认证,此时需要用到管理员ID卡,通过RC522读取卡号进行管理员认证。图4.3是RC522工作流程图,ID卡的UID都是四位16进制的数,本系统采用的其中一张ID卡的UID为:43 28 ED 10,当RC522读取的卡号与单片机内部存储的卡UID一致时,系统认为是管理员卡,允许进入管理员模式。否则不进行任何操作。卡号对比部分程序如图4.4所示。

图4.3 RC522工作流程图

图4.4 RC522读卡号后STM32对比UID的代码
4.4 人脸识别流程设计
图4.5是楼宇人员识别部分的流程图。系统上电后,RDK会自动开机,开机后点击脚本图标即会启动人脸识别系统。系统启动后,会持续从摄像头读取视频帧,并对每一帧进行如下处理:首先进行图像转换与候选区域检测,针对每个检测到的区域进行置信度归一化判断其可靠性。若区域可靠,则提取人脸关键点并绘制眼部轮廓。接着,使用预训练模型提取当前人脸的特征,并与已知特征集合中的特征计算距离,从而判断身份。最后,将检测结果和识别结果绘制回视频帧,并以一定延时显示处理结果,以便于观察、调试和对比。

图4.5 楼宇人员信息检测部分流程图
内部储存的人脸识别的图片如图4.6所示,在系统使用之前,需要对照片进行特征提取,采用了dlib官方提供的模型,当输入python C:\Users\hafeizhou\Desktop\jswjj\computer_release\extract_features.py指令后,系统会自动运行提取特征代码,并存入生成模型。
启动CMD控制台,输入:python C:\Users\hafeizhou\Desktop\jswjj\computer_release\eye_detect.py,即可在电脑端唤起识别程序,他会调用系统摄像头进行检测。系统识别时会将摄像头拍到的人脸和数据库中的人脸进行身份判断,图4.7是本人用电脑测试识别的效果。

图4.6 人脸识别用的图片

图4.7 本人现场电脑运行测试的效果图
在RDK开发板上同理,为了方便,在桌面写了一个脚本软件,方法见附录E。点击即可运行python程序,效果与电脑是一样的。RDK开发板运行如图4.8所示。

图4.8 RDK开发板运行的效果图
相比于RDK,同是Linux系统的树莓派开发板价格更低,他的使用方法和指令与RDK相同,并且树莓派的库和教程更多,系统更稳定,开发难度相对较低。本文中使用树莓派系统作为备用方案,安装与RDK相同的程序和dlib依赖库
为了提高识别准确率和效果,还可以采用训练卷积神经网络的方式来提高处理的效果和速度[17]。但由于本人几乎没有深度学习方面的基础,所以目前仅采用了简单的OpenCV方案。
4.5 晶闸管有源逆变流程设计
图4.9是晶闸管有源逆变流程图,当楼宇主核心板上电时,逆变系统也会同时上电并进行初始化。初始化结束后,会对太阳能板的电压进行检测,当电压低于2V时,不满足逆变条件会关闭所有的晶闸管,并将工作状态发送到核心板。当电压高于2V,满足逆变条件,串口会读取电能质量芯片传来的数据,并提取编码中的交流电压,根据公式推算晶闸管的触发角。同时,采集交流电脉冲驱动晶闸管,按顺序延时开启,实现逆变并网。逆变成功后,将电压,电流发电量和工作状态等通过RS485发送到核心板。

图4.9 晶闸管有源逆变流程图
其中核心的代码是有关与桥式整流公式的部分,如图4.10所示,通过ADC的检测和HLW8032传输的电压,逆推出晶闸管的整流角度cos_value。但是这个角度是弧度制,并且是COS值,无法用于角度计算,需要进行反余弦计算,求出实际角度值。再根据弧度和角度的转换公式:弧度=角度×(π÷180),推算出理论触发角。但由于公式acosf()的限制,只能输出0-90°的值,需要将其变成大于90°,最后求出实际触发角bright,再对其进行限位操作,即可保证桥式整流电路一直工作在有源逆变状态。再使用自编写的cal_map函数,实现将角度映射到延迟时间,即实现了自动闭环控制。代码中还实现了对太阳能板电压的检测,并根据电压来调整工作状态,printf函数会将工作状态数据和发电量数据通过串口和RS485通讯模块发送到核心板,映射函数代码如图4.11所示。

图4.10 桥式整流触发角的计算和延迟时间的给予

图4.11 缩放函数代码
在真正连接电网逆变之前,采用了MATLAB仿真的形式验证方案是否可行。首先,在库文件中选择到晶闸管Thyristor,将其搭建成桥式整流电路,在左侧连接交流电源,右侧连接一个组感性负载和一个电源模拟太阳能,SIMULINK图如图4.12所示。

图4.12 桥式整流电路SIMULINK仿真
实际并网时使用调压器将交流电源调到了20V,所以交流电压源仿真参数也调至20V,参数设置如图4.13所示:

图4.13 仿真交流电源参数设定
实际电路采用了一个8.5Ω的电阻和一个4mH的电感,所以阻感性负载参数和真正电路中的参数设置相同,如图4.14所示:

图4.14 阻感性负载参数设定
晶闸管触发角设置165°,电压设置20V,根据前面提到的桥式整流公式(见系统硬件设计3.19)算出,理论电源的电压是-17.386V。本系统选购的太阳能电池发电电压最高是18.5V,最大功率点电压是17.9V,满足要求。只要直流侧电压比交流测理论电压高即可实现逆变,所以仿真中直流电源电压设置20V,参数如图4.15所示:

图4.15 直流电源电压参数设定
由于交流电的一个周期是0.02s,半个周期是0.01s,正弦波一个周期是2π,相当于360°,半个周期就是180°。所以可以得出1°是0.00005556秒,165°是165*0.00005556=0.009167s由此即可控制晶闸管的导通时间。参数设定如图4.16所示。

图4.16 晶闸管相位延迟参数设定
设置运行时间是0.1,点击运行可以看到直流侧的电压和电流,如图4.17所示。其中Current是电流波形,Voltage是电压波形。电压表接在整流桥两侧,与整流电压方向相同,可以看到电压显示中,正半周电压冲量比负半周的冲量小,电能由直流侧流向交流测输送,逆变成功,可以开始实物设计。

图4.17 直流侧电压电流监视
4.6 点灯科技云平台与心知天气功能介绍
该系统的可以通过云端控制,同时,也可以通过Wi-Fi将系统数据上传到云平台,云平台采用点灯科技和巴法云搭配使用。通讯由ESP8266模块担当,上电后会初始化并自动连接Wi-Fi,Wi-Fi连接成功后会自动注册点灯科技,启动串口,同时启动点灯组件和心跳包。核心版将区域火警状态和太阳能状态源源不断的发送到ESP8266,并通过点灯科技将太阳能发电量发送到云端。ESP8266使用ArduinoIDE编写c和c++程序。云平台控制模式流程图图4.18所示。

图4.18 云平台控制模式流程图
ESP8266内部信息设置如图4.19所示。其中:auth是点灯科技密钥,ssid是Wi-Fi名,pass是密码,指针host是心知天气服务器的网址,port是端口,City是城市,由于辽宁科技大学在立山区,所以这里写lishan,以及API密钥:S-xxxxxxxx。

图4.19 云平台控制模式流程图
当检测到楼宇发生火灾时,手机点灯科技会显示火灾对应区,巴法云公众号也会提示火灾发生并报告区域。同时,企业微信也会通过企业微信内置的机器人,将报警信息发送到微信群,提示疏散。巴法云微信消息推送函数如图4.20所示,完整代码见附录C。

图4.20 巴法云微信消息推送函数
ESP8266还会通过心知天气平台获取天气预报,通过调用平台的API来获取本地的今明两天天气。在ESP8266中,需要编写http访问来获取天气数据,系统会返还JSON数据包,将数据解析就可以获取到天气信息,天气数据获取代码如图4.21所示,心知天气返还天气数据如图4.22所示。

图4.21 天气数据获取代码

图4.22 心知天气平台返还JSON数据
串口发送的控制数据如图4.23所示,编码格式为:
控制 空调 环保 今天天气湿度明天天气湿度 1风向等级 2风向等级 1低温 1高温 2低温 2高温 Wi-Fi状态 点灯连接状态 时间。
控制主要是用于楼宇灯光和开门等,空调是手机端设置的空调温度,环保是发送当前时间,以供自动控制灯光,剩下的为天气情况、温湿度、风速风向等天气数据,常用的天气代码如表4.1所示。Wi-Fi状态提示了当前网络的状态,其中常用的0代表正在连接,3代表连接成功,4代表连接中断等。点灯状态表示了点灯科技的连接状态,0代表连接失败,1代表连接成功。所以串口数据表示:所有区域灯光关闭,闸机关闭,空调温度26℃,当前是15时,今天天气晴,最低气温14℃,最高气温27℃,西南风2级,湿度34%,明天天气晴,最低气温16℃,最高气温28℃,南风2级,湿度49%,Wi-Fi连接成功,点灯科技连接成功,时间是2025年05月11日15:37。

图4.23 串口发送的控制数据
表4.1 常用天气代码的中文显示
| 天气代码 | 中文显示 |
|---|---|
| 0 | 晴朗 |
| 4 | 多云 |
| 9 | 阴天 |
| 13 | 小雨 |
4.7 AIR780E模块工作原理介绍
AIR780E采用lua语言编程,通过接收串口数据来实现发送短信,部分代码如图4.24所示。

图4.24 AIR780E发短信代码
该代码通过配置 GPIO 引脚 1 为中断模式,并设置为下降沿触发(通常表示按钮按下)且开启内部上拉电阻。当该引脚检测到电平由高变低的信号时,会执行一个回调函数。此回调函数首先记录一条关于按钮被按下的日志信息,然后调用 sms.send 函数,向手机号码 “15840252139” 发送一条包含火警警报内容的短信。
在该系统中,低电平是通过ESP8266给与,需要在ESP8266与AIR780E的GPIO之间接入一个10K的上拉电阻,实现稳定的高电平效果,防止引脚电平漂移,避免误报和无反应。
5 系统实现与调试
5.1 系统功能设计
本系统通过亚克力板搭建的实物来模拟楼宇内通道和房间的情况,在楼宇对应区域上部粘贴烟雾和火焰传感器并安装喷淋喷头用于检测火灾。同时划分出了两个区域用来放置消防水泵控制器和主控板等。楼宇部分实物图如图5.1所示。控制器部分如图5.2所示。水泵和电磁阀部分如图5.3所示。

图5.1 楼宇部分实物图

图5.2 控制器部分实物图

图5.3 水泵和电磁阀部分实物图
在调试实物之前,我还设计了一个测试板子,他能通过简单的按钮和LED来简单实现楼宇核心部分的火警检测、消防系统状态以及云端通讯等功能,测试板子如图5.4所示。

图5.4 基础功能测试PCB板实物图
楼宇人员身份检测部分与楼宇模型放在一起,摄像头、指纹模块安放在通道入口处,人脸识别屏幕由于空间问题,暂时摆放在楼宇模型的旁边,用亚克力安装好,如图5.5所示。

图5.5 楼宇人员身份检测部分实物图
太阳能逆变并网部分采用一块太阳能板与桥式整流电路连接,并与变压器和电网相连,实现有源逆变。太阳能逆变部分实物图如图5.6所示 。逆变器的工作图片如图5.7所示。

图5.6 太阳能逆变部分的实物和连接

图5.7 逆变器实物工作图
5.2 系统测试
在测试过程中,主要从防火系统的灵敏度,云平台上报的实时性,指纹识别和人脸识别的准确度,以及太阳能逆变的效果等方面进行测试。测试设计的功能是否符合预期效果。
5.2.1 行人感应自动灯光功能
由于烟雾传感器系统在进入工作之前需要预热,同时也因为云平台和网络需要时间连接,所以在启动系统之前设计了初始化。当系统上电后,会自动进行初始化,屏幕上会自动显示作品信息,并进入初始化倒计时,同时开始连接网络,并实时显示网络和点灯科技连接状态,如图5.8所示。

图5.8 初始化时屏幕的显示内容
初始化完成后,系统会自动进入工作模式,并从网络获取时间。当时间处于6时~16时内,如有行人经过红外热释电传感器不会开启灯光。当16时~次日6时内,如有行人经过,则会开启对应区域的照明灯光。这里我用人手模拟行人通过,可以看到灯光的效果很好,如图5.9所示。

图5.9 人手模拟行人经过,系统会自动开启灯光
除此之外,楼宇的灯光还可以在手机点灯科技平台进行统一控制,当按下对应区域灯光开关后,楼宇的对应区域会自动开启灯光。图5.10以办公2区域测试为例。

图5.10 点灯科技平台对楼宇灯光的控制
5.2.2 中央屏幕显示和中央空调功能
在走廊的墙壁上还安装有大屏,系统会实时从心知天气平台获取天气预报和系统时钟,并在屏幕上显示出来。今明两天天气如图5.11和5.12所示。

图5.11 显示屏显示今天天气和实时时钟

图5.12 显示屏显示明天天气和实时时钟
同时,系统还会自动的检测室内外的温湿度和手机端设定的空调温度,并在屏幕显示出来,如图5.13所示。

图5.13 显示屏显示室内外温湿度和空调设定温度
由于半导体制冷片功率过高,采用的电源无法驱动,所以使用散热风扇和指示灯代表空调系统。当室内温度大于手机设定温度时,空调风扇和制冷系统会同时启动,如图5.14所示,当温度降低后会自动关闭空调,如图5.15所示。

图5.14 空调启动运转

图5.15 空调停止运转
5.2.3 火灾报警检测与云平台操控、显示报警功能
按在本论文5.1节已经介绍,楼宇对应区域上部安装有烟雾和火焰传感器,并安装喷淋喷头,用于检测火灾。测试时采用打火机来代替火源,同时并没有将水泵连接到水箱。在论文3.3中介绍到MQ-2气体传感器,检测到可燃性气体也会触发烟雾报警,所以在测试中,我采用打火机气体和打火机火焰共同作用来模拟火灾,如图5.16所示。

图5.16 打火机模拟火灾现场的情况
以走廊一区域为例,首先先对烟雾传感器释放打火机气体,激活烟雾传感器,然后将打火机点燃,激活火焰传感器,此时,全部灯光会同时亮起,同时可以清晰的听到继电器发出咔嗒的声音,带动电磁阀打开,发出咔嗒的声音。经过2~4s后,水泵开始运转。将手放在喷头附近会明显感觉到有风吹出,证明喷淋装置已经工作。灭火系统工作状态如图5.17所示。分图a为电磁阀和继电器工作图,分图b是水泵工作图。

(a)电磁阀和继电器正在工作

(b)水泵正在工作
图5.17 灭火系统工作状态实拍图
继续点燃打火机,数据会上传到云端,巴法云公众号会接收到对应区域火灾报警的信息,如图5.18所示。企业微信也会接收到报警信息,如图5.19所示。短信平台也同时收到了报警的信息,如图5.20所示。

图5.18 巴法云公众号接收报警信息截图

图5.19 企业微信群接收报警信息截图

图5.20 手机短信平台接收报警信息截图
在点灯科技平台的楼宇区域,监测部分也会实时显示该区域的状态如图5.21所示。分图a为楼宇正常时点灯科技显示图,分图b楼宇区域着火时点灯科技显示图。

(a)楼宇正常时点灯科技显示

(b)楼宇区域着火时点灯科技显示
图5.21 点灯科技平台实时更新显示状态
5.2.4 楼宇人员指纹检测功能
指纹检测部分会在系统上电后自动启动,屏幕会实时显示操作指示,如图5.22所示。

图5.22 指纹检测部分屏幕显示的内容
将管理员身份卡放在RFID感应区,按下KEY1进入添加指纹模式,屏幕上显示出请按手指,如图5.23。

图5.23 管理员卡刷卡和添加指纹显示
此时可以将管理员卡移开,并在指纹传感器上按下手指,屏幕会显示识别成功,然后自动进行第二次识别,如果两次显示比对成功,则会进入生成指纹模板环节,如图5.24所示。

图5.24 指纹比对成功,生成指纹模板
生成完成后进入选择ID和存储界面。此时,根据屏幕提示按下KEY2或KEY4,选择指纹ID,如图5.25所示。然后根据屏幕提示按下KEY3,即可将指纹模板存入模块。如图5.26所示。

图5.25 选择指纹ID,保存

图5.26 按下KEY3,指纹录入成功
如果两次指纹比对失败,屏幕会显示对比失败,如图5.27所示。随后自动退出,下次再进入管理员模式需要再次刷卡。

图5.27 指纹识别失败,屏幕显示对比失败
验证指纹功能:当按下KEY5,进入验证指纹模式,屏幕上显示请按手指,此时,在指纹模块上按下手指,系统会自动检测指纹,如果识别成功,会在屏幕上显示验证成功,并显示出验证分数,同时开启舵机,代表门已开,如图5.28所示。过3~5s舵机会自动关闭。

图5.28 验证成功,舵机打开,屏幕显示验证分数
删除指纹功能同样需要管理员操作,将管理员身份卡放在RFID感应区,按下KEY3,进入删除指纹操作,如图5.29所示。此时,可以通过KEY2和KEY4选择要删除的指纹ID,按下KEY3删除,如图5.30所示。

图5.29 指纹删除时屏幕显示的内容

图5.30 选择指纹ID,删除指纹
5.2.5 楼宇人员人脸识别功能
RDK-X5在上电后会自动开机,当开机完成后,会进入到桌面,此时点击屏幕下方任务栏的脚本图标即可启动人脸识别。桌面如图5.31。

图5.31 RDK-X5的桌面图标
当脚本启动成功后,系统会调用摄像头进行图像采集,并且在屏幕上实时显示出来,当有人进入摄像头范围,系统会自动在识别到的人脸周围框出方框,并绘制眼部特征点用于进行身份检测,如图5.32所示。身份认证成功后,RDK会发出脉冲信号,经过光耦隔离传给指纹检测部分,触发单片机中断,并执行舵机旋转,如图5.33所示。同时会播放“已开门”提示音,手机端也会显示“门开了”。

图5.32 检测到人脸并进行特征识别

图5.33 识别成功舵机开门效果
除此之外,还请了其他人脸库中的人进行识别测试,图5.34是我带的学弟李思雨,本文4.4人脸识别流程设计中的人脸识别图片包含他的照片,实测也能识别成功。

图5.34 其他人测试的人脸识别效果
当识别到不认识的人脸,RDK会将其视为未知身份并播放“识别失败,请重试”的提示音,舵机也不会打开。显示界面如图5.35所示。

图5.35 陌生人脸,识别失败
由于人脸识别是用RDK-X5的CPU运行,实际帧率稍微差一些,再加上本人对于Python编程不熟练,采用了dlib官方的模型来实现人脸识别,目前识别准确度超过90%,遂未再进行优化。
5.2.6 外来来宾进出远程控制功能
系统还支持云端控制楼宇闸机的动作,当有外来人员需要进入楼宇时,可以通过点灯科技平台的开门按钮来打开舵机,平台上也会实时显示楼宇闸机的工作状态。闸机开启如图5.36所示,闸机关闭如图5.37所示。

图5.36 闸机开启,手机同步显示

图5.37 闸机关闭,手机同步显示
5.2.7 太阳能逆变并网功能
本系统还有太阳能逆变并网功能,使用太阳能电池板连接晶闸管逆变器,逆变系统的实物图如图5.38所示。

图5.38 太阳能逆变系统的实物连接
当阳光充足时,电压为19伏,满足逆变条件,系统会自动启动逆变,此时电流表会摆动到大约90mA位置,如图5.39所示。

图5.39 逆变时电流表的显示
理论上为了提高太阳能发电的效率,需要对其输出的电压进行DC-DC变换,并使用MPP算法进行最大功率点追踪[18]。但由于时间问题和硬件基础不牢,暂时并没有做这一步,而是直接采用太阳能输出连接逆变器的方法进行太阳能并网发电。这款太阳能板,最大功率点电压是17.9V,暂时在单片机中设置太阳能低于15V自动停止逆变,防止损毁太阳能板。目前也在继续研究MPPT最大功率点追踪技术,如果能实现,后续会将单片机程序限制电压设置为2V,提高利用率。
实际运行过程中,还在直流侧串入了一个灯充当电阻, 当灯泡亮起时,代表逆变正常。如图5.40所示。

图5.40 逆变器指示灯,同时充当电阻负载
示波器测量交流测的波形如图5.41所示,在交流电波形上升阶段和下降阶段,各有一个谐波,可能是由于滤波器没有做好的缘故。

图5.41 交流侧电压波形
HLW8032电能质量模块会自动计算发电量,并将发电量和太阳能工作状态一同发送到核心板,并在中央大屏上显示出来。如图5.42所示。手机点灯科技平台也会实时显示太阳能板的状态和发电量。如图5.43所示。

图5.42 显示屏显示太阳能工作状态和发电量

图5.43 手机端显示太阳能工作状态和发电量
当太阳能板出问题时,巴法云平台也会弹出提示,报告逆变系统已停止,快速前往查看。如图5.44所示。

图5.44 太阳能异常时巴法云的提示信息
随着社会的发展,使用晶闸管进行有源逆变的方法已经逐步被淘汰,性能更优秀的MOSFET和IGBT等全控器件在逆变方面效果更好[19]。在学弟李思雨和刘芮良的帮助下,目前我还在尝试全控器件的并网,相比于半控器件,它需要使用PR算法或PLL锁相环,同时需要更精准的脉冲采样,对于算法和硬件要求更高。鉴于本人在算法和硬件方面不是很熟练,所以该方案仍处于测试阶段。目前离网运转已经实现,PR算法暂时无问题,闭环控制输出波形如图5.45所示,从右侧Math1波形可以看出效果非常好,并且几乎没有谐波。但目前仍未实现并联和并网运行,还需要进一步的研究学习。

图5.45 全控逆变器使用PR闭环控制离网逆变波形
5.2.8 断电自动电源切换功能
系统设置有备用电源方案,当发生意外情况例如火灾、电路检修等,主电源断开,此时电源切换模块上灯光熄灭,系统会在0.1s内自动切换到蓄电池供电,维持系统的正常运转,如图5.46所示。由于蓄电池无法带动大功率的设备,例如空调等,备用供电系统只支持火灾检测系统、云平台系统、指纹识别系统等低功耗系统运转,空调等大功率设备会自动停止如图5.47所示。当电路恢复后,电源会自动切换到市电模式,同时会给电池充电,为下次异常断电做准备。

图5.46 断电后备用电池接入运转

图5.47 系统低功耗运行,空调等大功率设施无法使用
结 论
综上所述,本系统基于STM32和ESP8266等单片机,成功构建了一个消防控制、人员身份识别、太阳能逆变并网于一体的超级楼宇管理系统。系统通过多传感器融合技术实现了火灾的实时监控,利用烟雾传感器和火焰传感器形成多重检测机制,提高了火情判断的准确性;同时集成了自动喷淋装置对火焰进行初步压制,有效延缓火势蔓延,为人员疏散争取宝贵时间。系统已实现数据上传云端与短信报警等功能,短信报警功能通过AIR780E模块实现,提供了网络中断情况下的应急通知机制。在人员身份识别方面,系统采用了RDK X5来实现人脸识别身份认证,并结合指纹和RFID功能提供了两种认证方法,指纹模块采用光学式识别技术,支持多角度指纹采集,在身份验证方面取得了良好的效果。太阳能逆变并网功能使用了传统的可控硅源逆变技术,可靠性高、成本较低且技术成熟,实现了节能环保。
尽管当前系统在有源逆变技术、网络连接方式、人脸识别技术等方面仍有提升空间,例如使用了市面上几乎被淘汰的晶闸管源逆变技术,并且没用使用MPPT功率点追踪,AIR780E目前也未实现流量上网功能,系统依然依赖Wi-Fi网络,在某些保密公司有被不法之人入侵的可能,人脸识别并未采用活体检测系统,使用照片也能识别通过,无法抵御照片欺骗。但本研究的成果已充分验证了系统的可行性和实用性。未来,我们将继续优化系统设计,攻克现有技术瓶颈,并探索电话报警等功能的实现,以期打造更加智能、高效、可靠的楼宇管理系统,为智慧城市建设贡献力量。
致 谢
时光飞逝,大学四年,一转眼就过去了,在这四年呢,遇到了很多很多很多的事情,想说的话有很多,却不知从何说起。
大一刚来的时候挂了科,一直都在摆烂。后来疫情期间在电子协会梁骜驹等学长带领一下,打了一场校赛,得了第二名,这激起了我对电子方面的爱好,也和我的校赛队友们结下了深厚的友谊。虽然补考没有过,但至少每天都很快乐,保持着积极向上的心态面对疫情和封校。
直到大二上学期开始了,碰到了李思雨,遇到他是我人生中的转折点,在他的陪伴和鼓励下,我精通了51单片机并浅学了STM32。由于技术不佳,下半年仍然没有得到什么好的成绩,电赛也弄得一团糟。很感谢张雨佳和鲁秋,我们一同参加了2023年的物理竞赛,得了省三,从此打开了参加竞赛的大门。这也是我人生中参加的第一个比赛。剩下的时光里,和李思雨一起顶过了疫情,熬过了寒假,结下了深厚的友谊。在我心里,除了我的父母家人,他比任何人都重要,我也真的很喜欢他,也在认真的陪着他度过大学的时光。
2023年是大学四年中最美好的一年,这一年打了好几个比赛,拿了好几个省一。秉承着传承的精神,在这一学期我也带了电子协会的校赛,很幸运带的学弟学妹绝大多数都进了最后的大活决赛,同时我的技术也突飞猛进,钻研着各种比赛。
在这一年中,我要感谢我的系主任李福云老师和我的仿真设计大赛指导老师常凤筠。李福云老师教会了我PLC、变频器、HMI、WINCC技术,这些技术在我后来的面试中发挥了很大的作用。常凤筠老师带领我在仿真大赛上获得了一等奖,这也是我人生中的第一个一等奖。张庆思老师带领的伯努利杯发电机大赛让我见到了其他的学校环境,也激起了我对发电机运维方面的兴趣。11月打了一场华为ICT,又拿到了第二个一等奖。
时光飞逝,2024年仿佛因为太过平静而没有什么波澜。暑假电赛,破天荒选择的电源题:AC-AC变换器,这次由李思雨主打,我当辅助,很感谢王玉峰老师为我们提出的方案和支持,可惜由于对电源题的储备不够,只是拿了个二等奖,遗憾收场。
大四上学期意料之中,仿真设计大赛和李思雨并肩作战,又再次拿了一等奖,伯努利发电机大赛将我大学中的比赛做了一个收尾。真的很感谢常凤筠、李福云、王玉峰、张庆思等老师在大学期间对我的帮忙和指导。
在临毕业之前,又带出了一批学弟学妹,曾经带过的蔡婷婷、冯岚清、王菲、杨杰、董佳琪、李莹、刘芮良、赵平等很多很多的学弟学妹,以及曾经并肩作战过的马茁铭、于海滨、余胤翔、包若彤、董立鑫、李丽鑫、李银银、尹烁茗、郑昌威等。很感谢你们在大学期间对我的帮助,遇到你们真好。
在班级里面,我最感谢我的两个学委,李昊狄和许少繁,他们在大学四年里尽了学委的职,尤其是李昊狄,我愿称之他为最称职的学委。最后他们俩一个去了国家电网,一个考上了研究生。其他的同学在我学习方面和生活方面也帮助了很多,虽然就此分别,从此天各一方,但又永不相忘。
在大学期间也要感谢我的导员王冰老师,从大一的时候,王老师就一直在帮我调节情绪,解决我生活和学习上的问题,对我无微不至的关心和照顾。有了王冰老师,我才能平安的度过大学四年,突然分别也很舍不得。
如果有人问:宋楠,你大学的遗憾是什么呢?也许是落榜电网考试?也许是平平淡淡的生活?也许是2024年的电赛?和小李思雨呆的每一天,每一月?还是和学弟学妹们的点点滴滴?说不难过那是假的。舍不得离开学校,舍不得同学,舍不得电子协会。但是只要岁月静好,看着他们发展越来越好,我也就放心的去工作了。
曾经带过的学妹李莹对我说:“从大一开始认识的学长现在要工作了,要天天开心鸭,遇到不开心的就去吃喝玩乐,总有事情会让你变得开心,从大一开始就一直找你问问题哈哈哈,我也不知道我哪来这么多问题,不过俺现在已经不是之前的我了,出师了哈哈哈,以后问题都能自己面对了,楠哥不用担心协会还有我们,不会让协会倒了的,剩下的就交给我们啦,毕业快乐!”
总而言之,很感谢大学四年来陪伴我的学长学姐学弟学妹们,有你们的陪伴,我才能一直支撑到现在,尤其是要感谢李思雨,如果没有他,我可能还是一个平平无奇,每天混日子的差生。如果没有他,我甚至有可能早早就退出电子协会,也没有办法找到好工作,甚至毕业证都有可能没有。也要感谢常老师,如果不是那一个一等奖说不定我都坚持不下来对这方面的热爱。还要感谢李老师,是她让我在PLC和变频器方面有了那么大的造化,虽然未能从事相关的工作,但是这份技术会永远记在我心里。
光阴似箭,日月如梭,工作的日子不好熬,愿以后的日子越来越好,只要朝着目标走,我们就会越来越亮。轻舟总会过万重山的,加油!
参考文献
- 秦健勇,杨丽君.基于物联网技术的楼宇智能化综合安防监控系统设计[J].自动化与仪器仪表,2021,(05):82-86.
- 郭晋.物联网技术在楼宇智能化系统中的应用[J].大众标准化,2022,(15):54-56.
- 刘文浩.智慧楼宇消防应急与联动控制系统研究[D].西安:西安理工大学,2024.
- 叶子,李铁,袁北哲.人脸识别门禁产品质量安全现状与风险监测分析[J].标准科学,2024,(09):138-142.
- Gao W ,Jiang N ,Guo Q .Facial recognition payment is cool: coolness, inspiration, and customer continuance intention to use facial recognition payment[J].Financial Innovation,2025,11(1):31-31.
- 雷鸣远.户用光伏并网系统及其控制方法的研究[J].电工技术,2023,(S1):283-285.
- 黄圆明,徐泽.基于整流-有源逆变电路的电力机车节能调速系统[J].科学技术创新,2020,(12):41-42.
- Almohammadi K ,Allouhi A .Techno-economic assessment and optimization of grid-connected solar PV systems in Saudi Arabia’s building sector[J].Utilities Policy,2025,93101885-101885.
- 沈金聪,杨飒,梁可婷,等.基于STM32和巴法云的多功能拐杖设计[J].工业控制计算机,2023,36(08):151-153.
- 邹平吉.基于嵌入式平台的深度学习人脸识别关键技术研究[J].科学技术创新,2025,(01):92-95.
- 王可,邹佳鸥,刘佳.基于STM32的家庭安防报警设计[J].电子制作,2024,32(09):94-97.
- 霍宇宏.物联网楼宇智能化综合安防监控系统设计[J].中国科技信息,2022,(24):75-77.
- 朱壮,胡绍林,柯烨.基于STM32与机智云的楼宇火灾监测系统设计[J].物联网技术,2025,15(02):24-28.
- Ma G ,Chen L ,Wang Y , et al.Design and Implementation of Smart Home System Based on STM32 Microcomputer[J].International Journal of Advanced Network, Monitoring and Controls,2023,8(4):11-19.
- 黄昌盛.基于电子标签(RFID)的智能一体式无线仓位识别系统设计[J].石油库与加油站,2024,33(06):8-11+56-57.
- 张桂莲,石宜金,谭贵生,等.基于点灯科技的智能家居控制系统设计[J].现代信息科技,2023,7(08):185-188.
- 杨振杰.基于深度学习的人脸检测与遮挡行人重识别算法研究[D].厦门:厦门大学,2021.
- 方谦.光伏并网对电能质量影响的仿真分析及治理对策[J].机电信息,2023,(22):14-20.
- 冼世豪,姚光业,何佳鑫,等.基于STM32的单相并网逆变器设计[J].电子制作,2024,32(14):11-14+22.
附录A 本设计全部资料链接
本项目全部代码、资料、内容及任务书和声明见: https://pan.baidu.com/s/14adpxFCur_xxOLNARxWtFw
附录B 系统核心板STM32的代码






附录C 心知天气和云平台部分的代码


附录D 太阳能逆变并网STM32的代码



附录E 关于人脸识别实现的技术细节和指令
RDK-X5与树莓派都是Linux系统开发板,这里我展示Linux的指令。
完整的.img镜像见附录A的资料。
安装依赖库可以选择清华园的镜像或者使用树莓派本身的镜像也可以。使用RDK X5时需要注意清华园镜像的GPS密钥问题和系统版本,有一些系统版本可能不可靠,容易造成死机或者安装失败。如果安装的纯净系统可能需要补充很多库。
1、首先需要检查一下Python有关的安装库,请运行:
sudo apt-get update
sudo apt-get install -y build-essential cmake libopenblas-dev liblapack-dev libx11-dev libgtk-3-dev
sudo apt-get install -y python3-dev python3-setuptools
#最重要的是Python。
2、使用脚本安装dlib库:
将附录A程序中的install_dlib.sh复制粘贴到树莓派桌面,运行下面的指令,将xxx改为实际的命名:
cd /home/xxx/Desktop
chmod +x install_dlib.sh
./install_dlib.sh
安装时间较长,并且可能需要按需补库。
3、创建一个Python虚拟环境,执行:
sudo apt install python3-venv python3-full
python3 -m venv ~/face_env
source ~/face_env/bin/activate
pip install opencv-python numpy dlib imutils
4、激活虚拟环境
要进入创建的虚拟环境,执行以下命令:
source ~/face_env/bin/activate
成功激活后,你会看到命令提示符前面出现 (face_env),表示当前已在虚拟环境中。
5、激活环境后,可以安装项目所需的包:
pip install opencv-python numpy dlib imutils pyserial
6、安装完依赖后,可以在虚拟环境中运行脚本,我的树莓派名字是pi,实际需要修改:
source ~/face_env/bin/activate
python /home/pi/Desktop/face/eye_detect.py
如果一切没问题的话就会弹出运行界面。如果有其他问题就需要按需补库,确保执行成功。(有可能会报GPIO或者I2S音频的错误)
在树莓派中,我还使用了操控底层的方法进行GPIO的控制,这与RDK X5的方法不同,RDK使用的是Hobot.GPIO as GPIO,一些树莓派也可以使用import RPi.GPIO as GPIO。如果使用底层地址控制方法,需要注意树莓派的版本,例如RaspberryPi4和5地址不同。并且需要sudo指令:
source ~/face_env/bin/activate
sudo ~/face_env/bin/python /home/pi/Desktop/face/eye_detect.py
退出按‘q’即可。
7、关于创建桌面快捷方式:
步骤1:首先需要创建一个脚本:
nano ~/face_recognition_launcher.sh
将下面的内容添加进去:
source ~/face_env/bin/activate
sudo ~/face_env/bin/python /home/pi/Desktop/face/eye_detect.py
按下Ctrl+X,然后按Y,最后按回车即可保存;
步骤2:设置脚本权限
chmod +x ~/face_recognition_launcher.sh
步骤3:创建桌面快捷方式
nano ~/Desktop/FaceRecognition.desktop
将以下内容添加到文件中:
[Desktop Entry]
Type=Application
Name=人脸识别门禁系统
Comment=运行人脸识别门禁控制系统
Exec=lxterminal --working-directory=/home/pi -e "bash -c '~/face_recognition_launcher.sh; read -p \"按Enter键退出...\"'"
Icon=/usr/share/icons/Adwaita/scalable/devices/camera-web-symbolic.svg
Terminal=false
Categories=Utility;
保存
步骤4:让桌面图标可执行:
chmod +x ~/Desktop/FaceRecognition.desktop
然后就可以通过点击桌面上的快捷方式打开人脸识别功能了,如下图:

至于李思雨是谁呢,他是我2022年在辽宁科技大学认识的学弟,电源技术较好,但是工业控制类不强,算是术业有专攻,和我正好相反。在此也感谢他在大学4年内对我的陪伴和帮助,文章末尾附上我俩同时参加2024全国大学生电子设计竞赛的照片。未来无论到哪,多远都要常联系
。

lisiyubabyiloveyou
更多推荐


所有评论(0)