一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法

文档序号:6434733阅读:184来源:国知局
专利名称:一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法
技术领域
本发明涉及一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法,属于电子信息技术领域。
背景技术
随着无线传感器网络的发展以及计算机网络技术和电子信息技术的发展,无线传感器网络通过智能感知、识别技术与普适计算、泛在网络的融合应用,打破了之前的传统思维,人类可以实现无所不在的计算和网络连接,如今无线传感器网络的可视化客户端都是基于PC结构的,人们通过手持设备在无线传感器网络中进行信息交流和实时查看的需求越来越迫切。一个优秀的操作界面作为一种直观、便捷的交流方式,也越来越受到用户的重视,人们可以通过鼠标或者触摸屏可以实时查看无线传感器网络中的一些节点信息,实现信息的交换。发明内容
针对现有技术的不足,本发明提供一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法,无线传感器网络可视化手持客户端通过连接无线传感器网络网关实现和无线传感器网络终端节点的交互,接收、处理、存储和显示节点返回的数据并返回应答控制命令,同时将数据通过TDS-CDMA网络发送给服务器,实现查看和控制整个无线传感器网络系统的功能。
一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法,利用多线程技术,将数据的接收、处理、命令应答和数据显示在不同的线程中实现,将数据的接收、处理和显示隔离,使数据在处理的同时不影响数据的接收和显示,保证数据的实时接收、处理和显示;利用数据库技术,存储处理线程处理完成的数据;实现方法如下
1)设计可视化手持客户端的逻辑结构,包括串口数据帧接收模块、串口应答控制模块、串口数据帧处理模块、可视化数据动态显示模块和无线发射模块;
2)串口数据帧接收模块通过基于ARMll内核的芯片S3C6410的片内外设UART3控制器,控制连接S3C6410芯片的串口的操作;
3)在嵌入式Linux操作系统的驱动支持下,为S3C6410芯片的串口设置波特率、数据位、停止位和奇偶校验方式,串口数据帧接收模块按照接收速率控制方法接收无线传感器网络网关发送的数据;
4)串口数据帧处理模块对接收到的数据按照数据解析方法进行解析,判断数据格式为数据帧还是应答帧,利用数据库技术,完成数据帧的存储;
5)串口应答模块根据预定的通信协议,对串口数据帧处理模块解析出的数据进行应答;
6)可视化数据动态显示模块对步骤4)存储的数据帧进行显示;
7)无线发射模块通过TDS-WCDMA网络对步骤4)存储的数据帧重新打包封装,按照 TCP协议发送到服务器。
步骤幻所述的数据帧接收模块,实现从传输层链路网关接收串口数据帧,通过把核心 CPU 芯片 S3C6410 的 UART3 控制器接口 与 SIPEX 的 SP3232EEA 的 3. OV 到 +5. 5V 的 RS232 转换器相连,得到232电平的输入接口和输出接口,在接收网关数据的时通过SP3232EEA把 232电平转换为TTL电平信号;在给网关发送数据时,把TTL电平转换为232电平;并通过核心CPU芯片S3C6410上的嵌入式Linux操作系统调用底层驱动打开串口设备并设置正确的波特率、数据位长度、停止位长度和校验方式等,保证和下层网关的正常通信,提高系统的稳定性。
步骤幻所述的接收速率控制方法如下
建立256个缓冲区,每一个缓冲区的长度为一个数据帧的大小;建立两个指针 *head和*end,其中*head指向当前正在处理的单元地址,*end指向当前正在接收的单元地址,计算两个指针的差值;根据差值,对接收速率进行调整,保证数据接收缓冲区不会因为处理速度慢导致溢出,网络速率上下浮动时,接收的当前帧和正在处理的帧的差值保持在一定范围,保证网络数据的正常接收和处理;所述的一定范围是指
1)如若差值大于64且小于128,则正常接收数据帧;
2)如若差值大于128,则以最快的接收速率进行数据帧的接收;
3)如若差值小于64,则在保证能够正常接收情况下,适当减小接收速率;
通过对接收速率的自适应调节,保证数据的完整性和高可靠性。
步骤4)所述的数据解析的方法是,根据预定的通信协议对缓冲区中以0x7E开始和以0x7E结束的完整数据帧进行解封装,解析出无线传感器网络网关发送的命令字和有效数据,根据命令格式判断接收数据的类型为数据帧还是应答帧,并根据命令执行相应的处理,包括数据帧的存储、丢弃和应答帧的应答。
步骤4)所述的数据库技术,是采用占用内存较少的嵌入式数据库SQLite,解决嵌入式内存小运行速度慢的难题,在使用时通过Iirmx下驱动的方式进行打开,创建需要的表和主键,存储数据处理线程中无线传感器网络网关传回来的数据,并通过动态显示模块传递的查询条件进行条件查询并将查询结果返回。
步骤幻所述的串口应答模块应答方法如下
1)检测应答标志;
2)如果不需要应答,等待重传数据帧重复步骤1 ;
3)如果需要应答,清零应答标志,获取需要应答无线传感器网络节点的地址;
4)获取当前需要应答的控制命令;
5)获取当前要发送数据帧的编号seq ;
6)执行 seq = seq+1 操作;
7)获取要发送的数据长度;
8)将获取到的帧编号、数据长度、节点地址、控制命令封装为数据包;
9)依据CRC校验码表给数据包加入CRC校验码;
10)加入帧头和帧尾组成一帧数据;
11)调用write ()函数通过串口将数据帧发送给网关;
12)重复循环应答。
步骤6)所述的可视化数据动态显示模块,采用基于Qt4的对话框编程和2D绘图技术,实现在嵌入式Linux环境下的可视化数据动态显示;所述的基于Qt4的对话框编程, 是设计图形用户界面,放置显示数据需要的控件和控制需要的控件,当检测到数据处理模块发出数据处理结束信号后,在可视化动态显示模块中调用updataO函数更新对话框中控件显示的内容,通过控制控件实现人工控制;所述的2D绘图技术,是定义IOM字节的缓冲区,定时IOms读取数据库中的数据并刷新缓冲区,利用坐标系转换将在对话框的坐标系下的坐标转换成当前绘图控件坐标系下的坐标,最终在对话框中显示出数据值和变化曲线,实现数据的动态显示。
为无线传感器网络设计可视化手持客户端,便要解决信息数据的采集、处理、界面显示、应答和公网的交互问题。本发明基于ARMll内核芯片S3C6410硬件平台,通过嵌入式 Linux的串口驱动完成信息数据的采集并向嵌入式Linux上层提供操作接口,数据处理模块、终端应答模块、可视化数据动态显示模块和无线发射模块实现了基于嵌入式Linux的无线传感器网络的可视化手持客户端的功能。


