CN110248319B - 一种面向wscn节点的远程代码更新方法 - Google Patents
一种面向wscn节点的远程代码更新方法 Download PDFInfo
- Publication number
- CN110248319B CN110248319B CN201910371182.6A CN201910371182A CN110248319B CN 110248319 B CN110248319 B CN 110248319B CN 201910371182 A CN201910371182 A CN 201910371182A CN 110248319 B CN110248319 B CN 110248319B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- sub
- data packet
- gateway node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004891 communication Methods 0.000 claims abstract description 74
- 230000007246 mechanism Effects 0.000 claims abstract description 32
- 230000005540 biological transmission Effects 0.000 claims abstract description 21
- 230000009191 jumping Effects 0.000 claims description 16
- 238000011161 development Methods 0.000 claims description 14
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 claims description 8
- 241000854291 Dianthus carthusianorum Species 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 6
- 239000013589 supplement Substances 0.000 claims description 5
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004140 cleaning Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1809—Selective-repeat protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/04—Error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W74/00—Wireless channel access
- H04W74/08—Non-scheduled access, e.g. ALOHA
- H04W74/0833—Random access procedures, e.g. with 4-step access
- H04W74/0841—Random access procedures, e.g. with 4-step access with collision treatment
- H04W74/085—Random access procedures, e.g. with 4-step access with collision treatment collision avoidance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种面向WSCN节点的远程代码更新方法,属于物联网技术领域。该方法包括以下步骤:服务器分配、窄带物联网进行远距离传输、基于WSCN的多节点通信、丢帧补发和防冲突机制。本发明的有益效果为:本发明的服务器分配是在保证通信丢包率较少和尽可能的降低冲突前提下,进行服务器分配;运用WSCN网关节点与WSCN子节点之间的通信,以及子节点与子节点的通信功能实现串行化数据传输;根据WSCN收集到的各子节点接收更新数据包进行收集,对出现频率较多的数据帧号进行补发,防止在同一信道上造成通信冲突。
Description
技术领域
本发明涉及物联网技术领域,尤其涉及一种面向WSCN节点的远程代码更新方法。
背景技术
目前,随着微电子技术、计算技术、传感技术和无线通信技术的快速发展,无线传感器控制网络(wireless sensor control network,WSCN)受到越来越广泛的关注,并在民用和军事领域都体现出重大的应用价值。
无线传感网络是由一组传感器以自由配置方式构成的无线网络,其目的是协同地感知、采集和处理网络覆盖的地理区域中感知对象的信息,并汇聚给服务器。一个小规模的无线传感网络可以只需部署一个路由网关,由这一个路由网关监控着该区域的其他传感器节点。而对于区域范围比较大或者传感器节点较多的无线传感网络而言,就需要有多个路由网关节点,其中的每一个路由网关节点均监控着若干个传感器节点;当区域范围比较复杂或者区域的分布比较分散时,给每个分散的区域设定一个路由网关节点,路由网关节点收集所在区域其他子节点的数据信息,服务器通过与每个区域的路由网关节点的通信以便对其他传感器子节点进行操作控制。
目前在面向无线传感器网络远程更新的实例中,在对某个区域中的某个或者某些传感器子节点进行更新时,采用传统的人工有线烧录,由于在整个传感器网络中每一个传感器节点都有自己的固定地址,于是服务器通过无线传感网采用主动轮询的方式获取每个节点的当前信息,显得不切实际。
现有技术中的无线传感器网络远程更新存在如下几种方式:
1)面对一个节点进行代码更新的情况,由于无线传感器网络中节点一般都是随机部署的,有可能会被随机部署到恶劣的环境中不易取回,传统的人工有线烧录并不能满足节点随机性的要求;其采用的无线传输方式,通过zigbee技术实现了点对点远程更新的功能,将MCU程序存储器划分为一个更新引导程序存储区和多个应用程序存储区,若节点接收到来自另一个节点的更新数据包命令,进至更新引导程序,等待全部校验后,跳转至用户程序实现更新。该技术很好的解决了点对点数据传输的稳定性,然而在实际应用中,传感器节点的数量并非这么少,当节点的数量较多时,若使用上述已经实现的点对点传输方法,那更新的整体效率将大大降低。
2)当两个节点距离在人为可以目测的范围内时,从现有的技术上来看,GPRS、DTU等技术已经成熟的运用到近距离的传感器网络传输中。可是对于无线传感器网络来说,无线传感器节点存在的区域都不是固定的,为了可以实现节点之间远距离传输数据的可靠性,在点对多点的传输机制中,当源节点将信息发送给各个子节点后,子节点需要向源节点发送返回信息,于是在同一个信道上必然会造成通信冲突。在现有的技术中,提出了以下几种比较防冲突机制,但是每种防冲突机制都存在各自的缺陷:
1、时间戳机制:赋予每个事务唯一的时间戳,事务的执行等效于按时间戳次序串行执行,如果发生冲突,则通过撤销并重新启动一个事务来解决。事务重新启动时,则赋予一个新的时间戳。源节点在向子节点发送更新数据包时间,给每个子节点给分配一个时间流,各个子节点收到更新数据包后,按照分配的时间流信息依次向源节点发送返回信息,该方法在理论上合理的规避了多点通信冲突的问题,可是该方法在实现的过程中对时间的精确度要求比较高,时间的精准度如果较差,依旧容易出现多个节点同时返回的通信冲突。
2、监听信道以及退避机制:
1)退避次数变量NB为0,二进制退避指数BE设为1;
2)获得当前能量值,跟阈值比较判断是否空闲,若不空闲继续执行,否则跳至6)
3)退避次数NB加1,如果二进制退避指数小于其最大值maxBE,BE加1;
4)判断退避指数NB是否大于其最大值maxNB,若是继续执行;否则在(0-2^(BE-1)范围内随机延时一个时间,跳至2);
5)降低能量值阈值,获取当前能量值进行比较,若大于新阈值,继续执行,否则跳至7);
1.6)在(0-2^BE)范围内随机延时一个时间,发送数据,返回发送成功;
7)返回发送失败,强制发送一次数据。
该方法通过能量值监听信道是否空闲的方式,来决定是否向源节点返回信息;当其中一个节点成功获取到了信道的使用权,其他节点随机退避,并继续监听信道;该方法在一定程度上,合理的规避了多点通信带来的冲突问题,但只能在一定程度上满足自子节点数量较少的情况;当子节点数量较多的情况下,当一个节点占用信道的使用权后,其他大部分节点在接下来的工作中将长时间处于信道监听及退避中,由于无线传感网每个节点在执行接收更新数据包,更新数据包校验以及信息回过程中都需要能量的开销,反复的监听信道状态毫无疑问会大大增加整个无线传感网的能量开销,同时也增加了时间复杂度,降低了整个多点通信的工作效率。
3、路由表建立机制:在传感器网络部署的初始化阶段,基站通知sink节点开始对整个网络路由表的建立。收到基站通知后,sink节点向它的1跳路径范围内的所有传感器节点发setup包。setup包的格式定义为:Setup.ID.hop.energy,其中,hop表示从发送节点至sink节点的跳数;energy代表发送节点的剩余能量。
1)当sink节点向周围广播setup包时,将hop值设为0。处于sink节点单跳范围内的节点在接收到setup包后,首先将接收到的hop值加1,然后将sink节点相关信息作为父节点加入自身的节点路由表中。
2)随后这些节点作为中继节点,将重新组建后的setup包在其1跳的范围内继续广播,hop值将设为1。这个广播过程不断重复直到区域A内所有的节点都被通知。
该方案的缺点在于当该区域内的无线传感网并没有那么分散或者能够在认为的可控范围内,赋予除sink节点外其他子节点同样的广播功能,会增加对每个子节点功能的要求以及整个网络的能量开销同时以一跳路径作为广播范围并不能满足高效传输的需求。由于将无限传感网运用感到嵌入式应用中经常会出现执行效率要求较高的场景,较大的能量开销以及时间的冗余不能满足应用需求。
4、轮询机制:轮询机制主要是服务器依次向各个子节点访问其接收信息的情况,并进行统计各个节点的情况,该机制主要是通过服务器的一对多的方式,服务器必须通过一对一的情况,每个节点必须等待服务器访问完上一个节点才能与服务器进行连接,增加了整个网络的通信时间。
由此可见,在现有的技术中,大多采取人工的方式进行对无线传感器网络中各个节点的通信和控制,大大增加了操作复杂度以及维护成本,同时工作效率也会大打折扣,可是实际应用中,传感器网络并不一定局限在某个固定区域,因此传统的人工方式更不能满足要求。
发明内容
本发明的目的在于通过无线远程对各个区域的传感器节点实现控制;同时解决了多点通信造成的返回信息的拥堵问题,提供一种面向WSCN节点的远程代码更新方法。
本发明是通过如下措施实现的:一种面向WSCN节点的远程代码更新方法,其中,包括以下步骤:
步骤一,服务器分配:
当服务器通过NB-IOT将更新数据包发送给各个区域的网关节点,随后网关节点将更新数据包广播至WSCN子节点,根据WSCN子节点的丢包率以及反馈信息的冲突包数,判断当前服务器数量是否合适,进行更新数据包;
步骤二,窄带物联网进行远距离传输:
主机通过访问服务器,给在每个区域的网关节点发送更新指令,使用窄带物联网进行服务器与每个区域网关节点的连接;
步骤三,基于WSCN的多节点通信:
通过总线型网络拓扑结构完成节点之间的交互通信,WSCN子节点可以向自己周围的一跳邻节点发送更新数据包,周围邻节点在收到更新数据包后作为簇头节点在一跳范围内继续发送。
步骤四,丢帧补发:
网关节点成功对对所述步骤三中总线型网络拓扑结构内的所有子节点进行广播,更新数据包通过zigbee传输到各个子节点中,各个子节点在进行数据帧校验后,向网关节点返回信息,网关节点针对子节点的返回信息判断每个子节点的丢帧情况,若子节点没有丢帧,则开始正常更新;若子节点存在丢帧,则网关节点根据子节点的地址信息,统计存在丢失帧号的子节点,根据子节点的返回信息,对每个子节点的丢帧号进行筛选,并将其进行封装成数据包,向存在丢帧的子节点进行广播已筛选的子节点封装成的数据包;
步骤五,防冲突机制:
网关节点向所述步骤三中总线型网络拓扑结构内子节点广播更新数据包命令,当子节点在收到网关节点广播的更新数据包后,进行数据帧校验,向网关节点返回成功接收或丢帧情况;由于无线传感网较灵活,子节点的基数也相对较大,当较多子节点返回反馈信息时,在同一信道上必然会造成通信冲突,主要提出步骤A)地址序列表机制和步骤B)信道监听跳频这两大步骤。
其中,所述步骤一具体包括如下步骤:
(1)、设预更新的丢包率为db,原始服务器数量为I,预更新结果判断冲突数据包数为sj,设定丢包率的阈值为DB,冲突数据包数的阈值为SJ,当前服务器数量i;
(2)、当db<DB,sj<SJ,若i等于I,则进行步骤(3);否则执行步骤(4);
(3)、当db<(DB/i)*(i-1)或sj<(SJ/i)*(i-1)时,当前服务器数量i减1,否则保留当前服务器数量;
(4)、若db<DB,而sj>SJ,增加一个服务器数量,并跳转至步骤(2);否则继续执行;
(5)、若db>DB,sj>SJ,增加一个服务器数量;否则继续执行;
(6)、确定当前服务器数量。
其中,丢包率阈值DB,冲突数据包数阈值DJ都是在不影响整个无线传感网通信以及最大效率的基础上仿真得出的。
其中,所述步骤二中的每个区域网关节点为嵌入式KW01系列开发板的无线传感网节点的底层芯片,所述KW01开发板由以下模块组成:
主控MCU:开发板的主控制单元;主控MCU为在所述KW01开发板上外接窄带物理网通信模块;
数据存储模块:存储来自服务器或网关节点的更新数据包,用于和主控MCU进行数据交互;
电源模块:为整个通讯系统供电;
zigbee通信模块:用于区域内节点和节点之间的通信,无线射频;
跳频模块:用于信道转换功能。
其中,步骤二中所述的主机通过访问服务器,给在每个区域的网关节点发送更新指令,每个区域的位置并非是人为可以目测或判断的,在现有的技术中,针对小型场所的无线传感网,在无线传感网节点数量较少的情况下,大都采用像GPRS、MTU以及Zigbee协议的局域网通信方式,当需要更新的区域距离较远时,为了降低人工去现场维修成本,本发明使用窄带物联网进行服务器与每个区域网关节点的连接。
其中,所述步骤三具体包括如下步骤:
(1)通过总线型网络拓扑结构完成节点之间的交互通信;
(2)WSCN子节点向自己周围的一跳邻节点发送更新数据包,周围邻节点在收到更新数据包后作为簇头节点在一条范围内继续发送。本发明通过灵活运用无线传感网节点之间的通信机制,以树型网络拓扑为基础,将服务器作为整个树型网络拓扑的根节点,将网关节点作为每个分支的根节点;在每个分支中,网关节点向本拓扑区域内的子节点广播信息,收到广播信息的各个子节点之间可以相互通信,每个子节点在向网关节点返回更新数据包接收信息的同时,可以与周围子节点完成通信,使整个无线传感网更加灵活,同时减少了网关节点的传输负担。
其中,所述步骤五具体包括如下步骤:
A)地址序列表机制:已知该区域内存在的节点数以及每个节点相应的地址信息:
A-1):路由广播一次,若网关节点接收到各子节点的反馈信息,证明网关节点与子节点通信成功,继续执行;否则找出没有反馈信息的子节点,尝试多次仍然没有反馈信息,删除该子节点信息并去现场调试;
A-2):初始化阶段,对该区域内每个节点的地址按顺序进行字符串编写,建立地址序列表存储在每个节点中,并初始化;
A-3):网关节点向子节点广播来自服务器的数据帧命令,子节点收到数据帧后进行数据帧校验,将丢帧结果封装到反馈信息中;
A-4):首序列子节点开始向网关节点返回反馈信息,其他子节点在没收到前一序列子节点发送命令前进入等待状态;
A-5):若地址序列表存在下一序列子节点则继续执行;否则跳至步骤A-7);
A-6):前一序列子节点向序列表的下一子节点发送命令,允许下一子节点向网关节点返回反馈信息,转至步骤A-5);
A-7):网关节点依次接收来自序列表顺序返回的反馈信息,并统计各子节点的丢帧情况,该机制为网关节点第一次广播结果,由于子节点的功能性存在一定的局限性,每个子节点只能与自己的一跳范围内的其他子节点通信,因此每个子节点只能按照存储在flash里的地址序列表顺序进行通信;
B)信道监听跳频:在A)机制的基础上,整个无线传感网实现了串行化通信,高效的规避了通信冲突,针对存在子节点丢帧情况下,网关节点与子节点再次通信;
B-1):网关节点将丢帧号统计后封装成更新数据包后,通过测试模块测试当前信道吞吐量以及信噪比,若结果显示不在阈值范围内,则继续执行;否则跳至步骤B-4);
B-2):结果显示信道的吞吐量或信噪比不在阈值范围内,则判断当前信道通信质量不佳,网关节点将跳频命令帧加入到数据包中通过每个子节点的地址信息将数据包发送给存在丢帧的子节点,使子节点切换到通信质量较好的信道;
B-3):接收到带有跳频命令帧数据包的子节点,通过跳频模块实现跳转,并回至B-1);
B-4):丢帧子节点收到数据包后,补齐完整的数据包;
B-5):丢帧子节点在向网关节点返回信息时,通过无线射频模块对设定范围内的zigbee信号以及场强进行扫描检测,若zigbee信号或场强信号大于阈值,则信道忙碌,继续执行B-6);否则跳转至步骤B-7);
B-6):随机等待一段时间,跳转执行步骤B-5);
B-7):随机倒计时一段时间,子节点向网关节点返回反馈信息。
其中,所述步骤B-7)中随机倒计时一定时间是防止两个或多个子节点在步骤B-6)随机等待的时间相同导致再次通信冲突。
其中,所述步骤B-5)中zigbee信号与场强信号判断在于当存在子节点与网关节点通信时,会在信道中产生zigbee信号,同时随着通信的建立,信道的能量值产生变化,在该范围内扫描的场强信号就会变化。
本发明的有益效果为:
1)服务器分配是在保证通信丢包率较少以及尽可能的降低冲突的前提下,进行服务器分配。
2)窄带物联网实现远距离无线传输:实现低功耗远距离可靠传输;
3)基于WSCN的多节点通信机制:巧妙运用WSCN网关节点与WSCN子节点之间的通信,以及子节点与子节点的通信功能实现串行化数据传输;
4)丢帧补发:经过一次广播后,根据WSCN收集到的各子节点接收更新数据包情况进行收集,对出现频率较多的数据帧号进行补发;
5)防冲突机制:点对多点广播后,解决多点对一点返回信息造成冲突的问题。
附图说明
图1为本发明实施例的总体架构示意图;
图2为本发明实施例中KW01芯片功能模块的结构框图;
图3为本发明实施例中子节点丢帧处理结构框图;
图4为本发明实施例中子节点返回信息流程图;
图5为本发明实施例中跳频模块的结构框图;
图6为本发明实施例中信道监听跳频流程图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,对本方案进行阐述。
参见图1至图6,本发明是:一种面向WSCN节点的远程代码更新方法,其中,包括以下步骤:
步骤一,服务器分配:
当服务器通过NB-IOT将更新数据包发送给各个区域的网关节点,随后网关节点将更新数据包广播至WSCN子节点,根据WSCN子节点的丢包率以及反馈信息的冲突包数,判断当前服务器数量是否合适;
步骤二,窄带物联网进行远距离传输:
主机通过访问服务器,给在每个区域的网关节点发送更新指令,使用窄带物联网进行服务器与每个区域网关节点的连接;
步骤三,基于WSCN的多节点通信:
WSCN子节点向自己周围的一跳邻节点发送更新数据包,周围邻节点在收到更新数据包后作为簇头节点在一条范围内继续发送;
步骤四,丢帧补发:
网关节点成功对所述步骤三中总线型网络拓扑结构内的所有子节点进行广播,更新数据包通过zigbee传输到各个子节点中,各个子节点在进行数据帧校验后,向网关节点返回信息,网关节点针对子节点的返回信息判断每个子节点的丢帧情况,若子节点没有丢帧,则开始正常运行;若子节点存在丢帧,则网关节点根据子节点的地址信息,统计存在丢失帧号的子节点,根据子节点的返回信息,对每个子节点的丢帧号进行筛选,并将其进行封装成更新数据包,向存在丢帧的子节点进行广播已筛选的子节点封装成的更新数据包;
步骤五,防冲突机制:
网关节点向成功对述步骤三中总线型网络拓扑结构内子节点广播更新数据包命令,当子节点在收到网关节点广播的更新数据包后,进行数据帧校验,向网关节点返回成功接收或丢帧情况;由于无线传感网较灵活,子节点的基数也相对较大,当较多子节点返回反馈信息时,在同一信道上必然会造成通信冲突,主要提出步骤A)地址序列表机制和步骤B)信道监听跳频这两大步骤。
其中,所述步骤一具体包括如下步骤:
(1)、预更新的丢包率为db,原始服务器数量为I,预更新结果判断冲突数据包数为sj,设定丢包率的阈值为DB,冲突数据包数的阈值为SJ,当前服务器数量i;
(2)、当db<DB,sj<SJ,若i等于I,则进行步骤(3);否则执行步骤(4);
(3)、当db<(DB/i)*(i-1)或sj<(SJ/i)*(i-1)时,当前服务器数量i减1,否则保留当前服务器数量;
(4)、若db<DB,而sj>SJ,增加一个服务器数量,并跳转至步骤(2);否则继续执行;
(5)、若db>DB,sj>SJ,增加一个服务器数量;否则继续执行;
(6)、确定当前服务器数量。
其中,丢包率阈值DB,冲突数据包数阈值DJ都是在不影响整个无线传感网通信以及最大效率的基础上仿真得出的。
其中,所述步骤二中的每个区域网关节点为嵌入式KW01系列开发板的无线传感网节点的底层芯片,所述KW01开发板由以下模块组成:
(1)主控MCU:开发板的主控制单元;主控MCU为在所述KW01开发板上外接窄带物理网通信模块;
(2)数据存储模块:存储来自服务器或网关节点的更新数据包,晶体管以及相应的匹配电阻组成,用于和主控MCU进行数据交互;
(3)电源模块:为整个通讯系统供电;
(4)zigbee通信模块:用于区域内节点和节点之间的通信,无线射频;
(5)跳频模块:用于信道转换功能。
其中,步骤二中所述的主机通过访问服务器,给在每个区域的网关节点发送更新指令,每个区域的位置并非是人为可以目测或判断的,在现有的技术中,针对小型场所的无线传感网,在无线传感网节点数量较少的情况下,大都采用像GPRS、MTU以及Zigbee协议的局域网通信方式,当需要更新的区域距离较远时,为了降低人工去现场维修成本,本发明使用窄带物联网进行服务器与每个区域网关节点的连接。
其中,所述步骤三具体包括如下步骤:
(1)通过总线型网络拓扑结构完成节点之间的交互通信;
(2)WSCN子节点向自己周围的一跳邻节点发送更新数据包,周围邻节点在收到更新数据包后作为簇头节点在一条范围内继续发送。
本发明通过灵活运用无线传感网节点之间的通信机制,以树型网络拓扑为基础,将服务器作为整个树型网络拓扑的根节点,将网关节点作为每个分支的根节点;在每个分支中,网关节点向本拓扑区域内的子节点广播信息,收到广播信息的各个子节点之间可以相互通信,每个子节点在向网关节点返回更新数据包接收信息的同时,可以与周围子节点完成通信更新数据包,使整个无线传感网更加灵活,同时减少了网关节点的传输负担。
其中,所述步骤五具体包括如下步骤:
A)地址序列表机制:已知该区域内存在的节点数以及每个节点相应的地址信息:
A-1):路由广播一次,若网关节点接收到各子节点的反馈信息,证明网关节点与子节点通信成功,继续执行;否则找出没有反馈信息的子节点,尝试多次仍然没有反馈信息,删除该子节点信息并去现场调试;
A-2):初始化阶段,对该区域内每个子节点的地址按顺序进行字符串编写,建立地址序列表存储在每个子节点中,并初始化;
A-3):网关节点向子节点广播来自服务器的数据帧命令,子节点收到数据帧后进行数据帧校验,将丢帧结果封装到反馈信息中;
A-4):首序列子节点开始向网关节点返回反馈信息,其他子节点在没收到前一序列子节点发送命令前进入等待状态;
A-5):若地址序列表存在下一序列子节点则继续执行;否则跳至步骤A-7);
A-6):前一序列子节点向序列表的下一子节点发送命令,允许下一子节点向网关节点返回反馈信息,转至步骤A-5);
A-7):网关节点依次接收来自序列表顺序返回的反馈信息,并统计各子节点的丢帧情况,该机制为网关节点第一次广播结果,由于子节点的功能性存在一定的局限性,每个子节点只能与自己的一跳范围内的其他节点通信,因此每个子节点只能按照存储在flash里的地址序列表顺序进行通信;
B)信道监听跳频:在A)机制的基础上,整个无线传感网实现了串行化通信,高效的规避了通信冲突,针对存在子节点丢帧情况下,网关节点与子节点再次通信;
B-1):网关节点将丢帧号统计后封装成数据包后,通过测试模块测试当前信道吞吐量以及信噪比,若结果显示不在阈值范围内,则继续执行;否则跳至步骤B-4);
B-2):结果显示信道的吞吐量或信噪比不在阈值范围内,则判断当前信道通信质量不佳,网关节点将跳频命令帧加入到数据包中通过每个子节点的地址信息将数据包发送给存在丢帧的子节点,使子节点切换到通信质量较好的信道;
B-3):接收到带有跳频命令帧更新数据包的子节点,通过跳频模块实现跳转,并回至B-1);
B-4):丢帧子节点收到数据包后,补齐完整的数据包;
B-5):丢帧子节点在向网关节点返回信息时,通过无线射频模块对设定范围内的zigbee信号以及场强进行扫描检测,若zigbee信号或场强信号大于阈值,则信道忙碌,继续执行B-6);否则跳转至步骤B-7);
B-6):随机等待一段时间,跳转执行步骤B-5);
B-7):随机倒计时一段时间,子节点向网关节点返回反馈信息。
其中,所述步骤B-7)中随机倒计时一定时间是防止两个或多个子节点在步骤B-6)随机等待的时间相同导致再次通信冲突。
其中,所述步骤B-5)中zigbee信号与场强信号判断在于当存在子节点与网关节点通信时,会在信道中产生zigbee信号同时随着通信的建立,信道的能量值产生变化,在该范围内扫描的场强信号就会变化。
本发明以光伏清扫机器人远程更新为具体实例内容如下:
1)光伏发电板分布在多个区域;
2)在每个区域存在已知的光伏清扫机器,每个光伏清扫机器人内嵌kw01开发板,作为整个无线传感网树状拓扑的子节点;
3)每个区域都设有一个外接NB-IOT通信模块的网关节点,由于每个区域的距离,不适合人工现场调试,因此选用低功耗远距离的窄带物联网作为与服务器的传输媒介;服务器通过每个区域的网关节点获取每个机器的更新状态;
4)服务器分配机制:当前光伏组件清扫机器人的数量为50台,在不影响整个更新效率的情况下,丢包率阈值为5%,冲突包的阈值为5%;
步骤一:预更新的丢包率为db,原始服务器数量为I,预更新结果判断冲突数据包数为sj,设定丢包率的阈值为DB,冲突数据包数的阈值为SJ,当前服务器数量i;
步骤二:当db<DB,sj<SJ,若i等于I,则进行步骤三;否则执行步骤四;
步骤三:当db<(DB/i)*(i-1)或sj<(SJ/i)*(i-1)时,当前服务器数量i减1,否则保留当前服务器数量;
步骤四:若db<DB,而sj>SJ,增加一个服务器数量,并跳转至步骤二;否则继续执行;
步骤四:若db>DB,sj>SJ,增加一个服务器数量;否则继续执行;
步骤五:确定当前服务器数量。
5)基于WSCN的多节点通信机制:
本发明灵活运用无线传感网节点之间的通信机制,以树型网络拓扑为基础,将服务器作为整个树型网络拓扑的源节点,将网关节点作为每个分支的中继节点;在每个分支中,网关节点向本拓扑区域内的机器人广播信息,收到广播信息的各个机器人之间可以相互通信,每个机器人在向网关节点返回更新数据包接收信息情况的同时,可以与周围机器人完成通信,使整个无线传感网更加灵活,同时减少了网关节点的传输负担。
6)丢帧补发:服务器对需要进行更新的光伏组件清扫机器人发送更新命令,机器人将收到更新命令后的反馈信息返回至服务器,服务器做出以下判断:
①根据每个机器人的地址信息,统计存在丢失帧号的子节点;
②根据每个机器人的返回信息,对每个机器的丢帧号进行筛选,并将其进行封装成更新数据包;
③向存在丢帧的机器人进行广播②中的更新数据包;
7)防冲突机制:当较多节点返回反馈信息时,在同一信道上必然会造成通信冲突。
A)地址序列表机制;
B)信道监听跳频。
本发明未经描述的技术特征可以通过或采用现有技术实现,在此不再赘述,当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
Claims (6)
1.一种面向WSCN节点的远程代码更新方法,其特征在于,包括以下步骤:
步骤一,服务器分配:
当服务器通过NB-IOT将更新数据包发送给各个区域的网关节点后,网关节点将更新数据包广播至WSCN子节点,根据WSCN子节点的丢包率以及反馈信息的冲突包数,判断当前服务器数量是否合适,进行更新数据包;
所述步骤一具体包括如下步骤:
(1)、设预更新的丢包率为db,原始服务器数量为I,预更新结果判断冲突数据包数为sj,设定丢包率的阈值为DB,冲突数据包数的阈值为SJ,当前服务器数量i;
(2)、当db<DB,sj<SJ,若i等于I,则进行步骤(3);否则执行步骤(4);
(3)、当db<(DB/i)*(i-1)或sj<(SJ/i)*(i-1)时,当前服务器数量i减1,否则保留当前服务器数量;
(4)、若db<DB,而sj>SJ,增加一个服务器数量,并跳转至步骤(2);否则继续执行;
(5)、若db>DB,sj>SJ,增加一个服务器数量;否则继续执行;
(6)、确定当前服务器数量;
步骤二,窄带物联网进行远距离传输:
主机通过访问服务器,为每个区域的网关节点发送更新指令,服务器通过窄带物联网与每个区域网关节点连接,实现窄带物联网远距离传输;
步骤三,基于WSCN的多节点通信:
通过总线型网络拓扑结构完成节点之间的交互通信,WSCN子节点可以向其周围的一跳邻节点发送更新数据包,周围邻节点在收到更新数据包后作为簇头节点在一跳范围内继续发送;
步骤四,丢帧补发:
网关节点对所述步骤三中总线型网络拓扑结构内的所有子节点进行广播,更新数据包通过zigbee传输到各个子节点中,各个子节点在进行数据帧校验后,向网关节点返回信息,网关节点针对子节点的返回信息判断每个子节点的丢帧情况,若子节点没有丢帧,则开始正常更新;若子节点存在丢帧,则网关节点根据子节点的地址信息,统计存在丢失帧号的子节点,根据子节点的返回信息,对每个子节点的丢帧号进行筛选,并将其进行封装成数据包,向存在丢帧的子节点进行广播已筛选的子节点封装成的数据包;
步骤五,防冲突机制:
网关节点向总线型网络拓扑结构内子节点广播更新数据包命令,当子节点在收到网关节点广播的更新数据包后,进行数据帧校验,向网关节点返回成功接收或丢帧情况。
2.根据权利要求1所述的面向WSCN节点的远程代码更新方法,其特征在于,所述步骤二中的每个区域网关节点为嵌入式KW01系列开发板的无线传感网节点的底层芯片,所述KW01开发板由以下模块组成:
内核MCU,是开发板的主控制单元;内核MCU为在所述KW01开发板上外接窄带物理网通信模块;
数据存储模块,用于存储来自服务器或者网关节点的更新数据包,用于和MCU进行数据交互;
电源模块,为整个通讯系统供电;
zigbee通信模块,用于区域内节点和节点之间的通信,无线射频;
跳频模块,用于信道转换功能。
3.根据权利要求1所述的面向WSCN节点的远程代码更新方法,其特征在于,所述步骤三具体包括如下步骤:
(1)通过总线型网络拓扑结构完成节点之间的交互通信;
(2)WSCN子节点向其周围的一跳邻节点发送更新数据包,周围邻节点在收到更新数据包后作为簇头节点在一条范围内继续发送。
4.根据权利要求1所述的面向WSCN节点的远程代码更新方法,其特征在于,所述步骤五具体包括如下步骤:
A)地址序列表机制:已知该区域内存在的节点数以及每个节点相应的地址信息:
A-1):路由广播一次,若网关节点接收到各子节点的反馈信息,得出网关节点与子节点通信成功,继续执行;否则找出没有反馈信息的子节点,尝试多次没有反馈信息,删除该子节点信息并去现场调试;
A-2):初始化阶段,对该区域内每个子节点的地址按顺序进行字符串编写,建立地址序列表存储在每个子节点中,并初始化;
A-3):网关节点向子节点广播来自服务器的数据帧命令,子节点收到数据帧后进行数据帧校验,将丢帧结果封装到反馈信息中;
A-4):首序列子节点开始向网关节点返回反馈信息,其他子节点在没收到前一序列子节点发送命令前进入等待状态;
A-5):若地址序列表存在下一序列子节点则继续执行;否则跳至步骤A-7);
A-6):前一序列子节点向序列表的下一子节点发送命令,允许下一子节点向网关节点返回反馈信息,转至步骤A-5);
A-7):网关节点依次接收来自序列表顺序返回的反馈信息,并统计各子节点的丢帧情况;
B)信道监听跳频:在A)机制的基础上,针对存在子节点丢帧情况下,网关节点与子节点再次通信;
B-1):网关节点将丢帧号统计后封装成数据包后,通过测试模块测试当前信道吞吐量以及信噪比,若结果显示不在阈值范围内,则继续执行;否则跳至步骤B-4);
B-2):结果显示信道的吞吐量或信噪比不在阈值范围内,则判断当前信道通信质量不佳,网关节点将跳频命令帧加入到数据包中,通过每个子节点的地址信息将数据包发送给存在丢帧的子节点,使子节点切换到通信信道上;
B-3):接收到带有跳频命令帧数据包的子节点,通过跳频模块实现跳转,并返回至步骤B-1);
B-4):丢帧子节点收到更新数据包后,补齐完整的更新数据包;
B-5):丢帧子节点在向网关节点返回信息时,通过无线射频模块对设定范围内的zigbee信号以及场强进行扫描检测,若zigbee信号或场强信号大于阈值,则信道忙碌,继续执行B-6);否则跳转至步骤B-7);
B-6):随机等待一段时间,跳转执行步骤B-5);
B-7):随机倒计时一段时间,子节点向网关节点返回反馈信息。
5.根据权利要求4所述的面向WSCN节点的远程代码更新方法,其特征在于,所述步骤B-7)中随机倒计时一定时间是防止两个或多个子节点在步骤B-6)随机等待的时间相同导致再次通信冲突。
6.根据权利要求4所述的面向WSCN节点的远程代码更新方法,其特征在于,所述步骤B-5)中zigbee信号与场强信号判断在于当存在子节点与网关节点通信时,信道中会产生zigbee信号,同时通信建立,信道的能量值产生变化,在该范围内扫描的场强信号发生变化。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910371182.6A CN110248319B (zh) | 2019-05-06 | 2019-05-06 | 一种面向wscn节点的远程代码更新方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910371182.6A CN110248319B (zh) | 2019-05-06 | 2019-05-06 | 一种面向wscn节点的远程代码更新方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN110248319A CN110248319A (zh) | 2019-09-17 |
| CN110248319B true CN110248319B (zh) | 2021-06-22 |
Family
ID=67883812
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910371182.6A Active CN110248319B (zh) | 2019-05-06 | 2019-05-06 | 一种面向wscn节点的远程代码更新方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN110248319B (zh) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110995853B (zh) * | 2019-12-12 | 2021-08-20 | 大连理工大学 | 一种基于跨协议通信的物联网节点代码更新方法 |
| CN111541774B (zh) * | 2020-05-08 | 2023-05-02 | 杭州粒合信息科技有限公司 | 一种设备升级方法、装置及系统 |
| CN113078925B (zh) * | 2021-03-17 | 2022-11-01 | 武汉能钠智能装备技术股份有限公司 | 丢帧检测方法、设备、存储介质及装置 |
| CN114945147A (zh) * | 2022-07-12 | 2022-08-26 | 北京智芯半导体科技有限公司 | 低功耗传感器网络信道调整方法、装置、电子设备及介质 |
| CN116430791B (zh) * | 2023-04-13 | 2025-11-18 | 西北核技术研究所 | 一种脉冲功率装置的安全联锁方法 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104932395A (zh) * | 2015-06-08 | 2015-09-23 | 江汉大学 | 太阳能光伏组件监测系统的智能化维护装置和维护方法 |
| WO2016161320A1 (en) * | 2015-04-01 | 2016-10-06 | Synapse Wireless, Inc. | Rapid deployment of software updates in multi-hop wireless networks |
| CN108600095A (zh) * | 2018-04-04 | 2018-09-28 | 南通大学 | 一种基于IPv6的嵌入式物联网网关系统及其硬件电路 |
| CN109218359A (zh) * | 2017-07-03 | 2019-01-15 | 深圳市中兴微电子技术有限公司 | 一种物联网设备软件更新的方法及服务器端 |
| CN109361544A (zh) * | 2018-10-30 | 2019-02-19 | 深圳市航天华拓科技有限公司 | 一种定位终端固件方法、装置和计算设备 |
-
2019
- 2019-05-06 CN CN201910371182.6A patent/CN110248319B/zh active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2016161320A1 (en) * | 2015-04-01 | 2016-10-06 | Synapse Wireless, Inc. | Rapid deployment of software updates in multi-hop wireless networks |
| CN104932395A (zh) * | 2015-06-08 | 2015-09-23 | 江汉大学 | 太阳能光伏组件监测系统的智能化维护装置和维护方法 |
| CN109218359A (zh) * | 2017-07-03 | 2019-01-15 | 深圳市中兴微电子技术有限公司 | 一种物联网设备软件更新的方法及服务器端 |
| CN108600095A (zh) * | 2018-04-04 | 2018-09-28 | 南通大学 | 一种基于IPv6的嵌入式物联网网关系统及其硬件电路 |
| CN109361544A (zh) * | 2018-10-30 | 2019-02-19 | 深圳市航天华拓科技有限公司 | 一种定位终端固件方法、装置和计算设备 |
Non-Patent Citations (1)
| Title |
|---|
| 基于构件的自动气象站嵌入式程序远程更新;茅正冲;《单片机与嵌入式系统应用》;20151130;全文 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN110248319A (zh) | 2019-09-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110248319B (zh) | 一种面向wscn节点的远程代码更新方法 | |
| CN103415018B (zh) | 一种无线传感器网络通信资源分配方法 | |
| CN105245301A (zh) | 一种基于时间触发的机载光网络仿真系统 | |
| CN101013987A (zh) | 一种高效的无线传感器网络拓扑控制方法 | |
| CN102238697B (zh) | 一种加入无线传感网络的方法和装置 | |
| CN106304230B (zh) | 基于即时路由的无线自组网方法及装置 | |
| CN115278577A (zh) | 信息采集方法、系统、电子设备及存储介质 | |
| CN108282354B (zh) | 基于sdn的共享车辆自组织网络架构方法 | |
| CN102883399B (zh) | 基于簇的ctp路由协议 | |
| KR100647122B1 (ko) | 무선 센서 네트워크의 그룹화를 이용한 멀티캐스트 통신방법 및 그 장치 | |
| CN102104522A (zh) | 面向信息--物理融合系统的实时通信优化方法及设备 | |
| CN106487575A (zh) | 一种基于电力线通信的通信模块批量升级方法 | |
| CN105072658A (zh) | 一种网络数据采集控制系统及无线路由方法 | |
| CN104185210A (zh) | 一种基于休眠调度的数据源拥塞控制方法 | |
| Xu et al. | Fast group communication scheduling in duty-cycled multihop wireless sensor networks | |
| Lone et al. | WiSH-WalT: a framework for controllable and reproducible LoRa testbeds | |
| CN102802166A (zh) | 一种改进的Zigbee网络分层方法 | |
| CN102404159A (zh) | 一种基于事件触发的认知网络拓扑发现方法 | |
| CN1889467A (zh) | 分布式无线网络关键节点探测方法 | |
| CN111935797A (zh) | 一种用于低压开关柜无线通信网络的动态路由方法 | |
| CN107070937A (zh) | 一种基于fpga的协议转换装置 | |
| Sah | Performance evaluation of energy efficient routing in wireless sensor networks | |
| Volgyesi et al. | Reliable multihop bulk transfer service for wireless sensor networks | |
| Kulkarni et al. | Dynamic Reconfiguration of Wireless Sensor Networks. | |
| Shi et al. | Enhanced simulation model of ZigBee wireless sensor network |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| TR01 | Transfer of patent right | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20230904 Address after: 226000 No. 9 Siyuan Road, Chongchuan District, Nantong City, Jiangsu Province Patentee after: Nantong University Technology Transfer Center Co.,Ltd. Address before: No.9, Xiyuan Road, Nantong City, Jiangsu Province, 226007 Patentee before: NANTONG University |