张许如,任 龙,陈 蕊,潘 婧,徐逸凡,韩改宁
(咸阳师范学院 计算机学院,陕西 咸阳 721000)
目前,在各大企业的办公室,久坐已经成为越来越多人工作中的常态,但在久坐后常常会产生一系列疾病。据报道,《循环》(Circulation)[1]杂志的一项研究对8 800名成年人进行了7年随访,结果发现,和每天坐着看2小时电视的人相比,那些每天看电视时间超过4小时的人,死亡率高46%。还有研究发现,如果一个人一天中有超过一半的时间都在坐着,其患糖尿病和心血管等疾病的概率就会加倍。在大多数办公室,针对久坐而配备的相关设施寥寥无几,且设置按摩座椅器械的更是屈指可数。
现有的按摩座椅配备有按摩器、发热器、蓝牙等模块。其优点是结构设计比较简单且大都具备一定的按摩功能,但其缺点在于价格高、体积大,对于较小的办公环境使用不便和难以存放;且其功能体系不完善,人与座椅之间不能进行实时的语音交互,使用者无法获得更加快捷和舒适的体验[2]。
基于AI语音交互的智能座椅控制器是针对长时间工作的上班族设计的,该座椅安装便捷且体积较小。当使用者长时间坐在座椅上保持一个动作工作时,控制器会提醒使用者起身活动或调整坐姿,通过语音交互的方式询问使用者需要的按摩模式并调节按摩力度,减少出现肩周炎、腰椎间盘突出等常见的肩部及腰部问题,让人们安心工作[3]。
基于AI语音控制的智能座椅控制器主要有四大核心功能模块,分别是传感模块、定时模块、电机控制模块和AI语音模块。传感模块和定时模块结合其他辅助功能模块,主要由单片机控制,当使用者坐在座椅上,压力传感器接收到持续的压力之后,通过控制器中的计时器开始计时,每30 min蜂鸣器[4]发出一次警示,提醒用户活动身体;当蜂鸣器提醒次数大于1次时,控制器自动控制按摩器对用户进行一定时长的按摩;连接WiFi后,用户可以通过连续2次呼唤AI(小椅小椅)与语音系统互动,选择需要的服务;接收端主要在移动设备(手机端)上实现,需在手机端开发一款基于Android的APP程序。智能座椅和手机端通过WiFi连接后,用户可以在手机端查看座椅使用时长,也可以调节座椅的按摩力度。
采用STM32F103ZET6单片机作为控制器,采用HX711传感模块测量外界压力,LD3320作为AI语音模块,电源作为供电模板,蜂鸣器和WiFi收发器作为辅助模块,总体构成如图1所示。
图1 系统功能框图
各模块功能如下:
(1)传感模块:精准感受用户坐在座椅上时产生的压力,将外界的压力信息传给单片机。
(2)定时模块:记录座椅的使用时长。
(3)电机控制模块:通过电机的正转、反转以及提速、降速实现对用户的局部按摩。
(4)AI模块:连接WiFi后,用户通过“语音唤醒词+命令词”的方式与座椅进行人机交互,选择需要的服务。
(5)电源模块:为座椅控制器提供电源。
(6)辅助模块:当定时器达到设定的使用时间后,蜂鸣器发出警报声,提醒用户休息或运动;连接WiFi后,手机端APP也会接收到相关提醒信息。
AI语音模块主要实现语音的输入和输出,实现输入语音正确应答并输出相应的语音信息。采用US516P6作为语音识别芯片,该芯片采用32位RSIC架构内核,支持100条本地指令离线识别,板载USB转串口,支持一键下载升级语音识别内容,支持语音识别内容修改,支持智能元件在线语音模型开发平台。可与控制器连接发出控制命令,与蜂鸣器直接连接输入、输出语音合成信息。硬件组成如图2所示。
图2 AI语音模块图
软件编程支持Scratch语言[5],支持语音命令词的设计,具体设计如图3所示。
图3 AI的Scratch编程操作流程
手机端部分利用手机的WiFi接收模块等模型实现,具体结构如图4所示。
图4 手机端模块功能流程
(1)手机WiFi接收模块。与智能座椅的WiFi发送模块无线连接,将用户使用座椅的时长发送给手机端。
(2)时间显示。智能座椅中的计时器记录座椅使用时长,通过WiFi模块发送到手机APP,用户可以通过APP查看座椅使用时长。
(3)选择服务。用户可以根据自身需求,通过开发的手机APP选择不同的服务(包括开始按摩、关闭按摩、选择按摩时长和调整按摩力度等)。
AI语音智能座椅的硬件系统主要包括传感模块、定时模块、电机控制模块、AI语音模块、电源模块和辅助模块。硬件系统的总体设计如图5所示。
图5 硬件系统结构
通过市场调研,考虑到价格和实际所需,在本次设计中的主要元器件型号如下:
(1)主控模块:选用STM32F103ZET6单片机[6]。STM32由于功能强大、结构复杂,所以有两种开发方式可以选择,一种是基于寄存器的开发方式,一种是基于ST官方固件库的库函数开发方式。基于库函数的开发方式更容易,开发的软件可靠性、可维护性有较大提升,且32位单片机较其他单片机相比,有较高的性价比。将4款典型芯片列表比较,比较结果见表1所列[7]。
表1 典型单片机性能对比
(2)传感模块:选用HX711芯片[8]。HX711是一款专为高精度感压而设计的24位A/D转换器芯片。与同类型其他芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其他同类型芯片所需的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了智能座椅的整体成本,提高了整体的性能和可靠性。测试仿真时,该芯片与STM32单片机的PA1口连接。
(3)电机控制模块:为提高按摩舒适度,考虑到性价比等因素,采用四相六线电机进行多部位按摩,按摩分为5个档位供客户选择,并提供正转和反转按摩。采用12 V电动马达,DIY按摩靠垫,与小体积TB6612FNG电机驱动控制按摩模块,电机通过ULN2003A放大芯片链接在STM32单片机系统进行控制。
(4)语音模块:选用US516P6语音识别模块。该智能语音识别模块可离线识别,识别率达98%,具有一键烧录功能,使用方便。与同类型其他语音模块相比,识别率高,成本低,回报利润高。
(5)电源模块:选用12 V可充电中顺芯18650大容量锂电池。该电池可反复充电,不仅可为座椅长时间提供能源,还可以节约电力资源,保护环境。
(6)辅助模块:蜂鸣器选用低电平触发的无源蜂鸣器,WiFi收发器选用ESP8266 ESP-01,ESP8266系列无线模块是安信可科技自主研发设计的一系列高性价比WiFi SoC模组,该系列模块支持标准的IEEE802.11b/g/n协议,可以构建独立的网络控制器,功耗与成本较低。
在进行实物开发前,选择在Proteus8.10软件中进行原理设计与开发。采用STM32单片机作为控制器。LM016L显示屏代替LCD1602显示屏等元器件,该控制器各功能模块之间进行连接的仿真如图6所示。
图6 电机仿真电路
由于设计需要,用于提醒用户久坐的蜂鸣器进行仿真测试时采用Buzzer(蜂鸣器),预设提醒时间缩短为2 min,便于观察效果。久坐提醒功能通过STM32直接设置时钟控制,通过程序宏定义直接修改,便于维护。久坐提醒模块电路如图7所示。
图7 久坐提醒模块电路
利用LCD监控仿真执行过程,观察电机转速,运行时间,压力模拟所产生的数据,显示模块电路如图8所示。
图8 显示模块
该控制器的软件设计包括传感器检测、电机控制、提醒、语音交互以及LCD显示等功能设计。电机的速度控制通过设立的独立按钮完成,包括启停、加减速和正方向控制,定义为Start_Key、Add_KEY、Sub_KEY、Dir_Switch、Dir_Flag,在Speed中设置5个等级的速度调节[9],以满足用户的不同需求。语音交互通过Scratch进行测试。
软件工作流程如图9所示。
图9 软件工作流程
在仿真测试中,将电机初始速度设置为1,定时时间设置为2 min,运行过程中对各按键进行测试、改变PA1相连的可变电阻,观察压力值是否可以随着可变电阻的改变而改变,以及3个步进电机是否可以正常运转,显示器显示2 min时蜂鸣器是否报警等。对语音模块进行语音测试[10],分别说出“小椅小椅”“开始按摩”“关闭按摩”3种命令,判断是否可以对应3种命令分别回答出“我在”“按摩已开启”“按摩已关闭”3种回复。
语音测试结果如图10所示。
图10 语音测试结果
通过仿真测试发现可变电阻可改变压力值,对结果进行分析,3个步进电机可正常转动、到达预设时间时蜂鸣器正常发出警报、语音系统准确接收各种命令并做出正确回复。经测试,电机仿真和语音系统均能满足该研究所需的要求。
设计的智能座椅控制器集AI语音交互、久坐提醒和按摩为一体,通过硬件、软件相结合改变了传统座椅功能性单一的弊端,有效加强了座椅的功能。该控制器安装便捷且使用方便,可以为长期伏案工作的人群提供健康保障;该控制器具备的功能弥补了当下普通座椅的缺点和不足,座椅可定时按摩,且使用者和座椅可以进行实时语音交互。现该设计已成功申请了专利[11],前景可观。