文档库 最新最全的文档下载
当前位置:文档库 › LWIP + STM32 连接检测

LWIP + STM32 连接检测

LWIP + STM32 连接检测
LWIP + STM32 连接检测

STM32 + Lwip通讯检测的一种实现方法

用神州IV STM32F107开发板,做一个数据采集的项目。需要通过网口,把采集、处理过的数据传给服务器。数据在发送失败时,需要将数据在SD卡中备份,如何检测TCP连接是否中断?如何检测数据是否成功发送呢?

网上现有的资料,一个是采用心跳包,服务器发送固定频率的检测报文,客户端在一定时间内回复,这样就可以知道网络连接状态,还有一个就是使用

Keep-Alive机制。这两种办法都可行,但都是针对长连接的,长连接需要不断的检测和维护,对服务器和客户端都比较麻烦。我更倾向于使用短连接,发送数据后网络就断开。怎样在短连接时,由客户端来检测通讯呢?我是这样实现的:

判断TCP连接状态的函数是tcp_process(), 在tcp_in.c文件中,在604行,是TCP判断连接上了,调用回调函数的地方。在tcp_in.c 文件中,申明连接标志Flag,可以在604行附近令Flag = 1;或者在tcp_connect()回调函数里,这么办。而在main.c文件中,extern int Flag;没TCP连接前,将Flag 置0;如果你认为查询Flag的值是否等于1就可以知道TCP连接是否中断,就想得太简单了。(由于tcp_in.c 文件中,函数的申明都用了static关键字,意思是内部函数,内部函数不能调用外部文件变量,所以Flag只能在tcp_in.c 中定义)。

有一点麻烦的是,网络通讯与main函数不在一个线程里,网络通讯比主函数要慢,即使你在主函数中等待也不行!如何能让主函数等着Flag的值有变化呢?一个方法是,线程加锁,在TCP线程没有完成Flag赋值的时候,主函数是等待状态,如何加锁,TCP的线程在哪呢?我没找,这个太难。怎么办呢?

这里我采用定时器来避开这个问题,每五秒发送一次TCP短连接,在下一个5秒就可以读到Flag的值,这里只所以用5秒,是考虑实际应用时,有网络延迟。你可以减短这个时间间隔。另外你还可以在tcp_connect()的回调函数里,使用tcp_sent()函数,就能得到服务器到底收到了多少数据。

步态分析实验报告

步态分析方案设计 报告说明:我看了五篇关于步态分析的文献,并对其具体实验方法进行归纳。五篇文献的原文在文件夹中。最后为我的方案设计。 一、A practical gait analysis system using gyroscopes陀螺仪分析步态 本研究是为了调查使用单轴陀螺仪来研制简单便携步态分析系统的可行性。陀螺仪绑在小腿和大腿的皮肤表面,记录小腿和大腿角速度。这两部分的倾斜度和膝关节角度都来自角速度。使用从运动分析系统得到的信号来评估角速度和陀螺仪传来的信号,发现这些信号有不错的相关性。当转身时,腿部倾斜度和角度信号会发生漂移,有两种方法来解决这个问题:(1)自动复位系统,重新初始化每个步态周期的角度;(2)高通滤波。两种方法都能很好的纠正漂移。小腿部的单陀螺仪可以提供以下信息:腿部倾斜度、摆动频率、步数以及步幅和步速的估计。 具体方法: 受试者在步态实验室沿直线行走进行陀螺仪数据收集,陀螺仪用绳子固定在大腿和小腿部,感测轴沿中间-横向方向,以测量矢状平面中的角度。 两个人加入测试,一个是不完整的脊髓损伤,一个没有损伤。一运动分析系统使用各部分解剖学位置的回射标记物来评估腿部的偏移、腿部的角速度和膝角度。实验开始前5s,受试者直立站立以初始化倾斜角度和陀螺仪的偏置,随后,对象以一个自己喜欢的速度沿预定路径行走。进行了三组实验来分析陀螺仪的性能,并计算步幅、步态周期时间和每次行走期间的速度。第一个实验,数据来自两小腿上陀螺仪的信号,并与未损伤者进行比较。后两个实验是陀螺仪的数据与运动分析系统进行比较。第一个实验是比较小腿不同位置的陀螺仪信号,对于同一小腿上的两个点,先站立后倾斜,两个点的角速度、角度应该是相同的,陀螺仪一个放在胫骨关节处,一个放在胫骨靠近踝关节10cm处。第二个实验一个放置在大腿髌骨上方10cm处,一个在胫骨靠近踝关节10cm处,记录的是陀螺仪的角速度。第三个实验,陀螺仪放置于第二个相同,受试者直行4.5m然后转身180°。 二、Acoustic Gaits: Gait Analysis With Footstep Sounds 声步态 我们描述的是声步态——从人正常行走时的脚步声推导人的自然步态特征。我们引入了步态轮廓,这是从通过麦克风收集的脚步声时间信号得到的,可以说明某些时空步态参数,这些参数是通过对声步态轮廓的三个时间信号分析方法提取,三个时间信号分别是平方能量估计、希尔伯特变量和Teager–Kaiser能量。通过对这些参数估计的统计学分析,我们发现从步态轮廓获得的时空参数和步态特征可以连续可靠地评估目前用于标准化步态评估的临床和生物测定步态参数信息。我们的结论是Teager–Kaiser能量可以在不同时间、地点提供最稳定的步态参数估计。相对于目前实验室步态分析中使用的昂贵侵入式系统,如测力台、压力垫、可穿戴传感器,声步态使用便宜的麦克风和计算设备制成了准确非侵入式的步态分析系统,而且实验室的一些系统会改变正在测量的步态参数。

