一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于ZigBee的体温数据采集与主机的串口通信方法与流程

2021-11-09 22:25:00 来源:中国专利 TAG:

基于zigbee的体温数据采集与主机的串口通信方法
技术领域
1.本发明属于无线通讯技术领域,更具体涉及基于zigbee的体温数据采集与主机的串口通信方法。


背景技术:

2.zigbee技术是一种近距离,低复杂度,低功耗,低速率,低成本的双向无线通信技术,适用于工业,农业,军事,环境,医疗等多种传统领域。
3.传统模式下的医疗检测对病人产生很大不便性,利用无线传感器网络技术,通过相应的人体电信号检测传感器,可以测量出人体体征数据,同时通过无线传输数据技术,医生可以通过控制主机远程监控病人身体状况,随时查看,随时接受警报信息。
4.zigbee是一种无线连接,可工作在2.4ghz,868mhz和915mhz三个频段上,分别具有最高250kb/s,20kb/s和40kb/s的传输速率,传输距离在10至75m的范围内,同时可以继续增加范围。
5.zigbee堆栈是在ieee802.15.4标准基础上建立的,定义了协议的mac和phy层,zigbee设备包括ieee802.15.4的phy和mac层,以及zigbee堆栈层:网络层(nwk),应用层和安全服务提供层。
6.串口通信协议设置了zigbee通过串口与主机完成通信和服务遵循的规则和约定,协议定义了数据单元的使用格式,以及数据单元包含的信息与含义,以及连接方式,信息发送与接收时序,确保了信息之间的正确交互。
7.但是目前医疗检测中,大多采用蓝牙方案进行数据传输,能量消耗大,距离传输受限,且数据传输不稳定。
8.在传统病人医疗数据测量方案中,设备基本是通过固定病房以及病床位置的架设方案来判断设备位置信息,而zigbee的优势在于无线自组织网络,能够实现测量设备的移动便携性。


技术实现要素:

