JAVA实验报告9-远程屏幕监控系统

合集下载

基于java的远程控制软件设计【开题报告】

基于java的远程控制软件设计【开题报告】

开题报告通信工程基于java的远程控制软件设计一、课题研究意义及现状经过数十年的建设开与发展,计算机,互联网已经离不开我们的生活,Java已经被广泛接受并推动了Web的迅速发展,现在常用的浏览器现在均支持Java applet。

Java也显示了自己独有的魅力:跨平台、动态的Web、Internet计算。

现在已经有不少软件例如NetMeeting,PcAnywhere都可以实现远程控制,通过桌面共享的方式来对远程主机进行控制,实现任何操作。

由于Java语言具有良好的跨平台性运作特性,使用Java 语言编写的软件具有“一次编写,各处运行”的特点,所以,利用Java实现远程控制具有更广的实用性,能够更好的被人所接受。

远程控制的原理[是:用户首先连接到网络上,然后通过远程访问的控制端程序发送控制端身份验证信息和与远程主机连接的要求,接下来远程主机的被控端程序验证控制端身份,如果验证通过,就与控制端建立连接,并向控制端发送验证通过和已建立连接的信息。

如果验证不通过则不建立连接,用户也就不能远程控制主机了此时,控制端便可通过控制端程序监控或向远程主机发送要执行的指令,而被控端程序则执行这些指令,并把键鼠标指令和屏幕刷新传给控制端程序,控制端程序通过处理把主机屏幕等信息显示给用户看,使得用户就像亲自在远程主机上操作一样。

远程控制软件通常由两部分组成: 一部分是客户端( 控制端) 程序Client , 另一部分是服务器端( 受控端) 程序Server。

使用前需要使用前需要将控制端程序安装到控制端计算机上,将被控端程序安装到被控端计算机上。

然后由控制端向受控端发出信号, 建立一个特殊的远程服务, 再通过这个服务, 使用各种远程控制功能发送远程控制命令, 控制受控端电脑中的各种应用程序运行.远程控制软件的控制一般过程是:控制端上执行控制端程序(授控端上执行受控程序)→向被控端计算机发出信号,通过验证建立一个特殊的远程服务→使用远程控制功能发送远程控制命令→被控端计算机中各种应用程序的运行。

基于Java的网络实时远程监控系统设计

基于Java的网络实时远程监控系统设计

基于Java的网络实时远程监控系统设计
阎秀英;周亚建;胡正名
【期刊名称】《计算机工程》
【年(卷),期】2009(35)5
【摘要】随着网络技术的发展,远程屏幕监控越来越多地应用在各种场合.虽然现在有很多远程屏幕监控软件,但使用Java开发的在Linux下的屏幕监控系统还很少.该文提出了在Linux下基于Java设计网络实时监控系统的方法,分析了其中的关键技术并予以实现.在网络教学中,该系统能使教师随时监控到网络中任何一台学生机的操作状态,经测试具有良好的实时性.
【总页数】3页(P74-75,78)
【作者】阎秀英;周亚建;胡正名
【作者单位】北京邮电大学信息处理与智能技术重点实验室数字内容研究中心,北京,100876;北京邮电大学信息处理与智能技术重点实验室数字内容研究中心,北京,100876;北京邮电大学信息处理与智能技术重点实验室数字内容研究中心,北京,100876
【正文语种】中文
【中图分类】TP393.02
【相关文献】
1.基于SOM神经网络与Java技术的远程监控系统 [J], 刘广利;任乃飞;陈磊
2.远程监控系统中基于Java的图像实时传输 [J], 吕俊白
3.基于RT-Thread实时操作系统的多泵站远程监控系统设计 [J], 杜石雷;刘继伟;林考
4.基于RT-Thread实时操作系统的多泵站远程监控系统设计 [J], 杜石雷;刘继伟;林考
5.基于NB-IoT的工业设备报警实时远程监控系统设计 [J], 王志鹏;段浩;卢郑兴因版权原因,仅展示原文概要,查看原文内容请购买。

远程监控系统

远程监控系统

远程监控系统1 题义分析及解决方案1.1 题义需求分析用STAR ES598PCI单板开发机,设计一个远程监控系统,并编程实现其功能:采用串口调试助手,通过串口进行控制,输入0001时,蜂鸣器鸣叫,输入0002,LED灯亮,输入0003LED 灯灭,输入0004后,再输入想要在LED灯上显示的数字或字母,控制LED显示器显示输入的数据。

问题归纳:1)接口问题,选用何种芯片。

