드라군 통신 파트 조유진.

Slides:



Advertisements
Similar presentations
스마트폰 화면에서 안드로이드 마켓을 클릭하여 접속합니다. [그림 1-1] 안드로이드 전용 어플리케이션 설치 방법 1. 굿바이 학교폭력 Mobile App 설치 안드로이드폰 설치 방법 마켓에서 검색 아이콘을 클릭 하여 검색창을 활성화 합니다. 굿바이 학교폭력 어플명을 입력.
Advertisements

임직원 APP 설치 가이드 경영전략처 정보기획 TF 팀. 임직원 App- 운영체제 구분  안드로이드 갤럭시, 갤럭시노트, 갤럭시 S4 [ 삼성전자 ] 옵티머스 [LG 전자 ] 베가 [ 팬텍 모토로이 [ 모토롤라 ]  ios 아이폰 [ 애플.
발 표 일 : 발 표 자 : 07 김 동 희 안드로이드를 이용한 앱 개발.
1 강. 안드로이드 개요 및 개발 환경 구축 - 안드로이드 개요 -JDK 설치 -Path 설정 - 이클립스 설치 -ADT, SDK 설치 Lecturer Kim Myoung-Ho Nickname 블스
스마트폰용 차량 블랙박스 --- ▶근래엔 차량에 장착하여 주행영상을 녹화하는 용도로 사용.
1 넷스팟 MAC ID 설정 방법 ( 서울캠퍼스 기준 ) 각종 스마트폰의 WiFi 를 이용시 각종 스마트폰의 WiFi 를 이용시 MAC ID 설정을 하는 방법 입니다. 아이폰의 경우는 별도의 설정없이 바로 사용이 가능하오니, 사용이 어려울 경우, 고객센터로 문의하시면 됩니다.
스마트 KTC 사용자 매뉴얼 스마트폰용 모바일학생증 앱 설치 및 기본기능. 강원관광대 스마트 KTC 앱 설치 강원관광대학교 모바일학생증 앱 ( 이하 ‘ 스마트 KTC’ 로 명명 ) 은 안드로이드폰은 Google Play Store, 아이폰 은 App Store 에서 무료로.
한국예탁결제원 모바일 서비스 안내. 1. KSD 모바일 서비스 구축 배경 스마트폰 보급 및 이용확대 모바일 환경으로 서비스 환경 변화 고객 니즈 수용 및 서비스 향상.
멀티미디어 신기술 세미나 프로젝트 제안서 김현철 김경률.
데이터 완전삭제프로그램 Perfect Delete 사용설명서  주의 이 프로그램을 이용하여 삭제된 데이터는 어떠한 방법으 로도 복구가 불가능합니다. 그러므로 실제 데이터 삭제시 신중을 기하기 바랍니다.
앱인벤터 기초과정 (1차시) ㈜헬로앱스 강사: 김영준 목원대학교 겸임교수.
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
컴퓨터와 인터넷.
(1) 설정에서 ‘일반’ 터치 Ⅱ-2. 블루투스로 테더링하기 아이 폰으로 테더링 하기
CHAP 22. 블루투스.
그림으로 쉽게 설명하는 안드로이드 프로그래밍
2. 앱 개발환경 구축 Step by Step 안드로이드 프로그래밍 쉽게 시작하는 안드로이드 4.4 앱 개발.
新 연구관리 프로그램 SAP 설치 안내 1. SAP GUI 7.3 설치 2전자증빙 솔루션 설치 배포 :
Index SendMemo 기능 Q & A 팀 소개 배경 및 목적 구현
<<< 시스템등록정보 “하드웨어-장치관리자” 설정 >>>
부산여자대학교 출결 시스템 학생 안내
2013 스마트 컨트롤러 중간 프로젝트 김성엽 진종영 조유진
Android Wi-Fi Manual (Guest용)
KN A (Rev.1.0) BIXOLON MOBILE PRINTER
Bluetooth Billionton Setup
갤럭시 S를 이용한 자동차 원격 제어 시스템 담당교수 : 진현욱 교수님
CHAP 24. nfc와 앱위젯.
운영체제 박상민.
31강 JAVA 네트워크 JAVA 네트워크 InetAdress, URLConnection 클래스 Socket의 이해
Android 시리즈 H2O SIM Card 데이터 사용 설정 방법
AP 모드 활용하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
8장. 원격지 시스템 관리하기.
Visual Basic .NET 처음 사용하기.
Capstone-Design : IoTeam Introduction Abstract
HomeNetWork의 개념과 실생활의 예
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
NJM Messenger 박상원 박연호.
블루투스로봇(Bluetooth Robot)-
DK-128 ADC 실습 아이티즌 기술연구소
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
SSL-VPN 설치 및 접속 설명서.
S-Link 사용자 매뉴얼.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
Android studio로 Application 만들기.
재해 및 미개척지 탐사를 위한 4족 보행 로봇 제어 허준영 교수님 연구실 2007 손승하 2006 우인식.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
2016년 2학기 PULSE 4 Experiment 12 – 블루투스 통신.
Nessus 4 설치 정보보호응용 조용준.
Global Positioning System
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
회원가입 안내 AROPA EDU Class Mate!
[그림 1-1] 안드로이드 전용 어플리케이션 설치 방법
클라우드 서버로 부터 값 읽어오기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
[졸업프로젝트] 제안서 발표 가변적 스마트폰 Menu Display
웹서버 기능으로 데이터 읽기 및 제어하기 WiFi 시리얼 보드 활용가이드 김영준
CHAP 21. 전화, SMS, 주소록.
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
청각장애인용 APP 구성 및 사용법.
13차시_스마트 애플리케이션 기획 스마트 미디어의 사용환경과 사용자의 특성.
PART 1 앱 인벤터 프로젝트 12 원격 로봇. PART 1 앱 인벤터 프로젝트 12 원격 로봇.
CHANGWON NATIONAL UNIVERSITY DEPT. COMPUTER ENGINEERING
아두이노 프로그래밍 5일차 – Part1 블루투스 통신 강사: 김영준 목원대학교 겸임교수.
DK-128 직렬통신 실습 아이티즌 기술연구소
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
경기도교육청ㅣ학생학부모지원과 l 방과후학교 l 스마트폰
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
사용자 메뉴얼 (1.5 AVN) Pairing - AVN으로 연결하기 - 휴대폰으로 연결하기.
생산성 증대 효율성 향상 측정 수행 능력.
Presentation transcript:

드라군 통신 파트 조유진

개발 개요 기본 목표는 Bluetooth 장치에 값을 송수신하여 조종할 수 있도록 한다 거의 누구나 편하게 사용할 수 있고, 재사용이 가능하도록 한다 통신!

수신 파트(Slave) 1. 모듈 및 ATmega2560 프로그램

Bluetooth?? 블루투스(Bluetooth)는 1994년 에릭슨이 최초로 개발한 개인 근거리 무선 통신(PANs)을 위한 산업 표준이다.(위키피디아) 최근에는 스마트폰이나 PC에도 내장되어 있음 제일 저렴해 보여서 시도

모듈 정보 모듈이름 : FB155BC 제작회사 : Firmtech 구동전압 : 3.3V 통신방법 : Bluetooth Specification V1.2 통신거리 : Up to 30 M 프로파일 : SPP(Serial Port Profile)

모듈 세팅 정보 VCC(3.3v), GND를 연결한다 Rx는 개발 보드의 Tx에, Tx는 개발 보드의 Rx에 연결한다 상태 핀은 기기의 현재 상태(대기 중, 검색 대기 중, 통신 중 등)를 나타내므로 LED를 연결하여 쉽게 알 수 있도록 한다. UART통신 환경을 설정한다(9600/8/None/1) 수신 인터럽트를 설정하여 수신 값을 그때 그때 처리할 수 있도록 한다 기기의 이름, PIN Number 등 기본 정보들을 설정한다. 일반적으로 Slave모드로 설정되어있다 AT+BTSCAN\r을 전송해 검색이 가능하게 설정한다

데이터 송수신 USART 0는 모터 제어에 사용되어 1을 이용 조도 센서의 값을 ADC로 변환하여 해당 값을 UART TX로 전송 수신 인터럽트로 들어온 값들은 switch문으로 처리한다

Atmega2560 프로그램 시작 시작 데이터가 들어오면 인터럽트 수신된 값을 읽어 들임 UART1 설정 및 모듈 설정 수신 인터럽트 끝 수신된 값 값에 따른 움직임 처리 전/후/좌/우/1/2/3/4/5… 시작 수신된 값을 읽어 들임 시작 UART1 설정 및 모듈 설정 조도 센서 값 ADC while(1) 변환된 값 전송 데이터가 들어오면 인터럽트

송신 파트(Master) 2. Android 어플리케이션

Android 란? Linux를 기반으로 한 휴대용 기기 OS 오픈 소스이며, 무료이다 전세계적으로 뛰어난 점유율을 가짐 버전 명을 디저트 이름으로 쓰는 것도 특징 (E)이클레어→(F)프로요→(G)진저브레드→(H)허니컴 →(I)아이스크림 샌드위치→(J)젤리빈→(K)키라임파이 Java나 C/C++로 개발이 가능하다 개발 프로그램도 무료로 제공되며 편리하게 개발할 수 있게 되어있음 Eclipse+ADT, Android Studio

어플리케이션 개발 환경 지원 Android 버전 개발 OS 사용 프로그램 개발 언어 기기 스펙 API 8(프로요) ~ API 16(아이스크림 샌드위치) 개발 OS 윈도우 XP, 윈도우 7 사용 프로그램 Eclipse + ADT Bundle 개발 언어 Java(App), C(AVR) 기기 스펙 Android 2.3.4(진저브레드) → Android 4.0.4(아이스크림샌드위치) Bluetooth 3.0(모듈은 1.2)

App 개요 사용 기능 사용된 파일 목표 Android API를 통한 Bluetooth SPP 통신 Source(Java 파일) 9개, Layout(XML 파일) 6개 목표 버튼을 클릭하거나 터치할 때 값을 전송 조도 센서 등의 값을 수신해 화면에 출력 기기 정보를 알아냄 일정시간 이상 대기 시 새로운 값을 전송

화면(1)

화면(2) 게임기 조이스틱에서 모티브를 따왔음 (현재 Control Type 추가 됨)

Bluetooth 통신 기본적으로 안드로이드에서 API를 통해 통신 방법을 제공함 통신 방법은 기존의 TCP/IP와 매우 유사함 연결 시 connect(), 종료 시 close() write()함수와 read()함수를 이용함 장치 검색→연결→데이터 송수신→연결 종료 데이터는 드라군 모드와 자동차 모드에 따라 조금 다른 방식으로 전송된다(드라군 모드-클릭에 반응, 자동차 모드-터치에 반응) 장치와 연결을 좀 더 효율적으로 사용 Singleton 패턴을 이용하여 단일 객체 매니저 클래스를 생성함

통신에 앞서서… 블루투스가 허용 상태인지, 기기가 블루투스를 지원하는 지 알아야 하므로 이를 먼저 체크한다. 1. 장치가 블루투스를 지원하는가? O : 다음으로 진행 X : Toast를 띄우며 프로그램을 종료 2. 장치의 블루투스가 Disable상태인가? O : Enable해준다 X : 바로 진행

장치 검색 및 접속 3. 주변에 있는 모든 검색 가능한 블루투스 장치들을 찾아 목록으로 보여줌 ArrayList를 통해 관리되며 ListView(목록형 UI)로 볼 수 있다 각각의 항목은 장치 이름/MAC 주소로 이루어진다 4. 클릭 시 접속할 지 알림 창을 띄워준다 O : 블루투스 소켓을 만들어 접속 시도 소켓은 UUID(범용 장치 ID)를 통해 생성(SPP) 오류가 일어났을 시, 거리상 제약이 있거나 UUID의 문제일 확률이 높다 X : 아무 일도 일어나지 않음

메시지 송수신 5. 4에서 연결한 것을 기반으로 InputStream(수신에 이용), OutputStream(송신에 이용)을 생성 6. (송신)OutputStream의 write(Bytes[]) 이용 인자는 전송할 버퍼를 의미, 버튼 터치 및 클릭 시 입력 됨 문자열도 전송 가능 본 어플리케이션에선 기기와 효율적인 통신을 위해 unsigned char에 대응 7. (수신)InputStream의 read(Bytes[]) 이용 인자는 저장할 버퍼를 의미, 반환 값은 읽어 들인 길이를 의미 블로킹 함수이므로 Thread를 이용 단, 화면을 그리는 것도 Thread이므로 충돌해 수신된 값을 출력시키는 데에 문제가 생긴다. 때문에 Handler를 이용

뒤처리 TCP/IP통신에서도 close()를 해주었듯이 블루투스 소켓도 close()를 사용하여 닫아준다.

Android App 주요 클래스 블루투스 관리 액티비티(화면) 블루투스 장치를 관리하며, 수신된 값이 들어 있음 BluetoothManager 블루투스 수신 데이터를 UI에 반영 BluetoothHandler 블루투스 데이터를 다른 작업에 지장을 주지 않고 수신 BluetoothThread 제일 처음 어플리케이션을 실행했을 때 MainActivity 장치 검색 SearchActivity 블루투스 장치에 데이터를 송수신 RemoteActivity 블루투스 관리 액티비티(화면)