9.本发明的目的在于解决现有技术中存在的上述问题,提供基于zigbee的体温数据采集与主机的串口通信方法。
10.本发明的上述目的通过以下技术手段实现:
11.基于zigbee的体温数据采集与主机的串口通信方法,包括以下步骤:
12.步骤1、zigbee设备开机入网后,对外发送地址帧,zigbee设备包括zigbee路由节点和zigbee终端节点;
13.步骤2、主机接收地址帧并且进行帧解析,构建入网设备拓扑图;
14.步骤3、zigbee路由节点周期性组播发送路由命令帧给zigbee终端节点;
15.步骤4、zigbee终端节点接收到路由命令帧后测量体温数据,并进行体温数据帧的封装;
16.步骤5、zigbee路由节点接收所有zigbee终端节点发送的体温数据帧后开始进行体温数据帧的整合,生成整合体温数据帧并发送到主机;
17.步骤6、主机接收整合体温数据帧并解析,若整合体温数据帧校验合格,则继续步骤7,否则继续步骤8;
18.步骤7、主机发送包含主机确认整合体温数据帧接收无误的信息的主机命令帧到整合体温数据帧对应的zigbee路由节点;
19.步骤8、主机发送包含主机确认整合体温数据帧接收有误的信息的主机命令帧到整合体温数据帧对应的zigbee路由节点,请求zigbee路由节点重传整合体温数据帧。
20.如上所述的步骤1包括以下步骤:
21.步骤1.1、zigbee设备开机入网后,zigbee设备设置地址帧的帧头字段;
22.步骤1.2、zigbee设备设置地址帧的帧类型字段;
23.步骤1.3、如果zigbee设备为zigbee路由节点,将地址帧的节点类型字段设置为0x01,如果zigbee设备为zigbee终端节点,将地址帧的节点类型字段设置为0x02;
24.步骤1.4、如果zigbee设备为zigbee路由节点,查询设备按键设置的病房号数据,将病房号数据置于地址帧的病房号字段,如果zigbee设备为zigbee终端节点,查询设备按键设置的病床号信息,将病床号信息置于地址帧的病床号字段,
25.步骤1.5、将入网的zigbee设备的父节点网络地址置于地址帧的父节点网络地址字段,若zigbee设备为zigbee终端节点,则对应的父节点网络地址为zigbee路由节点网络地址;若zigbee设备为zigbee路由节点,则对应的父节点网络地址为zigbee协调器网络地址;
26.步骤1.6、将入网的zigbee设备的节点网络地址置于地址帧的本节点网络地址字段;
27.步骤1.7、将入网的zigbee设备的节点物理地址置于地址帧的本节点物理地址字段;
28.步骤1.8、设置地址帧的帧尾字段;
29.步骤1.9、将地址帧的帧头字段,帧类型字段,节点类型字段,病房/病床号字段,父节点网络地址字段,本节点网络地址字段,本节点物理地址字段,以及帧尾字段所有设置内容进行异或计算,计算得到异或值并填入地址帧的校验字段;
30.步骤1.10、入网的zigbee设备将地址帧封装完毕并发送到主机。
31.如上所述的步骤2包括以下步骤:
32.步骤2.1、当主机接收从串口获得的地址帧,判断地址帧的完整性;
33.步骤2.2、主机解析获取节点类型字段内容,获取发送当前地址帧的zigbee设备对应的节点类型;
34.步骤2.3、如果解析节点类型字段内容为zigbee路由节点,则存储记录当前地址帧的病房号字段信息,如果解析节点类型字段内容为zigbee终端节点,则存储记录当前地址帧的病床号字段信息;
35.步骤2.4、主机解析获取当前地址帧的父节点网络地址,在数据库中进行记录;
36.步骤2.5、主机解析获取当前地址帧的节点网络地址,在数据库中进行记录;
37.步骤2.6、主机解析获取当前地址帧的节点物理地址,在数据库中进行记录;
38.步骤2.7、主机通过数据库中记录的父节点网络地址、节点网络地址和节点物理地址,构建入网设备拓扑图。
39.如上所述的步骤3包括以下步骤:
40.步骤3.1、设置路由命令帧的帧头字段;
41.步骤3.2、将路由命令帧的帧序号字段设置为本次发送的路由命令帧的序号;
42.步骤3.3、设置路由命令帧的帧类型字段;
43.步骤3.4、设置路由命令帧的路由命令字段;
44.步骤3.5、设置路由命令帧的帧尾字段;
45.步骤3.6、将路由命令帧的帧头字段,帧序号字段,帧类型字段,路由命令字段,以及帧尾字段所有设置内容进行异或计算,计算得到异或值并填入地址帧的校验字段;
46.步骤3.7、zigbee路由节点通过组播向zigbee终端节点发送路由命令帧。
47.如上所述的步骤4包括以下步骤:
48.步骤4.1、设置体温数据帧的帧头字段;
49.步骤4.2、将体温数据帧的帧序号字段设置为对应路由命令帧的帧序号字段内容;
50.步骤4.3、设置体温数据帧的帧类型字段;
51.步骤4.4、读取zigbee终端节点对应的病床号信息设置于体温数据帧的病床号字段;
52.步骤4.5、在体温数据帧中的体温数据字段中添加当前采集的体温数据;
53.步骤4.6、设置体温数据帧的帧尾字段;
54.步骤4.7、将体温数据帧的帧头字段,帧序号字段,帧类型字段,病床号字段,体温数据字段,以及帧尾字段所有设置内容进行异或计算,计算得到异或值并填入体温数据帧的校验字段;
55.步骤4.8、zigbee终端节点将体温数据帧发送到zigbee路由节点,zigbee路由节点接收到体温数据帧后存储在存储器中。
56.如上所述的步骤5包括以下步骤:
57.步骤5.1、zigbee路由节点从存储器中取出所有存储的体温数据帧;
58.步骤5.2、将各个体温数据帧进行拆解,获取病床号信息和对应的体温数据进行记录;
59.步骤5.3、设置整合体温数据帧的帧头字段;
60.步骤5.4、将整合体温数据帧的帧序号字段设置为路由命令帧的帧序号字段的内容;
61.步骤5.5、设置整合体温数据帧的帧类型字段;
62.步骤5.6、将zigbee路由节点对应的病房号信息设置于整合体温数据帧的病房号字段;
63.步骤5.7、获取读取体温数据帧的病床数目,将病床数目置于整合病床数字段;
64.步骤5.8、进行整合体温数据帧的体温数据字段内容的设置,整合体温数据帧的整合体温数据字段为每个病床对应的体温数据分配2个字节单元,每2个字节单元存储测量体温数据以及对应的病床号;
65.步骤5.9、设置整合体温数据帧的帧尾字段;
66.步骤5.10、将整合体温数据帧的帧头字段,帧序号字段,帧类型字段,病房号字段,整合病床数字段,整合体温数据字段,以及帧尾字段所有设置内容进行异或计算,计算得到异或值并填入整合体温数据帧的校验字段;
67.步骤5.11、zigbee路由节点将整合体温数据帧通过zigbee网络发送至zigbee协调器,zigbee协调器通过串口再将整合体温数据帧发送至主机。
68.如上所述的步骤7包括以下步骤:
69.步骤7.1、主机将对应病房号和病床号测量得到的体温数据存储在数据库中;
70.步骤7.2、设置主机命令帧的帧头字段;
71.步骤7.3、将主机命令帧的帧序号字段设置为对应整合体温数据帧的帧序号字段内容;
72.步骤7.4、设置主机命令帧的帧类型字段;
73.步骤7.5、将主机命令帧的主机命令字段设置为0x01,0x01表示是主机确认整合体温数据帧的接收无误;
74.步骤7.6、设置主机命令帧帧尾字段;
75.步骤7.7、将主机命令帧的帧头字段,帧序号字段,帧类型字段,主机命令字段,以及帧尾字段所有设置内容进行异或计算,计算得到异或值,将异或值置于主机命令帧的校验字段;
76.步骤7.8,主机通过zigbee协调器将主机命令帧发送至发送整合体温数据帧的zigbee路由节点。
77.如上所述的步骤8包括以下步骤:
78.步骤8.1、设置主机命令帧的帧头字段;
79.步骤8.2、将主机命令帧的帧序号字段设置为对应整合体温数据帧的帧序号字段内容;
80.步骤8.3、将主机命令帧的帧类型字段设置为0x04,0x04表示是主机命令帧;
81.步骤8.4、将主机命令帧的主机命令字段设置为0x02,0x02表示主机接收整合体温数据帧出现错误;
82.步骤8.5、设置主机命令帧帧尾字段;
83.步骤8.6、将主机命令帧的帧头字段,帧序号字段,帧类型字段,主机命令字段,以及帧尾字段所有设置内容进行异或计算,计算得到异或值并填入主机命令帧校验字段;
84.步骤8.7、主机将主机命令帧通过zigbee协调器发送至zigbee路由节点。
85.步骤8.8、zigbee路由节点接收主机命令帧,zigbee路由节点将对应整合体温数据帧的帧序号的整合体温数据帧进行重传。
86.本发明相对于现有技术,具有以下优点:
87.1、使用zigbee作为zigbee终端节点与zigbee协调器的通讯方式,减小功耗,且数据传输距离长;
88.2、建立zigbee终端节点与主机之间的可靠数据传输,进行zigbee至串口通讯的转换;
89.3、通过数据校验和功能字段实现zigbee传输和串口传输的数据的正确性控制,对传输失败的数据进行重传处理。
90.4、通过整合体温数据帧,能够减少数据帧发送流量,减少主机对于每个zigbee设备的数据帧的处理,从而缓轻系统的拥塞情况。
附图说明
91.图1是本发明中地址帧结构图;
92.图2是本发明中体温数据帧结构图;
93.图3是本发明中整合体温数据帧结构图;
94.图4是本发明中主机命令帧结构图;
95.图5是本发明中路由命令帧结构图;
96.图6是本发明中帧类型字段内容说明图;
97.图7为本发明的结构示意图。
具体实施方案
98.为了便于本领域普通技术人员理解和实施本发明,下面结合实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
99.本次发明涉及的地址帧的结构与定义如图1所示,体温数据帧的结构与定义如图2所示。
100.基于zigbee的体温数据采集与主机的串口通信方法,包括以下步骤:
101.步骤1、zigbee设备开机入网后,发送地址帧,地址帧结构与定义如图1所示;
102.步骤1.1、zigbee设备开机入网后,zigbee设备将地址帧的帧头字段(sof)设置为0x3c,
103.步骤1.2、zigbee设备将地址帧的帧类型字段(ft)设置为0x05,表示这是地址帧,表示含义如图1所示,
104.步骤1.3、如果zigbee设备为zigbee路由节点,将地址帧的节点类型字段(nt)设置为0x01,如果zigbee设备为zigbee终端节点,将地址帧的节点类型字段(nt)设置为0x02,
105.步骤1.4、如果zigbee设备为zigbee路由节点,查询设备按键设置的病房号数据,将病房号数据置于地址帧的病房号字段(wn),如果zigbee设备为zigbee终端节点,查询设备按键设置的病床号信息,将病床号信息置于地址帧的病床号字段(bn)。
106.步骤1.5、将入网的zigbee设备的父节点网络地址置于地址帧的父节点网络地址字段(psa),若zigbee设备为zigbee终端节点,则对应的父节点网络地址为zigbee路由节点网络地址;若zigbee设备为zigbee路由节点,则对应的父节点网络地址为zigbee协调器网络地址;
107.步骤1.6、将入网的zigbee设备的节点网络地址置于地址帧的本节点网络地址字段(sa),
108.步骤1.7、将入网的zigbee设备的节点物理地址置于地址帧的本节点物理地址字段(ma),
109.步骤1.8、将地址帧的帧尾字段(eof)设置为0x3e。
110.步骤1.9、将地址帧的帧头字段(sof),帧类型字段(ft),节点类型字段(nt),病房/
病床号字段(wm/bn),父节点网络地址字段(psa),本节点网络地址字段(sa),本节点物理地址字段(ma),以及帧尾字段(eof)所有设置内容进行异或计算,计算得到异或值,这个异或值就是地址帧的校验字段(bcc)的内容。
111.步骤1.10、入网的zigbee设备将地址帧封装完毕,
112.若zigbee设备为zigbee路由节点,则zigbee设备通过zigbee网络将地址帧发送至zigbee协调器,zigbee协调器通过串口将地址帧发送至主机;
113.若zigbee设备为zigbee终端节点,则zigbee设备将地址帧发送到zigbee路由节点,zigbee路由节点通过zigbee网络将地址帧发送至zigbee协调器,zigbee协调器通过串口将地址帧发送至主机。
114.步骤2、主机接收地址帧并且进行帧解析,构建入网设备拓扑图;
115.步骤2.1、当主机接收从串口获得的地址帧,首先进行帧头字段(sof)判断,确定地址帧的帧头起始位置,然后对帧尾字段(eof)进行判断,保证地址帧的完整性。
116.步骤2.2、主机解析获取节点类型字段(nt)内容,获取发送当前地址帧的zigbee设备对应的节点类型。
117.步骤2.3、如果解析节点类型字段内容为zigbee路由节点,则存储记录当前地址帧的病房号字段(wn)信息,如果解析节点类型字段内容为zigbee终端节点,则存储记录当前地址帧的病床号字段(bn)信息。
118.步骤2.4、主机解析获取当前地址帧的父节点网络地址,在数据库中进行记录;
119.步骤2.5、主机解析获取当前地址帧的节点网络地址,在数据库中进行记录;
120.步骤2.6、主机解析获取当前地址帧的节点物理地址,在数据库中进行记录;
121.步骤2.7、主机通过数据库中记录的父节点网络地址、节点网络地址和节点物理地址,构建入网设备拓扑图。
122.步骤3、zigbee路由节点周期性组播发送路由命令帧给zigbee终端节点;
123.步骤3.1、将路由命令帧的帧头字段(sof)设置为0x3c。
124.步骤3.2、将路由命令帧的帧序号字段(sn)设置为本次发送的路由命令帧的序号。
125.步骤3.3、将路由命令帧的帧类型字段(ft)设置为0x05,表示这是路由命令帧。
126.步骤3.4、将路由命令帧的路由命令字段(rc)设置为0x01,表示这是请求zigbee终端节点发送体温数据命令。
127.步骤3.5、将路由命令帧的帧尾字段(eof)设置为0x3e。
128.步骤3.6、将路由命令帧的帧头字段(sof),帧序号字段(sn),帧类型字段(ft),路由命令字段(rc),以及帧尾字段(eof)所有设置内容进行异或计算,计算得到异或值,这个异或值就是地址帧的校验字段(bcc)的内容。
129.步骤3.7、zigbee路由节点通过组播向zigbee终端节点发送路由命令帧。
130.步骤4、zigbee终端节点接收到路由命令帧后测量体温数据;
131.当前zigbee终端通过接收zigbee路由节点发送的路由命令帧进行体温数据的测量。物体红外辐射能量的大小和波长的分布与其表面温度关系密切,通过对物体自身红外辐射的测量,能准确地确定其表面温度。体温测量器由光学系统、光电探测器、信号放大器和信号处理及输出等部分组成。光学系统汇聚其视场内的目标红外辐射能量,视场的大小由测温仪的光学零件及其位置确定。红外能量聚焦在光电探测器上并转变为相应的电信
号。该信号经过放大器和信号处理电路,并按照仪器内的算法和目标发射率校正后转变为被测目标的温度值,zigbee终端节点继而读取体温传感器测量得出的温度值,将温度值进行体温数据帧的封装。
132.步骤4.1、将体温数据帧的帧头字段(sof)设置为0x3c。
133.步骤4.2、将体温数据帧的帧序号字段(sn)设置为对应路由命令帧的帧序号字段内容。
134.步骤4.3、将体温数据帧的帧类型字段(ft)设置为0x02,表示这是体温数据帧。
135.步骤4.4、读取zigbee终端节点的按键设置的病床号信息,并将病床号信息设置于体温数据帧的病床号字段(bn)
136.步骤4.5、在体温数据帧中的体温数据字段(tpda)中添加当前采集的体温数据,采用十六进制数形式。
137.步骤4.6、将体温数据帧的帧尾字段(eof)设置为值0x3e;
138.步骤4.7、将体温数据帧的帧头字段(sof),帧序号字段(sn),帧类型字段(ft),病床号字段(bn),体温数据字段(tpda),以及帧尾字段(eof)所有设置内容进行异或计算,计算得到异或值,这个异或值就是体温数据帧的校验字段(bcc)的内容。
139.步骤4.8、zigbee终端节点将体温数据帧发送到zigbee路由节点,zigbee路由节点接收到体温数据帧后存储在存储器中。
140.步骤5、zigbee路由节点接收所有zigbee终端节点发送的体温数据帧后开始进行体温数据帧的整合,生成整合体温数据帧并发送到主机。
141.步骤5.1、zigbee路由节点从存储器中取出所有存储的体温数据帧。
142.步骤5.2、将各个体温数据帧进行拆解,获取病床号信息和对应的体温数据进行记录。
143.步骤5.3、将整合体温数据帧的帧头字段(sof)设置为0x3c。
144.步骤5.4、将整合体温数据帧的帧序号字段(sn)设置为路由命令帧的帧序号字段的内容。
145.步骤5.5、将整合体温数据帧的帧类型字段(ft)设置为0x03表示这是整合体温数据帧。
146.步骤5.6、读取zigbee路由节点的按键设置的病房号信息,并将病房号信息设置于整合体温数据帧的病房号字段(wn)
147.步骤5.7、获取读取体温数据帧的病床数目,将病床数目置于整合病床数字段(iba)。
148.步骤5.8、进行整合体温数据帧的体温数据字段(itpda)内容的设置,整合体温数据帧的整合体温数据字段(itpda)为每个病床对应的体温数据分配2个字节单元,第一个字节单元前四位设置为测量体温数据的病床号,第一个字节后四位设置病床号对应的测量得到体温数据的整数值的十位上的数据,第二个字节前四位表示测量得到体温数据的整数值的个位上的数据,第二个字节后四位表示病床号对应的测量得到体温数据的小数值。
149.步骤5.9、将整合体温数据帧的帧尾字段(eof)设置为0x3e。
150.步骤5.10、将整合体温数据帧的帧头字段(sof),帧序号字段(sn),帧类型字段(ft),病房号字段(wn),整合病床数字段(iba),整合体温数据字段(itpda),以及帧尾字段
(eof)所有设置内容进行异或计算,计算得到异或值,这个异或值就是整合体温数据帧的校验字段(bcc)的内容。
151.步骤5.11、zigbee路由节点将整合体温数据帧通过zigbee网络发送至zigbee协调器,zigbee协调器通过串口再将整合体温数据帧发送至主机。
152.步骤6、主机接收整合体温数据帧,并根据接受情况发送主机命令帧;
153.主机命令帧包括帧头字段(sof),帧序号字段(sn),帧类型字段(ft),主机命令字段(mc),校验字段(bcc),帧尾字段(eof)
154.主机接收整合体温数据帧,通过判断接收数据内容是否为0x3c来定位本次整合体温数据帧的帧头,同时通过判断接收数据内容是否为0x3e来定位本次整合体温数据帧的帧尾。将整合体温数据帧的帧头字段(sof),帧序号字段(sn),帧类型字段(ft),整合病床数字段(iba),整合体温数据字段(itpda),以及帧尾字段(eof)所有设置内容进行异或计算,计算得到异或值,将得到的异或值同整合体温数据帧中校验字段(bcc)内容进行比较,比较一致表示接收无误,继续步骤7,比较不一致,表示整合体温数据帧的传输过程出现差错,请求重传,继续步骤8。
155.步骤7、主机发送包含主机确认整合体温数据帧接收无误的信息的主机命令帧到整合体温数据帧对应的zigbee路由节点。
156.步骤7.1、主机将对应病房号和病床号测量得到的体温数据存储在数据库中。
157.步骤7.2、将主机命令帧的帧头字段(sof)设置为0x3c。
158.步骤7.3、将主机命令帧的帧序号字段(sn)设置为对应整合体温数据帧的帧序号字段内容。
159.步骤7.4、将主机命令帧的帧类型字段(ft)设置为0x04,表示这是主机命令帧。
160.步骤7.5、将主机命令帧的主机命令字段(mc)设置为0x01,表示主机确认整合体温数据帧的接收无误。
161.步骤7.6、将主机命令帧帧尾字段(eof)设置为0x3e。
162.步骤7.7、将主机命令帧的帧头字段(sof),帧序号字段(sn),帧类型字段(ft),主机命令字段(mc),以及帧尾字段(eof)所有设置内容进行异或计算,计算得到异或值,将异或值置于主机命令帧的校验字段(bcc)。
163.步骤7.8,主机通过zigbee协调器将主机命令帧发送至发送整合体温数据帧的zigbee路由节点。
164.步骤8,主机发送包含主机确认整合体温数据帧接收有误的信息的主机命令帧到整合体温数据帧对应的zigbee路由节点,请求zigbee路由节点重传整合体温数据帧。
165.步骤8.1、将主机命令帧的帧头字段(sof)设置为0x3c。
166.步骤8.2、将主机命令帧的帧序号字段(sn)设置为对应整合体温数据帧的帧序号字段内容。
167.步骤8.3、将主机命令帧的帧类型字段(ft)设置为0x04,表示这是主机命令帧。
168.步骤8.4、将主机命令帧的主机命令字段(mc)设置为0x02,表示主机接收整合体温数据帧出现错误,请求zigbee路由节点重传。
169.步骤8.5、将主机命令帧帧尾字段(eof)设置为0x3e。
170.步骤8.6、将主机命令帧的帧头字段(sof),帧序号字段(sn),帧类型字段(ft),主
机命令字段(mc),以及帧尾字段(eof)所有设置内容进行异或计算,计算得到异或值,将异或值置于主机命令帧校验字段(bcc)。
171.步骤8.7、主机将主机命令帧通过zigbee协调器发送至zigbee路由节点。
172.步骤8.8、zigbee路由节点接收主机命令帧,zigbee路由节点将对应整合体温数据帧的帧序号的整合体温数据帧进行重传。
173.本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献