这是关键的一步,这将直接影响到整个功能的实现;2)如何通过串口助手控制蜂鸣器鸣叫;3)如何通过串口助手控制继电器常开端闭合,常闭端开合;4)如何通过串口助手控制LED显示数据;1.2 解决问题方法及思路1.2.1 硬件部分:本程序用8251芯片提供串行接口输入和输出,采用8255芯片来提供并行接口的输入和输出,由8253芯片来提供8251的收发时钟,利用串口调试助手模拟上位机,从键盘接收命令由8251传送给上位机,经由程序体分析后将命令传给8255,即由8255相应的连接线路执行相应的命令实现功能。

在8255芯片的应用中,PC0口连接蜂鸣器,PC7口连接继电器,PA口连接LED位选,PB口用于控制LED的段选,硬件部分连接结束,其控制处理部分由程序来实现。

1.2.2 软件部分:对8253的初始化(定时器0,方式3,BCD码计数,CLK0/26),对8251初始化(波特率系数为16,8个数据位,一个停止位,偶校验),对于8255芯片,主要用于将CPU的命令输出,故PA、PB、PC三口均设置为方式0状态下工作。

由PA0~PA7来控制LED灯的位选,由PB0~PB7口来控制LED灯的段选。

当PC0口为低电平时蜂鸣器鸣叫,为高电平时蜂鸣器禁止鸣叫,PC7口对继电器的控制也同理。

从下位机的键盘键入命令字,通过命令字的判断,执行相应的功能,反复测试串口的接收,若有数据输入,判断并执行,如此反复循环下去。

2 硬件设计2.1 芯片(1)--8255A2.1.1芯片(1)在本设计中的作用通过8255接收上位机处理后传来的命令,由PA0~PA7来控制LED灯的位选,由PB0~PB7口来控制LED灯的段选,PC0口控制蜂鸣器的鸣叫,PC7口控制继电器的开合工作。

基于Java的嵌入式系统监控与控制设计与开发

基于Java的嵌入式系统监控与控制设计与开发

基于Java的嵌入式系统监控与控制设计与开发一、引言随着物联网技术的快速发展,嵌入式系统在各个领域得到了广泛应用,其中监控与控制系统是其中的重要组成部分。

本文将介绍基于Java的嵌入式系统监控与控制设计与开发的相关内容,包括系统架构设计、通信协议选择、传感器数据采集、远程监控与控制等方面。

二、系统架构设计在设计基于Java的嵌入式系统监控与控制系统时,首先需要考虑系统架构。

通常可以采用分布式架构,将系统划分为传感器节点、控制节点和监控中心三个部分。

传感器节点负责数据采集,控制节点负责执行控制指令,监控中心负责数据展示和远程操作。

三、通信协议选择在嵌入式系统中,通信协议的选择至关重要。

常用的通信协议包括MQTT、CoAP等。

在基于Java的嵌入式系统中,可以选择使用MQTT 协议进行数据传输,其轻量级的特点适合嵌入式设备。

四、传感器数据采集传感器数据采集是嵌入式系统监控的基础。

通过Java编程语言结合传感器模块,可以实现对温度、湿度、光照等环境参数的实时采集,并将数据发送至控制节点进行处理。

五、远程监控与控制基于Java的嵌入式系统监控与控制还需要考虑远程监控与控制功能。

