实现远程调试的装置及方法.pdf

上传人:54 文档编号:4295198 上传时间:2018-09-13 格式:PDF 页数:13 大小:539.98KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110395207.X

申请日:

2011.12.02

公开号:

CN102497648A

公开日:

2012.06.13

当前法律状态:

授权

有效性:

有权

法律详情:

专利权的转移IPC(主分类):H04W 24/04登记生效日:20160115变更事项:专利权人变更前权利人:上海波顿无线传感技术有限公司变更后权利人:深圳市腾兴车联科技有限公司变更事项:地址变更前权利人:201203 上海市浦东新区张江高科技园区郭守敬路351号2号楼A611-20室变更后权利人:518054 广东省深圳市前海深港合作区前湾一路鲤鱼门街一号前海深港合作区管理局综合办公楼A栋201室(入驻深圳市前海商务秘书有限公司)|||授权|||实质审查的生效IPC(主分类):H04W 24/04申请日:20111202|||公开

IPC分类号:

H04W24/04(2009.01)I; H04W84/18(2009.01)I

主分类号:

H04W24/04

申请人:

上海波顿无线传感技术有限公司

发明人:

李煜华; 李英姿; 周明海

地址:

201203 上海市浦东新区张江高科技园区郭守敬路351号2号楼A611-20室

优先权:

专利代理机构:

上海信好专利代理事务所(普通合伙) 31249

代理人:

张静洁;周荣芳

PDF下载: PDF下载
内容摘要

一种实现远程Shell调试的装置及方法中,使用PC机将用户命令通过串口线发送至服务器节点,服务器节点再通过无线交互发送至多个待调试传感器节点中预设的客户端节点;客户端节点执行相应命令后将信息返回至服务器节点,再转发到PC机上给用户。本发明克服了现有必须接入有线装置才能对已安装的无线传感器节点设备进行调试的不足。本发明在服务器节点与客户端节点之间使用多种通讯手段,可以方便定位和解决实际应用环境中出现的故障,有助于提高故障解决速度和降低解决成本。

权利要求书

1: 一种实现远程 Shell 调试的装置, 用于对无线传感器网络中的各个传感器节点进行 调试, 其特征在于, 所述调试装置包含调试用设备, 以及预先安装在需要调试的每个传感器 节点中的工程现场设备 ; 其中, 所述调试用设备包含通过有线装置连接的 PC 机 (10) 和服务器节点 (20) ; 所述 PC 机 (10) 及服务器节点 (20) 之间经过串口交互通讯 ; 所述 PC 机 (10) 向服务器节点 (20) 传 送命令, 或接收所述服务器节点 (20) 返回的响应信息 ; 所述工程现场设备包含客户端节点 (30) , 每个所述传感器节点中至少设置有一个所述 客户端节点 (30) ; 一个所述服务器节点 (20) 与若干个所述客户端节点 (30) 之间通过无线 射频交互 ; 所述服务器节点 (20) 向对应的客户端节点 (30) 传送操作命令, 或接收所述客户 端节点 (30) 返回的执行结果。2: 如权利要求 1 所述的实现远程 Shell 调试的装置, 其特征在于, 所述 PC 机 (10) 上设置有 Shell 终端 (11) 与所述服务器节点 (20) 进行交互通讯 ; 还设 置有前台的用户界面, 来将用户命令输入至 PC 机 (10) , 并将服务器节点 (20) 返回的响应信 息显示给用户。3: 如权利要求 2 所述的实现远程 Shell 调试的装置, 其特征在于, 所述服务器节点 (20) 中进一步设置有以下模块 : 串口收发模块 (21) , 其与所述 PC 机 (10) 的串口连接, 来接收该 PC 机 (10) 发送的原始 数据, 并转发至后续模块 ; 串口数据解析模块 (22) , 其对所述串口收发模块 (21) 发送的原始数据进行串口协议 解析 ; Shell 命令解析模块 (23) , 其对所述串口数据解析模块 (22) 成功解析的串口命令进行 Shell 命令解析 ; Shell 命令逻辑处理主模块 (24) , 其根据所述 Shell 命令解析模块 (23) 成功解析的 Shell 命令, 生成所述客户端节点 (30) 需要执行的操作命令 ; 射频数据解析模块 (25) , 其对所述 Shell 命令逻辑处理主模块 (24) 发送的操作命令进 行协议组包 ; 射频收发模块 (26) , 其将所述射频数据解析模块 (25) 完成组包的数据, 发送至所述客 户端节点 (30) 中相应的模块。4: 如权利要求 3 所述的实现远程 Shell 调试的装置, 其特征在于, 每个所述客户端节点 (30) 进一步设置有以下模块 : 射频收发模块 (31) , 其通过无线接收所述服务器节点 (20) 发送的数据, 并在判断所述 数据是发送给该模块所属的客户端节点 (30) 时, 将数据转发至后续模块 ; 射频数据解析模块 (32) , 其对所述射频收发模块 (31) 发送的数据进行 shell 命令解 析; Shell 命令逻辑处理主模块 (33) , 其根据所述射频数据解析模块 (32)成功解析的 shell 命令, 来生成后续模块需要执行的操作命令 ; 命令任务执行模块 (34) , 其根据所述 Shell 命令逻辑处理主模块 (33) 发送的操作命 令, 来执行具体操作并返回执行的结果。5: 一种实现远程 Shell 调试的方法, 用于对无线传感器网络中的各个传感器节点进行 2 调试, 其特征在于, 所述调试方法包含 : 通过有线装置连接 PC 机 (10) 和服务器节点 (20) , 使所述 PC 机 (10) 通过串口向所述服 务器节点 (20) 传送用户命令, 由所述服务器节点 (20) 进行命令解析并执行相应的操作后, 向 PC 机 (10) 返回响应信息 ; 并且, 预先在待调试的每个传感器节点中至少设置一个客户端节点 (30) , 使一个所述 服务器节点 (20) 与附近位置的若干个所述客户端节点 (30) 之间通过无线射频交互 ; 由所 述服务器节点 (20) 向对应的客户端节点 (30) 发送操作命令, 使所述客户端节点 (30) 执行 相应的操作后, 向所述服务器节点 (20) 返回执行结果。6: 如权利要求 5 所述的实现远程 Shell 调试的方法, 其特征在于, 所述服务器节点 (20) 与周围所有的客户端节点 (30) 之间, 通过一种广播并且应答的 模式进行无线通讯, 即, 所述服务器节点 (20) 发送无线广播信息, 所有接收到该信息的客户 端节点 (30) 返回相应的无线应答信息给该服务器节点 (20) ; 该模式进一步包含 : 所述服务器节点 (20) 将其节点号广播给客户端节点 (30) ; 所有接收到的客户端节点 (30) 返回自身的节点信息, 使得服务器节点 (20) 能够得知周边存在的客户端节点 (30) , 供 后续使用 ; 并且, 当所述客户端节点 (30) 接收到服务器节点 (20) 的广播信息时, 将该服务器节点 (20) 的节点号标记为可用, 供后续使用。7: 如权利要求 6 所述的实现远程 Shell 调试的方法, 其特征在于, 在所述广播并且应答的模式中, 预先使所述服务器节点 (20) 和若干所述客户端节点 (30) 都处在远程 Shell 已经启动的状态 ; 用户输入所述 PC 机 (10) 的命令通过串口发往至服务器节点 (20) , 然后 PC 机 (10) 进 入等待串口数据状态 ; 所述服务器节点 (20) 向周围所有的客户端节点 (30) 广播信息, 该广播信息中携带有 其自身的节点号, 并启动一个超时定时器 ; 服务器节点 (20) 周围的每个所述客户端节点 (30) 在收到广播命令后, 首先检查是否 是发向自己的命令 : 如果是, 则将该服务器节点 (20) 的节点号标记为可用, 并且向该服务 器节点 (20) 返回应答信息, 该应答信息中包含有该客户端节点 (30) 自身的节点信息 ; 如果 不是发给自己的命令, 则丢弃 ; 所述服务器节点 (20) 根据收到的应答信息, 获知其周边存在的客户端节点 (30) , 以供 后续使用 ; 所述服务器节点 (20) 还将其在设定的超时时间内收到的应答信息, 组合成一条 完整的报文, 并将该报文信息通过串口返回给所述 PC 机 (10) 。8: 如权利要求 5 或 6 所述的实现远程 Shell 调试的方法, 其特征在于, 所述服务器节点 (20) 与其指定的客户端节点 (30) 之间, 通过一种请求并且响应的模 式进行无线通讯, 即, 服务器节点 (20) 对已在通讯范围内存在的客户端节点 (30) 发送无线 请求命令, 指定的客户端节点 (30) 在执行完命令后向服务器节点 (20) 返回无线响应信息 ; 该模式进一步包含 : 所述服务器节点 (20) 向周围已存在的任意一个客户端节点 (30) 发送查看客户端节点 信息的命令, 客户端节点 (30) 收到命令后返回相应的节点信息至服务器节点 (20) ; 3 或者, 所述服务器节点 (20) 向周围已存在的任意一个客户端节点 (30) 发送设置客户 端节点地址的命令, 客户端节点 (30) 收到后先更改自身的节点号, 然后将更改结果返回至 服务器节点 (20) ; 或者, 所述服务器节点 (20) 向周围已存在的任意一个客户端节点 (30) 发送重启客户 端节点的命令, 客户端节点 (30) 收到后先执行重启命令, 待重启完毕后将结果返回至服务 器节点 (20) 。9: 如权利要求 8 所述的实现远程 Shell 调试的方法, 其特征在于, 在所述请求并且响应的模式中, 预先使所述服务器节点 (20) 和若干所述客户端节点 (30) , 都处在远程 Shell 已经启动的状态 ; 用户输入所述 PC 机 (10) 的命令通过串口发送至服务器节点 (20) , 该命令中携带有目 标客户端节点 (30) 的节点号和相应的请求类型, 然后 PC 机 (10) 进入等待串口数据状态 ; 服务器节点 (20) 对接收的用户命令进行解析后, 生成相应的请求并向指定的客户端节 点 (30) 发送 ; 如果发送失败或超时, 则向 PC 机 (10) 返回发送失败信息 ; 客户端节点 (30) 根据其收到请求来执行相应的操作, 当请求处理完毕后将处理结果返 回给服务器节点 (20) ; 所述服务器节点 (20) 将返回的响应信息通过串口返回给 PC 机 (10) 。10: 如权利要求 6 所述的实现远程 Shell 调试的方法, 其特征在于, 所述客户端节点 (30) 通过一种主动推送的无线通讯模式, 向该客户端节点 (30) 已经 成功记录过的一个可用的服务器节点 (20) 主动传送数据 ; 该模式中, 预先使所述服务器节点 (20) 和客户端节点 (30) , 都处在远程 Shell 已经启 动的状态 ; 并且, 所述客户端节点 (30) 中已经将至少一个服务器节点 (20) 的节点号标记为 可用 ; 所述客户端节点 (30) 向其记录过的其中一个服务器节点 (20) 推送数据后, 如果推送 失败则清空该服务器节点 (20) 的记录 ; 服务器节点 (20) 在接收到客户端节点 (30) 的推送数据后向客户端节点 (30) 返回推送 成功信息 ; 然后服务器节点 (20) 将推送数据通过串口发送给 PC 机 (10) ; PC 机 (10) 将推送数据显示给用户。