图1为本发明的结构示意图。
图2为本发明实现的程序流程图。
图3为本发明数据处理流程图。
图4为本发明串口应答控制流程图。
其中,1、网关,2、嵌入式系统手持终端,2-1、数据帧接收模块,2-2、数据帧处理模块,2-3、可视化动态显示模块,2-4、串口应答控制模块。
具体实施方式
下面结合实施例和附图,对本发明做进一步描述。
实施例
一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法,利用多线程技术,将数据的接收、处理、命令应答和数据显示在不同的线程中实现,将数据的接收、处理和显示隔离,使数据在处理的同时不影响数据的接收和显示,保证数据的实时接收、处理和显示;利用数据库技术,存储处理线程处理完成的数据;实现方法如下
1)设计可视化手持客户端的逻辑结构,包括串口数据帧接收模块、串口应答控制模块、串口数据帧处理模块、可视化数据动态显示模块和无线发射模块;
2)串口数据帧接收模块通过基于ARMll内核的芯片S3C6410的片内外设UART3控制器,控制连接S3C6410芯片的串口的操作;
3)在嵌入式Linux操作系统的驱动支持下,为S3C6410芯片的串口设置波特率、数据位、停止位和奇偶校验方式,串口数据帧接收模块按照接收速率控制方法接收无线传感器网络网关发送的数据;
4)串口数据帧处理模块对接收到的数据按照数据解析方法进行解析,判断数据格式为数据帧还是应答帧,利用数据库技术,完成数据帧的存储;
5)串口应答模块根据预定的通信协议,对串口数据帧处理模块解析出的数据进行应答;
6)可视化数据动态显示模块对步骤4)存储的数据帧进行显示;
7)无线发射模块通过TDS-WCDMA网络对步骤4)存储的数据帧重新打包封装,按照 TCP协议发送到服务器。
步骤幻所述的数据帧接收模块,实现从传输层链路网关接收串口数据帧,通过把核心 CPU 芯片 S3C6410 的 UART 接口与 SIPEX 的 SP3232EEA 的 3. OV 到 +5. 5V 的 RS232 转换器相连,得到232电平的输入接口和输出接口,在接收网关数据的时通过SP3232EEA把232 电平转换为TTL电平信号;在给网关发送数据时,把TTL电平转换为232电平;并通过核心 CPU芯片S3C6410上的嵌入式Linux操作系统调用底层驱动打开串口设备并设置正确的波特率、数据位长度、停止位长度和校验方式等,保证和下层网关的正常通信和数据正常的发送和接收,提高系统的稳定性。
步骤幻所述的接收速率控制方法如下
建立256个缓冲区,每一个缓冲区的长度为一个数据帧的大小;建立两个指针 *head和*end,其中*head指向当前正在处理的单元地址,*end指向当前正在接收的单元地址,计算两个指针的差值;根据差值,对接收速率进行调整,保证数据接收缓冲区不会因为处理速度慢导致溢出,网络速率上下浮动时,接收的当前帧和正在处理的帧的差值保持在一定范围,保证网络数据的正常接收和处理;所述的一定范围是指
1)如若差值大于64且小于128,则正常接收数据帧;
2)如若差值大于128,则以最快的接收速率进行数据帧的接收;
3)如若差值小于64,则在保证能够正常接收情况下,适当减小接收速率;
通过对接收速率的自适应调节,保证数据的完整性和高可靠性。
步骤4)所述的数据解析的方法是,根据预定的通信协议对缓冲区中以0x7E开始和以0x7E结束的完整数据帧进行解封装,解析出无线传感器网络网关发送的命令字和有效数据,根据命令格式判断接收数据的类型为数据帧还是应答帧,并根据命令执行相应的处理,包括数据帧的存储、丢弃和应答帧的应答。
步骤4)所述的数据库技术,是采用占用内存较少的嵌入式数据库SQLite,解决嵌入式内存小运行速度慢的难题,在使用时通过Iirmx下驱动的方式进行打开,创建需要的表和主键,存储数据处理线程中无线传感器网络网关传回来的数据,并通过动态显示模块传递的查询条件进行条件查询并将查询结果返回。
步骤幻所述的串口应答模块应答方法如下
13)检测应答标志;
14)如果不需要应答,等待重传数据帧重复步骤1 ;
15)如果需要应答,清零应答标志,获取需要应答无线传感器网络节点的地址;
16)获取当前需要应答的控制命令;
17)获取当前要发送数据帧的编号seq ;
18)执行 seq = seq+1 操作;
19)获取要发送的数据长度;
20)将获取到的帧编号、数据长度、节点地址、控制命令封装为数据包;
21)依据CRC校验码表给数据包加入CRC校验码;
22)加入帧头和帧尾组成一帧数据;
23)调用write ()函数通过串口将数据帧发送给网关;
24)重复循环应答。
步骤6)所述的可视化数据动态显示模块,采用基于Qt4的对话框编程和2D绘图技术,实现在嵌入式Linux环境下的可视化数据动态显示;所述的基于Qt4的对话框编程, 是设计图形用户界面,放置显示数据需要的控件和控制需要的控件,当检测到数据处理模块发出数据处理结束信号后,在可视化动态显示模块中调用updataO函数更新对话框中控件显示的内容,通过控制控件实现人工控制;所述的2D绘图技术,是定义IOM字节的缓冲区,定时IOms读取数据库中的数据并刷新缓冲区,利用坐标系转换将在对话框的坐标系下的坐标转换成当前绘图控件坐标系下的坐标,最终在对话框中显示出数据值和变化曲线,实现数据的动态显示。
权利要求
1.一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法,利用多线程技术,将数据的接收、处理、命令应答、数据显示和无线发送在不同的线程中实现,将数据的接收、处理、显示和无线发送隔离,使数据在处理的同时不影响数据的接收和显示,保证数据的实时接收、处理、显示和公网的交互;利用数据库技术,存储处理线程处理完成的数据; 其特征在于,实现方法如下1)设计可视化手持客户端的逻辑结构,包括串口数据帧接收模块、串口应答控制模块、 串口数据帧处理模块、可视化数据动态显示模块和无线发射模块;2)串口数据帧接收模块通过基于ARMll内核的芯片S3C6410的片内外设UART3控制器,控制连接S3C6410芯片的串口的操作;3)在嵌入式Linux操作系统的驱动支持下,为S3C6410芯片的串口设置波特率、数据位、停止位和奇偶校验方式,串口数据帧接收模块按照接收速率控制方法接收无线传感器网络网关发送的数据;4)串口数据帧处理模块对接收到的数据按照数据解析方法进行解析,判断数据格式为数据帧还是应答帧,利用数据库技术,完成数据帧的存储;5)串口应答模块根据预定的通信协议,对串口数据帧处理模块解析出的数据进行应答;6)可视化数据动态显示模块对步骤4)存储的数据帧进行显示;7)无线发射模块通过TDS-WCDMA网络对步骤4)存储的数据帧重新打包封装,按照TCP 协议发送到服务器。
2.如权利要求1所述的一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法,其特征在于,步骤幻所述的接收速率控制方法如下建立256个缓冲区,每一个缓冲区的长度为一个数据帧的大小;建立两个地址指针 *head和*end,其中*head指向当前正在处理的单元地址,*end指向当前正在接收的单元地址,计算两个指针的差值;根据差值,对接收速率进行调整,保证数据接收缓冲区不会因为处理速度慢导致溢出,在网络速率上下浮动时,接收的当前帧和正在处理的帧的差值保持在一定范围,保证网络数据的正常接收和处理;所述的一定范围是指1)如若差值大于64且小于128,则以正常速率接收数据帧;2)如若差值大于128,则以最快的速率接收数据帧;3)如若差值小于64,则在保证能够满足正常处理情况下,适当降低接收速率;通过对接收速率的自适应调节,保证数据的完整性和高可靠性。
3.如权利要求1所述的一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法,其特征在于,步骤4)所述的数据解析的方法是,根据预定的通信协议对缓冲区中以0x7E开始和以0x7E结束的完整数据帧进行解封装,解析出无线传感器网络网关发送的命令字和有效数据,根据命令格式判断接收数据的类型为数据帧还是应答帧,并根据命令执行相应的处理,包括数据帧的存储、丢弃和应答帧的应答。
4.如权利要求1所述的一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法,其特征在于,步骤4)所述的数据库技术,是采用占用内存较少的嵌入式数据库 SQLite,解决嵌入式内存小运行速度慢的难题,在使用时通过Iinux下驱动的方式进行打开,创建需要的表和主键,存储数据处理线程中无线传感器网络网关传回来的数据,并通过动态显示模块传递的查询条件进行条件查询并将查询结果返回。
5.如权利要求1所述的一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法,其特征在于,步骤幻所述的串口应答模块应答方法如下1)检测应答标志;2)如果不需要应答,等待重传数据帧重复步骤1;3)如果需要应答,清零应答标志,获取需要应答无线传感器网络节点的地址;4)获取当前需要应答的控制命令;5)获取当前要发送数据帧的编号seq;6)执行seq= seq+1操作;7)获取要发送的数据长度;8)将获取到的帧编号、数据长度、节点地址、控制命令封装为数据包;9)依据CRC校验码表给数据包加入CRC校验码;10)加入帧头和帧尾组成一帧数据;11)调用write()函数通过串口将数据帧发送给网关;12)重复循环应答。
6.如权利要求1所述的一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法,其特征在于,步骤6)所述的可视化数据动态显示模块,采用基于Qt4的对话框编程和2D绘图技术,实现在嵌入式Linux环境下的可视化数据动态显示;所述的基于Qt4的对话框编程,是设计图形用户界面,放置显示数据需要的控件和控制需要的控件,当检测到数据处理模块发出数据处理结束信号后,在可视化动态显示模块中调用updataO函数更新对话框中控件显示的内容,通过控制控件实现人工控制;所述的2D绘图技术,是定义IOM 字节的缓冲区,定时IOms读取数据库中的数据并刷新缓冲区,利用坐标系转换将在对话框的坐标系下的坐标转换成当前绘图控件坐标系下的坐标,最终在对话框中显示出数据值和变化曲线,实现数据的动态显示。
全文摘要
一种基于嵌入式Linux的无线传感器网络可视化手持客户端实现方法,以运行于ARM11芯片上的嵌入式Linux为载体,开发运行于嵌入式Linux平台的无线传感器网络可视化手持客户端,数据均经过软件的优化和纠错处理,接收程序采用了数据缓冲、自适应调整的方式,实现在嵌入式Linux平台接收和显示无线传感器网络节点数据的功能;针对嵌入式系统特定的应用环境,通过算法优化,实现了基于嵌入式Linux平台的无线传感器网络可视化手持客户端的接收和处理功能。本发明对于同类嵌入式平台,可移植性强,对于推动嵌入式无线传感器网络设备的普及应用具有积极地意义。
文档编号G06F17/30GK102510581SQ201110299628
公开日2012年6月20日 申请日期2011年9月30日 优先权日2011年9月30日
发明者单小明, 徐伟涛, 徐加利, 徐祥桐, 王磊, 纪洪亮, 薛良飞, 袁东风, 赫明哲 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1