收稿日期:2020-01-16      修回日期:2020-05-20
基金项目:国家自然科学基金项目(61472256,61170277,61703277);沪江基金项目(C 14002)
作者简介:孙 红(1964-),女,博士,教授,研究方向为计算机科学与技术㊁自然语言处理㊁模式识别与智能系统;俞卫国(1995-),男,硕士研
究生,研究方向为自然语言处理与数据挖掘㊂
基于安卓5G 信号参数获取上报的APP 设计与实现
孙 红1,俞卫国2
(1.上海理工大学,上海200093;
2.上海现代光学系统重点实验室,上海200093)
摘 要:随着互联网和移动网络通信技术的快速发展,移动网络通信在短短的几年间就由2G 时代㊁3G 时代发展为目前的5G 时代㊂在5G 部署的过程中,为方便计算机能获取与分析5G 信号参数,设计了一款基于安卓移动端的5G 信号获取上报软件㊂该安卓软件以手机端为基础,通过5G 移动传输网络和内部
传输网络为传输途径,第一:实现了5G 信号中的重要参数RSRP㊁SINR 等的获取,并且将这些重要参数以JSON 格式文件发送至计算机服务器端,用于信号参数分析;第二:实现了RSRP㊁SINR 等以图表的形式动态展示给工作人员观察;第三:实现了计算机服务器端下发一些简单指令给手机端,手机端能够执行一些Linux 指令㊂实验结果表明,该安卓应用软件非常灵活,能够完成5G 部署过程中信号参数的获取㊁信号参数上报的任务㊂
关键词:网络通信;计算机网络;APP;Socket 编程;移动信号
中图分类号:TP31       文献标识码:A       文章编号:1673-629X (2021)02-0150-05doi:10.3969/j.issn.1673-629X.2021.02.028
Design and Implementation of APP Based on Android 5G Signal
Parameter Acquisition Report
SUN Hong 1,YU Wei -guo 2
(1.University of Shanghai for Science and Technology ,Shanghai 200093,China ;
2.Shanghai Key Laboratory of Modern Optical System ,Shanghai 200093,China )
Abstract :With the rapid development of Internet and mobile network communication technology ,mobile network communications have evolved from the 2G era and the 3G era to the current 5G era in just a few years.During 5G deployment ,in order to facilitate the computer to obtain and analyze 5g signal parameters ,we design a 5G signal acquisition and reporting software based on Android mobile terminal.The Android software is based on the mobile terminal and uses 5G mobile transmission network and internal transmission network as transmission channels.Firstly ,the important parameters in 5G signal ,such as RSPR and SINR ,are obtained and sent to the computer server in JSON format for signal parameter analysis.Secondly ,these important parameters RSRP ,SINR are dynamically displayed to the staff in the form of chart for observation.Thirdly ,the computer server is able to issue some simple instructions in the mobile phone ,and the mobile phone can execute some Linux instructions.The experiment shows that the Android application software is highly flexible and can complete the tasks of obtaining signal parameters and reporting signal parameters during the 5G deployment process.
Key words :network communication ;computer network ;APP ;Socket programming ;mobile signal
0 引 言
linux内核设计与实现 pdf
随着计算机网络技术与通信技术的快速发展,人类已经慢慢步入5G 时代,移动设备和计算机网已经成为日常生活中必不可少的工具㊂在此过程中,出现过大量基于安卓平台的APP 的开发,为人类的便携生活做出贡献㊂5G 通信属于未来计算机通信和移动通
信网络发展的主要方向,具有十分广阔的发展前景,目前已经受到国内外的高度重视㊂主要发展表现为万物互联,从4G 时代发展开始,智能家居行业诞生,但是只停留于初级阶段㊂因此4G 技术与真正”万物互联”在技术上还存在较大的差距㊂但是5G 到来以后,其极大的流量,符合万物互联的发展需求㊂在未来的发
第31卷 第2期2021年2月          计算机技术与发展COMPUTER TECHNOLOGY AND DEVELOPMENT
          Vol.31 No.2
