一种面向WSCN节点的配置方法和便携式配置装置
技术领域
本发明涉及无线传感器网络领域,更具体地,涉及一种面向WSCN节点的配置方法和便携式配置装置。
背景技术
智能控制技术(ICT:Intelligent Control Technology)是自动控制技术发展的一个重要阶段,主要用来解决那些用传统方法难以解决的复杂系统的控制问题。无线传感器网络(WSN,Wireless Sensor Network)的应用开发研究是智能控制技术的重要研究领域。
WSN是物联网中的关键技术之一,是由部署在监测区域内大量的廉价微型传感器节点(静止或移动)以自组织和多跳的方式构成的无线网络,以协作地感知、采集、处理和传输网络覆盖地理区域内被感知对象的信息,并最终把这些信息发送给观察者进行处理。传感器、感知对象和观察者构成了无线传感控制器网络的三个基本要素。
WSN开发研究中,无线传感器及控制器节点(Wireless Sensor&Controller Node,WSCN节点)是核心和关键部件。无线传感器及控制器节点,又称智能控制器(即WSCN节点),内置于设备、装置或系统之中,扮演“神经中枢”及“大脑”的角色,负责终端设备数据采集、执行控制和数据通信等任务。不同的终端设备上配备有相应的WSCN节点,自主实现对设备、装置或系统的控制。因此,WSCN节点的研发、生产与维护是WSN从应用研究到市场推广的重要一环,而在这个过程中,实时对WSCN节点进行跟踪调试,是保证该智能控制器正常、高效工作的必要措施。
目前,针对WSCN节点的现场测试或者远程控制的方式主要是台式电脑或者手提电脑,面向WSCN节点的控制系统主要是电脑PC方功能软件,进行现场测试时,需要自带电脑、电源插座、通信节点等,连接电脑与通信节点,运行应用程序,这一系列步骤消耗较多时间,给现场测试带来不便。此外,若是在没有电脑或者临时应急的情况下,可能使得跟踪调试很棘手。
在此基础上,本发明提出了一种用于WSCN节点研发、生产与维护过程中使用的,并且可移植到不同的终端设备上的便携式配置工具,用以实现现场对WSCN节点的地址、参数读取与修改,基本控制与调试等,即对不同的终端设备进行实时实地的监控,方便操作者的管理和使用,减少不必要的资源浪费。
发明内容
为了解决上述技术问题,本发明提出了一种面向WSCN节点的配置方法和便携式配置装置(WSCN-Pad)。
本发明所述的面向WSCN节点的配置方法,其特征在于:所述方法采用的通信协议包括四层,从下往上依次是物理层、数据链路层、网络协议层和高端应用层;
所述方法包括如下步骤:
S1.手持设备根据输入的参数构造数据包,并将所述数据包发送至通信节点;
S2.所述通信节点收到所述数据包后,由所述通信节点中的无线射频收发器将所述数据包转发至终端设备;
S3.所述终端设备收到所述数据包后,由数据链路层对所述数据包解析成数据帧,然后判断所述数据帧是否为本网段的数据帧,若是,则解析数据帧中的命令,执行该命令所对应的操作,并产生应答帧,将所述应答帧发送到所述通信节点,若否,则直接丢弃数据帧;
S4.所述通信节点通过所述无线射频收发器收到终端设备发送的应答帧后,采样所述通信节点中芯片的温度以及无线射频收发器的能量值,将所述温度和能量值添加到所述应答帧后形成应答数据包,并将所述应答数据包发送到所述手持设备;
S5.所述手持设备收到所述应答数据包后,解析所述应答数据包,并显示解析结果。
优选的,所述S1具体为:所述手持设备根据输入的参数构造物理层数据包,并将所述物理层数据包通过串口发送至通信节点。
优选的,所述S2具体为:所述通信节点收到所述物理层数据包后,所述通信节点对所述物理层数据包进行解析成物理层数据帧,根据物理层数据帧的帧头信息,对该帧数据进行回发测试、通过无线射频收发器进行转发或发送握手信号;对于通过无线射频收发器进行转发的物理层数据帧,所述通信节点对帧头信息进行处理,在用户预留的数据帧或命令帧区域加上控制信息,形成新的物理层数据包后转发给终端设备。
优选的,所述S3具体为:所述终端设备收到所述新的物理层数据包后,由数据链路层对所述新的物理层数据包解析成新的物理层数据帧;所述终端设备判断所述新的物理层数据帧是否为本网段的数据帧,若是,则逐步去掉物理层头、数据链路层头、网络协议层头,得到数据链路层帧、网络协议层帧、高端应用层帧,解析网络协议层帧帧中的系统命令字及高端应用层帧帧中的高端应用层帧帧命令字,响应相应的命令操作后,把需要应答的内容组帧,逐步加入网络协议层头、数据链路层头、物理层头,组成完整的物理层应答帧,将所述物理层应答帧发送到所述通信节点;若否,则直接丢弃新的物理层数据帧。
本发明所述的实现如上述任意一项所述的面向WSCN节点的配置方法的面向WSCN节点的便携式配置装置,其特征在于所述装置包括:手持设备、与所述手持设备通信连接的通信节点、以及为所述装置供电的电源设备,其中,
所述手持设备包括处理器、触摸屏、一个或多个通信接口;
所述通信节点包括微控制器、无线射频收发器。
优选的,所述手持设备通过串口与所述通信节点通信连接。
优选的,所述电池设备包括电路保护板,所述电路保护板包括比较器和MOSFET,所述比较器用于获得保护参数,所述MOSFET用于在主充放电回路中担当高速开关。
优选的,所述通信节点还包括串行有线调试接口,用于实现程序下载和调试功能。
优选的,所述装置以轻量级MQX为操作系统,所述手持设备采用LJD-eWinV5-EK7,所述通信节点采用KW01芯片,所述电源设备为电池。
本发明对基于相同通信协议以及工作于同一频段的终端设备的系统测试表明,该配置装置具有收发数据稳定、显示界面友好、参数配置准确等特点。由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
(1)可移植的工程框架、遵循构件化的设计原则开发底层驱动构件和上层功能软件,增强了系统的可移植性;
(2)对该WSCN-Pad外接12V工作电源,实现便携式供电操作;
(3)用户程序烧录到的LJD-eWinV5-EK7模块的NandFlash中,断电后程序、数据不消失,并且可实现针对不同的终端设备的用户程序自启动功能,大大节约运行时间;
(4)通信双方通过WSN技术实现组网,具有低功耗、低成本、覆盖大量网络节点、安全可靠等优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是智能控制系统的整体框架图;
图2是本发明所述的面向WSCN节点的便携式配置装置的总体架构图;
图3(a)是本发明所述的LJD-eWinV5-EK7与KW01之间使用RS232的连接图;
图3(b)是本发明所述的LJD-eWinV5-EK7与KW01之间不使用RS232的连接图;
图4是本发明所述的电源电路保护图;
图5是本发明所述的SWD调试接口电路图;
图6是本发明所述的KW01-WSN通信协议的层次模型;
图7是本发明所述的面向WSCN节点的配置方法的流程图。
具体实施方式
本发明为了实现WSCN节点研制、生产、安装、调试和维护等过程,实现实时地址过滤、系统参数读取与修改、以及基本控制等功能,运用软件、硬件构件化设计原则,结合嵌入式系统、无线传感及通信技术、操作系统等相关技术,提出了一种面向WSCN节点的便携式配置装置,即WSCN-Pad。图1为智能控制系统的整体框架图,如图1所示,WSCN-Pad通过无线传感器网络WSN与终端设备中的WSCN节点通信。
本发明提出的WSCN-Pad实现的功能主要有:参数配置、实时数据采集、基本控制和便携式携带。
(1)系统参数配置
WSCN节点的研制对更好的发挥终端设备的性能有着重要的影响,根据不同的需求对WSCN节点的系统参数,比如IP地址、MAC地址、CSMA/CA能力、路由方式、芯片温度等进行配置,保证配置参数可改,提高系统的可操作性。单独开辟一块区域进行参数的配置,并经用户配置修改过的数据存储在存储介质Flash中,这样即使在掉电的情况下数据也不会丢失。
(2)实时数据采集
为了解终端设备在各个状态下的运行情况,WSCN-Pad通过WSN获知WSCN节点的系统参数信息,诸如IP地址、MAC地址、WSCN节点能量值、温度以及终端设备的性能参数和相关状态信息等。
(3)基本控制
WSCN-Pad是WSN传感数据和控制命令的发出者和接收者,是监控系统的核心部分。运行于WSCN-Pad的功能软件满足WSCN节点的功能需求,如传感数据查询、通信控制、WSCN节点控制、终端设备状态查询及控制。通过发送不同的应用命令,达到对不同终端设备的监控要求。
(4)便携式携带
为了方便测试人员随时随地进行测试检测工作,采取电池供电的方式为其外接电源模块。WSCN-Pad电源的输入电压是9V~28V直流稳压电源,本发明提供12V的电压。将3块标值为3.7V的锂电池串联,并加一块聚合物保护板保护电路,构成一个完整的外接电源模块。这样,测试人员可以随时开展工作,大大提高工作效率,增加设备的使用率。
图2是本发明所述的面向WSCN节点的便携式配置装置的总体架构图,如图2所示,整个系统分为硬件层次和软件层次。硬件部分由手持设备和通信节点通过TTL串口实现对接,软件分为运行于通信节点的底层驱动构件和运行于手持设备的上层功能软件。
本系统手持设备选用北京蓝海微芯科技发展有限公司生产的LJD-eWinV5-EK7触摸屏为手持设备模型,该模型以ARM926EJ为内核、32位低功耗高速ARM芯片S3C2416XH-40为处理器。其工作主频为400MHz,系统内存为64MB的DDR、256MB的NAND FLASH;接口丰富,带USB HOST(可接U盘、USB鼠标和USB标准键盘)、USB DEVICE(可用作同步调试,和PC连接)、RS232、SD卡(最大支持32G)等功能;带2D图形加速器;两路标准RS232、一路RS485,可以和PC、单片机完美结合;支持四线电阻式触摸;具备多种工作模式,可扩展WIFI、GPS、蓝牙等通信方式。
本系统通信节点采用KW01芯片,工作在433MHZ频率,用于完成无线收发功能。KW01家族是Kinetis W系列中的入门级芯片,是一种在单芯片上集成了ARM Cortex M0+微控制器和Sub-GHz以下ISM频段、高度集成、低成本无线前端收发器的芯片解决方案。此芯片的主要目标市场是短距离通信和自动组网,可用于建立控制和自动化的无线传感器网络。KW01包含一个支持FSK、GFSK、MSK、或OOK的无线收发器RF和一款基于ARM Cortex M0+内核的CPU。这款高度集成的RF收发器可以工作于包含315MHz、433MHz、470MHz、868MHz、915MHz、928MHz和955MHz在内的免费开放给工业、科学和医疗的频段上,提供可靠的、对无线频率敏感的、半双工双向传输的RF连接,这样的配置让用户不需要依赖外部功能部件。
LJD-eWinV5-EK7芯片采用的是三星公司的S3C2416XH-40,开发板提供4路串口,分别是UART0、UART1、UART2、UART3,并提供SP3238(将+3.0V转换为+5.5V)用于将TTL电平转换为RS232电平。LJD-eWinV5-EK7通过提供串口和KW01节点连接,如图3(a)所示。
在实际设计过程中,由于考虑到导线的长度、焊接点问题,不将TTL电平进行二次转化,直接选取TTL-TTL电平连接的方式,即从MCU引脚的TX、RX引向LJD-eWinV5-EK7的RX、TX。故不通过SP3238转换时,采用图3(b)连接。
伴随处理器性能的日臻强大、屏幕色彩日趋丰富、功能的日益强劲,电源耗电问题已经成为当下便携式设备面临的一大难题。一旦出现断电或者必须插电才能工作的情况,甚至可能丢失重要数据,无疑减少了使用诸如此类手持设备的用户量。为了方便现场测试以及携带,结束只能插电工作的现状,提高设备的使用率,本发明采取电池供电的方案,例如采用锂电池,使得该WSCN-Pad更具应用价值。
由于锂的金属活泼性,加之锂电池放电电流大、内阻低等特点,故在使用过程中应防止锂电池过充电、过放电等可能引起的事故。因此在使用锂电池的过程带有一块电路保护板来保护电芯安全。
保护板有两个核心部件:一块保护集成电路,它是由精确的比较器来获得可靠的保护参数;另一块是MOSFET,串在主充放电回路中担当高速开关,执行保护动作。电源电路保护如图4所示。VDD是IC电源正极,VSS是电源负极,V-是过流/短路检测端,Dout是放电保护执行端,Cout是充电保护执行端。保护板端口说明:B+、B-分别是接电芯正极、负极;P+、P-分别是保护板输出的正极、负极;T为温度电阻(NTC)端口,一般需要与用电器的MCU配合产生保护动作。
KW01无线射频芯片内部集成了基于ARM CoreSight架构的SWD(Serial WireDebug)串行有线调试接口,SWD调试接口仅需要两根线,数据输入/输出线SWD_DIO和时钟线SWD_CLK即可实现程序下载和调试功能。KW01的SWD编程接口直接设计在节点上,KW01对外引出的28个引脚当中,引出PTA3(对应SWD_DIO)、PTA0(对应SWD_CLK)实现与LJD-eWinV5-EK7的连接。图5为SWD调试接口电路图。LJD-eWinV5-EK7提供了方口USB,通过万用表找到相对应的连接线,通过导线直接与KW01的SWD-DIO、SWD_CLK以及电源相连。
为了保证通信的准确性,本发明基于KW01和WSN参与设计通信协议KW01-WSN,精简了OSI七层模型当中多个层次,极大方便程序的开发和扩展,图6是本发明所述的KW01-WSN通信协议的层次模型。
(1)物理层(PHY)
物理层仅完成物理数据的收发,完成RF的初始化、发送数据、接收数据、能量测试、温度测试、CSMA/CA模式选择等。
(2)数据链路层(MAC)
MAC层用于完成MAC数据的解析与封包以及各种参数的读取与设置,包括MAC地址、IP地址、Node号、路由模式、CSMA/CA模式、广播模式等。
(3)网络协议层(NWK)
网络协议层用于协议栈网络数据的解析与封包以及各种参数的读取与设置,包括网络协议层初始化、网络数据处理、网络响应处理、网络数据发送、参数读取和参数设置等。
(4)高端应用层(APL)
APL层用于实现与具体项目相关的应用处理,实现数据的解析、封包以及各种应用参数的读取与设置,应用参数包括IO引脚电平状态、AD通道采样值、PWM初始化参数、传感器类型,也可以是MAC、NWK的参数,操作包括APL数据处理、应用参数读取、应用参数设置等。
WSCN-Pad功能软件主动通过UART(Universial Asynchronlus Receiver/Transmitters,又叫做异步串行通信)向KW01节点发送PHY数据帧,KW01节点根据PHY数据帧的帧头信息,对本帧数据进行如下3种处理:回发测试、RF转发或发送握手信号等。对于RF转发的数据帧,KW01节点对帧头信息进行处理,加上些控制信息,例如在用户预留的数据帧或命令帧区域加上控制信息,转发给终端设备,终端设备解析数据帧中命令字、应用命令字等,把需要应答的内容组帧,逐步加入NWK头、MAC头、PHY头,组成完整的PHY帧,然后进行上行数据的回发。表1是运行于WSCN-Pad的功能软件发送的数据帧格式。表1中每一行画出的是7个字节(每一个数字代表1B)对应的字段,例如0~7分别对应UART帧头、UART帧长、UART命令、……源分组号、源节点号等,8~15分别对应源节点号(源节点号占用2B)、中继网络号(2B)、……中继节点号、目的网络号等,依此类推。
表1功能软件数据帧格式
对表1中各字段进行说明如下:
(1)UART帧头部信息(3B)
帧头(1B,'A')+UART帧长(1B,61)+UART帧命令(1B,'B')
(2)MAC帧头(20B)
源网络号(2B)+源地址字段(4B,路由字1B+分组号1B+节点号2B)+中继网络号(2B)+中继地址字段(4B,路由字1B+分组号1B+节点号2B)+目的网络号(2B)+目的地址字段(4B,路由字1B+分组号1B+节点号2B)+帧号(1B)+数据方向及长度(1B)
(3)NWK帧头(12B+NB)
NWK帧长(1B)+应用返回(4B)+网络号(2B)+地址字段(4B,路由字1B+分组号1B+节点号2B)+命令字(1B)+数据帧(NB,数据长度1B+数据命令1B+数据内容(N-2)B,N>=2)或命令帧(NB,数据内容NB,N>=0)
其中,命令帧为用户预留区,可根据不同的终端设备定义相应的命令内容。
(4)NWK帧校验和(1B)为35+N
(5)MAC帧校验和(1B)为36+N
(6)不足部分61字节部分忽略不计
(7)UART帧尾(1B,'D')
终端设备收到WSCN-Pad发来的PHY帧后,确认是本节点的数据帧(帧头为'A'以及UART帧命令为'B'),解析数据帧中的命令,执行该命令所对应的操作,回送应答内容帧。回送应答帧数据格式如表2所示。
表2终端设备数据帧格式
对表2中各字段进行说明如下:
(1)MAC帧头(20B)
源网络号(2B)+源地址字段(4B,路由字1B+分组号1B+节点号2B)+中继网络号(2B)+中继地址字段(4B,路由字1B+分组号1B+节点号(2B)+目的网络号(2B)+目的地址字段(4B,路由字1B+分组号1B+节点号2B)+帧号(1B)+数据方向及长度(1B)
(2)NWK帧头(12B+NB,20->20+12+N-1)
NWK帧长(1B)+应用返回(4B)+网络号(2B)+地址字段(4B,路由字1B+分组号1B+节点号2B)+命令字(1B)+数据应答帧(NB,数据长度1B+数据命令1B+数据内容(N-2)B,N>=3)或命令应答帧(NB,数据内容NB,N>=1)
(3)NWK帧校验和(1B,20+12+N)
(4)MAC帧校验和(1B,20+12+N+1)
(5)MAC帧校验和至第59个数据为预留字段
(6)温度值(2B,60~61)
(7)能量值(1B,62)
图7是本发明所述的面向WSCN节点的配置方法的流程图。具体执行过程为:
(1)手持设备的功能软件根据界面各参数输入框的数据构造命令数据包并通过串行口发送至通信节点。
(2)通信节点从串口收到数据包后由RF转发至终端设备。
(3)终端设备通过RF收到数据包后,MAC层解帧判断该数据包是否为本网段数据帧,根据数据帧的类型,对接收的数据帧进行处理。对于不是本网段的数据帧直接丢弃。对于进入NWK帧的本网段数据帧需考虑是否是本机数据。对于本机数据采样本机信息组帧后送入待发送数据缓冲,本网段它机数据则根据转发功能,决定是否调用MAC层接口将数据转发出去。
(4)通信节点通过RF收到终端设备回送的数据包后,采样本节点芯片温度以及RF能量值并追加到待发送数据的最后三个字节中,通过串口将63字节数据发送至手持设备。
(5)功能软件收到回送数据包后将其解析显示在相应数据框中。
对于本发明提出的WSCN-Pad,下面结合附图及智能路灯系统WSCN节点(无线路灯控制节点)和智能气象系统WSCN节点(智能气象节点)测试实施例对本发明作进一步描述。
实施例一
无线路灯控制节点测试实施例方法,包括以下步骤:
(1)无线路灯控制节点与路灯通过底座插槽相连,为了保证通信质量,WSCN节点上安装天线;
(2)WSCN-Pad与路灯系统通过WSN实现数据互传,遵循相同的通信协议;
(3)发送相应的命令指令,终端设备响应命令操作,并返回应答帧。
本实施例中,无线路灯控制节点选用的是飞思卡尔半导体公司于2014年正式推出的ARM Cortex-M0+内核的Kinetis KL26MCU与SX1233-RF组成,工作于433MHZ的Sub-1GHz频段的KW01。LJD-eWinV5-6C+模块和KW01节点通过串口的TX、RX以及电源线相连,通过SWD写入器烧录底层各接口程序。
智能路灯控制系统主要用于检测路灯的运行情况,包括查询网段内的IP地址、MAC地址、功率查询、状态查询以及根据实际需求进行控制,比如开关灯、对重复的地址进行配置等。接下来从以下三点对智能路灯系统的需求做部分说明:
(1)参数查询:对于每一盏路灯,同一网段上地址每一盏灯不同于其他盏灯,可自动获取每一盏灯的地址、功率、分组号、控制编号等;
(2)调节功率:一般8米以下的路灯的功率为250W左右,8米以上则使用400W高压钠,功率对其来说是一个关键因素。考虑路灯系统成本、不同地方采光率等因素,需要对功率进行调节。通过驱动软件控制KW01的PWM输出信号,经运放模块以及比较器电路调节PWM占空比,进而调节路灯的输出功率;
(3)相关控制:通过IP地址、MAC地址对路灯进行开关灯控制、地址配置等。
功能软件通过组帧函数进行组帧,经串口发送函数Port.Write()发送出去。串口的事件函数SCIPort_DataReceived()接收无线路灯控制节点发送的帧数据。对于接收到的数据进行解析,根据通信协议定义的命令字内容,并回显在各个文本框中。表3列出了智能路灯系统相关命令字。
表3智能路灯系统相关命令字
实施例二
智能气象节点测试实施例方法,包括以下步骤:
(1)智能气象节点与各传感器通过底座插槽相连,为了保证通信质量,WSCN节点上安装天线;
(2)WSCN-Pad与智能气象系统通过WSN实现数据互传,遵循相同的通信协议;
(3)广播获取智能气象系统信息,返回63字节的数据,获知当前终端设备的信息名称(智能气象系统),WSCN节点的网络号、网络地址等;
(4)发送命令指令,查询各个气象物理量。
本实施例中,智能气象节点选用的是飞思卡尔半导体公司于2014年正式推出的ARM Cortex-M0+内核的Kinetis KL26MCU与SX1233-RF组成,工作于433MHZ的Sub-1GHz频段的KW01。
表4智能气象系统待测试的物理量
智能气象主要的工作任务是对各气象要素进行规范,通过相应的传感器获知其检测到的气象要素数据,转化为可计量的物理信号,然后数据推送到采集器KW01中,最后在手持设备上显示。本发明所述的手持设备对智能气象的应用主要对温湿度、气压、风向风速、降水量等进行分析研究。
应当理解的是,以上所述仅为本发明的较佳实施例而已,并不足以限制本发明的技术方案,对本领域普通技术人员来说,在本发明的精神和原则之内,可以根据上述说明加以增减、替换、变换或改进,而所有这些增减、替换、变换或改进后的技术方案,都应属于本发明所附权利要求的保护范围。