通过搭建Web服务器,可以实现用户通过浏览器访问监控中心,实时查看传感器数据并进行远程控制操作,如远程开关灯、调节温度等。

六、安全性考虑在设计嵌入式系统监控与控制时,安全性是一个重要考虑因素。

通过使用SSL加密通信、身份验证等技术手段,可以保障系统数据的安全性,防止被恶意攻击者篡改或窃取敏感信息。

七、性能优化为了提高基于Java的嵌入式系统监控与控制的性能,可以采用多线程技术对数据采集和处理进行优化,减少系统响应时间;同时可以对代码进行优化,减少资源消耗,提高系统运行效率。

八、未来展望随着物联网技术的不断发展,基于Java的嵌入式系统监控与控制将会有更广阔的应用前景。

未来可以进一步完善系统功能,增加智能算法支持,实现更智能化的监控与控制。

java实现屏幕共享的小程序

java实现屏幕共享的小程序

java实现屏幕共享的⼩程序最近在做软件软件⼯程的课程设计,做⼀个⽤于实验室的屏幕监控系统,参考各种前⼈代码,最后领悟之后要转换⾃⼰的代码,初学者都是这样模仿过来的。

说到屏幕监控系统,有教师断和学⽣端,教师端就是Server端,学⽣端就做Client端。

系统⾥⽐较有趣的⼀个地⽅应该算是屏幕⼴播与屏幕监控吧,其余什么点名签到,锁屏,定时关机的,就相对来说简单点。

屏幕⼴播,在功能实现上⾯,说⽩了,就是教师端的机器不断截取屏幕信息,以图⽚的形式发送到每⼀个学⽣端的电脑上⾯,由此学⽣能够看见⽼师在电脑上的操作,这就是所谓的屏幕⼴播。

这⾥⾯有个⿇烦的地⽅,就是截取屏幕图⽚的时候,是没有⿏标信息。

不过有两种解决办法:①在发送截图信息时,在图⽚上绘制⼀个⿏标,这样在学⽣端就会有两个⿏标,学⽣端可以移动⾃⼰电脑上的⿏标。

②发送教师端的⿏标坐标到学⽣端上,学⽣端的电脑⿏标根据坐标信息实时移动,这⾥其实是涉及到控制的功能了,学⽣端就不能移动⿏标了。

屏幕监控相对棘⼿点,其实这是这包含俩功能:①教师监控所有学⽣电脑屏幕的功能;②教师控制某⼀个学⽣的电脑;因为涉及到并发,每个client都要实时的把屏幕信息发到教师端上,会有点⿇烦,不过还是可以实现。

下⾯是不带⿏标的屏幕共享功能,⽐较简单,有待完善,不过可以作为⼀个⼯具类在后⾯集成使⽤。

后⾯补充了把⿏标画上去的代码,只需要3⾏。

