一种基于蓝牙的通讯方法与流程

文档序号:16755234发布日期:2019-01-29 17:17阅读:209来源:国知局
一种基于蓝牙的通讯方法与流程
本发明涉及通讯
技术领域
,尤其涉及一种基于蓝牙的通讯方法。
背景技术
:现有的涂层测厚仪测量方法,一般通过操作人员使用涂层测厚仪得到漆膜厚度数据,记录在记事本上,通过观察测量得到的厚度数据判断漆膜是否正常。该测量方法比较麻烦,而且人为记录容易出现错误,数据观察仍然需要一定的经验。可以尝试采用通记录讯的方法替代人工记录,通记录讯能够避免人为记录数据导致的错误以及避免人为经验不足导致的误判,但是可能会因为连接不稳定等导致数据丢失的情况。技术实现要素:本发明的目的是提供一种通讯连接稳定,可以判断出数据传输出错,并重新传输的基于蓝牙的通讯方法。本发明解决其技术问题所采用的技术方案是:一种基于蓝牙的通讯方法,通信双方为从机和上位机,上位机与从机之间的通信包括以下步骤:s1、上位机通过蓝牙搜索从机,并配对和连接;s2、上位机发送指令,请求从机身份识别;s3、从机响应身份请求指令,将从机的型号、序列号、软硬件版本、支持的通信协议版本信息回发给上位机;s4、上位机发送设置同步指令;s5、从机回复自身的设置信息;s6、上位机根据从机回复的设置信息,判断从机的工作模式;s7、上位机根据从机的工作模式,发送同步指令,至此上位机和从机的数据同步完成;主机和从机互相收发数据都遵循数据帧结构,数据帧分为帧头和正文,帧头为8字节,正文长度不固定,根据功能不同有所变化,正文大小范围为0~516字节;当数据帧长度超过20字节时,每发送20字节,插入100毫秒延时;发送方在发送一个数据帧之后,等待500毫秒再发送下一个数据帧,接收方在检测到300毫秒内没有新数据接收情况下,判断为数据帧结束或连接中断。优选地,还包括步骤s8、当从机有新的测量数据,或从机设置变更时,从机会主动上报上位机,上位机做相应处理。优选地,正文部分的编码为ascii码编码的字符串。优选地,从机和上位机之间的所有校验采用crc16校验,若待校验内容不包含校验码本身,则直接计算;若待校验内容含有校验码本身,则先将校验码字段清零,再对全部待校验内容计算crc16校验码,然后把计算后的值填入校验码字段。优选地,所述上位机为具有蓝牙功能的android、ios或windows设备。优选地,所述从机为具有蓝牙功能的蓝牙涂层测厚仪。本发明的有益效果是:1、采用蓝牙无线通信,可以在涂层测厚仪和手机、平板电脑或pc个人电脑间进行通信;2、有专用指令查询测厚仪型号、序列号、支持的协议版本等信息,方便对测厚仪状况进行判断和认证,方便后续的通信协议升级;3、测厚仪会主动实时上传测量过程的所有数据,上位机可以同步获取到所有最新数据;4、实时上传的数据中有数据编号等字段,可以用于判断是否有数据丢失;5、上位机可以在初次连接时,或连接不稳定等导致数据丢失的情况下,通过同步指令,获取测厚仪的所有数据、设置等;6、所有数据都有crc16校验,在连接不稳定情况下,可以判断出数据出错,并重新传输。附图说明下面结合附图和实施例对本发明进一步说明。图1是本发明其中一种实施例的基于蓝牙的通讯方法示意图。具体实施方式下面结合附图和具体实施例对本发明作进一步说明,以使本领域技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。图1是其中一种实施例的基于蓝牙的通讯方法,该方法通信双方为从机和上位机,上位机与从机之间的通信包括以下步骤:s1、上位机通过蓝牙搜索从机,并配对和连接;s2、上位机发送指令,请求从机身份识别;s3、从机响应身份请求指令,将从机的型号、序列号、软硬件版本、支持的通信协议版本信息回发给上位机;s4、上位机发送设置同步指令;s5、从机回复自身的设置信息;s6、上位机根据从机回复的设置信息,判断从机的工作模式;s7、上位机根据从机的工作模式,发送同步指令,至此上位机和从机的数据同步完成;主机和从机互相收发数据都遵循数据帧结构,数据帧分为帧头和正文,帧头为8字节,正文长度不固定,根据功能不同有所变化,正文大小范围为0~516字节;当数据帧长度超过20字节时,每发送20字节,插入100毫秒延时;发送方在发送一个数据帧之后,等待500毫秒再发送下一个数据帧,接收方在检测到300毫秒内没有新数据接收情况下,判断为数据帧结束或连接中断。优选地,还包括步骤s8、当从机有新的测量数据,或从机设置变更时,从机会主动上报上位机,上位机做相应处理。优选地,正文部分的编码为ascii码编码的字符串。优选地,从机和上位机之间的所有校验采用crc16校验,若待校验内容不包含校验码本身,则直接计算;若待校验内容含有校验码本身,则先将校验码字段清零,再对全部待校验内容计算crc16校验码,然后把计算后的值填入校验码字段。优选地,所述上位机为具有蓝牙功能的android、ios或windows设备。优选地,所述从机为具有蓝牙功能的蓝牙涂层测厚仪。1、数据帧格式:主机和从机互相收发数据都遵循数据帧结构。数据帧分为帧头和正文,帧头为8字节。正文长度不固定,根据功能不同有所变化,正文大小范围为0~516字节。如下表所示:所有数据发送均采用小端模式,即低字节先发。例如假设源端口为0x0001,则发送时先发送低字节0x01,再发送高字节0x00。源端口:表明数据帧的来源。目的端口:表明数据帧的去处。源端口和目的端口两个字段共同决定了数据帧的种类。上位机和从机分别支持不同的源端口和目的端口,下面会详述。帧长度:整个数据帧的字节数,包含帧头和正文部分。由于正文长度是0~516字节,帧长度范围即为:8~524。crc16校验码:对整个数据帧的数据进行校验,方便接收方判断数据是否在传输过程中出现丢失或损坏。正文:数据帧要发送的正文信息。有部分数据帧不需要正文。2、数据帧分包:为保证链路层通信稳定,保证主从双方有足够的处理时间,当数据帧长度超过20字节时,每发送20字节,插入100毫秒延时。3、数据帧分界:发送方在发送一个数据帧之后,应该等待500毫秒再发送下一个数据帧;接收方在检测到300毫秒内没有新数据接收情况下,即判断为数据帧结束或连接中断。由于每个数据帧都有帧长度字段,如果通信过程中没有发生数据出错或丢失,则接收方可以直接判断数据帧结束,不必等待300毫秒,接收方即可以进行回复。发送方如果已经收到了接收方的回复,则不需要再等待500毫秒。4、上位机发送(从机接收)的数据帧4.1身份识别指令从机接收到这个指令后,会回复身份识别信息。参见“5.1身份识别信息”4.2涂层测量模式:数据同步指令从机接收到这个指令后,会回复数据组和设置信息,参见“5.3涂层测量模式设置信息”和“5.4涂层测量模式:当前组数据”。4.3车漆检测模式:获取整车数据指令从机接收到这个指令后,会回复整车数据,参见“5.6车漆检测模式:整车数据”4.4车漆检测模式:远程切换测量位置,并清空该位置数据指令部位代码如下表所示:4.5车漆检测模式:远程清空整车数据指令4.6车漆检测模式:远程获取测量顺序指令从机在接收到此指令后,会回复当前测量顺序设置,参见“5.7车漆检测模式:测量顺序数据”4.7车漆检测模式:远程指定测量顺序指令上位机可以指定从机需要测量的位置和顺序,从而省略一些测量部位(例如某些车型不存在d柱,则可以省略),或改变测量顺序。测量顺序正文,19字节,指定各点的测量顺序,每个部位使用一个测量编号(如下表所示),,如果要测量的点不足19个,需要在末尾补ff(16进制)。例如,不测试b柱,最先测试车顶,其他顺序保持不变,则为:100001020305060708090a0b0d0e0f1112ffff测量部位编号表:部位名称部位编号(十六进制)前机舱盖00右前叶子板01右a柱02右前门03右b柱04右后门05右c柱06右后叶子板07后备箱盖08左后叶子板09左c柱0a左后门0b左b柱0c左前门0d左a柱0e左前叶子板0f车顶10左d柱11右d柱125、从机发送(上位机接收)的数据帧5.1身份识别信息仪器在收到上位机发送的“4.1身份识别指令”后,会回复下述身份识别信息正文部分为ascii码编码的字符串:每行以两个大写字母和等号开头;以换行符’\n’,即ascii码0x0a结尾,示例如下:md=guoou-t2msn=1234567hv=1.00usv=1.01acp=1.0cs=hi字段内容md仪器型号sn仪器序列号hv硬件版本号sv软件版本号cp通信协议版本,目前为1.0cs通信速度,lo表示低速通信,hi表示高速通信5.2涂层测量模式:实时数据仪器在涂层测量模式下,每次测量到新的数据都会上传下述数据帧正文实时数据结构如下:组创建时间数据开始地址数据个数当前值基体类型4字节1字节1字节4字节1字节组创建时间:表示当前数据组创建时间的32位(4字节)无符号整型数,上位机可以根据此字段判断是否切换到了不同的数据组,如果有切换,则需要进行一次数据同步。数据开始地址:数据在数据组内部是环形循环覆盖的,组容量上限是60,测量的第61个数字会存储在最先保存的第1个数字的位置。此字段表示当前数据存储的位置。数据个数:组内已有数据的个数,最大60。接个上述2个字段,可以判断实时数据有没有发生丢失:如果数据组还没有满,则“数据个数”字段的值应该每次增加1,如果增加超过了1,则说明有数据丢失;如果数据组已经满了,则“数据个数”字段应该保持不变,“数据开始地址”字段应该每次增加1,如果增加的数量超过了1,则说明会有数据丢失。如果发生了丢失,则需要进行一次数据同步。当前值:4字节单精度浮点型(ieee754单精度浮点型标准),单位微米(μm)。基体类型:’f’表示磁性基体,’n’表示非磁性基体。5.3涂层测量模式:设置信息仪器在收到“4.2涂层测量模式:数据同步指令”后,会回复两个数据帧。下述数据帧是其中之一,表示仪器当前的设置值设置信息正文如下表所示:其中,“起始位置”表示字段在帧正文中的偏移量。5.4涂层测量模式:当前组数据仪器在收到“4.2涂层测量模式:数据同步指令”后,会回复两个数据帧。下述数据帧是其中之二,表示当前数据组的信息和所有数据当前组数据正文如下表所示:5.5车漆检测模式:实时数据仪器在车漆检测模式下,每次测量到新的数据都会上传下述数据帧正文实时数据结构如下:车辆编号检测部位部位总次数部位当前序号数据2字节3字节1字节1字节4字节车辆编号:0x0001~0xffff检测部位:3字节的ascii码部位编号,详见“4.4车漆检测模式:远程切换测量位置,并清空该位置数据指令”中的部位ascii码字节值部位总次数:某个车辆部件(例如引擎盖)需要测量的次数,为6或9部位当前序号:当前测量的值是当前部位的第几个值,范围0x01~0x09数据:单精度浮点型float数据,4字节,小端模式(即低字节先传)。例如82.5的浮点型表示为0x42a50000,则数据部分为0x00,0x00,0xa5,0x42.。5.6车漆检测模式:整车数据仪器在收到“4.3车漆检测模式:获取整车数据指令”指令后,会回复整车的测量数据1)数据段整车数据分为多个数段,每个数据段表示一个测量位置。数据段结构如下:测量部位部位总点数数据1数据2数据3数据4数据5数据6测量部位:3字节,与“5.5车漆检测模式:实时数据”中的“检测部位”相同。部位总点数:1字节,0x6或0x9数据x:单精度浮点型float数据,4字节,小端模式(即低字节先传)。例如82.5的浮点型表示为0x42a50000,则数据部分为0x00,0x00,0xa5,0x42.数据一共有6或9个,按顺序发送.未测量的数据用nan表示,即0x7fc00000,表示为:0x00,0x00,0xc0,0x7f.2)整车数据整车数据共1024个字节,由各个部位的数据段依次顺序相连组成,不足1024字节的部分用无用数据填充。3)整车数据帧格式由于整车数据共1024字节,超出了单个数据帧正文最大的大小516,所以整车数据使用2个连续的数据帧进行发送,两个数据帧分别如下:5.7车漆检测模式:测量顺序数据仪器收到“4.6车漆检测模式:远程获取测量顺序指令”后,会回复当前的测量顺序设置正文格式参考“4.7车漆检测模式:远程指定测量顺序指令”的正文描述。6校验算法:本协议所有校验采用crc16校验。如果待校验内容不包含校验码本身,则直接计算;如果待校验内容含有校验码本身(例如校验码存在于待校验内容中间),则先将校验码字段清零,然后对全部待校验内容计算crc16校验码,然后把计算后的值填入校验码字段。以下是操作人员其中一种比较方便的测量技巧,依次检测车身各个部件:前机舱盖、右前翼子板、右a柱、右前门、右b柱、右后门、右c柱、右后翼子板、右d柱、后备箱盖、左d柱、左后翼子板、左c柱、左后门、左b柱、左前门、左a柱、左前翼子板、车顶,每个部件测量6~9次。测量完一个部件后,可以按向下键进入下一部件的测量,也可以通过点击app中的对应部件名称和图像,通过app发送蓝牙指令到测厚仪,指定下一步骤需要测量的部件。对于车身不存在对应部件的情况(例如d柱),则按向下按钮跳过该部件,继续进行下个部件的测量。涂层测厚仪与手机之间数据通信采用自主发明的通信协议,有传输数据正确性、合法性验证;在连接不稳定情况下可以通过协议自动重新传输数据。手机除了可以接收和处理数据之外,还可以当远程的遥控器对涂层测厚仪进行控制。通过蓝牙实时上传测量数据给手机app,避免人为记录数据导致的错误。而手机和网络服务器的数据库之间也通过网络的连接,手机通过网络可以将数据发送到网络服务器,而该网络服务器具有对数据计算和分析的功能,并且可以通过网络将分析结果重新发回手机,让用户得知。通过app和服务器通信得到漆膜状况评估结果,避免人为经验不足导致的误判。本发明的上述实施例并不是对本发明保护范围的限定,本发明的实施方式不限于此,凡此种种根据本发明的上述内容,按照本领域的普通技术知识和惯用手段,在不脱离本发明上述基本技术思想前提下,对本发明上述结构做出的其它多种形式的修改、替换或变更,均应落在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1