发明内容
为了解决上述的技术问题,本发明的目的是提供一种传感数据接收转换方法,本发明的另一目的是提供一种传感数据接收转换系统。
本发明解决其技术问题所采用的技术方案是:
一种传感数据接收转换方法,包括:
S1、读取获得预存的通信配置参数,所述通信配置参数包括自动收发数据模式、协议解析方式、输出模式和输出格式;
S2、按照获得的协议解析方式,自动获取传感器数据;
S3、根据获得的自动收发数据模式判断是否要对获取的传感器数据进行处理,若是,则对传感器数据进行过滤后执行步骤S4,否则,直接执行步骤S4;
S4、根据获得的输出格式对传感器数据进行数据格式转换;
S5、将进行数据格式转换后的传感器数据输出到输出模式中预设的对应端口。
进一步,还包括以下步骤:
S0、对通信配置参数进行初始化:根据传感器的类型和传感器数据的数据帧类型,初始化通信配置参数的协议解析方式,同时对自动收发数据模式、输出模式和输出格式进行定义。
进一步,所述传感器的数据帧类型为固定数据长度的数据帧,所述步骤S2包括:
对串行数据返回的数据流,按照单个字节依次地进行数据解析,执行以下步骤:
S201、获取数据帧头并判断获取的数据帧头是否符合协议要求,若否,则将工作状态设置为初始状态并重新尝试接收数据帧头,反之则继续接收下一个数据帧头并继续判断,直到完成所有数据帧头的接收;
S202、批量接收完整的数据帧,并实时判断接收到的数据帧的长度是否符合该固定数据长度,若是,则将接收到的固定数据长度的数据作为本次解析得到的传感器数据后,完成本次串行数据帧解析,同时,将工作状态设置为初始状态,并继续下一个数据流的处理。
进一步,所述传感器的数据帧类型为通过数据帧头和数据帧尾确定数据长度的数据帧,所述步骤S2包括:
对串行数据返回的数据流,按照单个字节依次地进行数据解析,执行以下步骤:
S211、获取数据帧头并判断获取的数据帧头是否符合协议要求,若否,则将工作状态设置为初始状态并重新尝试接收数据帧头,反之则将数据帧头后面的数据存储到缓冲区;
S212、实时判断是否接收到数据帧尾,若接收到数据帧尾,则将缓冲区中存储的数据作为本次解析得到的传感器数据后,完成本次串行数据帧解析,同时,将工作状态设置为初始状态,并继续下一个数据流的处理。
进一步,所述步骤S4,其具体为:
根据获得的输出格式,对传感器数据进行数据格式转换,将传感器数据由明文转换为密文、由密文转换为明文、由二进制编码转换为ASCII码,或者在传感器数据中添加附加信息。
本发明解决其技术问题所采用的另一技术方案是:
一种传感数据接收转换系统,包括:
第一模块,用于读取获得预存的通信配置参数,所述通信配置参数包括自动收发数据模式、协议解析方式、输出模式和输出格式;
第二模块,用于按照获得的协议解析方式,自动获取传感器数据;
第三模块,用于根据获得的自动收发数据模式判断是否要对获取的传感器数据进行处理,若是,则对传感器数据进行过滤后执行第四模块,否则,直接执行第四模块;
第四模块,用于根据获得的输出格式对传感器数据进行数据格式转换;
第五模块,用于将进行数据格式转换后的传感器数据输出到输出模式中预设的对应端口。
进一步,还包括:
初始化模块,用于对通信配置参数进行初始化:根据传感器的类型和传感器数据的数据帧类型,初始化通信配置参数的协议解析方式,同时对自动收发数据模式、输出模式和输出格式进行定义。
进一步,所述传感器的数据帧类型为固定数据长度的数据帧,所述第二模块用于对串行数据返回的数据流,按照单个字节依次地进行数据解析,第二模块包括:
第一子模块,用于获取数据帧头并判断获取的数据帧头是否符合协议要求,若否,则将工作状态设置为初始状态并重新尝试接收数据帧头,反之则继续接收下一个数据帧头并继续判断,直到完成所有数据帧头的接收;
第二子模块,用于批量接收完整的数据帧,并实时判断接收到的数据帧的长度是否符合该固定数据长度,若是,则将接收到的固定数据长度的数据作为本次解析得到的传感器数据后,完成本次串行数据帧解析,同时,将工作状态设置为初始状态,并继续下一个数据流的处理。
进一步,所述传感器的数据帧类型为通过数据帧头和数据帧尾确定数据长度的数据帧,所述第二模块用于对串行数据返回的数据流,按照单个字节依次地进行数据解析,第二模块包括:
第三子模块,用于获取数据帧头并判断获取的数据帧头是否符合协议要求,若否,则将工作状态设置为初始状态并重新尝试接收数据帧头,反之则将数据帧头后面的数据存储到缓冲区;
第四子模块,用于实时判断是否接收到数据帧尾,若接收到数据帧尾,则将缓冲区中存储的数据作为本次解析得到的传感器数据后,完成本次串行数据帧解析,同时,将工作状态设置为初始状态,并继续下一个数据流的处理。
进一步,所述第四模块具体用于:
根据获得的输出格式,对传感器数据进行数据格式转换,将传感器数据由明文转换为密文、由密文转换为明文、由二进制编码转换为ASCII码,或者在传感器数据中添加附加信息。
本发明的有益效果是:本发明的一种传感数据接收转换方法,包括:读取获得预存的通信配置参数,按照获得的协议解析方式,自动获取传感器数据,根据获得的自动收发数据模式判断是否要对获取的传感器数据进行处理,若是,则对传感器数据进行过滤,然后根据获得的输出格式对传感器数据进行数据格式转换,最后将进行数据格式转换后的传感器数据输出到输出模式中预设的对应端口,本方法获取预存的通信配置参数,即自动收发数据模式、协议解析方式、输出模式和输出格式后,即可自动读取传感器数据并根据通信配置参数执行相应的处理后输出到用户指定的输出端口,无需更改现有传感器的软件或硬件配置,就可以实现传感器和各种用户终端的数据互联互通,使用方便,成本低,效率高且灵活性高。
本发明的另一有益效果是:本发明的一种传感数据接收转换系统,包括:第一模块,用于读取获得预存的通信配置参数;第二模块,用于按照获得的协议解析方式,自动获取传感器数据;第三模块,用于根据获得的自动收发数据模式判断是否要对获取的传感器数据进行处理,若是,则对传感器数据进行过滤后执行第四模块,否则,直接执行第四模块;第四模块,用于根据获得的输出格式对传感器数据进行数据格式转换;第五模块,用于将进行数据格式转换后的传感器数据输出到输出模式中预设的对应端口。本系统通过第一模块获取预存的通信配置参数,即自动收发数据模式、协议解析方式、输出模式和输出格式后,即可自动读取传感器数据并根据通信配置参数执行相应的处理后输出到用户指定的输出端口,无需更改现有传感器的软件或硬件配置,就可以实现传感器和各种用户终端的数据互联互通,使用方便,成本低,效率高且灵活性高。
具体实施方式
参照图1,本发明提供了一种传感数据接收转换方法,包括:
S1、读取获得预存的通信配置参数,所述通信配置参数包括自动收发数据模式、协议解析方式、输出模式和输出格式;
S2、按照获得的协议解析方式,自动获取传感器数据;
S3、根据获得的自动收发数据模式判断是否要对获取的传感器数据进行处理,若是,则对传感器数据进行过滤后执行步骤S4,否则,直接执行步骤S4;
S4、根据获得的输出格式对传感器数据进行数据格式转换;
S5、将进行数据格式转换后的传感器数据输出到输出模式中预设的对应端口。
进一步作为优选的实施方式,还包括以下步骤:
S0、对通信配置参数进行初始化:根据传感器的类型和传感器数据的数据帧类型,初始化通信配置参数的协议解析方式,同时对自动收发数据模式、输出模式和输出格式进行定义。
进一步作为优选的实施方式,所述传感器的数据帧类型为固定数据长度的数据帧,所述步骤S2包括:
对串行数据返回的数据流,按照单个字节依次地进行数据解析,执行以下步骤:
S201、获取数据帧头并判断获取的数据帧头是否符合协议要求,若否,则将工作状态设置为初始状态并重新尝试接收数据帧头,反之则继续接收下一个数据帧头并继续判断,直到完成所有数据帧头的接收;
S202、批量接收完整的数据帧,并实时判断接收到的数据帧的长度是否符合该固定数据长度,若是,则将接收到的固定数据长度的数据作为本次解析得到的传感器数据后,完成本次串行数据帧解析,同时,将工作状态设置为初始状态,并继续下一个数据流的处理。
进一步作为优选的实施方式,所述传感器的数据帧类型为通过数据帧头和数据帧尾确定数据长度的数据帧,所述步骤S2包括:
对串行数据返回的数据流,按照单个字节依次地进行数据解析,执行以下步骤:
S211、获取数据帧头并判断获取的数据帧头是否符合协议要求,若否,则将工作状态设置为初始状态并重新尝试接收数据帧头,反之则将数据帧头后面的数据存储到缓冲区;
S212、实时判断是否接收到数据帧尾,若接收到数据帧尾,则将缓冲区中存储的数据作为本次解析得到的传感器数据后,完成本次串行数据帧解析,同时,将工作状态设置为初始状态,并继续下一个数据流的处理。
进一步作为优选的实施方式,所述步骤S4,其具体为:
根据获得的输出格式,对传感器数据进行数据格式转换,将传感器数据由明文转换为密文、由密文转换为明文、由二进制编码转换为ASCII码,或者在传感器数据中添加附加信息。
本发明还提供了一种传感数据接收转换系统,包括:
第一模块,用于读取获得预存的通信配置参数,所述通信配置参数包括自动收发数据模式、协议解析方式、输出模式和输出格式;
第二模块,用于按照获得的协议解析方式,自动获取传感器数据;
第三模块,用于根据获得的自动收发数据模式判断是否要对获取的传感器数据进行处理,若是,则对传感器数据进行过滤后执行第四模块,否则,直接执行第四模块;
第四模块,用于根据获得的输出格式对传感器数据进行数据格式转换;
第五模块,用于将进行数据格式转换后的传感器数据输出到输出模式中预设的对应端口。
进一步作为优选的实施方式,还包括:
初始化模块,用于对通信配置参数进行初始化:根据传感器的类型和传感器数据的数据帧类型,初始化通信配置参数的协议解析方式,同时对自动收发数据模式、输出模式和输出格式进行定义。
进一步作为优选的实施方式,所述传感器的数据帧类型为固定数据长度的数据帧,所述第二模块用于对串行数据返回的数据流,按照单个字节依次地进行数据解析,第二模块包括:
第一子模块,用于获取数据帧头并判断获取的数据帧头是否符合协议要求,若否,则将工作状态设置为初始状态并重新尝试接收数据帧头,反之则继续接收下一个数据帧头并继续判断,直到完成所有数据帧头的接收;
第二子模块,用于批量接收完整的数据帧,并实时判断接收到的数据帧的长度是否符合该固定数据长度,若是,则将接收到的固定数据长度的数据作为本次解析得到的传感器数据后,完成本次串行数据帧解析,同时,将工作状态设置为初始状态,并继续下一个数据流的处理。
进一步作为优选的实施方式,所述传感器的数据帧类型为通过数据帧头和数据帧尾确定数据长度的数据帧,所述第二模块用于对串行数据返回的数据流,按照单个字节依次地进行数据解析,第二模块包括:
第三子模块,用于获取数据帧头并判断获取的数据帧头是否符合协议要求,若否,则将工作状态设置为初始状态并重新尝试接收数据帧头,反之则将数据帧头后面的数据存储到缓冲区;
第四子模块,用于实时判断是否接收到数据帧尾,若接收到数据帧尾,则将缓冲区中存储的数据作为本次解析得到的传感器数据后,完成本次串行数据帧解析,同时,将工作状态设置为初始状态,并继续下一个数据流的处理。
进一步作为优选的实施方式,所述第四模块具体用于:
根据获得的输出格式,对传感器数据进行数据格式转换,将传感器数据由明文转换为密文、由密文转换为明文、由二进制编码转换为ASCII码,或者在传感器数据中添加附加信息。
下面结合具体实施方式对本发明做进一步说明。
首先进行说明,实现本发明技术方案的硬件结构框图如图2所示,该硬件结构包括数据采集设备、微处理器及用户终端,数据采集设备包括传感器、RFID设备等,用户终端可采用计算机、平板电脑等,微处理器包括数据接收端口、控制模块、通信配置模块及输出端口,本发明提到的传感数据包括传感器采集的数据、RFID数据等。
微处理器通过数据接收端口接收传感器数据后,通过控制模块进行数据转换,然后通过输出端口输出,并通过用户终端的USB端口或其它通信端口输出到用户终端,用户可以通过用户终端的应用程序对进行数据转换后的传感器数据进行操作。
通信配置模块实际上相当于本发明的传感数据接收转换系统中的初始化模块,执行本发明的传感数据接收转换方法的初始化步骤。控制模块相当于本发明的传感数据接收转换系统的第一模块至第五模块,用于执行本发明的传感数据接收转换方法的步骤S1至S5。
实施例一
一种传感数据接收转换方法,包括:
S0、对通信配置参数进行初始化:根据传感器的类型和传感器数据的数据帧类型,初始化通信配置参数的协议解析方式,同时对自动收发数据模式、输出模式和输出格式进行定义;
协议解析方式被初始化为传感器的数据帧类型,自动收发数据模式被初始化为要获取的传感器数据的类型,例如传感器数据有5个不同的传感器数据,自动收发数据模式可以初始化为要获取这5个传感器数据中的某2个或3个等,输出模式被初始化为输出传感器数据的端口例如USB接口、I/O端口等,输出格式被初始化为输出传感器数据的数据格式,例如二进制、十六进制、ASCII码、加密后的数据、解密后的数据等。
S1、读取获得预存的通信配置参数,所述通信配置参数包括自动收发数据模式、协议解析方式、输出模式和输出格式。
S2、按照获得的协议解析方式,自动获取传感器数据;
传感器的数据帧类型分为两种,一种是固定数据长度的数据帧,另一种是通过数据帧头和数据帧尾确定数据长度的数据帧,对不同数据帧类型的传感器,需要采取不同的方法读取其传感器数据,本实施例中传感器的数据帧类型为固定数据长度的数据帧,步骤S2包括:
参照图3,对串行数据返回的数据流,按照单个字节依次地进行数据解析,执行以下步骤:
S201、获取数据帧头并判断获取的数据帧头是否符合协议要求,若否,则将工作状态设置为初始状态并重新尝试接收数据帧头,反之则继续接收下一个数据帧头并继续判断,直到完成所有数据帧头的接收,此时将工作状态设置为批量接收状态;这里,判断获取的数据帧头是否符合协议要求实际上指对数据帧头的校验;
S202、批量接收完整的数据帧,并实时判断接收到的数据帧的长度是否符合该固定数据长度,若是,则将接收到的固定数据长度的数据作为本次解析得到的传感器数据后,完成本次串行数据帧解析,同时,将工作状态设置为初始状态,并继续下一个数据流的处理;
图3是步骤S201和S202执行时的详细的流程示意图,图3中在批量接收后续数据并判断数据接收完整实质上为判断接收到的数据帧的长度是否符合该固定数据长度,因此,截取数据帧,即将接收到的固定数据长度的数据作为本次解析得到的传感器数据,然后将工作状态设置为初始状态,并处理下一个字节数据,实际上是解析完成后,处理下一个数据流。
S3、根据获得的自动收发数据模式判断是否要对获取的传感器数据进行处理,若是,则对传感器数据进行过滤后执行步骤S4,否则,直接执行步骤S4。
S4、根据获得的输出格式对传感器数据进行数据格式转换,其具体为:
根据获得的输出格式,对传感器数据进行数据格式转换,将传感器数据由明文转换为密文、由密文转换为明文或由二进制编码转换为ASCII码;根据前面的描述,输出格式可按照用户需求初始化为二进制、十六进制、ASCII码、加密后的数据、解密后的数据等,因此,这里可以将传感器数据进行由明文转换为密文、由密文转换为明文或由二进制编码转换为ASCII码等数据格式转换操作,或者在传感器数据中添加附加信息,例如时间信息、校验信息等,或按用户初始化所配置的其它自定义格式进行转换。
S5、将进行数据格式转换后的传感器数据输出到输出模式中预设的对应端口。
本实施例中,只要使用传感器之前,对通信配置参数进行初始化,即根据传感器类型以及用户需求对自动收发数据模式、协议解析方式、输出模式和输出格式进行初始化后,即可自动读取传感器数据并输出到用户指定的输出端口,无需进行其它操作。
实施例二
一种传感数据接收转换方法,包括:
S0、对通信配置参数进行初始化:根据传感器的类型和传感器数据的数据帧类型,初始化通信配置参数的协议解析方式,同时对自动收发数据模式、输出模式和输出格式进行定义;
协议解析方式被初始化为传感器的数据帧类型,自动收发数据模式被初始化为要获取的传感器数据的类型,例如传感器数据有5个不同的传感器数据,自动收发数据模式可以初始化为要获取这5个传感器数据中的某2个或3个等,输出模式被初始化为输出传感器数据的端口,输出格式被初始化为输出传感器数据的数据格式,例如二进制、十六进制、ASCII码、加密后的数据、解密后的数据等。
S1、读取获得预存的通信配置参数,所述通信配置参数包括自动收发数据模式、协议解析方式、输出模式和输出格式。
S2、按照获得的协议解析方式,自动获取传感器数据;
传感器的数据帧类型分为两种,一种是固定数据长度的数据帧,另一种是通过数据帧头和数据帧尾确定数据长度的数据帧,对不同数据帧类型的传感器,需要采取不同的方法读取其传感器数据,本实施例中传感器的数据帧类型为通过数据帧头和数据帧尾确定数据长度的数据帧,步骤S2包括:
参照图4,对串行数据返回的数据流,按照单个字节依次地进行数据解析,执行以下步骤:
S211、获取数据帧头并判断获取的数据帧头是否符合协议要求,若否,则将工作状态设置为初始状态并重新尝试接收数据帧头,反之则将工作状态设置为接收数据状态,并将数据帧头后面的数据存储到缓冲区;
S212、实时判断是否接收到数据帧尾,若接收到数据帧尾,则将缓冲区中存储的数据作为本次解析得到的传感器数据后,完成本次串行数据帧解析,同时,将工作状态设置为初始状态,并继续下一个数据流的处理;
图4是步骤S211和S212执行时的详细的流程示意图,由图4中可看出,本实施例接收传感器数据并存储到缓冲区,直到接收到数据帧尾为结束符时,停止接收,同时,对接收的字符数进行计数,接收完毕后也可获得传感器数据的数据长度。
S3、根据获得的自动收发数据模式判断是否要对获取的传感器数据进行处理,若是,则对传感器数据进行过滤后执行步骤S4,否则,直接执行步骤S4。
S4、根据获得的输出格式对传感器数据进行数据格式转换,其具体为:
根据获得的输出格式,对传感器数据进行数据格式转换,将传感器数据由明文转换为密文、由密文转换为明文或由二进制编码转换为ASCII码;根据前面的描述,输出格式可按照用户需求初始化为二进制、十六进制、ASCII码、加密后的数据、解密后的数据等,因此,这里可以将传感器数据进行由明文转换为密文、由密文转换为明文或由二进制编码转换为ASCII码等数据格式转换操作,或者在传感器数据中添加附加信息,例如时间信息、校验信息等,或按用户初始化所配置的其它自定义格式进行转换。
S5、将进行数据格式转换后的传感器数据输出到输出模式中预设的对应端口。
本实施例与实施例一的区别仅在于步骤S2的区别,因此,同样本实施例中,只要使用传感器之前,对通信配置参数进行初始化,即根据传感器类型以及用户需求对自动收发数据模式、协议解析方式、输出模式和输出格式进行初始化后,即可自动读取传感器数据并输出到用户指定的输出端口,无需进行其它操作。
实施例三
初始化模块,用于对通信配置参数进行初始化:根据传感器的类型和传感器数据的数据帧类型,初始化通信配置参数的协议解析方式,同时对自动收发数据模式、输出模式和输出格式进行定义;
第一模块,用于读取获得预存的通信配置参数,所述通信配置参数包括自动收发数据模式、协议解析方式、输出模式和输出格式;
第二模块,用于按照获得的协议解析方式,自动获取传感器数据;传感器的数据帧类型为固定数据长度的数据帧,第二模块用于对串行数据返回的数据流,按照单个字节依次地进行数据解析,包括:
第一子模块,用于获取数据帧头并判断获取的数据帧头是否符合协议要求,若否,则将工作状态设置为初始状态并重新尝试接收数据帧头,反之则继续接收下一个数据帧头并继续判断,直到完成所有数据帧头的接收;
第二子模块,用于批量接收完整的数据帧,并实时判断接收到的数据帧的长度是否符合该固定数据长度,若是,则将接收到的固定数据长度的数据作为本次解析得到的传感器数据后,完成本次串行数据帧解析,同时,将工作状态设置为初始状态,并继续下一个数据流的处理;
第三模块,用于根据获得的自动收发数据模式判断是否要对获取的传感器数据进行处理,若是,则对传感器数据进行过滤后执行第四模块,否则,直接执行第四模块;
第四模块,用于根据获得的输出格式对传感器数据进行数据格式转换,具体用于根据获得的输出格式,对传感器数据进行数据格式转换,将传感器数据由明文转换为密文、由密文转换为明文或由二进制编码转换为ASCII码;
第五模块,用于将进行数据格式转换后的传感器数据输出到输出模式中预设的对应端口。
本实施例是与实施例一一一对应的软系统,技术细节的描述可参照实施例一。
实施例四
初始化模块,用于对通信配置参数进行初始化:根据传感器的类型和传感器数据的数据帧类型,初始化通信配置参数的协议解析方式,同时对自动收发数据模式、输出模式和输出格式进行定义;
第一模块,用于读取获得预存的通信配置参数,所述通信配置参数包括自动收发数据模式、协议解析方式、输出模式和输出格式;
第二模块,用于按照获得的协议解析方式,自动获取传感器数据;传感器的数据帧类型为通过数据帧头和数据帧尾确定数据长度的数据帧,第二模块用于对串行数据返回的数据流,按照单个字节依次地进行数据解析,包括:
第三子模块,用于获取数据帧头并判断获取的数据帧头是否符合协议要求,若否,则将工作状态设置为初始状态并重新尝试接收数据帧头,反之则将数据帧头后面的数据存储到缓冲区;
第四子模块,用于实时判断是否接收到数据帧尾,若接收到数据帧尾,则将缓冲区中存储的数据作为本次解析得到的传感器数据后,完成本次串行数据帧解析,同时,将工作状态设置为初始状态,并继续下一个数据流的处理;
第三模块,用于根据获得的自动收发数据模式判断是否要对获取的传感器数据进行处理,若是,则对传感器数据进行过滤后执行第四模块,否则,直接执行第四模块;
第四模块,用于根据获得的输出格式对传感器数据进行数据格式转换,具体用于根据获得的输出格式,对传感器数据进行数据格式转换,将传感器数据由明文转换为密文、由密文转换为明文或由二进制编码转换为ASCII码;
第五模块,用于将进行数据格式转换后的传感器数据输出到输出模式中预设的对应端口。
本实施例是与实施例二一一对应的软系统,技术细节的描述可参照实施例二。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。