APP下载

智慧居家养老安防系统的设计与实现

2022-03-09刘娜孙申刘国权温丹丽李晖

软件工程 2022年2期
关键词:单片机养老传感器

刘娜 孙申 刘国权 温丹丽 李晖

文章编号:2096-1472(2022)-02-59-04

DOI:10.19644/j.cnki.issn2096-1472.2022.002.014

摘  要:系统从空巢老人的安全出发,融合互联网、物联网及无线传感器技术,完成智慧居家养老安防系统的设计实现,对老人的居住环境进行优化。从功能的角度出发,将系统分为软件和硬件模块设计。整体采用分治策略,对通信协议、单片机、外围传感器和语音模块进行设计,并将各个模块系统地结合起来,最终设计出成体系的智能家居养老安防系统。系统的实现主要在于通信协议的设计和单片机系统的模块调用,其中安全守护为系统核心实现点,提供安全保障的同时,关心老人的心理健康及日常生活。

关键词:养老;语音助手;单片机;传感器

中图分类号:TP311     文献标识码:A

Design and Implementation of Care Security System for Smart Home

LIU Na, SUN Shen, LIU Guoquan, WEN Danli, LI Hui

(Software College of Shenyang Normal University, Shenyang 110034, China)

1332297461@qq.com; 2684293999@qq.com; 3047605657@qq.com;

wdl0119@163.com; 593466728@qq.com

Abstract: In view of the safety of the empty nesters, this paper proposes to design and implement a smart home care security system, which integrates Internet, Internet of Things and wireless sensor technologies. Firstly, the living environments of the empty nesters are optimized, and the system is divided into software and hardware module design based on functions. Then, the overall divide-conquering strategy is adopted to design the communication protocol, single-chip microcomputer, peripheral sensors and voice modules. Finally, all of the modules are systematically combined to design the care security system for smart home. The main realization of the system lies in the design of the communication protocol and the module call of the SCM system. Among them, safety guarding is the core realization point of the system, which provides security and protection, while caring for the mental health and daily life of the elderly.

Keywords: elderly caring; voice assistant; singlechip; sensor

1   引言(Introduction)

5G给目前的科技大环境带来一个巨大的改变,在科技大环境下的物联网分支上,也会因为5G的到来,使物联网的“物”更加普及便利,涉獵更加广泛;使物联网的“网”更加便利迅速,更加适应大环境下大基数人口的需求。智慧养老将成为时代的发展趋势和未来的主流养老方式。智能之家,万物互联,显然智能家居已经成为未来生活的一种必然趋势。本项目以居家养老模式为基础,融合互联网、物联网及无线传感器技术,完成智慧居家养老安防系统的设计实现。

2   设计功能(Function designing)

本系统的功能由安全守护、智能医疗救助、简易语音助手、智能化辅助设计四个模块构成,全方面考虑老人的需求和健康防护。

2.1   安全守护

该技术是智慧养老安防系统的核心,依靠在房屋内布置各类传感器,通过WiFi无线模块将数据传入路由器后传入云服务器。上位机采用微信小程序,对于不同的传感器数值,控制端会自动采取相应的措施来保证老年人生活的舒适度,通过收集各处的异常环境信息做出应急处理。

2.2   智慧医疗救助

通过在老人卧室安装自动健康感知器,收集老人作息睡眠动态数据,形成特定的规律。通过大数据人工智能分析,形成“需关心指数”,并将该指数通过物联网传输到平台,分发到子女和社区(机构)处,从而形成主动关爱、精准关怀等高效的服务。同时,对于独居老人来说,在紧急情况下很难及时拨打电话,但他们可以通过按钮将信号传递到子女的客户端。根据老人的发病规律,在老人家里定点场所(如床边、客厅、卫生间)安装紧急报警系统按钮,实现紧急情况一键求助。

2.3   简易语音助手

老人行动不便,为了给老人的安全多一份保障,也为了老人更好地适应本系统,我们提供了智能语音助手,当老人发生危险,无法触摸到呼救按钮时,智能语音助手“小啦”就起到了非常重要的作用。它可以感知到危险的发生,及时和其他模块通信完成对老人的守护功能。

2.4   智能化輔助设计

老年人的记忆力下降,会偶尔忘记小物品的位置,例如眼镜、拐杖等。在这些易忘的物品上贴上RFID电子标签,则能够估计出物品的大概位置。RFID可以通过射频信号得到目标的相关数据,是物联网中常用的短距离无线通信技术之一。RFID有着一整套完整的调制器、编码器、存储器、控制器和天线,根据应用需求,可以选择内置电池配合使用。

3   系统实现(System implementation)

3.1   软件实现