步态识别方法的分类及各类方法的比较

步态识别方法的分类及各类方法的比较 程汝珍1,2 1河海大学计算机及信息工程学院,江苏南京(210098) 2水文水资源与水利工程科学国家重点实验室,江苏南京(210098) E-mail:chengruzhen@https://www.wendangku.net/doc/366133067.html, 摘要:步态识别是生物特征识别技术中的一个新兴领域,它旨在根据个体的行走方式识别身份。步态识别主要是针对含有人的运动图像序列进行分析处理,所涉及到的几项关键技术包括:视频处理、图像处理、模式识别。步态识别分析可以划分为特征抽取、特征处理和识别分类三个阶段。在最近的文献中已经有许多研究尝试,提出了许多步态识别的具体方法。但国内外尚无将步态识别技术分类,本文提出了步态识别的六类分类法,且初步比较了每类方法的适用范围和优缺点,使读者较为全面了解步态识别技术现状。 关键词:步态识别;分类;适用范围;优缺点;比较 中图分类号:TP391.4 1.引言 步态识别是生物特征识别技术中的一个新兴领域,它旨在根据个体的行走方式识别身份[1]。根据早期的医学研究[2]人的步态有24个不同的分量,在考虑所有的步态运动分量的情况下步态是唯一的。精神物理学[3]中的研究结果显示即使通过受损的步态信息人们也能够识别出身份,这表明在步态信号中存在身份信息。 步态识别主要是针对含有人的运动图像序列进行分析处理,所涉及到的几项关键技术包括:视频处理、图像处理、模式识别[4]。步态识别分析可以划分为特征抽取、特征处理和识别分类三个阶段[5]。 步态识别部分 图1 步态自动识别系统框图 Fig1 the framework of gait automatic recognition system 步态识别系统的一般框架如图所示[6]。监控摄像机首先捕捉监控领域来人的行走视频,然后送入计算机进行检测和跟踪,提取人的步态特征,最后结合已经存储的步态模式进行身份识别。若发现该人是罪犯或嫌疑人,系统将自动发出警告。

下肢康复外骨骼机器人步态相位切换研究

