基于Lora的社区养老辅助手环设计
2021-07-27杨博铄
杨博铄 刘 志
(临沂大学,山东 临沂 276000)
1 手环硬件设计
1.1 总体硬件设计
养老辅助手环系统初始化后,系统控制器单元STM32F103,通过Lora模块进行无线通信建立连接,利用数字温度传感器DS18B20监测人体体温,利用三轴加速度传感器ADXL345监测使用者运动状态,利用Pulse Sensor心率传感器监测使用者心率并通过控制单元STM32F103内部AD转换器计算出实际心率,通过内部时钟定时器中断进行数据采集,存储到数据存储模块中。当出现摔倒情况时,向服务器端报警,心率出现大幅度波动或数据存储溢出时,唤醒Lora并将数据通过Lora发送到服务器终端。当数据传输完毕后Lora模块进入休眠阶段。
整个设计包括主控芯片模块、人体体温监测模块、运动监测模块、心率监测模块、Lora通信模块。硬件框图如图1所示。
图1 手环硬件系统框图
1.2 主控芯片模块
主控芯片模块采用ST意法半导体公司推出的基于Cortex-M3内核的STM32F103系列微控制器。其内部具有定时器、ADC、USB、UART等多项外设,主频最高可达72 MHz,是一款低功耗的产品,供电电压在3.0~3.6V之间[1]。
1.3 人体体温监测模块
人体体温监测模块采用数字温度传感器DS18B20。DS18B20的工作温度在-25~85 ℃,测量精度可达0.1 ℃,能够满足实现人体体温监测功能,功耗为45μA,待机时仅为0.1μA,可以满足更长使用时长的续航要求。
1.4 摔倒检测报警模块
摔倒检测报警模块采用三轴加速度传感器ADXL345。ADXL345具有三轴加速度传感器,可对X、Y、Z 3个方向加速度进行采集[2],+/-2、+/-4 g、+/-8 g等可变的测量范围,且灵敏度最高达3.9 mg/L SB,能够满足对人体姿态的变化数据采集。
1.5 心率监测模块
心率监测模块采用重庆艾迪逊电子生产的Pulse Sensor心率传感器,心率精确度在静态时达到+/-5 bpm,动态时为+/-10 bpm,传感器是利用内部红外对管进行血流的检测,红外模块检测心率信号抗干扰能力强。
1.6 Lora通信模块
Lora通信模块采用由美国SEMTECH公司研发的SX1278射频芯片。Lora的星型网络结构有低延迟和距离远的优点;对比蓝牙、Wi-Fi等通信技术的高频段通信,Lora的低频段通信有更强的穿透能力。在社区环境下能实现10 km左右的有效通信。
1.7 OLED显示模块
显示模块采用低功耗的OLED显示器,工作电压在3.3~5 V之间。
2 手环软件设计
2.1 总体软件设计
本文设计的养老辅助手环软件程序主要实现实时测量体温功能、实时心率采集功能、摔倒检测报警功能和服务端数据实时查看功能。软件设计框图如图2所示。
图2 软件设计框图
2.2 人体体温采集程序设计
首先利用单片机对DS18B20发送一个复位脉冲信号,等待DS18B20响应,响应后发送跳过ROM指令,如果响应成功则发送0X44启动温度的转换,读取寄存器,得出正确温度值。
2.3 心率采集程序设计
首先初始化A/D转换器,配置好ADC1的通道,并配置时钟定时器,定时2 ms中断并循环。中断时读取一次A/D转换后的值,发送到上机位,通过心率算法算出其心率值,在OLED显示模块上显示出来。
2.4 摔倒检测报警程序设计
三轴加速度传感器ADXL345竖直放置的时候不报警,当传感器的倾斜角度变化速率达到预设值时,则在OLED显示模块显示摔倒警告,并蜂鸣器震动警告。一段时间约15 s未回复正确状态,则通过Lora通信模块向接收端发送摔倒警告。
2.5 Lora通信程序设计
通过SX1278Lora通信芯片将心率、体温数据和运动状态信息等传输至Lora无线网关,显示并存储在服务器器中断上。服务器端通过接收数据进行判断,当出现异常数据等情况服务器端,通过RSSI测距定位确定节点坐标位置,社区志愿者根据相关数据,高效准确地给予老年人帮助。
3 结语
本文设计了一个可以对老人体温、心率、运动状态和运动步数等数据进行实时监测存储,并通过Lora无线通信技术实现与社区志愿者服务器终端的数据交换的多功能社区养老辅助手环,解决现阶段关于独居老人养老服务不全面和智能化程度低的问题,对LoRa通信技术与养老相关自动化智能设备的发展具有现实意义。