Feb. 2021
展中,会真正实现”万物互联”㊂5G通信网络实际是在4G通信网络基础上发展而来的,是4G移动通信的进一步的发展与延伸[1]㊂
5G部署的时间是很漫长的,在部署的过程中,需要设计一款能够获取5G信号参数的安卓APP㊂流程如
下:首先需要一块部署的场地,建立多个信号,信号用来发射5G信号[2],测试人员需要获取这些无线参数并进行分析,从而分析信号的强弱,以及能否进行实际应用㊂测试人员会布置不同的点,将手机部署在这些点上,手机上安装应用软件,用来实际获取信号参数㊂
上述说的应用软件[3],所需要实现的功能如下:
(1)在无人值守的条件下,获取的信号参数㊂
(2)在无人值守的条件下,每秒可以以数据的形式上报的信号参数㊂
(3)在无人值守的情况下,可以上报手机的状态,例如:当手机电量不足时,可以上报信息给测试人员㊂(4)服务器可以下达一些简单的指令,比如重启指令,手机可以进行重启㊂
(5)软件可以以图表的样式来显示各个参数的数值,特别是表格滑动的实现,使测试人员能更加直观地观察参数,提高用户体验㊂
(6)需要实现自动登录,由于布置的点(手机)比较多,电脑下达重启命令之后,再次进入软件,需要自动连接,可人性化设计㊂
1 相关理论与关键技术
1.1 获取信号参数的原理
本系统获取的参数是5G信号参数,手机内部有5G(SIM)卡,当信号传达手机时,要获取的参数有IMSI㊁IP㊁PCI㊁RSRP㊁SINR㊁CQI等[3],在实际应用中,这几个参数在3G/4G的时代就可以获取到,参考SDK 里面的SingnalStrength类,查看源码,发现SingnalStrength类里面有需要的参数,但是SingnalStrength类没有需要的get方法㊂可以通过toString()方法将这些参数解析出来㊂
在实际开发中,使用反射的方式来获取,核心代码如下:
Method Class(). getMethod("getLteLevel");
level=method2.invoke(signalStrength);
最终获取到各个信号参数值㊂
1.2 信号参数上报原理
首先了解传输层两种协议:TCP协议与UDP 协议[4]㊂
TCP协议是一种可靠传输协议,在TCP传输数据之前,会用三次握手来建立连接,而且在数据传递时,
有确认㊁窗口㊁重传㊁拥塞控制机制,在数据传输完之后,会断开连接来节约资源,缺点是比较慢,耗时,容易被攻击㊂
UDP协议是一种不可靠传输协议㊂没有TCP的握手㊁确认㊁窗口㊁重传㊁拥塞控制等机制,UDP是一个无状态的传输协议,所以它在传递数据时非常快㊂在上报信号的过程中,选用的是UDP协议㊂因为上报只需要把收据上报过去就行了,程序不用关心服务器有没有收到,要求数据传输快速㊂链路选择的是内部传输网络而不是5G移动传输网络㊂也就是选择WIFI链路传输㊂
1.3 Socket套接字编程
要想传输数据,假如使用蓝牙协议传输,就要用到基于Bluetooth协议的Socket,这里使用的是基于TCP 协议的Socket[5]㊂
Socket实际上是一种通信接口,基于不同的协议,有各种Socket,比如基于TCP和UDP协议的Socket, Android中使用是java的Socket模型㊂应用程序可以通过”套接字”向网络发送请求或者应答网络请求,这时把Socket分成了两部分,一部分是服务器端Socket,这个Socket主要用来接收来自网络的请求,它一直监听在某一个端口上㊂一部分是客户端Socket,这个Socket向网络发送请求㊂
通信流程如下:应用程序通过套接字也就是Socket可以选择这两种协议中的一种,可以选择UDP 发送
数据,也可以选择TCP发送数据㊂数据发送出去通过 通信信道”也就是IP网络的基础网络,来到服务器端(接收端),就可以接收到数据㊂发送数据的时候用UDP,接收数据的时候也要用UDP,发送数据的时候用TCP协议,接收的时候也要用TCP协议,在发送的时候指定接收端的IP地址和端口号就可以了,而数据包或者数据是如何发送的,框架已经帮我们封装好了[6]㊂
OutPutStream
InputStream
Socket ServerSocket
OutPutStream
InputStream
图1 Socket通信流程
1.4 下达指令原理
下达指令首先也要选择链路,这次需要做的是给某个手机下达一些指令,比如重启,需要的是可靠传输链路,所以整个过程是建立在TCP链路㊂指令采用的
㊃151㊃
 第2期          孙 红等:基于安卓5G信号参数获取上报的APP设计与实现