本系统使用了物联网的三层结构,感知层完成了数据的采集处理;传输层将数据传输至应用层;应用层对家庭环境数据进行存储和分析后,将数据上传至云数据库,进而实现了环境气体监测、短信发送、视频监控等功能,如图1所示。

部分通信协议代码如下:

void MQTT_NewBuffer(MQTT_PACKET_STRUCTURE *mqttPacket, uint32 size)

{

uint32 i = 0;

if(mqttPacket->_data == NULL)

{

mqttPacket->_memFlag = MEM_FLAG_ALLOC;

mqttPacket->_data = (uint8 *)MQTT_MallocBuffer(size);

if(mqttPacket->_data != NULL)

{

mqttPacket->_len = 0;

mqttPacket->_size = size;

for(; i < mqttPacket->_size; i++)

mqttPacket->_data[i] = 0;

}

}

else

{

mqttPacket->_memFlag = MEM_FLAG_STATIC;

for(; i < mqttPacket->_size; i++)

mqttPacket->_data[i] = 0;

mqttPacket->_len = 0;

if(mqttPacket->_size < size)

mqttPacket->_data = NULL;

}

}

3.1.1   环境检测软件

通过传感器获取到的室内信息由网络传入服务器平台上,用户通过操作平台可以查看室内信息。当达到危险值时,蜂鸣器进行报警,同时微处理器向GSM短信模块发送命令,通知家人家中有危险。

3.1.2   检测界面的实现

本系统的检测界面包括动态Web页面和静态表单页面。主页面为用户提供了两种功能,即环境检测和视频监控。每个模块间的通信都通过CGI来传输。

3.2   硬件实现

硬件系统采用STM32F103C8T6单片机对智慧居家养老系统进行设计,还包括感知层的物联网传感器节点、上位机(PC机、终端显示设备等)和对系统数据进行存储的服务器。使用ZigBee无线传感技术作为通信网络,实现节点、路由器和协调器之间的信息传输。

3.2.1   传感器电路模块设计

传感器电路模块采用的数字温湿度传感器是DHT21,测量范围是0%—99.9% RH,-40 ℃—+80 ℃。湿度的测量精度可达±3% RH,温度的测量精度可达±0.5 ℃。其供电最高电压为5 V,与MCU连接时直接使用3.3 V电源即可带动。DHT21与外部MCU的连接如图2所示。DHT21的数据格式由三部分组成,即16 bit的湿度数据、16 bit的温度数据和8 bit的校验和。位数据“0”和“1”的格式有以下规则,即:“0”为50 μs的低电平和27 μs左右的高电平,而“1”则是50 μs的低电平和70 μs左右的高电平。所以,在处理数据的时候应该作一个“0”和“1”的判断。

对此模块初始化的代码如下:

u8 DHT21_Check(void)

{

u8 tt=0;

DHT21_IO_IN();

while (DHT21_DQ_IN&&tt<100)        {

tt++;

delay_us(1);

};

if(tt>=100)return 1;

else tt=0;

while (!DHT21_DQ_IN&&tt<100)    {

tt++;

delay_us(1);

};

if(tt>=100)return 1;

return 0;

}

3.2.2   可燃气体传感器电路模块

可燃气体传感器电路模块采用MQ-X型气敏元件检测可燃气体。首先用輸出引脚与MCU的模数转换相连接,采集出当前气体浓度值,实现对环境的监测。

3.2.3   报警电路模块设计

报警电路模块采用蜂鸣器和三极管实现。一般来讲,蜂鸣器有两种,一种是自起振,另一种需要振荡电路。本课题设计采用的蜂鸣器是自起振的,而三极管可以起到提高功率的作用。

void BEEP_Init(void)

{

GPIO_InitTypeDef  GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能PA端口时钟

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //BEEP-->PA.0 端口配置

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;        //推挽输出

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50 MHz

GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOA.0

GPIO_SetBits(GPIOA,GPIO_Pin_0); //PA.0 初始化为高电平

}

3.2.4   语音播放模块

语音播放模块使用HBR640,其系统结构较为简单。HBR640采用国产芯片配合扬声器与喇叭完成语音处理功能。本模块采用SPI Flash作为数据存储器,内置词条100 个。其优点在于不需要单独进行语音识别的算法训练,语音识别率较高。本模块只遵循串口协议,所以控制方便。

本模块主要实现了初始化函数、接收和校验函数、设置麦克风灵敏度的函数,最重要的是设置了需要识别的语音组。为了节约功耗,还设置了休眠模式。关于语音的播放还设置了播放语音的序号,并且音量可调。

3.2.5   WIFI串口通信模块

