APRS客户端软件系统
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
与开发(1)
目录
工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录
摘要...........................................................................................................................1 Abstract.....................................................................................................................1 前言...........................................................................................................................2 第一章APRS基础..................................................................................................3
1(1 APRS的历史与发展.............................................................................3
1(2 APRS基本系统组成与设备.................................................................3
1(2(1 APRS基本系统组成................................................................3
1(2(2 APRS的设备............................................................................4
1(3 APRS工作原理与运用.........................................................................5
1(4 APRS的协议.........................................................................................6
1(4(1 APRS-IS....................................................................................6
1(4(2 APRS数据
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
........................................................................7
1(5 本章小结................................................................................................9 第二章 APRS客户端软件系统总体设计.............................................................10
编程语言与程序类型选择....................................................................10 2(1
2(2 地图类型选择........................................................................................12
2(3 功能介绍................................................................................................14
2(4 模块划分................................................................................................15
2(5 本章小结................................................................................................17 第三章 APRS客户端软件系统详细开发..............................................................18
3(1 网页编程模块详细开发........................................................................18
Swing编程模块详细开发.....................................................................21 3(2
3(2(1 类开发.......................................................................................21
3(2(2 技术难点及解决之法...............................................................25
3(3 Socket编程模块详细开发....................................................................29
3(3(1 类开发.......................................................................................29
3(3(2 技术难点及解决之法...............................................................31
3(4 本章小结................................................................................................33
第四章 总结.............................................................................................................34
参考文献...................................................................................................................35
APRS客户端软件系统设计与开发
摘要
APRS是自动位置报告系统(Automatic Position Reporting System)的简称,
它是业余无线电操作者能迅速的将实时事件的相关数据发布出去,并在接收端的
计算机上图形化的表示这些数据的软硬件系统。自从1992年诞生以来,APRS
得到了很大的发展,在很多领域都有了广泛的应用。而一个以包含Java Applet
的网页形式进行发布的APRS客户端软件系统,一定会因为它的使用方便,以至
于能让没有任何无线电知识和计算机知识的人都可以顺利使用而大受欢迎,这也
将有助于APRS的继续发展和普及。
关键词
APRS,自动位置报告系统,客户端,Java,Applet,Swing,Socket,Servlet
Abstract
APRS is short for Automatic Position Reporting System.It is a software and hardware system that can be used by amateur radio operators to send the data about real-time events rapidly and show the data on the receiver’s computers graphically.Since it was
born in 1992,APRS has gained a great progress and has been used in a lot of areas.An APRS client software system released in the form of web pages which contain Java Applet must be popular for its convenience.People without any knowledge about radio and computer also can use the system successfully,which is helpful to APRS’s continuing development and popularization.
Key Words
APRS, Automatic Position Reporting System, client, Java, Applet, Swing, Socket, Servlet
前言
APRS客户端软件系统是APRS的重要组成部分,它是直接与用户进行交互的部件,它的好坏直接影响用户对整个APRS系统的
评价
LEC评价法下载LEC评价法下载评价量规免费下载学院评价表文档下载学院评价表文档下载
。我们的目标是设计开发一个使用极其简便,只要会上网的人都可以使用的APRS客户端软件系统。本文分四个章节对本系统的设计开发进行的介绍,第一章介绍了APRS的基本知识,使大家可以认识APRS;第二章对系统进行了总体设计,把系统划分为三个模块;第三章分模块对系统进行了详细的开发,介绍了每个模块中重要的类以及开发过程中遇到的技术难题的解决;第四章对整个毕业设计进行了总结。
第一章 APRS基础
要设计和开发APRS客户端软件,就必须先要了解什么是APRS。APRS是自动位置报告系统(Automatic Position Reportig System)的简称,它是一项新兴
的业余无线电活动内容,业余无线电操作者能迅速的将实时事件的相关数据发布出去,并在接收端的计算机上图形化的表示这些数据的软硬件系统。
它将无线电数据通信、全球卫星定位系统(GPS)、计算机和因特网有机结合,引起了众多业余无线电爱好者的兴趣。它不仅提供了诸如位置跟踪、气象信息等有用的服务,而且在业余无线电应急通信(ARES)以及紧急遇险救援时发挥重要作用,同时APRS还为技术爱好者提供了一个广阔的平台,许多其它应用都等待着我们的进一步开发。
1(1 APRS的历史与发展
1992年,被称为“APRS之父”的美国爱好者Bob Bruninga,WB4APR在APRL和TAPR数字通信会议第一次引入了APRS的名称。初期的APRS是完全建立在传统业余无线电分组通信的基础上的。1999年美国爱好者Steve Dimse,K4HG引入了APRS第一个因特网的接口,APRS的传输媒介出现了无线分组通信和因特网共存的局面。APRS软件和硬件的迅速增加印证了APRS的飞速发展。从1992年到1999年,只出现了6个应用软件,而现在,应用软件的数量已然超过20个。新版的TNC一般都增加了对GPS和APRS的支持。另外,一些新的专门为APRS设计的硬件也日益增多,比如兼容TAPR TNC2的UIDIGI,它烧入ROM后可将旧的TAPR TNC2改造成专门用于APRS的数字中继,又如Tinytrak,它将GPS数据转换成无线分组通信的发射音调,专门用于设置APRS发射台。
1(2 APRS基本系统组成与设备
1(2(1 APRS基本系统组成
APRS基本系统包含:全球定位系统(GPS)接收器、分组终端节点控制器(TNC)、业余无线电(电台、天线)、计算机和APRS软件。
图1.1 APRS基本系统组成
GPS接收器只要含有NMEA,0183格式的数据输出都能用于APRS。APRS不需要任何特殊的电台设备。任何能通过无线电管理部门检测,频率稳定,话音失真比较小的电台设备都可使用。用于APRS的计算机的规格需求也因不同的APRS软件版本而异,市场上近几年的计算机一般都可应用于APRS。在计算机上连接设置TNC或GPS,目前还常常通过计算机的串口来完成。现在很多笔记本电脑上不配备串口,则只能通过USB转串口线来解决。USB端口的TNC和GPS现也已出现。如果你希望将 APRS电台同时作为IGate,则性能稳定的因特网宽带接入是必须的。TNC可使用硬件解决,也可通过计算机声卡和软件来虚拟TNC。
APRS的软件很多,可在Mac、PC、笔记本和PDA上工作,运行于LINUX、MAC、WINDOWS、DOS等操作系统。以下是三个基于Windows系统的软件。
UI,View 32bit V2.03是由已故英国爱好者G4IDE开发。支持Windows 98/2000/XP,功能强大,风靡欧洲,正席卷全球。也是国内爱好者使用最多的软件。
WinAPRS是美国最为流行的APRS软件,支持精确地图。
AGWPE声卡TNC是SV2AGW的作品,界面完全图形化,非常美观,操作简便。但占用大量CPU资源,运行慢。
其它软件还有MacAPRS、APRS/CE、XASTIR等等。
1(2(2 APRS的设备
APRS的设备大抵分为APRS电台、无线数字中继、APRS网关、APRS服务器等。
在整个APRS中,各电台地位是均等的,既可以把自己的位置数据发给所有的电台,也可以接收来自所有电台的位置数据。我们把能接收和发送APRS数据包的电台称为APRS电台。APRS电台可以细分成几类。第一类是仅作发送的电台,比如,一个装在汽车上的不断发送经纬度数据的电台,一个不断发送气象信息的电台等。这种电台的构成包括数据源(GPS接收器、气象传感器等)、数据变换和处理器(即终端电台控制器TNC)和数据发送器(无线电发射机),TNC的作用是将数据源的数据变换成APRS的格式,调制后送给发射机发送。第二种是仅作接收的电台,一个连接因特网并运行APRS软件的计算机就是最简单的接
收电台,在没有因特网接入的环境下,无线电接收机、TNC和单片机为核心的LCD显示器或者笔记本电脑也可构成接收电台。这种电台的构成包括数据接收器(因特网或无线电接收机)、数据变换和处理器(TNC或者声卡加软件)、数据显示设备(运行软件的计算机或者单片机为核心的LCD显示器)。第三种就是接收和发送电台的合一,一个连接GPS接收机、连接因特网并运行APRS软件的计算机,一个终端加TNC加收发信机(即典型的分包通信设备)都可以成为收发合一的APRS电台。
由于电台的发射范围有限,所以人们在分组通信系统中采用了无线数字中继。无线数字中继实际上就是一个分组通信电台,只不过它只负责转发分组数据,不产生或者最终处理数据。
APRS中,业余无线分组网络与英特网的互联由IGate完成。它承担无线分组网络的AX.25分组与英特网上的TCP/IP分组的转换与转发。
APRS服务器提供 APRS的英特网直接接入。也就是说,如果只是为了了解APRS,无需购买昂贵的终端节点控制器和电台,也就不必拥有电台执照,可以通过因特网接入APRS服务器,就可以向全球的APRS宣告你的存在,并查看全
View软件,支持无线分组,无线分组、无线分球APRS的所有信息。比如UI,
组,因特网、因特网,因特网三种方式的APRS通信。其最主要的功能是将接收到的APRS数据中的经纬度数据转换成电子地图上的物体并显示出来。当然,你可以通过周期性的向APRS服务器发送自己的APRS数据包告诉世界你的位置。
1(3 APRS工作原理与应用
APRS系统使用无线分组通信(Packet Radio)将数据进行发布。在传统的无线分组通信操作中,通信是使用有连接分组基于一对一产生的,即,两个电台是虚拟的互相连接的。在APRS中,电台使用无连接分组基于一对多进行数据传播,类似于广播电台和听众的关系,所以,将“听众”的范围扩展到所有可以接收到该分组的电台。
APRS使用传统无线分组通信的“信标”(Beacon)功能完成这种模式的通信。一个APRS分组以某种特定格式包含电台位置(经度和纬度)和电台类型(家中的、便携的、移动的、数字中继、气象站等)信息,使处于接收APRS电台端的计算机上运行的软件可以处理包含的信息,并在地图上显示相对应的图标,显
示发信标电台的位置。如果APRS电台是那种处于移动之中的便携或者移动电台,当收到位置更新的新位置分组后,APRS在地图上改变图标的位置。
移动APRS电台包含一个普通电台、TNC和GPS(全球定位系统)接收器。GPS接收器接收地球轨道卫星信号自动计算其位置并传送给TNC,通过TNC的处理将位置数据转换成音频信号,此音频信号通过电台发送出去更新APRS接收端地图上移动APRS电台的位置。
在家庭固定APRS电台中,由于位置是固定的,一般不需要GPS接收器,只需要事先将家庭的经纬度数据设置到APRS应用软件中,当需要的时候,软件发送已事先设置的位置信息给TNC,TNC再转发给电台以便发射。
除了跟踪移动电台,APRS也可以向系统输入对象位置的方式跟踪任何对象。比如,你可以输入一个飓风的经纬度,则飓风的位置就可以出现在任何该信道的APRS电台的地图上。在气象应用中,你可以将气象监测设备的接口连接到APRS电台以便向其它电台发布实时气象信息。APRS可使用数字中继(Digipeater)进行转信,扩大APRS使用区域。
为了将APRS传播到整个世界,有的APRS电台作为IGate(因特网网关)将接收到的APRS分组转发到因特网上的服务器。这些服务器将世界上实时的APRS数据搜集并转发,有的还提供Web页面的格式,以便让用户通过支持Java的网络浏览器查看APRS活动。
1(4 APRS的协议
1(4(1 APRS,IS
DigipeaterDigipeater
图 1,3 APRS,IS核心体系结构
APRS,IS(Automatic Position Reporting System-Internet Service)是一种基于Internet的网络的通称,这种网络相互连接了遍及全世界的各种APRS无线电网络。其中的APRS网关负责射频(RF)网络的AX.25分组和Internet网络的TCP/IP分组的转换和转发。
(4(2 APRS数据格式 1
在链路层,APRS使用AX.25协议,专有的利用未编号信息(UI,Unnumbered Information)帧。这意味着APRS以无连接模式运行,AX.25帧被传送出去并不期望任何相应,另一端的接收也没有保证。
AX.25 UI帧的格式如图1,4所示。
图 1,4 AX.25 UI帧格式
, Flag —— 位于帧的两端,是个位串,值为0x7e,用来分隔每一个帧。 , Destination Address —— 这个域可以包含一个APRS的目的地呼号或者
APRS数据。APRS数据被编码以保证这个域符合
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
的AX.25呼号的格式
(比如,6个数字或文字字符加上一个SSID)。如果SSID非零,它指定了一
个普通的APRS数字中继路径。
, Source Address —— 这个域包含发送电台的呼号和SSID。在某些情况下,
如果SSID非零,它指定了一个APRS显示的符号码。
, Digipeater Address —— 包含0到8个数字中继的呼号。 , Control Field —— 这个域被设为0x03(UI帧)。
, Protocal ID —— 这个域被设为0xf0。
, Information Field —— 这个域包含更多的APRS数据。第一个字符是APRS
数据类型标识符。
, Frame Check Sequence —— 这个域用来校验收到的帧的完整性。
Source Address的SSID如图 1,5所示。
图 1,5
Destination Address的SSID如图1,6所示。
图 1,6
Information Field如图 1,7所示。
图 1,7
1(5 本章小结
APRS作为一种新兴的业余无线电活动,正被中国的业余无线电爱好者所关注。无论台湾、香港还是大陆的HAM们都已开始进行实践。在本章中,从APRS的历史与发展开始,我们初步了解了APRS的硬件,软件,设备,工作原理,协议等方面,对APRS既有了整体的概念,也有了细节的理解,为设计开发良好的APRS客户端软件系统打下了基础。
第二章 APRS客户端软件
系统总体设计
APRS客户端软件是APRS基本系统的重要组成部分,它主要负责电子地图的绘制和APRS电台的显示,完成自动位置报告的功能。如果没有APRS客户端软件的配合,硬件和其它软件的功能再强大也是无济于事的,因为用户无从得知APRS电台的位置,也就不存在自动位置报告了。为了避免APRS成为具有丰富无线电知识和计算机知识的专业人士的专利,为了让APRS普及到一般用户,一个简单易用、直观明了的APRS客户端软件就成了关键。我们的目标就是设计开发一个“傻瓜”型的APRS客户端软件系统,用户不必具有任何的无线电知识和
丰富的计算机知识,只要会上网,就可以顺利地使用。下面我们就从编程语言和程序类型的选择、地图类型的选择、功能介绍、模块划分几个方面对系统作一个总体设计。
2(1 编程语言与程序类型选择
Java语言自从1996年2月SUN公司正式发布以来,因其广泛的用途及在Web上的独特功能,越来越来受到计算机程序员的喜爱,正在成为全世界成千上万的程序员广泛使用的现代技术。正如比尔?盖茨所说:“Java是有史以来最卓越的编程语言”。
Java语言可以创建三类程序:Application Program(应用程序)、Applet(小应用程序)、Handler(处理程序)。通常的应用程序(Application Program)是运行在本地计算机上的,即通过敲入命令或用鼠标双击来运行。Java的Applet不同于通常的应用程序,甚至不同于Java的应用程序。Applet是专门设计成在Web页面中运行,它只能运行在浏览器环境内。
当一个Java Applet设计好后,必须嵌入到Web页面中。其方法是通过HTML命令描述Applet,用HTML文件的