基于STM32与机智云的智能拐杖系统:提升老年人出行安全
随着老龄化加剧与科技进步,“物联网 + 养老” 成为智慧养老核心方向,老年人出行安全与健康监测需求日益迫切。针对传统拐杖智能化不足、功能单一的痛点,本文提出一种融合多传感器与机智云物联网平台的智能拐杖系统,以 STM32 为核心主控,集成 GPS、姿态检测、超声波等传感模块,搭配 OLED 本地显示与机智云手机 App,实现定位、防摔、报警及云端监测一体化功能,为老年人安全出行与家庭照护提供技术支撑。
01系统总体设计
拐杖系统主要能实现GPS定位、防摔倒、障碍物检测、液晶显示、短信报警、语音提示、Wi-Fi联网App等功能。系统总体设计结构如图1所示。

图1智能拐杖系统总体设计结构
02硬件设计
智能拐杖系统通过STM32主控芯片来传输和处理各传感设备采集的数据,主控芯片通过串口的方式读取定位模块的地理经纬度数据,并显示在App和液晶显示屏中;App和主控芯片的连接方式是无线Wi-Fi方式;用来实现防摔倒功能的MPU6050姿态检测传感器利用IIC通信方式将速度角和运动角参数传递给主控单片机。
当MPU6050传感器的参数超过阈值时,即老人以异常姿势摔倒时,主控芯片将会触发GSM短信报警;超声波传感器检测前方障碍物;主控芯片以语音提醒的方式告知老人前方有危险;按键是用来配置系统Wi-Fi设置和OLED屏幕上的位置、姿态等参数设置。该设计的整体电路原理如图2所示。
(一)主控芯片
系统采用嵌入式芯片作为主控芯片,市面上常用的嵌入式芯片包括8/16位单片机、STM32系列、RISC-V架构的芯片以及DSP。STM32系列的芯片在成本和功耗方面,更适合智能拐杖系统的设计,因此,系统主控芯片选择了STM32F103RC8T6型号。它属于嵌入式微控制器集成电路的一种,32位、72 MHz的晶振,程序存储器容量为256 KB,数据存储容量为48 KB。
(二)定位模块的选型及电路设计
中科微电子的GPS芯片定位功耗在25 mA左右,价格较低,因此智能拐杖系统选用中科微电子生产的一款北斗导航定位模块ATGMH336H-5N。定位模块的数据会通过单片机的TX和RX两个引脚传输,由单片机读取后显示在液晶显示屏上。该模块的连接方式是将ATGM336H的TX输出引脚连接到单片机的PA10引脚,模块的RX接收引脚连接到STM32的PA9引脚,模块的VCC连接到STM32主控芯片的电源部分,GND接地。