是基于Linux指令,比如重启:-rebot,因为安卓的底层是基于Linux的,将指令包装在数据包里面,然后通过程序解析出指令,再通过Java语言进行执行[7]㊂
1.5 表格滑动原理
Android ViewPager适配器PageAdapter的使用㊂PageAdapter是一个抽象类,直接继承于Object,导入包android.support.v4.view.PageAdapter即可使用㊂要使用PageAdapter首先要继承PageAdapter类,至少要实现以下方法:getcount(),isViewFromObject(),de⁃stroyItem()㊂然后把设计好的表格进行封装,放到一个list里面,再进行传送㊂
2 系统软件设计
2.1 界面设计
Android界面布局方式[8],包括框架布局㊁线性布局㊁表格布局㊁网格布局㊁相对布局和绝对布局㊂框架布局(FrameLayout)是最简单的界面布局,是用来存放一个元素的空白空间,而且子元素的位置不能够指定,只能放在空白空间的左上角,如果有多个子元素,后放置的子元素将遮挡前面放置的子元素,这种布局使用最少㊂线性布局(Linearyout)是一种重要的界面布局,也是经常使用到的一种界面布局,在现行布局中,所有的子元素都按照垂直或者水平的顺序在界面上排列㊂相对布局(lativeLayout)是一种非常灵活的布局方式,能够通过指定界面元素与其他元素的相对位置关系,确定界面的相对位置关系,确定界面中所有元素的布局位置㊂特点是最大程度上保证各种屏幕尺寸的手机正确显示界面布局㊂剩下的布局参考文献[9]㊂该文设计的布局系统有个res资源文件,用来存放一些布局文件,布局文件都是以XML文件的形式存放在代码中㊂各个组件有着严格的层次关系,最后利用Fragement元素来控制布局文件的加载㊂
2.2 系统程序框架
该文设计的Android无人值守信号参数上报软件APP可以分为6个大模块[10]
图2 系统模块
各个模块应用的场景[11]如下所述:
新用户第一个安装APP,打开APP后,会弹出一个询问窗口是否选择自动连接还是手动连接,一般都会选择自动连接㊂自动连接会保存你上次输入的IP 以及端口,在无人的情况下会自动连接㊂
开启后,APP就会通过5G移动链路获取的参数信息,无线参数获取模块应用在此场景㊂在软件实现的代码中,会有一个定时器,每秒将获取的参数以JSON格式上传到数据库,在执行一段时间后,当手
机电量过低时,会上报手机低电量的信息给工作人员㊂无线参数上报模块就应用在此㊂在整个运行过程中,会显示程序运行状态,当输入的IP地址不对时,连不上服务器时,会在显示框中输出:”输入的IP地址格式不对,请输入正确的IP地址格式”,提醒输入人员输入正确的IP格式㊂程序运行状态显示模块显示应用在此㊂
当有需求需要手机重启时,而每个手机点分布的地方不一样,工作人员很难去寻每个手机点,然后去重启手机,此时指令模块就可以应用在此情境中㊂
通信链路选择模块,上传信号参数链路和指令下达的链路是不同的链路,上传链路选择的是UDP链路[12],实行快速上传,指令下达链路选择的是TCP链路,需要用到点对点端到端安全链路㊂程序流程如图3所示㊂
图3 系统流程
3 系统软件实现
3.1 信号参数上报模块的实现
当用户第一次安装此软件时,会出现弹窗,是否自动连接,当用户选择自动连接时,进入此页面,然后输入HostIp㊁HostPort㊁UE ID㊁ProjectID这四个参数,在XML布局文件中,这些是androidinput Type= text”,根据属性来设置输入框的输入限制㊂HostIp是服务器IP地址,port是端口号,这两个参数需要封装成UDP 数据包,服务器端应用根据这两个参数来获取UDP数据包㊂IEID默认为1.1.1.1,用作以后预留的一个参数,ProjectID也是预留的参数,用作以后其他的项目预留的端口㊂这些参数都有自己的格式,用户必须按照规定的格式进行输入,如图4所示㊂界面设置内容如上所述[13]㊂
㊃251㊃                     计算机技术与发展                  第31卷
Host IP Host Port UE ID Project ID
Host IP
Host Port
UE ID
Project ID 图4 上报模块界面
  数据参数上报后端设计,首先需要判断网络连接状态,默认是移动5G网络,也就是默认UDP传输方式,软件被打开时就可以直接上报数据至服务器端㊂第一步:先编写一个定时器,导入安卓定时器包new timer();设置定时器的时间,以及执行的UDP方法㊂这里的时间设计为1s上报一次,上报的过程是单独开启一个线程,UDP线程专门用于UDP编程,UDP分为UDP服务器端(UdpClient)和UDP客户端(UdpReceive),在服务器没有发送指令时,UDP服务器端处于阻塞状态,只有UDP客户端上报指令的功能在运作,在java中,实现UDP编程就是套接字(Socket)编程[14]㊂核心代码如下:
