孤寡老人看护系统的设计与实现
2020-05-19李鹏孙欣郑琳
李鹏 孙欣 郑琳
【摘要】本文通过对孤寡老人居家养老服务的分析与研究,设计出一套基于“孤寡老人看护站平台”和“智能呼叫终端”组成的孤寡老人看护系统。通过构建孤寡老人看护站平台,为集中化管理和信息分类处理提供一个高效可靠的后台处理软件。通过对智能呼叫终端的信息接收和处理,完成对不同设备地址管理,终端用户信息,终端呼叫分类处理,处理进度管理等功能的操作。
【关键词】孤寡老人看护;声光提示;智能呼叫终端;看护站平台;STM32
1. 系统硬件设计
本设计中选用STM32系列的单片机作为系统的核心MCU,STM32是意法半导体推出的32位高性能微控制器,采用Cortex-M4内核,工作频率可达168MHz,内置1024K存储器和192K SRAM,6個串口,3个SPI,17个定时器,114个I/O口,其中I/O口的工作方式推挽输出、开漏输出、高阻状态、上拉、下拉等均可通过设置寄存器的方式完成,保证其外围电路可靠工作的同时能有效减少元器件数量。本次系统硬件将围绕单片机最小系统、矩阵键盘、TFT液晶显示、声光提示、电源等电路完成设计。
1.1 STM32单片机最小系统电路设计
STM32单片机具有较强的代表性,基于Cortex-M4内核,内部功能拓展能力非常强大,作为一个完整的单片机系统,其最小系统主要由以下五个部分构成:电源电路、时钟源电路、BOOT启动电路、JTAG调试接口电路、复位电路。
1.2 矩阵键盘电路设计
矩阵键盘是STM32单片机外部设备中所使用的排布类似于矩阵的键盘组。矩阵式结构的键盘是将行线所接的单片机的I/O口作为输出端,而列线所连接的I/O口则作为输入。按键设置在行、列线的交点上,行、列线分别连接到按键开关的两端。无按键按下时,行线是处于高电平的状态,而当有按键按下时,行线电平是由与此行线相连的列线的电平决定的。
主要实现方式读入原理:先令单片机端口输出111000读一次,然后再令单片机输出000111读一次把两次的值相加,最后获取一个高位和低位分别有0的值即可判断键值。
1.3 TFT液晶显示模块电路设计
本设计中采用的 3.2 寸液晶屏的控制芯片是ILI9325。最大支持解析度为:HVGA,分辨率为320×240,接口可以为8位或者 16位并口,系统使用 16 位并口,通过可变静态存储控制器FSMC来进行操作,以发挥STM32的优势。
其中带 X 表示低电平有效,包括控制信号,数据信号。 由 CSX 信号线拉低开始进行写命令,RSX 信号线也置低则表示的是命令的写入,以 WRX 为低, RDX 信号为高,则表明了数据传输方向为写入,在第二个传输阶段传送的是数据,那么将 RSX 置高,表示写入的是数据。
1.4 声光提醒电路设计
本系统声光提醒电路设计采用蜂鸣器和红、绿色LED组成,考虑到孤寡老人可能出现的听力障碍问题,除了声音提示外,将增加红色和绿色指示灯帮助其识别一键呼叫功能是否正确完成。将D1-D2发光二极管阴极是连接在STM32的PB6-PB7管脚上。如果要使D1指示灯亮,只需要控制PB6管脚输出低电平,如果要使D1指示灯灭,只需控制PB6输出高电平。对于D2的控制方法也是一样的。
1.5 RS485通信电路设计
考虑到远距离通讯和降低通信信号被干扰问题,将使用半双工通讯来进行完成同一时刻只接收或发送数据的工作。在设计中, TTL电平转换到差分电平的操作选择使用SP3485芯片进行,SP3485芯片有一个DE即发送使能的引脚来控制着RS485线的数据传输方向,而这个引脚的高低电平控制在对数据交换质量中有非常重大的应用。当主设备发送完成以后,需要其在1byte的时间内将RS485总线进行释放,否则在设备收到数据以后,再回送数据时就会与主设备对总线占用的问题而产生冲突,这在RS485总线上是不允许的——RS485总线没有仲裁机制。因此,需要将DE引脚在主设备最后一个字节的最后一位数据的一位发送完成的时间内就从高电平拉到低电平。STM32单片机可以精确、高效地控制DE引脚。单片机PB0引脚将控制DE电平的高低变化,使得UART发送与接收数据。
1.6 电源电路设计
本系统选择 LD1117为LDO 稳压器,实现从5V输入电源到可靠地转换为 3.3V系统工作电源,并能提供有效的过温、过流保护,并提供1000mA的大电流输出。设计过程中考虑到负载和输入,选用220uF负载电容,能有效应对负载电流的瞬间变化,提供可靠保证。
2. 系统软件设计
2.1 孤寡老人看护系统主程序设计
围绕一键呼叫功能由矩阵键盘的外部输入扫描,通过中央处理器(MCU)对行、列的扫描结果识别,中央处理器将获得的数据与设定的键值进行比较之后,将按键值代表的信息显示在TFT液晶屏上,利用TFT液晶屏可将用户所需要的信息完整的展示出来,3.2寸TFT液晶屏在展示数据以及成像的过程中性能十分优异,并且将在此需要传输的信息通过串口发送至接收计算机,同时控制LED闪烁和蜂鸣器产生提醒音,声光报警系统的设计更体现了整个系统报警的本质。红绿灯信号的设计对于用户来说是十分友好的,简洁明了的操作以及通俗易懂的灯光设计也让整个系统变的十分易于上手,单片机对声光系统的控制实现对孤寡老人看护系统硬件的逻辑控制。
2.2 通信过程设计
整体设计系统的通信主要是利用RS485进行半双工通信,通信的过程中上位机与下位机默认的波特率为19200,虽然上位机部分利用通信控件给出了不同的波特率,但此系统所使用的波特率为19200,N对应无奇偶校验位,8比特数据位和1比特停止位。这样可以保障通信过程中的稳定性。由于系统为半双工系统,将下位机与上位机通信过程写进主函数,并调用While(1)卡死,此时驱动RS485模块,模块内置SP3485接控制引脚向单片机部分从而控制通信方向,此处由PB0控制。
2.3 矩阵键盘程序设计
在主程序里由Key_Scan()函数返回当前按键的键值,将键值数据输入到LCD显示并经由RS485向上位机传送,此时上位机平台读取来自下位机传送进来的信号key_val,将键值对应用户资料等信息向平台管理员展示。平台管理员利用上位机平台处理当前事故并复位用户端声光报警系统向用户LCD模块传送告知信号。VB上位机部分将此次报警记录收录以便后续管理员查找。
2.4 基于VB界面的看护平台
在下位机界面设置了对应键值的不同救护功能,以及基于RS485的串行通信,在这一设计环节中,主要针对普通用户开发了一套通用形救护系统,针对值得注意的老人也就是特殊病患老人预留了待开发功能,这样即可实现给予对有不同需求的老人最贴心的救护。系统同时具备历史记录查询功能,主要体现在当被救助老人发出警报时,上位机系统即可查看老人呼叫了几次,分别呼叫了什么功能,这样更精准的并且有针对性的系统更迎合救护系统的需求,更好地实现对孤寡老人的看护管理。
3. 系统调试与分析
屏幕按照程序预期显示已将救护信号转送至救护平台。使用绿色底纹可暂时给予老人安全感增加救护成功的几率,声光报警系统同时工作,图示为红灯与所预期效果一致。此部分测试完成。测试第二部分救护平台向下位机发送信号,利用救护端向用户展示救护平台得知报警并全速赶往现场的信号。并改变用户端的声光系统,将用户端蜂鸣器停止工作,将用户端光系统将红光调至绿光。屏幕按照程序预期显示已将得知信号转送至用户端。使用绿色灯光可暂时给予老人安全感增加救护成功的几率,声光报警系统停止蜂鸣并转换指示灯颜色,图示为绿灯与所预期效果一致。此部分测试完成。
软件调试方法与程序设计技术和选用的软件结构有关,主要测试上位机VB程序是否按照预期要求展示结果。发送控制信号展示老人个人信息以及需求等功能。软件部分主要技术在于是否熟练掌握VB编程、函数的调用、算法设计、框架搭建以及一点点的UI设计。一套成熟的VB系统往往会集成数据库等调用数据存储数据的动能,这也是上位机的亮点之一。
4. 结论
本课题的研究工作基本达到了预期的要求,设计成本低,功能模块化可控。本设计基于模块化设计思想,不仅降低了开发难度,而且提高了系统的可靠性和准确性。通过了最后的硬件和软件的模拟调试。归纳起来有以下几点:
①本课题可以实现智能型一键呼叫终端控制、显示及声光提醒功能,不仅方便易操作,成本低廉而且能够实现数据的实时传输。
②系统硬件设计使用的主要芯片有STM32F407Z6TG单片机、ILI9325显示控制、LD1117降压、SP3485通信等芯片,设计了包括矩阵键盘扫描电路、RS485通信电路、TFT显示系统电路、单片机电路等。
③系统软件设计包括程序初始化、矩阵键盘扫描、数据传输以及TFT屏幕显示等模块,软件操作方便和容易修改。
在本次设计中设计了关于看护系统的基本功能。在未来的开发中应要继续优化关于针对性看护设计,使本设计更倾向于对个性化看护而设计,更可在此基础上进一步开发收费系统。
参考文献:
[1] 沈红卫.STM32单片机应用与全案例实践[M].北京:电子工业出版社,2017:45-46.
[2] 张洋.精通STM32F4[M].北京:北京航空航天大学出版社,2015:85-88.
[3] 董浩,黄凯,张渭澎.单片机技术在智能电流源设计中的应用[J].电气时代.2015(8):110-113.
[4] 林卓然.VB语言程序设计(第四版)[M].北京:电子工业出版社,2016:46-62.
作者简介:李鹏,男,沈阳工学院,学生。孫欣,女,沈阳工学院,学生。郑琳(通讯作者),女,汉族,辽宁人,沈阳工学院,教师,讲师,硕士学位。