1.一种面向WSCN节点的远程代码更新方法,其特征在于,包括以下步骤:步骤一,服务器分配:
当服务器通过NB‑IOT将更新数据包发送给各个区域的网关节点后,网关节点将更新数据包广播至WSCN子节点,根据WSCN子节点的丢包率以及反馈信息的冲突包数,判断当前服务器数量是否合适,进行更新数据包;
所述步骤一具体包括如下步骤:
(1)、设预更新的丢包率为db,原始服务器数量为I,预更新结果判断冲突数据包数为sj,设定丢包率的阈值为DB,冲突数据包数的阈值为SJ,当前服务器数量i;
(2)、当db
(3)、当db<(DB/i)*(i‑1)或sj<(SJ/i)*(i‑1)时,当前服务器数量i减1,否则保留当前服务器数量;
(4)、若db
(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信号,同时通信建立,信道的能量值产生变化,在该范围内扫描的场强信号发生变化。