说明书


实现远程调试的装置及方法

    技术领域 本发明应用于无线传感器网络领域, 特别涉及一种基于 TinyOS 操作系统构建, 用 以对节点进行远程 Shell 调试的装置及方法。 背景技术
     TinyOS 是 UC Berkeley(加州大学伯克利分校) 开发的开放源代码操作系统, 专 为嵌入式无线传感网络设计 ; 操作系统基于构件 (component-based) 的架构, 使得快速的 更新成为可能, 而这又减小了受传感网络存储器限制的代码长度。TinyOS 的构件包括网络 协议、 分布式服务器、 传感器驱动及数据识别工具 ; 其良好的电源管理源于事件驱动执行模 型, 该模型也允许时序安排具有灵活性。 TinyOS 已被应用于多个平台和 TinyOS 感应板中。
     目前, 在 ZigBee 无线传感器网络中, 通过 CC2430 等系统芯片 (SoC) CMOS 解决方 案, 来实现以 ZigBee 协议为基础的 2.4GHz ISM 波段应用, 提高其性能并满足对低成本, 低 功耗的要求。一般结合一个高性能 2.4GHz DSSS(直接序列扩频) 射频收发器核心和一颗 工业级小巧高效的 8051 控制器来构建。
     然而, 现有的针对无线传感器设备的调试手段极为短缺, 大多分为以下几种 : 其一、 通过 LED 灯来表现程序状态, 俗称为 “点灯” 。该调试方法的缺点是 : LED 灯数量 有限, 所以表示的程序状态数也有限。 而且, 表现形式单一, 只有亮与来两种状态, 所以具有 的调试功能有限。
     其二、 在串口工作正常的情况下通过 UART 方式打印至 PC 机。这种方法是最为通 用的方法之一, 但是也有它的局限性 : 即, 必须通过有线 (比如串口线) 连接至 PC, 这对使用 无线射频作为通讯介质的无线传感器网络来说极大地增加了安装调试的复杂性, 在工业应 用时尤其明显。 譬如, 在一个基于地区环境监控的系统中, 每一个无线节点都被安装在数米 高的路灯上, 而这些节点由于要做到防水防尘防盗等功能, 不会留有调试接口 ; 所以唯一的 方法就是将节点拆回原厂进行连线调试。
     因此, 正是因为这些原因, 使得无线设备节点很难直接进行现场调试。
     发明内容 本发明的目的是提供一种基于 TinyOS 系统来实现远程 Shell 调试的装置及方法, 可以克服现有技术中必须使用有线装置, 将已安装的无线节点连接到 PC 机上进行调试的 局限性。本发明在服务器节点与客户端节点之间使用无线通讯, 方便对无线传感网络中的 各个无线节点进行调试, 从而定位及解决实际运用环境中出现的故障, 有助于提高故障解 决速度并降低维护成本。
     为了达到上述目的, 本发明的技术方案是提供一种实现远程 Shell 调试的装置及 方法, 用于对无线传感器网络中的各个传感器节点进行调试。
     其中实现远程 Shell 调试的装置, 包含调试用设备, 以及预先安装在需要调试的 每个传感器节点中的工程现场设备 ; 其中, 所述调试用设备包含通过有线装置连接的 PC 机和服务器节点 ; 所述 PC 机及服务
     器节点之间经过串口交互通讯 ; 所述 PC 机向服务器节点传送命令, 或接收所述服务器节点 返回的响应信息 ; 所述工程现场设备包含客户端节点, 每个所述传感器节点中至少设置有一个所述客户 端节点 ; 一个所述服务器节点与若干个所述客户端节点之间通过无线射频交互 ; 所述服务 器节点向对应的客户端节点传送操作命令, 或接收所述客户端节点返回的执行结果。
     所述 PC 机上设置有 Shell 终端与所述服务器节点进行交互通讯 ; 还设置有前台的 用户界面, 来将用户命令输入至 PC 机, 并将服务器节点返回的响应信息显示给用户。
     所述服务器节点中进一步设置有以下模块 : 串口收发模块, 其与所述 PC 机的串口连接, 来接收该 PC 机发送的原始数据, 并转发至 后续模块 ; 串口数据解析模块, 其对所述串口收发模块发送的原始数据进行串口协议解析 ; Shell 命令解析模块, 其对所述串口数据解析模块成功解析的串口命令进行 Shell 命 令解析 ; Shell 命令逻辑处理主模块, 其根据所述 Shell 命令解析模块成功解析的 Shell 命令, 生成所述客户端节点需要执行的操作命令 ; 射频数据解析模块, 其对所述 Shell 命令逻辑处理主模块发送的操作命令进行协议组 包; 射频收发模块, 其将所述射频数据解析模块完成组包的数据, 发送至所述客户端节点 中相应的模块。
     每个所述客户端节点进一步设置有以下模块 : 射频收发模块, 其通过无线接收所述服务器节点发送的数据, 并在判断所述数据是发 送给该模块所属的客户端节点时, 将数据转发至后续模块 ; 射频数据解析模块, 其对所述射频收发模块发送的数据进行 shell 命令解析 ; Shell 命令逻辑处理主模块, 其根据所述射频数据解析模块成功解析的 shell 命令, 来 生成后续模块需要执行的操作命令 ; 命令任务执行模块, 其根据所述 Shell 命令逻辑处理主模块发送的操作命令, 来执行 具体操作并返回执行的结果。
     本发明所述实现远程 Shell 调试的方法, 包含 : 通过有线装置连接 PC 机和服务器节点, 使所述 PC 机通过串口向所述服务器节点传送 用户命令, 由所述服务器节点进行命令解析并执行相应的操作后, 向 PC 机返回响应信息 ; 并且, 预先在待调试的每个传感器节点中至少设置一个客户端节点, 使一个所述服务 器节点与附近位置的若干个所述客户端节点之间通过无线射频交互 ; 由所述服务器节点向 对应的客户端节点发送操作命令, 使所述客户端节点执行相应的操作后, 向所述服务器节 点返回执行结果。
     所述服务器节点与周围所有的客户端节点之间, 通过一种广播并且应答的模式进 行无线通讯, 即, 所述服务器节点发送无线广播信息, 所有接收到该信息的客户端节点返回 相应的无线应答信息给该服务器节点 ; 该模式进一步包含 : 所述服务器节点将其节点号广播给客户端节点 ; 所有接收到的客户端节点返回自身的节点信息, 使得服务器节点能够得知周边存在的客户端节点, 供后续使用 ; 并且, 当所述客户端节点接收到服务器节点的广播信息时, 将该服务器节点的节点号 标记为可用, 供后续使用。
     在所述广播并且应答的模式中, 预先使所述服务器节点和若干所述客户端节点都 处在远程 Shell 已经启动的状态 ; 用户输入所述 PC 机的命令通过串口发往至服务器节点, 然后 PC 机进入等待串口数据 状态 ; 所述服务器节点向周围所有的客户端节点广播信息, 该广播信息中携带有其自身的节 点号, 并启动一个超时定时器 ; 服务器节点周围的每个所述客户端节点在收到广播命令后, 首先检查是否是发向自己 的命令 : 如果是, 则将该服务器节点的节点号标记为可用, 并且向该服务器节点返回应答 信息, 该应答信息中包含有该客户端节点自身的节点信息 ; 如果不是发给自己的命令, 则丢 弃; 所述服务器节点根据收到的应答信息, 获知其周边存在的客户端节点, 以供后续使用 ; 所述服务器节点还将其在设定的超时时间内收到的应答信息, 组合成一条完整的报文, 并 将该报文信息通过串口返回给所述 PC 机。 所述服务器节点与其指定的客户端节点之间, 通过一种请求并且响应的模式进行 无线通讯, 即, 服务器节点对已在通讯范围内存在的客户端节点发送无线请求命令, 指定的 客户端节点在执行完命令后向服务器节点返回无线响应信息 ; 该模式进一步包含 : 所述服务器节点向周围已存在的任意一个客户端节点发送查看客户端节点信息的命 令, 客户端节点收到命令后返回相应的节点信息至服务器节点 ; 或者, 所述服务器节点向周围已存在的任意一个客户端节点发送设置客户端节点地址 的命令, 客户端节点收到后先更改自身的节点号, 然后将更改结果返回至服务器节点 ; 或者, 所述服务器节点向周围已存在的任意一个客户端节点发送重启客户端节点的命 令, 客户端节点收到后先执行重启命令, 待重启完毕后将结果返回至服务器节点。
     在所述请求并且响应的模式中, 预先使所述服务器节点和若干所述客户端节点, 都处在远程 Shell 已经启动的状态 ; 用户输入所述 PC 机的命令通过串口发送至服务器节点, 该命令中携带有目标客户端 节点的节点号和相应的请求类型, 然后 PC 机进入等待串口数据状态 ; 服务器节点对接收的用户命令进行解析后, 生成相应的请求并向指定的客户端节点发 送; 如果发送失败或超时, 则向 PC 机返回发送失败信息 ; 客户端节点根据其收到请求来执行相应的操作, 当请求处理完毕后将处理结果返回给 服务器节点 ; 所述服务器节点将返回的响应信息通过串口返回给 PC 机。
     所述客户端节点通过一种主动推送的无线通讯模式, 向该客户端节点已经成功记 录过的一个可用的服务器节点主动传送数据 ; 该模式中, 预先使所述服务器节点和客户端节点, 都处在远程 Shell 已经启动的状态 ; 并且, 所述客户端节点中已经将至少一个服务器节点的节点号标记为可用 ;
     所述客户端节点向其记录过的其中一个服务器节点推送数据后, 如果推送失败则清空 该服务器节点的记录 ; 服务器节点在接收到客户端节点的推送数据后向客户端节点返回推送成功信息 ; 然后 服务器节点将推送数据通过串口发送给 PC 机 ; PC 机将推送数据显示给用户。
     与现有技术相比, 本发明所述实现远程 Shell 调试的装置及方法, 克服了现有 技术对于工程实践必须要接入有线装置才能对已安装的无线传感器节点设备进行调试 的不足。本发明中通过 PC 机前台用户界面输入的命令, 通过有线发送至服务器节点, 再 由服务器节点通过无线发送至客户端节点 ; 命令执行后再将信息返回给 PC 机的用户界 面。其中, 服务器节点与客户端节点之间, 可以有三种无线通讯模式 : Broadcast-Ack、 Request-Response、 Push。基于这三种无线通讯模式实现了多种调试功能 : 发现客户端节 点、 查看客户端节点、 设置客户端节点地址、 重启节点、 远程打印等。 本发明可应用于例如基 于 2.4GHz 的 ZigBee 无线传感器网络的领域, 适用于教学实践过程, 以及工业设备生产、 安 装、 调试等。 由于使用无线作为服务器节点与客户端节点的通讯手段, 可以方便定位和解决 实际应用环境中出现的故障, 有助于提高故障解决速度和降低解决成本。 附图说明
     图 1 是本发明所述实现远程 Shell 调试装置的整体系统架构图 ; 图 2 是本发明所述实现远程 Shell 调试方法中 Broadcast-Ack 通讯模式的时序图 ; 图 3 是本发明所述实现远程 Shell 调试方法中 Request-Response 通讯模式的时序图 ; 图 4 是本发明所述实现远程 Shell 调试方法中 Push 通讯模式的时序图。具体实施方式
     以下结合附图说明本发明的具体实施方式。
     如图 1 所示, 本发明所述实现远程 Shell 调试的装置 (以下简称调试装置) , 基于 TinyOS 嵌入式操作系统构建, 尤其是能够应用于 2.4GHz 的 ZigBee 无线传感器网络中, 对其 各个传感器节点进行无线调试。
     所述调试装置包含两大部分, 其一是调试用设备, 为一台带串口的 PC 机 10 及一个 服务器节点 20, 其由现场施工或调试人员携带。其二, 是工程现场设备, 该部分设置有客户 端节点 30, 已经被事先安装在需要调试的每个传感器节点中。所述调试用设备的 PC 机 10 与服务器节点 20 之间通过串口 (例如是 RS232 接口) 通讯。而所述服务器节点 20 与所述工 程现场设备的客户端节点 30 之间通过无线通讯 ; 并且, 一个服务器节点 20 可以与多个客户 端节点 30 实现无线通讯, 即是说, 通过一套调试用设备就可以对附近位置的多个传感器节 点进行调试。
     所述调试装置的具体系统架构如下 : 用户通过 PC 机 10 上的 Shell 终端 11 与服务器节点 20 进行交互 ; 用户将命令发送至 PC 机 10, PC 机 10 通过串口将命令发往服务器节点 20 的串口收发模块 21 (ServerUartCommC) 。
     服务器节点 20 的串口收发模块 21 将收到的原始数据, 发往串口数据解析模 块 22(ServerUartParserC)进行串口协议解析。当成功解析一条串口命令后, 将其发往 Shell 命令解析模块 23(ServerShellParserC) 进行 Shell 命令解析。当成功解析一 条 Shell 命令后, 则将该命令发往 Shell 命令逻辑处理主模块 24(ServerShellMainC) 。 由 Shell 命令逻辑处理主模块 24 决定该进行哪些操作, 并将命令发往射频数据解析 模 块 25(ServerRadioParserC)进 行 协 议 组 包。 将 组 好 的 命 令 发 往 射 频 收 发 模 块 26 (ServerRadioCommC) 向外发送。服务器节点 20 将射频数据发送至客户端节点 30 的射频收 发模块 31(ClientRadioCommC) 。
     客户端节点 30 的射频收发模块 31, 判断是否是发送给自己的数据, 如果不是则丢 弃, 如果是则发往射频数据解析模块 32(ClientRadioParserC) 。当成功生成一个命令后, 射频数据解析模块 32 将该命令发往 Shell 命令逻辑处理主模块 33(ClientShellMainC) , 由该模块 33 对 Shell 命令进行分析。如果需要执行相应的操作, 则将操作交由命令任务执 行模块 34(ClientCommandTaskC) 执行, 并将执行结果返回给服务器节点 20。服务器节点 20 将收到的响应信息转化为串口数据再发给 PC 机 10 ; PC 机 10 通过前台的用户界面将数 据显示给用户。
     基于图 1 所示的调试装置, 配合参见图 2~ 图 4 所示, 说明本发明实现远程 Shell 调试方法中服务器节点 20 与客户端节点 30 之间的三种无线通讯模式。 配合参见图 1、 图 2 所示, 本发明所述调试方法设置有 Broadcast-Ack 通讯模式, 该 模式实现了一种服务器节点 20 向周围所有客户端节点 30 广播并且应答的机制。即, 服务 器节点 20 发送无线广播信息, 所有接收到的客户端节点 30 返回无线 Ack 信息。
     该模式可适用于发现客户端节点和记录服务器节点号等功能 : 其一, 发现客户端节点的功能是指, 服务器节点 20 将自身的节点号广播给客户端节点 30, 所有接收到的客户端节点 30 返回自身节点, 则服务器节点 20 可以得知周边存在的客户 端节点 30。
     其二, 记录服务器节点号的功能是, 当客户端节点 30 接收到服务器节点 20 的广播 信息时, 将该服务器节点 20 的节点号标记为可用, 以供后续的 Push 模式使用。
     所述 Broadcast-Ack 通讯模式的具体实现, 首先要求服务器节点 20 和多个客户端 节点 30 必须先处于已启动远程 Shell 状态。PC 机 10 通过串口将广播命令发往服务器节点 20, 然后 PC 机 10 进入等待串口数据状态。服务器节点 20 向周围所有的客户端节点 30 广 播信息, 并启动一个超时定时器, 信息中携带着其自身的节点号。服务器节点 20 周围的每 个客户端节点 30 收到广播命令后, 首先检查是否是发向自己的命令 : 如果是, 则将该服务 器节点 20 的节点号标记为可用, 供 Push 模式使用, 并且向该服务器节点 20 返回 Ack 信息 ; 如果不是发给自己的命令, 则丢弃。服务器节点 20 将在设定的超时时间内收到的 Ack 信息 进行组合, 拼成一条完整的报文, 最后将该信息通过串口返回给 PC 机 10。
     配合参见图 1、 图 3 所示, 本发明所述调试方法设置有 Request-Resonse 通讯模式, 该模式实现了一种向指定的客户端节点 30 发送请求命令并且响应的机制。即, 服务器节点 20 对已在通讯范围内的客户端节点 30 发送无线 Request 请求命令, 指定的客户端节点 30 在执行完命令后向服务器节点 20 返回无线 Response 响应。
     该模式可适用于查看客户端节点信息、 设置客户端节点地址和重启客户端节点等 功能 : 其一, 查看客户端节点信息的功能是指, 服务器节点 20 向周围已存在的任意一个客户
     端节点 30 发送查看客户端节点 30 信息的命令, 客户端节点 30 收到命令后返回相应的节点 信息至服务器节点 20。
     其二, 设置客户端节点地址的功能是指, 服务器节点 20 向周围已存在的任意一个 客户端节点 30 发送设置客户端节点 30 地址的命令, 客户端节点 30 收到后先更改自身的节 点号, 然后将更改结果返回至服务器节点 20。
     其三, 重启客户端节点的功能是指, 服务器节点 20 向周围已存在的任意一个客户 端节点 30 发送重启客户端节点 30 的命令, 客户端节点 30 收到后先执行重启命令, 待重启 完毕后将结果返回至服务器节点 20。
     所述 Request-Resonse 通讯模式的具体实现, 也要求服务器节点 20 和多个客户端 节点 30 必须先处于已启动远程 Shell 状态。PC 机 10 通过串口将请求命令发送至服务器节 点 20, 命令中携带目的地址 (客户端节点 30 的节点号) 和请求类型, 然后 PC 机 10 进入等待 串口数据状态。
     服务器节点 20 接收到命令后, 向指定的客户端节点 30 发送相应的请求命令 ; 如 果发送失败或超时, 则向 PC 机 10 返回发送失败信息。如果客户端节点 30 收到解析后的命 令, 则由其 Shell 命令逻辑处理主模块 33 处理具体的请求 (请求内容如查看客户端节点信 息、 设置客户端节点地址和重启客户端节点) , 当请求处理完毕后将处理结果返回给服务器 节点 20。服务器节点 20 将返回的响应信息通过串口返回给 PC 机 10。
     配合参见图 1、 图 4 所示, 本发明所述调试方法还设置有 Push 通讯模式, 该模式实 现了一种由客户端节点 30 主动向已存在的服务器节点 20 推送信息的机制。即, 客户端节 点 30 在已经成功记录过一个可用的服务器节点 20 之后, 可以通过无线通讯, 将信息主动推 送给该服务器节点 20。该模式可适用于远程打印等功能。
     所述 Push 通讯模式具体实现时, 服务器节点 20 和多个客户端节点 30 必须先处于 已启动远程 Shell 状态。在经过上述 Broadcast-Ack 通讯模式之后, 由服务器节点 20 发 现的客户端节点 30 中, 应该已经保存了可用的服务器节点 20。该客户端节点 30 中, 在由 Shell 命令逻辑处理主模块 33 准备好要推送的数据后, 将数据主动推送至已记录过的服务 器节点 20, 如果推送失败则清空该服务器节点 20 记录。服务器节点 20 在接收到客户端节 点 30 的推送消息后向客户端节点 30 返回推送成功信息。然后服务器节点 20 将推送信息 通过串口发送给 PC 机 10。PC 机 10 将推送信息最终显示给用户。
     综上所述, 本发明克服了工程实践中必须要接入有线装置才能对已安装的无线 传感器节点设备进行调试的不足, 提供了一种基于 TinyOS 操作系统实现远程 Shell 调 试的装置及方法中, 通过 PC 机前台用户界面输入的命令, 通过有线发送至服务器节点, 再由服务器节点通过无线发送至客户端节点 ; 命令执行后再将信息返回给 PC 机的用户 界面。其中, 服务器节点与客户端节点之间, 可以有三种无线通讯模式 : Broadcast-Ack、 Request-Response、 Push。基于这三种无线通讯模式实现了多种调试功能 : 发现客户端节 点、 查看客户端节点、 设置客户端节点地址、 重启节点、 远程打印等。 本发明可应用于一切基 于 2.4GHz 的 ZigBee 无线传感器网络领域, 适用于教学实践过程, 以及工业设备生产、 安装、 调试等。由于使用无线作为服务器节点与客户端节点的通讯手段, 可以方便定位和解决实 际应用环境中出现的故障, 有助于提高故障解决速度和降低解决成本。
     尽管本发明的内容已经通过上述优选实施例作了详细介绍, 但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后, 对于本发明的 多种修改和替代都将是显而易见的。 因此, 本发明的保护范围应由所附的权利要求来限定。

