基于Java的望远镜的移动控制方法转让专利

申请号 : CN200810019775.8

文献号 : CN101242428B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 帅小应张振超

申请人 : 中国科学院国家天文台南京天文光学技术研究所

摘要 :

本发明涉及基于Java的望远镜的移动控制方法,目的在于使移动用户通过移动终端与指定的WEB服务器进行HTTP连接,实现对望远镜移动的实时的控制。该移动控制方法包括以下步骤:在移动终端中设置MIDP、MIDPlet,所述MIDPlet由运行在移动终端中的AMS所控制;使用XML描述协议,描述终端与服务器数据交互的格式;使用NanoXML解析器解析协议;将Web Server分为:Servlet模块、解析器模块、JavaBeans组件模块和消息发送模块;通过MIDP中Connector类,使用HttpConnection.POST方式来实现移动终端与Web服务器进行TCP/IP的HTTP通讯。

权利要求 :

1.一种基于Java的望远镜的移动控制方法,其特征是,该方法包括以下步骤:

1)在移动终端中设置一个移动信息设备描述(MIDP)和移动信息设备描述应用程序(MIDlet),所述移动信息设备描述应用程序由运行在移动终端中的应用程序管理软件所控制;使用XML描述协议,描述终端与Web服务器数据交互的格式;使用NanoXML解析器解析协议;

2)将Web服务器分为四个模块:Servlet模块、解析器模块、JavaBeans组件模块、消息发送模块;Servlet模块负责与移动终端用户通信,接收移动终端用户的请求,发送Web服务器响应结果,并与解析器模块交换信息;解析器模块负责解析Servlet接收到的移动终端用户请求数据,并将返回信息按协议规范打包送给Servlet模块;JavaBeans组件模块负责与本地望远镜控制系统通信;消息发送模块负责通过短信服务(SMS)或网络编程接口(socket)或datagram发送消息给移动终端用户;

3)通过MIDP中Connector类,使用HttpConnection.POST方式来实现移动终端与Web服务器进行TCP/IP的HTTP通讯;

4)移动终端与本地望远镜控制系统通过Web服务器完成交互控制过程。

2.根据权利要求1所述的移动控制方法,其特征是,所述移动终端的应用程序在运行时使用PushRegistry类,调用registerConnection注册基于短信服务(SMS)、网络编程接口(socket)、datagram的网络连接,将push注册机制特征添加到移动终端应用程序中。

3.根据权利要求1所述的移动控制方法,其特征是,移动终端用户主动发起的PULL过程如下:

1)移动终端用户选择要执行的操作;

2)终端系统按定义的XML通信格式进行编码;

3)通过连接器与Web服务器进行连接,通过HTTP协议发送数据;

4)Web服务器接收数据;

5)Web服务器通过解析器对数据进行解码,并将指令转给本地控制系统;

6)本地控制系统将执行结果返回给Web服务器;

7)Web服务器编码器按XML格式编码;

8)数据返回给移动终端用户;

9)移动终端用户接收数据,调用解析器解码,并显示给移动终端用户。

4.根据权利要求1或2所述的移动控制方法,其特征是,望远镜控制系统发起的PUSH过程如下:

1)在Web服务器程序中设定接收信息的移动终端,用户注册网络连接;

2)Web服务器获取要PUSH的数据;

3)Web服务器编码器对数据按XML编码;

4)Web服务器PUSH通知消息给终端;

5)移动终端用户接收消息,AMS启动消息相关联的应用程序,处理消息,获得当前连接的Web服务器IP地址及端口号;

6)终端通过HTTP协议与Web服务器建立双向的连接,实现移动终端用户与Web服务器间的交互。

5.根据权利要求1或2所述的移动控制方法,其特征是,该方法还包括以下步骤:

1)移动终端采用基于socket的网络连接,系统监听5001端口,通过连接类的getLocalAddress()及getLocalPort()获得当前连接的Web服务器IP地址及端口号,终端通过HTTP协议与Web服务器建立双向的连接;

2)当望远镜发生重要状态变化时,控制系统通过服务终端并使用上述移动终端中MIDlet注册监听的协议和端口主动将望远镜的当前相关状态发送给移动终端;

3)望远镜的当前相关状态信息进入移动终端,移动终端启动注册了监听此端口和协议的MIDlet并且处理发送过来的数据。

说明书 :

基于Java的望远镜的移动控制方法

技术领域

[0001] 本发明涉及望远镜的移动控制方法,特别涉及基于Java的望远镜的移动控制方法。

背景技术