DatagramSocket ds=new
DatagramSocket();//拿到套接字对象
byte[]Bytes();//定义一个空间用于接受字符
DatagramPacket dp=new
DatagramPacket(bytes,bytes.length,address,6666);//将数据封装成数据包,传递5个固定参数㊂
接下来就是解决可能抛出的异常,以及怎么协调好前端的控件显示㊂
3.2 信号参数模块的显示实现
信号参数显示模块的实现是为了更人性化,为了工作人员能够很方便地看出信号参数强弱㊂最上面的是RSRP㊁SINR㊁DownThrough这三个参数动态的显示,以折线图的形态显示㊂引入jar包hellocharts.jar,一个开源的jar包库,用作Android图表的编程㊂然后根据jar的源码,动态编写折线图,利用图片滑动的原理,引入ViewAdapter容器㊂将编好的折线图xml文件放入容器中,最终实现滑动效果㊂如图5所示,顶部的折线图显示的是RSRP和SINR两个参数的情况
0            10        20          30            40图5 显示模块㊃351㊃
 第2期          孙 红等:基于安卓5G信号参数获取上报的APP设计与实现
  接下来的IMSI㊁IP㊁PCI等显示使用了布局文件中的相对布局,将布局先设置好,再利用SDK里面的
SingnalStrength()来获取相关参数,然后再来设置相应的数值到表格中,人性化地显示再界面中,如图5所示㊂
4摇结束语
以搭建Android平台为开发环境,使用了Android Studio为开发工具,运用计算机通信和计算机应用与技术,实现了5G信号参数获取上报APP,完成了在无人监听的情况下,手机端能自动获取5G信号参数㊁信号参数自动上报到计算机服务器端㊁动态显示参数的任务㊂后续可以根据使用情况来进行改进,扩展更多的功能,服务于5G通信的部署[15]㊂
参考文献:
[1] OSSEIRAN A,BOCCARDI F,BRAUN V,et al.Scenarios
for5G mobile and wireless communications:the vision of the
METIS project[J].IEEE Communications Magazine,2014, 52(5):26-35.
[2] 刘泽忠,赵旭东,王亚翔.一种移动通信干扰效果评估方法
[J].通信技术,2017,50(9):1921-1924.
[3] 郭佳明.基于Android的通信软件的设计与实现[J].科学
技术创新,2019(8):90-91.
[4] 汪 洋,禹 珉.基于Nucleus操作系统实现TCP和UDP
协议通信[J].软件工程,2018,21(9):29-33. [5] 宋泽瑞.基于SOCKET编程接口的网络通信[J].中国新
通信,2017,19(5):29.[6] 王常衡,任广鹏,罗 钦,等.基于TCP的Socket网络编程
[J].科技经济导刊,2019(7):36.
[7] 何兴鹏,刘钊远,陶琛嵘.Linux程序向Android平台移植
的研究[J].计算机测量与控制,2018,26(5):112-115. [8] 陆雨声.基于Android的图书馆座位查询系统[J].智能计
算机与应用,2019,9(6):266-268.
[9] 朱婧茜,何人可.Android手机应用界面布局的可用性测试
研究[J].包装工程,2014,35(10):61-64. [10]张桢宇,朱东来,杨哲慜,等.对抗分析技术对安卓生态系
统安全性影响研究[J].小型微型计算机系统,2019,40
(8):1767-1774.
[11]张 新,饶若楠,郭 宁,等.多端口自适应UDP通信协议
的设计与实现[J].计算机工程与设计,2017,38(4):846-851.
[12]MOCSAI A,HUMPHREY M B,VAN ZIFFLE J A G,et al.
The immunomodulatory adapter proteins DAP12and Fc re⁃ceptorγ-chain(FcRγ)regulate development of functional osteoclasts through the Syk tyrosine kinase[J].Proceedings of the National Academy of Sciences of the United States of America,2004,101(16):6158-6163.
[13]FELLNER F A,REQUARDT M A,LANG W,et al.Periph⁃
eral vessels:MR angiography with dedicated phased-array coil with large–field-of-view adapter feasibility study [J].Radiology,2003,228(1):284-289.
[14]BRUNO R,CONTI M,GREGORI E.Throughput analysis
and measurements in IEEE802.11WLANs with TCP and UDP traffic flows[J].IEEE Transactions on Mobile Compu⁃ting,2008,7(2):171-186.
[15]代长征.5G通信中数据传输部署及传输可靠性[J].通讯
世界,2020,27(3):100-101.
㊃451㊃                     计算机技术与发展                  第31卷

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。