图2系统总体电路原理
(三)防摔倒模块的选型及电路设计
系统选择了MPU6050六轴传感器模块来实现,其内部有陀螺仪、数字运动处理器、加速度计和两个IIC接口。加速度计是每个轴单独测量的,当模块内部的陀螺仪绕轴旋转时,数字运动处理器会对3个轴接收到的电压频率采样,经模数转换成角度信息。MPU6050与主控之间的数据传输是通过IIC总线实现的。MPU6050传感器需要提供3.3V电源供电,将传感器的第7引脚连接到GND上,将MPU6050的串行时钟线和串行数据线连接到STM32相应的IIC时钟线和数据线,即分别连接到主控芯片的PB6和PB7引脚。
(四)障碍物检测模块的选型及电路设计
超声波传感器的工作原理是发射超声波并接收反射信号,通过时间差计算距离,且该传感器的价格也偏低,因此,系统选择了超声波传感器HC-SR04来实现障碍物检测。将超声波模块的VCC引脚与主控芯片的电源线连接,GND引脚与单片机的地线相连,超声波模块的TRIG线与主控单片机的PB14引脚相连接,模块的接收线与单片机的PB15引脚连接。
(五)液晶显示模块的选型及电路设计
OLED显示屏由7个用于不同用途的引脚组成。GND引脚与电源地连接;VCC引脚与电源VCC连接,为该显示器提供+5 V的工作电压;SCK引脚用作锁定引脚;SCL引脚、SDA引脚用作模块的数据引脚;RE引脚是复位引脚,用于重置显示屏;DC引脚是数据命令引脚,表示片选引脚。与单片机连接时要先将显示屏的SCL和SDA两个数据引脚分别与单片机的PB8和PB9相连接,VCC与单片机的3.3 V连接,GND接地。
(六)短信报警模块的选型及电路设计
选择SIM900A模块更适合智能拐杖系统,因为它非常小巧,可以方便地嵌入到各种产品设计中。主控芯片与SIM900A的数据传输方式是UART通信方式,它通过两个独立的线路进行通信,一个用于发送,另一个用于接收。连接短信模块时,单片机的TX应该连接到短信芯片的PB11引脚,单片机的PB10与SIM900A芯片的TX线连接。在实际硬件的连接中,需要注意信号电平的一致性。
(七)语音提示模块的选型及电路设计
JQ8900语音芯片内部有一个专门对音频解码的解码器,用于处理音频数据,还有一个FLASH存储器用于对语音音频进行存储。芯片的串口为3.3 V的TTL电平,对JQ8900语音模块进行电路连接时,首先是电源连接,模块的VCC引脚和接地线分别连接到电源的正极和负极。模块的TX引脚连接到单片机的PB0引脚,RX引脚连接到单片机的PB1引脚,同时还需要将两个设备的地线连接到一起。
(八)Wi-Fi模块的选型及电路设计
在众多Wi-Fi模块中,系统选用了ESP8266芯片,因为性价比高,与单片机通过串口通信并且在物联网设备的开发中应用较多,且这款Wi-Fi芯片还带有TCP/IP协议栈。将ESP8266 Wi-Fi模块运用到智能拐杖系统时,需要将ESPRXD引脚和TXD引脚分别与主控芯片的PA2口、PA3口连接,模块的电源引脚和使能引脚EN需要连接3.3 V的电源。
03软件设计
(一)主函数程序设计
主程序的设计流程是先控制主控芯片对OLED显示屏、姿态检测传感器、串口等进行初始化。初始化完成后,单片机读取定位模块的经纬度数据并显示在OLED上,当超声波模块检测到前方有障碍物时触发语音模块报警提示并显示在OLED上,当防摔倒模块测得异常角度时触发语音报警和短信报警功能,并将老人的实时位置、身体情况显示在短信中。主程序流程图如图3所示。

图3主程序设计流程
(二)Wi-Fi联网模块程序设计
ESP8266是为了实现智能拐杖联网,并将数据传输到App上。编写联网模块时,首先需要对硬件进行初始化,定义ESP8266_Init()函数,确保模块能够正常工作并与主控芯片进行通信。定义RSP8266_Set WorkMode()函数,将模块的工作模式设置为STA模式。配置Wi-Fi连接参数并尝试连接到指定的Wi-Fi网络,通过ESP_Set upServer()设置端口和协议类型,通过ESP_HandleClientRequests()创建服务器,接收并处理客户端请求,发送响应到客户端。
(三)机智云平台设计
智能拐杖系统需要使用云服务平台对系统进行实时监控。由于机智云是面向开发者的一站式智能硬件开发平台,因此本文选用机智云开发平台实现硬件设备与云端和App的通信。首先在机智云平台上创建产品和数据点,数据点就是智能拐杖系统在远程终端上的老人和监护人的相关信息,包括拐杖系统的光照强度、摔倒报警指示、障碍物距离、经纬度以及短信报警电话。
创建完产品和数据点之后,将机智云的代码移植到项目中,生成的代码包含了对机智云通信协议进行解析和封装功能,同时还实现了传感器数据与通信数据之间的转换逻辑。基于机智云的智能拐杖手机App功能设计界面如图4所示。

图4 APP功能设计界面
四、系统的实现与测试
本文最终实现了基于机智云的智能拐杖系统。对系统的焊接进行检查,当单片机接入5 V的电源时,系统正常开机、模块正常亮灯、显示屏正常显示,说明系统焊接无误,正常工作。拐杖系统的硬件端实物如图5所示。

图5智能拐杖系统硬件实物
在测试短信报警功能的过程中,可以先采用USB-TTL来尝试发送短信,连接好线后将收信人的手机号转换成Unicode码,然后把需要发送的文本内容编辑好。当对系统进行大幅度的倾斜时,语音模块会发出“请注意,你已摔倒”的报警声音,接着手机上会有老人发来的求助短信,手机显示的结果如图6所示。

图6短信报警测试
04结语
为提升老年人的独立生活能力,开发了一种基于机智云的智能拐杖系统。该系统具备实时定位、防摔倒、紧急短信报警、障碍物检测和语音提示等功能。首先,设计了硬件部分,以主控芯片供电并实现基本功能;接着,通过定位模块与主控芯片连接,提供实时定位;然后,利用MPU6050姿态传感器监测跌倒,当检测到异常参数时可触发短信报警;通过超声波探测障碍物并通过语音提示,以防摔倒。