WIFI串口通信模块采用ESP8266模块将ZigBee 获取的数据上传至云端。其工作电压是3.3—3.6 V,内置高速缓冲器,所以处理性能非常高。其具有激活、睡眠和深度睡眠三种模式,在睡眠模式下,消耗的电流小于12 μs,保证了它的超低功耗;内部高度集成,具有电源管理等电路,所以外界电路简单,体积小。

采用此模块在实现时需要利用中断防止串口反复被刷新,代码实现如下:

void USART1_IRQHandler(void)

{

if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)

{

if(esp8266_cnt >= sizeof(esp8266_buf)) esp8266_cnt = 0;

esp8266_buf[esp8266_cnt++] = USART1->DR;

USART_ClearFlag(USART1, USART_FLAG_RXNE);

}

}

3.2.6   BH1750光照模块

测量公式:

光照强度=(高字节+低字节)/1.2×测量精度

与单片机相连时需要IIC通讯,其工作流程分为三步:首先发送通电命令;其次发送测量命令,等待测量结束后读取测量值;最后根据公式计算结果。

分析后经过计算可得:

光照强度=(寄存器值[15∶0]×分辨率)/1.2

只测量光照强度不需要很多指令,只需要BH1750的通电指令和测量指令,所以代码较为简单:

uint8_t i2c_CheckDevice(uint8_t _Address)

{

uint8_t ucAck;

i2c_Start(); /* 发送启动信号 */

/* 发送设备地址+读写控制bit(0 = w, 1 = r) bit7 先传 */

i2c_SendByte(_Address | BH1750_I2C_WR);

ucAck = i2c_WaitAck();     /* 检测设备的ACK应答 */

i2c_Stop();             /* 发送停止信号 */

return ucAck;

}

uint8_t BH1750_Byte_Write(uint8_t data)

{

i2c_Start();

i2c_SendByte(BH1750_Addr|0);

if(i2c_WaitAck()==1)

return 1;

//发送控制命令

i2c_SendByte(data);

if(i2c_WaitAck()==1)

return 2;

i2c_Stop();

return 0;

}

4   结论(Conclusion)

本项目依据国务院关于积极推进“互联网+”行动的指导意见,为消除传统养老的弊端,融合互联网、物联网及无线传感器技术,与居家养老相结合,设计出一个全新的“智慧”居家养老系统。该系统在安全防护方面考虑得更为全面、细致,不仅减轻了社区工作人员的负担,也缓解了社区工作人员数量少的现实问题。本项目不仅缓解了子女(尤其是独生子女)的压力,也让养老变得更加智慧安全,使家人省心放心。

参考文献(References)

[1] 邓桢文,程洪亮,蔡艺韵,等.基于物联网技术的智能家居系统设计[J].福建电脑,2016,32(02):21-22.

[2] 李亚慧,刘娜,刘国权,等.基于物联网技术的智能家居系统设计与实现[J].电脑编程技巧与维护,2021(04):125-126,139.

[3] 王铮.奶牛場环境实时监测与控制系统设计实现[D].合肥:安徽农业大学,2020.

[4] 丁振.基于STM32的智能化应急救援头盔设计与实现[D].北京:中国矿业大学,2018.

[5] 闵军.基于单片机技术的无线智能报警系统设计[D].上海:上海应用技术大学,2019.

[6] KOSTICK K, ZUK P, LAZARO-MUNOZ G. Operationalizing agency in brain computer interface (BCI) Research[J]. AJOB neuroscience, 2021, 12(2/3):203-205.

[7] 脱发小白龙.STM32系列第30篇——DHT11温湿度传感器[EB/OL].[2020-02-2].https://blog.csdn.net/qq_42930154/article/details/104532523.

[8] 史启文.PM2.5点源扩散预测模型及实时检测系统的设计[D].上海:东华大学,2016.

[9] 周红波.基于嵌入式的室内空气监测系统的应用研究[D].南昌:华东交通大学,2015.

作者简介:

刘  娜(2001-),女,本科生.研究领域:计算机科学与技术,嵌入式.

孙  申(1999-),男,本科生.研究领域:计算机科学与技术,嵌入式.

刘国权(2000-),男,本科生.研究领域:计算机科学与技术,嵌入式.

温丹丽(1965-),女,博士,教授.研究领域:网络控制,算法和故障诊断.本文通讯作者.

李  晖(1972-),女,硕士,副教授.研究领域:软件工程开发设计.

基金项目:沈阳师范大学“大学生创新创业训练计划”项目(X202110166135).

2145500520337

猜你喜欢

单片机养老传感器
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
基于单片机的SPWM控制逆变器的设计与实现
“传感器新闻”会带来什么
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
跟踪导练(三)2
养生不是养老
养老更无忧了
以房养老为何会“水土不服”?