컴퓨터과학과 2007311034 임재 욱

16
컴컴컴컴컴컴 2007311034 컴컴컴 Smart Mouse

Upload: ivana-cummings

Post on 30-Dec-2015

56 views

Category:

Documents


8 download

DESCRIPTION

Smart Mouse. 컴퓨터과학과 2007311034 임재 욱. 1 개발 목적 및 개발 환경 2 서버 구현 (C#) 3 클라이언트 구현 (Android, Java) 4 시연. SmartMouse. 1 개발 목적 및 개발 환경. SmartMouse. 개발 목적 및 개발 환경. 01. 1 개발 목적. 내 용 필요 성 PPT 발표를 할 때 한자리에 서서 발표를 하거나 다른 사람이 PC 를 조작 혹은 별도의 리모컨을 이용하게 된다 . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 컴퓨터과학과 2007311034 임재 욱

컴퓨터과학과2007311034임재욱

Smart Mouse

Page 2: 컴퓨터과학과 2007311034 임재 욱

1 개발 목적 및 개발 환경2 서버 구현 (C#)3 클라이언트 구현 (Android, Java)4 시연

SmartMouse

Page 3: 컴퓨터과학과 2007311034 임재 욱

SmartMouse

1 개발 목적 및 개발 환경

Page 4: 컴퓨터과학과 2007311034 임재 욱

4

개발 목적 및 개발 환경01

1 개발 목적

내용• 필요성 PPT 발표를 할 때 한자리에 서서 발표를 하거나 다른 사람이 PC 를 조작 혹은 별도의

리모컨을 이용하게 된다 .거의 모든 사람들이 스마트폰을 사용하는 요즘 간단한 프로그램과 어플리케이션 실행으로 스마트폰을 마우스처럼 사용할 수 있도록 구현해 보았다 .

• 구현 내용 안드로이드 스마트폰의 터치센서 , 자이로 센서 , 가속 센서 , 중력센서 등을 이용하여

마우스를 제어할 수 있도록 구현하였다 .연결의 경우 WiFi 혹은 인터넷을 통하여 구현하였다 .

Page 5: 컴퓨터과학과 2007311034 임재 욱

5

개발 목적 및 개발 환경01

2 개발 환경

내용• Windows8 x64• VisualStudio 2012• .NET Framework 2.0• ADT (Android Developer Tools) v21.1.0• 안드로이드 SDK 4.2 API LEVEL : 17• 옵티머스 G 4.1.2• TCP/IP 100M 급 Internet (WiFi 환경 )

• 개발 언어 C#, Android(Java, XML)

Page 6: 컴퓨터과학과 2007311034 임재 욱

SmartMouse

2 서버 구현 (C#)

Page 7: 컴퓨터과학과 2007311034 임재 욱

7

02 서버 구현 (C#)

처음 돌아가는 함수인 Wait-ingSocket() 에서 시작된 BeginAccept 가 Accept 되면 EndAccept 가 진행되고BeginReceive 가 시작됨

AcceptReceiveCallback 에서 시작된 BeginReceive 가 메시지를받게되면 EndReceive 가 진행되고MouseEvent 를 처리 후 다시BeginReceive 가 시작됨

Page 8: 컴퓨터과학과 2007311034 임재 욱

8

02 서버 구현 (C#)

소스 코드

80 public void AcceptReceiveCallback(IAsyncResult ar)81 {82 Server = (Socket)ar.AsyncState;83 try84 {85 Client = Server.EndAccept(ar);86 ad = new clientAcceptDelegate(getClientIP);87 this.Invoke(ad);88 Client.BeginReceive(getByte, 0, getByte.Length, SocketFlags.None, newAsyncCallback(CallBack_ReceiveMsg), Client);89 }90 catch (ObjectDisposedException e)91 {92 //MessageBox.Show(e.ToString());93 }94 catch (SocketException se)95 {96 //MessageBox.Show(se.ToString());97 }98 catch (Exception e)99 {100 //MessageBox.Show(e.ToString());101 }102 }

104 public void CallBack_ReceiveMsg(IAsyncResult ar)105 {106 int length;107 getString = null;108109 Client = (Socket)ar.AsyncState;110111 try112 {113 length = Client.EndReceive(ar);114 if (length > 0)115 {116 getString = Encoding.UTF8.GetString(getByte, 0, length);117 if (getString != String.Empty)118 {119 // 폰에서 전송한 내용 처리 시작 ( 실제 마우스 입력 되도록 )120 ControlMouse();121 }122 Client.BeginReceive(getByte, 0, getByte.Length, SocketFlags.None, newAsyncCallback(CallBack_ReceiveMsg), Client);123 }124 else125 {126 if (Server != null)127 Server.Close();128 if (Client != null)129 Client.Close();130 ad = new clientAcceptDelegate(initClientIP);131 this.Invoke(ad);132 WaitingSocket();133 }134 }135 catch (ObjectDisposedException obje)136 {137 }138 catch (SocketException se)139 {140 }141 catch (Exception e)142 {143 }144 }

Page 9: 컴퓨터과학과 2007311034 임재 욱

9

02 서버 구현 (C#)

소스 코드

146 void WaitingSocket()147 {148 IPAddress serverIP = IPAddress.Any;149 IPEndPoint serverEndPoint = new IPEndPoint(serverIP, serverPort);150151152 try153 {154 Server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);155 Server.Bind(serverEndPoint);156 Server.Listen(10);157158 Server.BeginAccept(new AsyncCallback(AcceptReceiveCallback), Server); 159 }160 catch (SocketException socketEx)161 {162 // MessageBox.Show(" 네트워크 에러입니다 .₩n" + socketEx.ToString());163 }164 catch (Exception commonEx)165 {166 // MessageBox.Show(" 시스템 에러입니다 .₩n" + commonEx.ToString());167 }168169 }

Page 10: 컴퓨터과학과 2007311034 임재 욱

10

02 서버 구현 (C#)

실행 화면

어플리케이션 실행 전 어플리케이션 실행 후

Page 11: 컴퓨터과학과 2007311034 임재 욱

SmartMouse

3 클라이언트 구현 (Android, Java)

Page 12: 컴퓨터과학과 2007311034 임재 욱

12

03

안드로이드 구동 원리

클라이언트 구현

Process

Application

Activity BroadCastReceiver

ContentProvider Service

Page 13: 컴퓨터과학과 2007311034 임재 욱

13

03 클라이언트 구현

Page 14: 컴퓨터과학과 2007311034 임재 욱

14

03

실행 화면

클라이언트 구현

로딩 화면 연결 뒤 화면연결 전 화면

Page 15: 컴퓨터과학과 2007311034 임재 욱

SmartMouse

4 시연

Page 16: 컴퓨터과학과 2007311034 임재 욱

감사합니다