第39卷 第8期 2017-08 【43】 下肢康复外骨骼机器人步态相位切换研究 Research on gait phase transition for lower limbs rehabilitation exoskeleton robot 马 乐1,2,周 平2,王美玲2,陈淑艳2,张鹏万3 MA Le 1,2, ZHOU Ping 2, WANG Mei-ling 2, CHEN Shu-yan 2, ZHANG Peng-wan 3 (1.合肥工业大学 电气与自动化工程学院,合肥 230009;2.中国科学院合肥物质科学研究院 先进制造技术研究所, 常州 213164;3.中国科学技术大学 工程科学学院,合肥 230000) 摘 要:为实现下肢康复外骨骼机器人步态相位的稳定切换,通过压力传感器,编码器,陀螺仪以及拐杖按钮检测单元构建的感知系统实时采集人体步态运动信息,先根据足底压力信号的标志性事件将人体步态周期依次序划分为四个相位,然后对不同相位的运动状态切换进行具体研究。针对人体行走过程中支撑腿与摆动腿的切换判断,提出基于学习矢量量化(LVQ)的神经网络模型。将整个步态相位切换模型嵌入控制程序中进行在线测试,结果表明该模型实时性好,识别率高,能够实现稳定柔顺的步态切换。 关键词:下肢外骨骼机器人;传感信号融合;相位划分;LVQ;步态相位切换中图分类号:TP242.6 文献标识码:A 文章编号:1009-0134(2017)08-0043-05 收稿日期:2017-06-14 基金项目:常州市科技支撑计划项目(CE20150013) 作者简介:马乐(1989 -),男,河南洛阳人,硕士研究生,研究方向为传感技术,模式识别。 0 引言 外骨骼机器人是一种集人机工程学、仿生学于一体的机械装置,穿戴于人体肢体外侧,靠人的智慧来控制机器人,发挥机器人能量动力的优势,辅助人类完成自身无法完成的任务,广泛应用于医疗、军事、工业等领域[1]。康复用下肢外骨骼机器人能够帮助患者进行腿部康复训练,在可重复性方面优于传统方法,可以大幅度缩短患者的康复训练时间,并减少陪同康复的医师数量,大幅度降低人力成本。帮助老年人、下肢不便患者实现自主行走,改善他们的生活质量,有助于他们的身心健康。 目前下肢外骨骼机器人的研究仍然面临众多挑战,其中一个主要的挑战就是机器人缺乏充分的能力识别穿戴者的行为和意图。为了克服这个问题,研究者们采用惯性传感器[2]、足底压力传感器[3]和关节角度传感器[4]来获取穿戴者的运动信息,并通过模式识别的方法来检测穿戴者的步行状态与运动意图。Pappas I P I 等人基于足底压力传感器和安装在踝关节的陀螺仪信号采用有限状态机的方法对足跟触地、支撑、足跟离地、摆动四个步态相位进行在线识别[5]。吴贵忠等人根据关节角度信息和足底压力分布信息分别采用支持向量机和非线性自回归神经网络模型来预测外骨骼机器人的步态相位[6]。Djuric M 等人基于大腿、小腿和足部的加速度信息采用 阈值法进行步态运动相位的识别[7]。 本文为实现下肢康复外骨骼机器人步态相位的稳定切换,使用足底压力传感器、陀螺仪、编码器和拐杖按钮检测单元构成实时感知系统,先通过阈值法模糊处理足底压力信号,将步态运动周期依次序划分为四个相位,然后对每个相位的运动状态切换进行了具体研究。此外,针对双支撑相位的支撑腿与摆动腿切换判断采用了学习矢量量化(Learning Vector Quantization ,LVQ )神经网络模型。通过整个步态切换模型的在线测试,验证了模型的有效性。 1 采集系统结构 本文的信号采集系统主要由足底压力采集模块、陀螺仪模块、编码器、拐杖按钮信号检测模块和嵌入式PC 主控制器模块组成,各个模块以节点形式挂载在CAN 总线。1.1 信号采集模块 足底压力信号采集模块的传感器采用Tekscan 公司的A401,在每一只脚底安装三个传感器,分别放置在第一跖骨、第五跖骨和足跟部位。模块的微控制器采用STM32F103,采集频率为100Hz ,信号被控制器的12位A/D 转换器采集后进行处理。陀螺仪模块由MPU6050和微控制器组成,集成了3轴MEMS 加速度计、3轴MEMS 万方数据

相关文档
相关文档 最新文档