实现远程调试的装置及方法.pdf_第1页
第1页 / 共13页
实现远程调试的装置及方法.pdf_第2页
第2页 / 共13页
实现远程调试的装置及方法.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《实现远程调试的装置及方法.pdf》由会员分享,可在线阅读,更多相关《实现远程调试的装置及方法.pdf(13页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102497648 A (43)申请公布日 2012.06.13 C N 1 0 2 4 9 7 6 4 8 A *CN102497648A* (21)申请号 201110395207.X (22)申请日 2011.12.02 H04W 24/04(2009.01) H04W 84/18(2009.01) (71)申请人上海波顿无线传感技术有限公司 地址 201203 上海市浦东新区张江高科技园 区郭守敬路351号2号楼A611-20室 (72)发明人李煜华 李英姿 周明海 (74)专利代理机构上海信好专利代理事务所 (普通合伙) 31249 代理人张静洁 周荣芳 (。

2、54) 发明名称 实现远程调试的装置及方法 (57) 摘要 一种实现远程Shell调试的装置及方法中, 使用PC机将用户命令通过串口线发送至服务器 节点,服务器节点再通过无线交互发送至多个待 调试传感器节点中预设的客户端节点;客户端节 点执行相应命令后将信息返回至服务器节点,再 转发到PC机上给用户。本发明克服了现有必须接 入有线装置才能对已安装的无线传感器节点设备 进行调试的不足。本发明在服务器节点与客户端 节点之间使用多种通讯手段,可以方便定位和解 决实际应用环境中出现的故障,有助于提高故障 解决速度和降低解决成本。 (51)Int.Cl. 权利要求书3页 说明书7页 附图2页 (19)中。

3、华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 7 页 附图 2 页 1/3页 2 1.一种实现远程Shell调试的装置,用于对无线传感器网络中的各个传感器节点进行 调试,其特征在于,所述调试装置包含调试用设备,以及预先安装在需要调试的每个传感器 节点中的工程现场设备; 其中,所述调试用设备包含通过有线装置连接的PC机(10)和服务器节点(20);所述PC 机(10)及服务器节点(20)之间经过串口交互通讯;所述PC机(10)向服务器节点(20)传 送命令,或接收所述服务器节点(20)返回的响应信息; 所述工程现场设备包含客户端节点(30),每个所述传感器节点中至。

4、少设置有一个所述 客户端节点(30);一个所述服务器节点(20)与若干个所述客户端节点(30)之间通过无线 射频交互;所述服务器节点(20)向对应的客户端节点(30)传送操作命令,或接收所述客户 端节点(30)返回的执行结果。 2.如权利要求1所述的实现远程Shell调试的装置,其特征在于, 所述PC机(10)上设置有Shell终端(11)与所述服务器节点(20)进行交互通讯;还设 置有前台的用户界面,来将用户命令输入至PC机(10),并将服务器节点(20)返回的响应信 息显示给用户。 3.如权利要求2所述的实现远程Shell调试的装置,其特征在于, 所述服务器节点(20)中进一步设置有以下模。

5、块: 串口收发模块(21),其与所述PC机(10)的串口连接,来接收该PC机(10)发送的原始 数据,并转发至后续模块; 串口数据解析模块(22),其对所述串口收发模块(21)发送的原始数据进行串口协议 解析; Shell命令解析模块(23),其对所述串口数据解析模块(22)成功解析的串口命令进行 Shell命令解析; Shell命令逻辑处理主模块(24),其根据所述Shell命令解析模块(23)成功解析的 Shell命令,生成所述客户端节点(30)需要执行的操作命令; 射频数据解析模块(25),其对所述Shell命令逻辑处理主模块(24)发送的操作命令进 行协议组包; 射频收发模块(26),。

6、其将所述射频数据解析模块(25)完成组包的数据,发送至所述客 户端节点(30)中相应的模块。 4.如权利要求3所述的实现远程Shell调试的装置,其特征在于, 每个所述客户端节点(30)进一步设置有以下模块: 射频收发模块(31),其通过无线接收所述服务器节点(20)发送的数据,并在判断所述 数据是发送给该模块所属的客户端节点(30)时,将数据转发至后续模块; 射频数据解析模块(32),其对所述射频收发模块(31)发送的数据进行shell命令解 析; Shell命令逻辑处理主模块(33),其根据所述射频数据解析模块(32)成功解析的 shell命令,来生成后续模块需要执行的操作命令; 命令任务。

7、执行模块(34),其根据所述Shell命令逻辑处理主模块(33)发送的操作命 令,来执行具体操作并返回执行的结果。 5.一种实现远程Shell调试的方法,用于对无线传感器网络中的各个传感器节点进行 权 利 要 求 书CN 102497648 A 2/3页 3 调试,其特征在于,所述调试方法包含: 通过有线装置连接PC机(10)和服务器节点(20),使所述PC机(10)通过串口向所述服 务器节点(20)传送用户命令,由所述服务器节点(20)进行命令解析并执行相应的操作后, 向PC机(10)返回响应信息; 并且,预先在待调试的每个传感器节点中至少设置一个客户端节点(30),使一个所述 服务器节点(。

8、20)与附近位置的若干个所述客户端节点(30)之间通过无线射频交互;由所 述服务器节点(20)向对应的客户端节点(30)发送操作命令,使所述客户端节点(30)执行 相应的操作后,向所述服务器节点(20)返回执行结果。 6.如权利要求5所述的实现远程Shell调试的方法,其特征在于, 所述服务器节点(20)与周围所有的客户端节点(30)之间,通过一种广播并且应答的 模式进行无线通讯,即,所述服务器节点(20)发送无线广播信息,所有接收到该信息的客户 端节点(30)返回相应的无线应答信息给该服务器节点(20); 该模式进一步包含: 所述服务器节点(20)将其节点号广播给客户端节点(30);所有接收。

9、到的客户端节点 (30)返回自身的节点信息,使得服务器节点(20)能够得知周边存在的客户端节点(30),供 后续使用; 并且,当所述客户端节点(30)接收到服务器节点(20)的广播信息时,将该服务器节点 (20)的节点号标记为可用,供后续使用。 7.如权利要求6所述的实现远程Shell调试的方法,其特征在于, 在所述广播并且应答的模式中,预先使所述服务器节点(20)和若干所述客户端节点 (30)都处在远程Shell已经启动的状态; 用户输入所述PC机(10)的命令通过串口发往至服务器节点(20),然后PC机(10)进 入等待串口数据状态; 所述服务器节点(20)向周围所有的客户端节点(30)广。

10、播信息,该广播信息中携带有 其自身的节点号,并启动一个超时定时器; 服务器节点(20)周围的每个所述客户端节点(30)在收到广播命令后,首先检查是否 是发向自己的命令:如果是,则将该服务器节点(20)的节点号标记为可用,并且向该服务 器节点(20)返回应答信息,该应答信息中包含有该客户端节点(30)自身的节点信息;如果 不是发给自己的命令,则丢弃; 所述服务器节点(20)根据收到的应答信息,获知其周边存在的客户端节点(30),以供 后续使用;所述服务器节点(20)还将其在设定的超时时间内收到的应答信息,组合成一条 完整的报文,并将该报文信息通过串口返回给所述PC机(10)。 8.如权利要求5或。

11、6所述的实现远程Shell调试的方法,其特征在于, 所述服务器节点(20)与其指定的客户端节点(30)之间,通过一种请求并且响应的模 式进行无线通讯,即,服务器节点(20)对已在通讯范围内存在的客户端节点(30)发送无线 请求命令,指定的客户端节点(30)在执行完命令后向服务器节点(20)返回无线响应信息; 该模式进一步包含: 所述服务器节点(20)向周围已存在的任意一个客户端节点(30)发送查看客户端节点 信息的命令,客户端节点(30)收到命令后返回相应的节点信息至服务器节点(20); 权 利 要 求 书CN 102497648 A 3/3页 4 或者,所述服务器节点(20)向周围已存在的任。

12、意一个客户端节点(30)发送设置客户 端节点地址的命令,客户端节点(30)收到后先更改自身的节点号,然后将更改结果返回至 服务器节点(20); 或者,所述服务器节点(20)向周围已存在的任意一个客户端节点(30)发送重启客户 端节点的命令,客户端节点(30)收到后先执行重启命令,待重启完毕后将结果返回至服务 器节点(20)。 9.如权利要求8所述的实现远程Shell调试的方法,其特征在于, 在所述请求并且响应的模式中,预先使所述服务器节点(20)和若干所述客户端节点 (30),都处在远程Shell已经启动的状态; 用户输入所述PC机(10)的命令通过串口发送至服务器节点(20),该命令中携带有。

13、目 标客户端节点(30)的节点号和相应的请求类型,然后PC机(10)进入等待串口数据状态; 服务器节点(20)对接收的用户命令进行解析后,生成相应的请求并向指定的客户端节 点(30)发送;如果发送失败或超时,则向PC机(10)返回发送失败信息; 客户端节点(30)根据其收到请求来执行相应的操作,当请求处理完毕后将处理结果返 回给服务器节点(20); 所述服务器节点(20)将返回的响应信息通过串口返回给PC机(10)。 10.如权利要求6所述的实现远程Shell调试的方法,其特征在于, 所述客户端节点(30)通过一种主动推送的无线通讯模式,向该客户端节点(30)已经 成功记录过的一个可用的服务器。

14、节点(20)主动传送数据; 该模式中,预先使所述服务器节点(20)和客户端节点(30),都处在远程Shell已经启 动的状态;并且,所述客户端节点(30)中已经将至少一个服务器节点(20)的节点号标记为 可用; 所述客户端节点(30)向其记录过的其中一个服务器节点(20)推送数据后,如果推送 失败则清空该服务器节点(20)的记录; 服务器节点(20)在接收到客户端节点(30)的推送数据后向客户端节点(30)返回推送 成功信息;然后服务器节点(20)将推送数据通过串口发送给PC机(10); PC机(10)将推送数据显示给用户。 权 利 要 求 书CN 102497648 A 1/7页 5 实现远。

15、程调试的装置及方法 技术领域 0001 本发明应用于无线传感器网络领域,特别涉及一种基于TinyOS操作系统构建,用 以对节点进行远程Shell调试的装置及方法。 背景技术 0002 TinyOS是UC Berkeley(加州大学伯克利分校)开发的开放源代码操作系统,专 为嵌入式无线传感网络设计;操作系统基于构件(component-based)的架构,使得快速的 更新成为可能,而这又减小了受传感网络存储器限制的代码长度。TinyOS的构件包括网络 协议、分布式服务器、传感器驱动及数据识别工具;其良好的电源管理源于事件驱动执行模 型,该模型也允许时序安排具有灵活性。TinyOS已被应用于多个平。

16、台和TinyOS感应板中。 0003 目前,在ZigBee无线传感器网络中,通过CC2430等系统芯片(SoC)CMOS解决方 案,来实现以ZigBee协议为基础的2.4GHz ISM波段应用,提高其性能并满足对低成本,低 功耗的要求。一般结合一个高性能2.4GHz DSSS(直接序列扩频)射频收发器核心和一颗 工业级小巧高效的8051控制器来构建。 0004 然而,现有的针对无线传感器设备的调试手段极为短缺,大多分为以下几种: 其一、通过LED灯来表现程序状态,俗称为“点灯”。该调试方法的缺点是:LED灯数量 有限,所以表示的程序状态数也有限。而且,表现形式单一,只有亮与来两种状态,所以具有。

17、 的调试功能有限。 0005 其二、在串口工作正常的情况下通过UART方式打印至PC机。这种方法是最为通 用的方法之一,但是也有它的局限性:即,必须通过有线(比如串口线)连接至PC,这对使用 无线射频作为通讯介质的无线传感器网络来说极大地增加了安装调试的复杂性,在工业应 用时尤其明显。譬如,在一个基于地区环境监控的系统中,每一个无线节点都被安装在数米 高的路灯上,而这些节点由于要做到防水防尘防盗等功能,不会留有调试接口;所以唯一的 方法就是将节点拆回原厂进行连线调试。 0006 因此,正是因为这些原因,使得无线设备节点很难直接进行现场调试。 发明内容 0007 本发明的目的是提供一种基于Tin。

18、yOS系统来实现远程Shell调试的装置及方法, 可以克服现有技术中必须使用有线装置,将已安装的无线节点连接到PC机上进行调试的 局限性。本发明在服务器节点与客户端节点之间使用无线通讯,方便对无线传感网络中的 各个无线节点进行调试,从而定位及解决实际运用环境中出现的故障,有助于提高故障解 决速度并降低维护成本。 0008 为了达到上述目的,本发明的技术方案是提供一种实现远程Shell调试的装置及 方法,用于对无线传感器网络中的各个传感器节点进行调试。 0009 其中实现远程Shell调试的装置,包含调试用设备,以及预先安装在需要调试的 每个传感器节点中的工程现场设备; 其中,所述调试用设备包含。

19、通过有线装置连接的PC机和服务器节点;所述PC机及服务 说 明 书CN 102497648 A 2/7页 6 器节点之间经过串口交互通讯;所述PC机向服务器节点传送命令,或接收所述服务器节点 返回的响应信息; 所述工程现场设备包含客户端节点,每个所述传感器节点中至少设置有一个所述客户 端节点;一个所述服务器节点与若干个所述客户端节点之间通过无线射频交互;所述服务 器节点向对应的客户端节点传送操作命令,或接收所述客户端节点返回的执行结果。 0010 所述PC机上设置有Shell终端与所述服务器节点进行交互通讯;还设置有前台的 用户界面,来将用户命令输入至PC机,并将服务器节点返回的响应信息显示给。

20、用户。 0011 所述服务器节点中进一步设置有以下模块: 串口收发模块,其与所述PC机的串口连接,来接收该PC机发送的原始数据,并转发至 后续模块; 串口数据解析模块,其对所述串口收发模块发送的原始数据进行串口协议解析; Shell命令解析模块,其对所述串口数据解析模块成功解析的串口命令进行Shell命 令解析; Shell命令逻辑处理主模块,其根据所述Shell命令解析模块成功解析的Shell命令, 生成所述客户端节点需要执行的操作命令; 射频数据解析模块,其对所述Shell命令逻辑处理主模块发送的操作命令进行协议组 包; 射频收发模块,其将所述射频数据解析模块完成组包的数据,发送至所述客户。

21、端节点 中相应的模块。 0012 每个所述客户端节点进一步设置有以下模块: 射频收发模块,其通过无线接收所述服务器节点发送的数据,并在判断所述数据是发 送给该模块所属的客户端节点时,将数据转发至后续模块; 射频数据解析模块,其对所述射频收发模块发送的数据进行shell命令解析; Shell命令逻辑处理主模块,其根据所述射频数据解析模块成功解析的shell命令,来 生成后续模块需要执行的操作命令; 命令任务执行模块,其根据所述Shell命令逻辑处理主模块发送的操作命令,来执行 具体操作并返回执行的结果。 0013 本发明所述实现远程Shell调试的方法,包含: 通过有线装置连接PC机和服务器节点。

22、,使所述PC机通过串口向所述服务器节点传送 用户命令,由所述服务器节点进行命令解析并执行相应的操作后,向PC机返回响应信息; 并且,预先在待调试的每个传感器节点中至少设置一个客户端节点,使一个所述服务 器节点与附近位置的若干个所述客户端节点之间通过无线射频交互;由所述服务器节点向 对应的客户端节点发送操作命令,使所述客户端节点执行相应的操作后,向所述服务器节 点返回执行结果。 0014 所述服务器节点与周围所有的客户端节点之间,通过一种广播并且应答的模式进 行无线通讯,即,所述服务器节点发送无线广播信息,所有接收到该信息的客户端节点返回 相应的无线应答信息给该服务器节点; 该模式进一步包含: 。

23、所述服务器节点将其节点号广播给客户端节点;所有接收到的客户端节点返回自身的 说 明 书CN 102497648 A 3/7页 7 节点信息,使得服务器节点能够得知周边存在的客户端节点,供后续使用; 并且,当所述客户端节点接收到服务器节点的广播信息时,将该服务器节点的节点号 标记为可用,供后续使用。 0015 在所述广播并且应答的模式中,预先使所述服务器节点和若干所述客户端节点都 处在远程Shell已经启动的状态; 用户输入所述PC机的命令通过串口发往至服务器节点,然后PC机进入等待串口数据 状态; 所述服务器节点向周围所有的客户端节点广播信息,该广播信息中携带有其自身的节 点号,并启动一个超时。

24、定时器; 服务器节点周围的每个所述客户端节点在收到广播命令后,首先检查是否是发向自己 的命令:如果是,则将该服务器节点的节点号标记为可用,并且向该服务器节点返回应答 信息,该应答信息中包含有该客户端节点自身的节点信息;如果不是发给自己的命令,则丢 弃; 所述服务器节点根据收到的应答信息,获知其周边存在的客户端节点,以供后续使用; 所述服务器节点还将其在设定的超时时间内收到的应答信息,组合成一条完整的报文,并 将该报文信息通过串口返回给所述PC机。 0016 所述服务器节点与其指定的客户端节点之间,通过一种请求并且响应的模式进行 无线通讯,即,服务器节点对已在通讯范围内存在的客户端节点发送无线请。

25、求命令,指定的 客户端节点在执行完命令后向服务器节点返回无线响应信息; 该模式进一步包含: 所述服务器节点向周围已存在的任意一个客户端节点发送查看客户端节点信息的命 令,客户端节点收到命令后返回相应的节点信息至服务器节点; 或者,所述服务器节点向周围已存在的任意一个客户端节点发送设置客户端节点地址 的命令,客户端节点收到后先更改自身的节点号,然后将更改结果返回至服务器节点; 或者,所述服务器节点向周围已存在的任意一个客户端节点发送重启客户端节点的命 令,客户端节点收到后先执行重启命令,待重启完毕后将结果返回至服务器节点。 0017 在所述请求并且响应的模式中,预先使所述服务器节点和若干所述客户。

26、端节点, 都处在远程Shell已经启动的状态; 用户输入所述PC机的命令通过串口发送至服务器节点,该命令中携带有目标客户端 节点的节点号和相应的请求类型,然后PC机进入等待串口数据状态; 服务器节点对接收的用户命令进行解析后,生成相应的请求并向指定的客户端节点发 送;如果发送失败或超时,则向PC机返回发送失败信息; 客户端节点根据其收到请求来执行相应的操作,当请求处理完毕后将处理结果返回给 服务器节点; 所述服务器节点将返回的响应信息通过串口返回给PC机。 0018 所述客户端节点通过一种主动推送的无线通讯模式,向该客户端节点已经成功记 录过的一个可用的服务器节点主动传送数据; 该模式中,预先。

27、使所述服务器节点和客户端节点,都处在远程Shell已经启动的状态; 并且,所述客户端节点中已经将至少一个服务器节点的节点号标记为可用; 说 明 书CN 102497648 A 4/7页 8 所述客户端节点向其记录过的其中一个服务器节点推送数据后,如果推送失败则清空 该服务器节点的记录; 服务器节点在接收到客户端节点的推送数据后向客户端节点返回推送成功信息;然后 服务器节点将推送数据通过串口发送给PC机; PC机将推送数据显示给用户。 0019 与现有技术相比,本发明所述实现远程Shell调试的装置及方法,克服了现有 技术对于工程实践必须要接入有线装置才能对已安装的无线传感器节点设备进行调试 的。

28、不足。本发明中通过PC机前台用户界面输入的命令,通过有线发送至服务器节点,再 由服务器节点通过无线发送至客户端节点;命令执行后再将信息返回给PC机的用户界 面。其中,服务器节点与客户端节点之间,可以有三种无线通讯模式:Broadcast-Ack、 Request-Response、Push。基于这三种无线通讯模式实现了多种调试功能:发现客户端节 点、查看客户端节点、设置客户端节点地址、重启节点、远程打印等。本发明可应用于例如基 于2.4GHz的ZigBee无线传感器网络的领域,适用于教学实践过程,以及工业设备生产、安 装、调试等。由于使用无线作为服务器节点与客户端节点的通讯手段,可以方便定位和。

29、解决 实际应用环境中出现的故障,有助于提高故障解决速度和降低解决成本。 附图说明 0020 图1是本发明所述实现远程Shell调试装置的整体系统架构图; 图2是本发明所述实现远程Shell调试方法中Broadcast-Ack通讯模式的时序图; 图3是本发明所述实现远程Shell调试方法中Request-Response通讯模式的时序图; 图4是本发明所述实现远程Shell调试方法中Push通讯模式的时序图。 具体实施方式 0021 以下结合附图说明本发明的具体实施方式。 0022 如图1所示,本发明所述实现远程Shell调试的装置(以下简称调试装置),基于 TinyOS嵌入式操作系统构建,尤其。

30、是能够应用于2.4GHz的ZigBee无线传感器网络中,对其 各个传感器节点进行无线调试。 0023 所述调试装置包含两大部分,其一是调试用设备,为一台带串口的PC机10及一个 服务器节点20,其由现场施工或调试人员携带。其二,是工程现场设备,该部分设置有客户 端节点30,已经被事先安装在需要调试的每个传感器节点中。所述调试用设备的PC机10 与服务器节点20之间通过串口(例如是RS232接口)通讯。而所述服务器节点20与所述工 程现场设备的客户端节点30之间通过无线通讯;并且,一个服务器节点20可以与多个客户 端节点30实现无线通讯,即是说,通过一套调试用设备就可以对附近位置的多个传感器节 。

31、点进行调试。 0024 所述调试装置的具体系统架构如下: 用户通过PC机10上的Shell终端11与服务器节点20进行交互;用户将命令发送至PC 机10,PC机10通过串口将命令发往服务器节点20的串口收发模块21(ServerUartCommC)。 0025 服务器节点20的串口收发模块21将收到的原始数据,发往串口数据解析模 块22(ServerUartParserC)进行串口协议解析。当成功解析一条串口命令后,将其发 说 明 书CN 102497648 A 5/7页 9 往Shell命令解析模块23(ServerShellParserC)进行Shell命令解析。当成功解析一 条Shell。

32、命令后,则将该命令发往Shell命令逻辑处理主模块24(ServerShellMainC)。 由Shell命令逻辑处理主模块24决定该进行哪些操作,并将命令发往射频数据解析 模块25(ServerRadioParserC)进行协议组包。将组好的命令发往射频收发模块26 (ServerRadioCommC)向外发送。服务器节点20将射频数据发送至客户端节点30的射频收 发模块31(ClientRadioCommC)。 0026 客户端节点30的射频收发模块31,判断是否是发送给自己的数据,如果不是则丢 弃,如果是则发往射频数据解析模块32(ClientRadioParserC)。当成功生成一个命。

33、令后, 射频数据解析模块32将该命令发往Shell命令逻辑处理主模块33(Clie ntShellMainC), 由该模块33对Shell命令进行分析。如果需要执行相应的操作,则将操作交由命令任务执 行模块34(ClientCommandTaskC)执行,并将执行结果返回给服务器节点20。服务器节点 20将收到的响应信息转化为串口数据再发给PC机10;PC机10通过前台的用户界面将数 据显示给用户。 0027 基于图1所示的调试装置,配合参见图2图4所示,说明本发明实现远程Shell 调试方法中服务器节点20与客户端节点30之间的三种无线通讯模式。 0028 配合参见图1、图2所示,本发明所述。

34、调试方法设置有Broadcast-Ack通讯模式,该 模式实现了一种服务器节点20向周围所有客户端节点30广播并且应答的机制。即,服务 器节点20发送无线广播信息,所有接收到的客户端节点30返回无线Ack信息。 0029 该模式可适用于发现客户端节点和记录服务器节点号等功能: 其一,发现客户端节点的功能是指,服务器节点20将自身的节点号广播给客户端节点 30,所有接收到的客户端节点30返回自身节点,则服务器节点20可以得知周边存在的客户 端节点30。 0030 其二,记录服务器节点号的功能是,当客户端节点30接收到服务器节点20的广播 信息时,将该服务器节点20的节点号标记为可用,以供后续的P。

35、ush模式使用。 0031 所述Broadcast-Ack通讯模式的具体实现,首先要求服务器节点20和多个客户端 节点30必须先处于已启动远程Shell状态。PC机10通过串口将广播命令发往服务器节点 20,然后PC机10进入等待串口数据状态。服务器节点20向周围所有的客户端节点30广 播信息,并启动一个超时定时器,信息中携带着其自身的节点号。服务器节点20周围的每 个客户端节点30收到广播命令后,首先检查是否是发向自己的命令:如果是,则将该服务 器节点20的节点号标记为可用,供Push模式使用,并且向该服务器节点20返回Ack信息; 如果不是发给自己的命令,则丢弃。服务器节点20将在设定的超。

36、时时间内收到的Ack信息 进行组合,拼成一条完整的报文,最后将该信息通过串口返回给PC机10。 0032 配合参见图1、图3所示,本发明所述调试方法设置有Request-Resonse通讯模式, 该模式实现了一种向指定的客户端节点30发送请求命令并且响应的机制。即,服务器节点 20对已在通讯范围内的客户端节点30发送无线Request请求命令,指定的客户端节点30 在执行完命令后向服务器节点20返回无线Response响应。 0033 该模式可适用于查看客户端节点信息、设置客户端节点地址和重启客户端节点等 功能: 其一,查看客户端节点信息的功能是指,服务器节点20向周围已存在的任意一个客户 说。

37、 明 书CN 102497648 A 6/7页 10 端节点30发送查看客户端节点30信息的命令,客户端节点30收到命令后返回相应的节点 信息至服务器节点20。 0034 其二,设置客户端节点地址的功能是指,服务器节点20向周围已存在的任意一个 客户端节点30发送设置客户端节点30地址的命令,客户端节点30收到后先更改自身的节 点号,然后将更改结果返回至服务器节点20。 0035 其三,重启客户端节点的功能是指,服务器节点20向周围已存在的任意一个客户 端节点30发送重启客户端节点30的命令,客户端节点30收到后先执行重启命令,待重启 完毕后将结果返回至服务器节点20。 0036 所述Requ。

38、est-Resonse通讯模式的具体实现,也要求服务器节点20和多个客户端 节点30必须先处于已启动远程Shell状态。PC机10通过串口将请求命令发送至服务器节 点20,命令中携带目的地址(客户端节点30的节点号)和请求类型,然后PC机10进入等待 串口数据状态。 0037 服务器节点20接收到命令后,向指定的客户端节点30发送相应的请求命令;如 果发送失败或超时,则向PC机10返回发送失败信息。如果客户端节点30收到解析后的命 令,则由其Shell命令逻辑处理主模块33处理具体的请求(请求内容如查看客户端节点信 息、设置客户端节点地址和重启客户端节点),当请求处理完毕后将处理结果返回给服务。

39、器 节点20。服务器节点20将返回的响应信息通过串口返回给PC机10。 0038 配合参见图1、图4所示,本发明所述调试方法还设置有Push通讯模式,该模式实 现了一种由客户端节点30主动向已存在的服务器节点20推送信息的机制。即,客户端节 点30在已经成功记录过一个可用的服务器节点20之后,可以通过无线通讯,将信息主动推 送给该服务器节点20。该模式可适用于远程打印等功能。 0039 所述Push通讯模式具体实现时,服务器节点20和多个客户端节点30必须先处于 已启动远程Shell状态。在经过上述Broadcast-Ack通讯模式之后,由服务器节点20发 现的客户端节点30中,应该已经保存了。

40、可用的服务器节点20。该客户端节点30中,在由 Shell命令逻辑处理主模块33准备好要推送的数据后,将数据主动推送至已记录过的服务 器节点20,如果推送失败则清空该服务器节点20记录。服务器节点20在接收到客户端节 点30的推送消息后向客户端节点30返回推送成功信息。然后服务器节点20将推送信息 通过串口发送给PC机10。PC机10将推送信息最终显示给用户。 0040 综上所述,本发明克服了工程实践中必须要接入有线装置才能对已安装的无线 传感器节点设备进行调试的不足,提供了一种基于TinyOS操作系统实现远程Shell调 试的装置及方法中,通过PC机前台用户界面输入的命令,通过有线发送至服务。

41、器节点, 再由服务器节点通过无线发送至客户端节点;命令执行后再将信息返回给PC机的用户 界面。其中,服务器节点与客户端节点之间,可以有三种无线通讯模式:Broadcast-Ack、 Request-Response、Push。基于这三种无线通讯模式实现了多种调试功能:发现客户端节 点、查看客户端节点、设置客户端节点地址、重启节点、远程打印等。本发明可应用于一切基 于2.4GHz的ZigBee无线传感器网络领域,适用于教学实践过程,以及工业设备生产、安装、 调试等。由于使用无线作为服务器节点与客户端节点的通讯手段,可以方便定位和解决实 际应用环境中出现的故障,有助于提高故障解决速度和降低解决成本。 0041 尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的 说 明 书CN 102497648 A 10 7/7页 11 描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的 多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。 说 明 书CN 102497648 A 11 1/2页 12 图1 图2 说 明 书 附 图CN 102497648 A 12 2/2页 13 图3 图4 说 明 书 附 图CN 102497648 A 13 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1