[0002] 大型天文望远镜一般架设在地理位置较为特殊的地方,望远镜工程技术人员希望能够“随时、随地、随身”了解及控制望远镜的状态,移动通信技术的发展使之成为了可能。
[0003] 现有望远镜的移动、远程控制采用基于短消息的方式来实现,发明CN200510094716.3中公开了一种通过GSM手机短信实现天文望远镜的无线通信系统,通过短信实现对望远镜总控系统进行控制。基于短信的方式由于受短信技术本身的限制,具有如下不足:短信长度有限,发送信息量受限;短信通信无法满足实时、在线控制的需要;短信指令编写较为麻烦,操作不便等。
[0004] JAVA语言从其诞生起就以其运行的平台无关性这一强大的优势而成为网络应用的宠儿。J2ME是JAVA2标准版本的微型版本,专门为小型移动终端所设计。J2ME只包含了J2SE中在移动通信设备上所必需的功能和组件,使其能够在移动终端及其有限的资源上开发出丰富多彩且平台无关的应用。

发明内容

[0005] 本发明的目的在于克服望远镜的移动、远程控制的现有技术的缺陷,提供一种基于Java的望远镜的移动控制方法,使移动用户通过移动终端(手机、PDA等)与指定的WEB服务器进行HTTP连接,实现与天文望远镜“及时在线的”交互,获取望远镜的相关状态,对望远镜实现移动的实时的控制。
[0006] 本发明的技术方案是:一种基于Java的望远镜的移动控制方法,其特征是,该方法包括以下步骤:
[0007] 1、在移动终端中设置一个移动信息设备描述(MIDP)和应用程序(MIDPlet),所述应用程序由运行在移动终端中的应用程序管理软件(AMS)所控制;使用XML描述协议,描述终端与Web服务器数据交互的格式;使用NanoXML解析器解析协议;
[0008] 2、将Web服务器分为四个模块:Servlet模块、解析器模块、JavaBeans组件(可重用组件)模块、消息发送模块(SMS、socket、datagram);Servlet模块负责与移动终端用户通信,接收用户的请求,发送Web服务器响应结果,并与解析器模块交换信息;解析器模块负责解析Servlet接收到的用户请求数据,并将返回信息按协议规范打包送给Servlet模块;JavaBeans组件模块主要负责与本地望远镜控制系统通信;消息发模块负责通过SMS、socket、datagram发送消息给移动用户;
[0009] 3、通过MIDP中Connector类,使用HttpConnection.POST方式来实现移动终端与Web服务器进行TCP/IP的HTTP通讯;
[0010] 4)移动终端与本地望远镜控制系统通过Web服务器的完成交互控制过程。
[0011] 本发明进一步包括以下步骤:
[0012] 所述移动终端中的应用程序(MIDPlet)在运行时使用PushRegistry类,调用registerConnection注册基于短信服务(SMS)、网络编程接口(socket)、datagram的网络连接,将push注册机制特征添加到移动终端应用程序中。
[0013] 所述基于移动信息设备描述注册网络连接,是指通过指定目标设备的电话号码,Web服务器端应用程序发送消息到移动终端。移动终端是支持SMS、socket或datagram作为push注册机制的触发器的。
[0014] 上述步骤进一步包括如下步骤:
[0015] 1)移动终端采用基于socket的网络连接,系统监听5001端口,通过连接类的getLocalAddress()及getLocalPort()获得当前连接的Web服务器IP地址及端口号,终端通过HTTP协议与Web服务器建立双向的连接;
[0016] 2)当望远镜发生重要状态变化时,控制系统通过服务终端并使用上述移动终端中MIDlet注册监听的协议和端口主动将望远镜的当前相关状态发送给移动终端;
[0017] 3)望远镜的当前相关状态信息进入移动终端,移动终端启动注册了监听此端口和协议的MIDlet并且处理发送过来的数据。
[0018] 简单地说,就是从一个Java服务器端应用程序发送一条消息到一个移动终端的指定端口,并自动启动一个运行在移动终端中的应用程序模块(MIDlet)对消息进行处理。
[0019] 上述通信过程分为移动用户主动发起的PULL过程及望远镜控制系统发起的PUSH过程,过程分别如下:
[0020] PULL通信过程:
[0021] 1.终端用户选择要执行的操作;
[0022] 2.终端系统按定义的XML通信格式进行编码;
[0023] 3.通过连接器与Web服务器进行连接,通过HTTP协议发送数据;
[0024] 4.Web服务器接收数据;
[0025] 5.Web服务器通过解析器对数据进行解码,并将指令转给本地控制系统;
[0026] 6.本地控制系统将执行结果返回给Web服务器;
[0027] 7.Web服务器编码器按XML格式编码;
[0028] 8.数据返回给终端用户;
[0029] 9.用户接收数据,调用解析器解码,并显示给用户。
[0030] PUSH通信过程
[0031] 1.在Web服务器程序中设定接收信息的移动终端,用户注册网络连接;
[0032] 2.Web服务器获取要PUSH的数据;
[0033] 3.Web服务器编码程序对数据按XML编码;
[0034] 4.Web服务器PUSH通知消息给终端;
[0035] 5.用户接收消息,AMS启动消息相关联的应用程序,处理消息,获得当前连接的Web服务器IP地址及端口号;
[0036] 6.终端通过HTTP协议与Web服务器建立双向的连接,实现用户与Web服务器间的交互。
[0037] 本发明具有如下有益效果:
[0038] 1.利用J2me开发移动终端控制系统,用户操作方便;Web服务器利用Java开发Servlet、socket、Java Bean,安全可靠高效;
[0039] 2.利用HTTP协议实现终端与Web服务器间的连接,通过XML实现数据的交换;能实现及时在线的控制与信息交互;
[0040] 3.通过注册网络连接,接收望远镜本地控制系统PUSH的望远镜状态,并激活相应的终端处理程序;
[0041] 4.采用XML格式编写控制指令简明高效,易于扩充。

