基于XBee远程控制树莓派的装置及方法、系统、传感器网络的制作方法
【专利摘要】本发明公开了一种基于XBee远程控制树莓派的装置及方法、系统、传感器网络,该方法包括步骤(1):树莓派控制器中的程序启动模块定时开启一个指令处理模块;步骤(2):上位机发出的控制指令依次经第二XBee模块和第一XBee模块传送至当前开启的指令处理模块中,指令处理模块接收控制指令后执行控制指令,得到执行结果;当前开启的指令处理模块调用第一XBee模块将执行结果传回至上位机,最终实现树莓派的远程控制。
【专利说明】
基于XBee远程控制树莓派的装置及方法、系统、传感器网络
技术领域
[0001]本发明属于远距离控制领域,尤其涉及一种基于XBee远程控制树莓派的装置及方法、系统、传感器网络。
【背景技术】
[0002]随着科技水平提高和创客精神越来越深入人心,微型电脑树莓派的应用越来越广泛。使用者大部分通过外置显示器或网线共享网络控制树莓派,少部分使用者通过无线路由器或串口控制树莓派。无论是通过显示器、网线共享网络、无线路由器还是串口控制树莓派,均受到控制距离的影响,当距离过远时无法有效连接Linux终端并控制树莓派,这在很大的程度上影响了树莓派的实际应用。XBee无线通讯模块主要用于数据透传,若能实现远距离直接控制树莓派,那么使用者便可远距离控制基于树莓派的智能家居系统,无需再使用物联网云平台;在工业或农业应用中,树莓派不再仅仅是一个单向的数据采集端,树莓派可接收和处理相关控制指令,大大减小差错排查的难度。因此,实现远距离无线控制树莓派具有很大实用价值。
【发明内容】
[0003]为了解决现有技术的缺点,本发明提供一种基于XBee远程控制树莓派的装置及方法、系统、传感器网络。本发明的基于XBee远程控制树莓派的装置可远程控制树莓派,执行终端命令,并将执行结果传回控制端。
[0004]为实现上述目的,本发明采用以下技术方案:
[0005]一种基于XBee远程控制树莓派的装置,包括树莓派控制器、第一 XBee模块和第二XBee模块;所述第二 XBee模块用于接收上位机发出的控制指令,经第一 XBee模块传送至树莓派控制器;所述树莓派控制器包括若干个指令处理模块和程序启动模块,所述程序启动模块用于定时开启一个指令处理模块;所述指令处理模块用于接收上位机发出的控制指令后,执行控制指令并得到执行结果;
[0006]树莓派控制器还用于将得到的执行结果经第一XBee模块发送至第二 XBee模块,再由第二 XBee模块将执行结果传回至上位机,最终实现树莓派的远程控制。
[0007]所述树莓派控制器还包括强制结束模块,所述强制结束模块用于结束被占用后无法继续执行控制指令的指令处理模块。
[0008]所述第一 XBee模块设置于树莓派XBee外扩板上。
[0009]所述第二XBee模块设置于XBee模块适配器内,所述XBee模块适配器与上位机相互通信。
[0010]所述第一XBee模块和第二 XBee模块上均安装有天线。
[0011]—种基于所述的装置的控制方法,包括以下步骤:
[0012]步骤(I):树莓派控制器中的程序启动模块定时开启一个指令处理模块;
[0013]步骤(2):上位机发出的控制指令依次经第二XBee模块和第一 XBee模块传送至当前开启的指令处理模块中,指令处理模块接收控制指令后执行控制指令,得到执行结果;当前开启的指令处理模块调用第一 XBee模块将执行结果传回至上位机,最终实现树莓派的远程控制。
[0014]所述控制方法还包括:程序启动模块定时开启一个指令处理模块后,指令处理模块调用强制结束模块来结束被占用后无法继续执行控制指令的指令处理模块。
[0015]所述步骤(2)中,强制结束模块获取当前运行的所有指令处理模块相关的进程信息,得到指令处理模块相关的进程ID。
[0016]所述步骤(2)中,强制结束模块根据指令处理模块相关的进程ID来结束指令处理模块中的进程。
[0017]一种远程控制系统,包括上述基于XBee远程控制树莓派的装置。
[0018]其中,远程控制系统包括智能家居远程控制系统和车辆远程控制系统,以及其他领域的远程控制。
[0019]此外,系统应用于传感器网络领域,能够实现随时随地实时对传感器节点的控制。
[0020]一种传感器网络包括:管理节点、汇聚节点和传感器节点,其中,管理节点通过上位机以及上述基于XBee远程控制树莓派的装置来控制传感器节点。
[0021]本发明的有益效果为:
[0022](I)本发明提出的基于XBee远程控制树莓派的装置,使用者可在XBee无线通信模块的有效距离内控制树莓派,室外理论最远可达45千米,室内最远可达610米,并且节能低耗。相较于传统的通过显示器、网线共享网络和串口直接控制树莓派,本发明的方法摆脱了传输线的限制;相较于使用无线网络控制树莓派,本发明的方法扩展了控制树莓派的距离。使用者可远距离管理树莓派,在使用上将会更加便利。
[0023](2)本发明可运用在树莓派工作的各个领域,树莓派运用在物联网方向,可远程管理家中的物联网设备;树莓派运用在工业和农业方向,不再仅限于采集数据,还可远程控制采集数据的传感器,极大方便排查差错等。
【附图说明】
[0024]图1是本发明基于XBee远程控制树莓派的装置结构图。
【具体实施方式】
[0025]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
[0026]本发明的理论方法,如下:
[0027]树莓派支持XBee无线通讯模块数据透传功能;使用者可将控制指令作为数据内容在上位机通过第二 XBee无线通讯模块发送;树莓派上的第一 XBee无线通讯模块接收到远程传来的数据内容;树莓派可将接收到的数据内容作为控制指令在终端执行;树莓派可获取控制指令在终端执行的结果;树莓派可将所述结果通过第一 XBee无线通讯模块发回第二XBee无线通讯模块;第二XBee无线通讯模块将所述结果发给上位机串口 ;计算机串口调试软件显示该结果;使用者获取指令执行结果。
[0028]本发明依据所述理论方法突破的技术难点,如下:实现将第一XBee无线通讯模块接收的数据内容作为终端指令在树莓派上执行;通过第二 XBee模块将树莓派读取的所述终端指令执行结果传回第一 XBee模块;树莓派如果执行某些占用终端的指令,会导致树莓派无法执行使用者通过XBee通讯模块发来的其他终端指令,需要从外部结束被占用的终端,以保证同时至少有一个终端可执行使用者发来的指令。
[0029]步骤1:参考图1基于XBee远程控制树莓派的装置结构示意图,其硬件包括:树莓派、第一 XBee无线通讯模块、第二 XBee无线通讯模块、两根XBee模块天线、XBee模块适配器、树莓派XBee外扩板;树莓派应与树莓派XBee外扩板相连;第一 XBee模块接好天线并置于树莓派Xbee外扩板上;第二 XBee模块接好天线与XBee模块适配器相连;XBee模块适配器与上位机相连;与XBee模块适配器相连的计算机上应安装有串口调试软件。
[0030]步骤2:树莓派上运行有指令处理模块,用于控制带天线的置于树莓派XBee外扩板上的第一 XBee模块,负责接收计算机传来指令、将指令在终端中执行和把执行结果传回计算机。
[0031]指令处理模块处理控制指令的具体过程为:指令处理模块初始化树莓派串口,调用第一XBee模块将初始化成功结果传回上位机;指令处理模块持续处理上位机传来的指令,将上位机传来指令在终端执行;指令处理模块判断是否调用第一 XBee模块将指令的执行结果传回上位机;当未被占用的第i个指令处理模块接收到终止指令时,第i个指令处理模块将自行结束。
[0032]步骤3:树莓派上运行有程序启动模块,用于每隔一段时间打开一个指令处理模块。该步骤的具体过程为:程序启动模块开启第i个指令处理模块;其中,i为大于等于I的正整数;使用者设定合理的时间间隔,程序启动模块定时开启第i+Ι个指令处理模块。
[0033]步骤4:树莓派上运行有强制结束模块,用于结束被占用后无法继续执行终端指令的指令处理模块。
[0034]该步骤的具体过程为:强制结束模块运行后,获取上位机传来的需要结束的进程;读取树莓派系统当前运行所有进程名,匹配上位机传来的需要结束的进程名;未匹配到需要结束的进程,则调用第一 XBee无线通讯模块发送未发现进程信息到上位机;若匹配到需要结束的进程,则结束该进程;若结束进程成功,则调用第一 XBee无线通讯模块发送结束成功信息到上位机;若结束进程失败,则调用第一 XBee无线通讯模块发送结束失败信息到上位机;结束占用指令处理模块的进程后,指令处理模块同时结束。
[0035]步骤5:参考图1连接好的树莓派供电,运行系统。
[0036]步骤6:在树莓派系统中开启程序启动模块,程序启动模块开始持续工作,定时启动指令处理模块。
[0037]步骤7:指令处理模块可以接收第二 XBee无线通讯模块控制指令。
[0038]步骤8:指令处理模块可以通过第一 XBee无线通讯模块发送终端执行结果信息。
[0039]当计算机发送的指令需要长时间占用终端时,可使用步骤9、步骤10、步骤11和步骤12解决问题,还可以增强本发明的容错性。
[0040]步骤9:指令处理模块接收计算机传来的终端指令,指令处理模块执行该指令,同时该终端被占用,无法接收任何其他指令,包括停止指令。
[0041]步骤10:程序启动模块在设定的时间内持续开启未被占用的指令处理模块。
[0042]步骤11:使用者通过计算机传送指令,在未被占用的指令处理模块中调用强制结束模块,将先前被占用的指令处理模块强行结束。
[0043]步骤12:使用者发送指令处理模块中设定的指令,关闭程序启动模块定时开启的多余的指令处理模块。
[0044]一种远程控制系统,包括上述基于XBee远程控制树莓派的装置。
[0045]其中,远程控制系统包括智能家居远程控制系统和车辆远程控制系统,以及其他领域的远程控制。
[0046]此外,系统应用于传感器网络领域,能够实现随时随地实时对传感器节点的控制。
[0047]一种传感器网络,包括管理节点、汇聚节点和传感器节点,其中管理节点通过上位机以及上述基于XBee远程控制树莓派的装置控制传感器节点。
[0048]大量传感器节点随机部署在监测区域(sensorfield)内部或附近,能够通过自组织方式构成网络。传感器节点监测的数据沿着其他传感器节点逐跳地进行传输,在传输过程中监测数据可能被多个节点处理,经过多跳后路由到汇聚节点,最后通过互联网或卫星到达管理节点。用户通过管理节点对传感器网络进行配置和管理,发布监测任务以及收集监测数据。
[0049]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
[0050]上述虽然结合附图对本发明的【具体实施方式】进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
【主权项】
1.一种基于XBee远程控制树莓派的装置,其特征在于,包括树莓派控制器、第一 XBee模块和第二 XBee模块;所述第二 XBee模块用于接收上位机发出的控制指令,经第一 XBee模块传送至树莓派控制器;所述树莓派控制器包括若干个指令处理模块和程序启动模块,所述程序启动模块用于定时开启一个指令处理模块;所述指令处理模块用于接收上位机发出的控制指令后,执行控制指令并得到执行结果; 树莓派控制器还用于将得到的执行结果经第一 XBee模块发送至第二 XBee模块,再由第二 XBee模块将执行结果传回至上位机,最终实现树莓派的远程控制。2.如权利要求1所述的一种基于XBee远程控制树莓派的装置,其特征在于,所述树莓派控制器还包括强制结束模块,所述强制结束模块用于结束被占用后无法继续执行控制指令的指令处理模块。3.如权利要求1所述的一种基于XBee远程控制树莓派的装置,其特征在于,所述第一XBee模块设置于树莓派XBee外扩板上。4.如权利要求1所述的一种基于XBee远程控制树莓派的装置,其特征在于,所述第二XBee模块设置于XBee模块适配器内,所述XBee模块适配器与上位机相互通信。5.—种基于如权利要求1-4任一所述的装置的控制方法,其特征在于,包括以下步骤: 步骤(I):树莓派控制器中的程序启动模块定时开启一个指令处理模块; 步骤(2):上位机发出的控制指令依次经第二 XBee模块和第一 XBee模块传送至当前开启的指令处理模块中,指令处理模块接收控制指令后执行控制指令,得到执行结果;当前开启的指令处理模块调用第一 XBee模块将执行结果传回至上位机,最终实现树莓派的远程控制。6.如权利要求5所述的控制方法,其特征在于,所述控制方法还包括:程序启动模块定时开启一个指令处理模块后,指令处理模块调用强制结束模块来结束被占用后无法继续执行控制指令的指令处理模块。7.如权利要求6所述的控制方法,其特征在于,所述步骤(2)中,强制结束模块获取当前运行的所有指令处理模块相关的进程信息,得到指令处理模块相关的进程ID。8.如权利要求7所述的控制方法,其特征在于,所述步骤(2)中,强制结束模块根据指令处理模块相关的进程ID来结束指令处理模块中的进程。9.一种远程控制系统,其特征在于,包括如权利要求1-4任一所述的基于XBee远程控制树莓派的装置。10.—种传感器网络,包括管理节点、汇聚节点和传感器节点,其特征在于,所述管理节点通过上位机以及如权利要求1-4任一所述的基于XBee远程控制树莓派的装置来控制传感器节。
【文档编号】G08C17/02GK106097681SQ201610404221
【公开日】2016年11月9日
【申请日】2016年6月8日
【发明人】刘洋, 陆佃杰, 张桂娟, 郑向伟
【申请人】山东师范大学