⾸先是教师端Server:package Test;import java.awt.Dimension;import java.awt.Rectangle;import java.awt.Robot;import java.awt.Toolkit;import java.awt.image.BufferedImage;import java.io.DataOutputStream;import java.io.IOException;import .ServerSocket;import .Socket;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;import javax.imageio.ImageIO;/** ly 2014-11-20* 该类实时发送截屏消失,多线程实现,不包含⿏标信息,且没有做对每个Client做优化处理*/public class SendScreenImg extends Thread{public static int SERVERPORT=8000;private ServerSocket serverSocket;private Robot robot;public Dimension screen;public Rectangle rect ;private Socket socket;public static void main(String args[]){new SendScreenImg(SERVERPORT).start();}//构造⽅法开启套接字连接机器⼈robot 获取屏幕⼤⼩public SendScreenImg(int SERVERPORT){try {serverSocket = new ServerSocket(SERVERPORT);serverSocket.setSoTimeout(864000000);robot = new Robot();} catch (Exception e) {e.printStackTrace();}screen = Toolkit.getDefaultToolkit().getScreenSize(); //获取主屏幕的⼤⼩rect = new Rectangle(screen); //构造屏幕⼤⼩的矩形}@Overridepublic void run(){//实时等待接收截屏消息while(true){try{socket = serverSocket.accept();System.out.println("学⽣端⼝已经连接");ZipOutputStream zip = new ZipOutputStream(new DataOutputStream(socket.getOutputStream())); zip.setLevel(9); //设置压缩级别BufferedImage img = robot.createScreenCapture(rect);zip.putNextEntry(new ZipEntry("test.jpg"));ImageIO.write(img, "jpg", zip);if(zip!=null)zip.close();System.out.println("Client正在实时连接");} catch (IOException ioe) {System.out.println("连接断开");} finally {if (socket != null) {try {socket.close();} catch (IOException e) {e.printStackTrace();}}}}}}然后是学⽣端Client:package Test;import java.awt.Frame;import java.awt.Image;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.DataInputStream;import java.io.IOException;import .Socket;import java.util.concurrent.TimeUnit;import java.util.zip.ZipInputStream;import javax.imageio.ImageIO;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;/** ly 2014-11-20* 该类⽤于接收教师端的屏幕信息,不包括⿏标,待优化*/public class ReceiveImages extends Thread{public BorderInit frame ;public Socket socket;public String IP;public static void main(String[] args){new ReceiveImages(new BorderInit(), "127.0.0.1").start();}public ReceiveImages(BorderInit frame,String IP){this.frame = frame;this.IP=IP;}public void run() {while(frame.getFlag()){try {socket = new Socket(IP,8000);DataInputStream ImgInput = new DataInputStream(socket.getInputStream());ZipInputStream imgZip = new ZipInputStream(ImgInput);imgZip.getNextEntry(); //到Zip⽂件流的开始处Image img = ImageIO.read(imgZip); //按照字节读取Zip图⽚流⾥⾯的图⽚frame.jlbImg.setIcon(new ImageIcon(img));System.out.println("连接第"+(System.currentTimeMillis()/1000)%24%60+"秒");frame.validate();LISECONDS.sleep(50);// 接收图⽚间隔时间imgZip.close();} catch (IOException | InterruptedException e) {System.out.println("连接断开");}finally{try {socket.close();} catch (IOException e) {}}}}}//Client端窗⼝辅助类,专门⽤来显⽰从教师端收到的屏幕信息class BorderInit extends JFrame{private static final long serialVersionUID = 1L;public JLabel jlbImg;private boolean flag;public boolean getFlag(){return this.flag;}public BorderInit(){this.flag=true;this.jlbImg = new JLabel();this.setTitle("远程监控--IP:" + "--主题:" );this.setSize(400, 400);//this.setUndecorated(true); //全屏显⽰,测试时最好注释掉//this.setAlwaysOnTop(true); //显⽰窗⼝始终在最前⾯this.add(jlbImg);this.setLocationRelativeTo(null);this.setExtendedState(Frame.MAXIMIZED_BOTH);this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);this.setVisible(true);this.validate();//窗⼝关闭事件this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {flag=false;BorderInit.this.dispose();System.out.println("窗体关闭");System.gc(); //垃圾回收}});}}很晚了,从未成品中抽取了这么个⼩功能,因为答应某位童鞋给链接的,距离成品还有很多要写,后续补上吧。

远程监控系统的设计与实现

远程监控系统的设计与实现

远程监控系统的设计与实现1. 引言远程监控系统是一种应用广泛的信息技术系统,可以实现对远程目标实时的监控和管理。

本文将从系统的设计和实现两个方面进行介绍,以便更好地理解远程监控系统的工作原理和应用。

2. 远程监控系统的设计2.1 系统需求分析在开始设计远程监控系统之前,首先需要明确系统的需求。

对于监控目标的种类、数量以及监控内容的要求都需要进行详细的分析和确定。

2.2 系统结构设计远程监控系统的结构设计主要包括硬件和软件两个方面。

硬件方面包括监控设备、数据传输设备以及控制终端等内容。

软件方面主要包括远程控制软件和数据处理软件。

2.3 数据传输方式设计远程监控系统的数据传输需要保证数据的实时性和稳定性。

常用的数据传输方式包括有线传输、无线传输以及云端传输等。

根据实际情况选择合适的数据传输方式,确保数据的安全和可靠传输。

2.4 网络架构设计远程监控系统的网络架构设计是系统设计的重要部分。

根据监控目标的分布情况和通信需求确定适合的网络架构,如星型、环型、总线型等,以确保监控数据的及时传输和处理。

3. 远程监控系统的实现3.1 硬件实现根据系统设计的需求,选择合适的监控设备和数据传输设备,并进行正确的配置和安装。

根据实际情况可能需要进行设备调试和维护,以保证系统的稳定性和可靠性。

3.2 软件实现远程监控系统的软件实现包括远程控制软件和数据处理软件。

远程控制软件用于远程监控目标的实时图像传输和远程控制操作;数据处理软件用于对监控数据的处理和分析,如图像识别、数据统计等。

3.3 系统测试与优化在完成硬件和软件的实现后,需要对整个系统进行测试和优化。

通过对系统的功能、稳定性和可靠性进行测试,及时发现和解决问题,提高系统的性能和可用性。

4. 远程监控系统的应用远程监控系统具有广泛的应用前景。

它可以应用于工业生产、建筑工地、交通运输、安防监控等各个领域。

通过实时监控和远程控制,可以提高工作效率,降低人力和资源的浪费。

基于Java技术的远程质量监控系统

基于Java技术的远程质量监控系统
质 量监 控 系统 的实现 技 术 , 述 了系统 的组 成 、 介 描 结构 和 软 件模 型 , 并 应用 J v a a网络技 术 设计 了一套 由远 程 质量 监控 中心 、 场 制造 过程 监 控 中心 以及 如位 移传 感 现
器、 温度测 试 与报 警装 置 等底 层 测控 单元 组 成 的 3层 分 布 式质量 监控 系统软 件 , 实现 了远 程 制
q at nrl te einuigoi tdo jc t h iu s g A A cnb ai a sot ulyc t , h s s r ne b t e nq eui V a e syt n p r dt i o o d g n e e c nj e l r e o
维普资讯
带 2 卷 第 2期 1
20 0 7年 3月
山 东 理 工 大 学 学 报 ( 然 科 学 版) 自
J u n l fS a d n iest fTe h oo y Nau a ce c dto ) o r a h n o g Unv ri o c n 1g ( t r1S in e E iin o y
nq e,a s to hr e ly r ds rbu e nu a t rn r c s u l y mo io yse i e eop d iu e f t e a e it i t d ma fc u i g p o e s q ai n t r s tm s d v l e . t Th y t m o it f t e r mo e q a iy ma a e c n e ,t e ma f cu i g p o e s s pe vso e s se c nss s o h e t u l n g e t r h nu a t rn r c s u r ii n t c n e n heu t fme s r n on r lly rs c sd s lc me ts ns r h e ieo e e — e t ra d t niso a u ea d c to a e u h a ip a e n e o ,t e d v c ftmp r

基于JAVA的远程视频监控系统设计答辩ppt

基于JAVA的远程视频监控系统设计答辩ppt
基于JAVA的远程视频监控系统
指导教师: 答 辩 人: 专 业:
论文框架
• • • • • 一、题背景及研究意义 二、方案设计和环境搭建 三、本地受控模块软件设计 四、远程控制端连接与数据图像传输 五、总结与展望
课题背景及研究意义
• 1.鉴于现今各行业的安全要求,每天随时随地的派出人员 去现场值班工作是对人力和物力的一种浪费,鉴于这种状 况程的视频监控系统的设计就被提出。 • 2.传统的安防监控已经不能满足现代的需要,视频监控应 逐步与管理信息系统结合,以达到信息共享,提供更有效 、更方便的决策方案。
构件升级
浏览器 信息流向可变化 地域分散与系统关系较小 构件独立
方案设计和环境搭建
• 2.远程视频监控系统总体结构设计
发送获取受控端图像指令
TCP/IP socket
远程控制端 图像经过编码发送至手机 本地受控段
远程控制系统总体结构设计
本地受控模块软件设计
• 1.JAVA媒体框架(JMF)
编码支 持 媒体捕 获
面向连接的、可靠的、基于字节流 的传输 握手信号通信双方建立通信链路 提供连续无间隔的面向数据流的数 据传输,还可提供网络传输中的流 量控制
面向无连接的、实时性强的报文传输
客户端可以直接将所要传输的数据通 过UDP端口发往服务器端 UDP不提供流控制,却提供了面向报 文的接口,在需要进行数据传输时, 发送方要明确提供发送数据的字节数
JMF
压缩 流传
回放
本地受控模块软件设计
•2.基于JMF的传输模型的整体设计
捕获设备 数据源
图像处理
Internet
数据编码
数据源
数据源
数据编码 JMF的传输模型的整体结构设计
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


JAVA实验(9)

课程名称: Java 面向对象程序设计
学 院: 管 理 学 院
专业班级:信息管理与信息系统(6)班
学 号: 3108006406
姓 名: 张钟权
任课教师: 聂 小 东

2010年05月22日
管 理 学院 信息管理与信息系统专业 08信管6班 ______组
学号3108006406姓名张钟权 协作者 教师评定_____________
实验题目 远程屏幕监控系统
一、 实验目的与要求
(1)实验目的:通过在指定的窗口界面完成远程屏幕监控系统程序的编写
和调试,了解该系统如何在控制端输入被控端的IP地址后,就可以抓
取到被控端的屏幕图像并对被控端进行远程操作。
(2)实验要求:按照Java程序设计教程的要求完成服务器端程序和客户端
程序的编写和调试。

二、 实验方案
1、服务器端程序的实现:
I、定义了一个ServerTest 类,其父类为Thread :

main()方法:主函数,建立窗口并安排界面布局;

ServerTest()方法:构造函数,建立UDP数据报对象;

sendScreen()方法:按UDP协议发送压缩的屏幕图像数据包;

run()函数:接受和执行控制命令。
2、客户端程序的实现:
I、定义了一个ClientTest类,其父类为JLabel,实现了接口Runnable:

main()方法:建立输入被控端IP地址的窗口及显示被控端屏幕图像
窗口,并设置键盘监听;

ClientTest()方法:设置传送UDP数据报指令的参数,定义向被控端
发出截取屏幕图像指令的线程,定义监听鼠标事件;

run()方法:接收被控端传来的屏幕图像数据;

getScreen()方法:将接收到的屏幕图像数据进行解压,还原成图像;

sendKey()方法:向被控端发送控制控制键盘事件的指令;

sendMouse()方法:向被控端发送控制鼠标事件的指令;

paint()方法:绘制被控端的屏幕图像。

三、 实验结果和数据处理
1、服务器端程序的实现:
run()方法:用于接收远程控制者发来的控制指令数据包,并开包检查数
据内容,按指令的不同执行相应的动作。

2、客户端程序的实现:

发送键盘指令的方法sendKey():


发送控制鼠标事件的方法sendMouse():
四、 结论
远程屏幕监控系统是一个客户机\服务器系统,程序分为服务器端和客
户端两部分,服务器端发送自己的屏幕图像,接收客户端传来的控制命令
并执行相应的操作;而服务器端传来的屏幕图像则向被控端电脑发送鼠标
操作或键盘操作指令。

五、 问题与讨论
此次实验,是对远程屏幕监控系统的处理操作,这是一个用于局域网
的远程屏幕监控系统,在控制端输入被控端的IP地址后,就可以抓取到被
控端的屏幕图像,还可以对被控端进行远程操作。

相关文档
最新文档