附图说明

[0042] 图1是本发明实施例1和实施例2中的系统设置图
[0043] 图2是本发明实施例1的流程图
[0044] 图3是本发明实施例2的流程图

具体实施方式

[0045] 下面结合实施例做进一步说明。
[0046] 实例1
[0047] 移动用户远程打开圆顶的控制方法如下:
[0048] 如图1所示,在支持Java的手机中安装移动信息设备描述(MIDP)应用程序模块,并且它们由运行在移动终端中的应用程序管理软件(AMS)所控制;有效用户通过手机中控制程序,通过HTTP协议连接到远程的WEB服务器,与Web服务器中的servlet通信。
[0049] 将Web服务器分为四个模块:Servlet模块、解析器模块、JavaBeans组件(可重用组件)模块、消息发送模块(SMS、socket或datagram);Servlet模块负责与手机用户通信,接收用户的请求,发送Web服务器响应结果,并与解析器模块交换信息;解析器模块负责解析Servlet接收到的用户请求数据,并将返回信息按协议规范打包送给Servlet模块;JavaBeans组件模块主要负责与本地望远镜控制系统通信;消息发模块负责通过SMS、socket、datagram发送消息给移动用户。
[0050] 通过MIDP中Connector类,使用HttpConnection.POST方式来实现移动终端与Web服务器进行TCP/IP的HTTP通讯。
[0051] 如图2所示,移动用户远程打开圆顶的过程如下:
[0052] 1.移动用户在移动终端上启动远程望远镜终端控制系统,选择“dome”,执行“open”命令;
[0053] 2.终端编码程序按XML格式进行编码,格式如下
[0054]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061] 3.终端连接器调用Connector与设定的望远镜控制系统Web服务器进行连接,采用HttpConnection.POST用户请求给Web服务器;
[0062] 4.Web服务器通过servlet接收用户的请求;
[0063] 5.Web服务器调用NanoXML解析请求数据,知是圆顶操作命令,将命令传送给本地圆顶控制器;
[0064] 6.圆顶控制器执行“open”命令,并将执行结果返回给服务器;
[0065] 7.Web服务器编码器将执行状态按XML格式编码;
[0066] 8.Web服务器将数据传回给用户;
[0067] 9.终端程序调用NanoXML解析接收到的数据,并将结果显示给用户;
[0068] 10.通信过程结束。
[0069] 实例2
[0070] 如图3所示,PUSH圆顶的温度的控制方法如下:
[0071] 望远镜是精密仪器,对环境要求高,当望远镜出现异常情况时,要及时将望远镜的状态告诉相关人员。将LAMOST圆顶的温度发送指定人员的手机中,并启动温度处理程序。
[0072] 1.在Web服务器程序中设定接收信息的手机,并在手机中注册网络连接;
[0073] 2.本地控制系统采集到圆顶的温度,并传给Web服务器;
[0074] 3.Web服务器对温度数据按XML格式编码,格式如下:
[0075]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082] 4.Web服务器通过socket方式PUSH已编码的数据到指定的手机;
[0083] 5.终端接收到数据,AMS启动相关联的温度处理程序,处理数据,并获得当前连接的服务器IP地址及端口号;
[0084] 6.终端通过HTTP协议与Web服务器建立双向的连接,终端对望远镜的移动控制过程如实例1。