Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bluetooth 경희대학교 컴퓨터공학과 조 진 성.

Similar presentations


Presentation on theme: "Bluetooth 경희대학교 컴퓨터공학과 조 진 성."— Presentation transcript:

1 Bluetooth 경희대학교 컴퓨터공학과 조 진 성

2 Bluetooth 유래 Bluetooth 이름의 유래
10세기 덴마크와 노르웨이를 통일한 바이킹 지도자 Harald Blaatand의 별명 말 그대로 파란 이빨이란 의미 다른 통신 장치 기기들간의 연결을 통일하자는 의미로 Project명으로 사용 서로 다른 기기들을 선이 없이 연결하겠다는 뜻과 경쟁 관계에 있는 통신 표준을 제치고 세계시장을 장악하겠다는 뜻이 담김 Ericsson Mobile Communication의 사내 프로젝트로 시작,1994

3 Bluetooth 개념 Bluetooth SIG (Special Interest Group) Members
Promoters : Ericsson, Nokia, IBM, Toshiba, Intel, Microsoft, Motorola , 3Com, Lucent Technologies Associate Adopter Website : ,

4 Bluetooth Concept

5 Data/Voice Access Points Personal Ad-hoc Networks
Bluetooth Concept Cable Replacement Data/Voice Access Points Personal Ad-hoc Networks

6 Bluetooth 특징 특징 스펙 79 Channel ,1MHz/CH 사용 범위 : 10~100m
저렴한 비용, 낮은 전력 소모, 작은 범위 Low Cost : $5 per Chip Low Power : 0.3~30mA (휴대용 기기에 적합) Short Range : 10m~100m 네트워크의 자유도, 개인성 (PAN), 다른 기종과의 접속, 글로벌성 스펙 2.4GHz ISM (Industrial Scientific Medical) Band 79 Channel ,1MHz/CH 사용 범위 : 10~100m 최대 전송 속도 : 1Mbps

7 Bluetooth 적용 범위 적용 범위 핸드폰, PDA, 노트북과 같은 정보기기들간의 양방향 근거리 통신을 위한 기술로 SIG (Special Interest Group) 에서 개발한 무선 홈 네트워크 기술, 표준 및 제품을 총칭한다. 휴대폰 : 무선헤드셋, 인터넷 접속, 인터콤/무선전화/휴대폰의 복합기능 폰 노트북 : 휴대폰을 통한 인터넷 접속 자동차, 컴퓨터 주변기기, 가전제품 등에 적용

8 Bluetooth 코어 규격

9 Bluetooth 무선접속형태 단말기 : 휴대전화, PC (노트북 PC), PC주변기기, PDA, 헤드폰 스테레오, AV기기, 디지털카메라, 카 네비게이터, 레지스터, 무선 LAN (단말측) 등 고정기기 : 고정 전화회선, 무선 LAN (고정회선), 오피스 네트워크 등 인프라 측의 설비

10 Bluetooth 네트워크 구성 무선 접속 형태 피코넷 (Piconet) 스캐터넷 (Scatternet)
1대의 Master 주위 약 10m 이내의 거리에 최대 7대까지 Slave를 접속 스캐터넷 (Scatternet) 피코넷을 연결하여 구성하는 네트워크 100m 범위 내에서 구현 가능 이론상 피코넷을 100개 이상 접속한 스캐터넷 구축 가능

11 유사 기술 비교

12 Pxa255 Pro Bluetooth Module
Product Name : BlueSEM-CII Bluetooth V1.1 Module New Product ID : BTxZ50x2xx (Old ID :BTM1C2NR50, BTMZ5012x0 &BTMZ5012x1) Product ID Definition Digit 1~2 : Product's Abbreviation (BT: Bluetooth) Digit 3 : Interface/Application (A: USB Interface) (B: RFCOMM Interface) (E: UART Interface, 115.2k) (x: Undecided Code) Digit 4~6 : Module Size ( Z50 : 0.5cc ) Digit 7 : Hardware Revision (Starting from 0 ; x: Undecided Code) Digit 8 : Power Class ( 2 : Class2 ) Digit 9 : Customer Code (x: Undecided Code) Digit 10 : Firmware Revision (x: Undecided Code)

13 Bluetooth Block Diagram

14 Bluetooth Physical Dimension

15 Bluetooth Pin Description

16 Bluetooth Pin Description

17 Bluetooth Test Application
PXA-255 Bluetooth 사용 준비 점퍼 스위치 : 7번 스위치 On Bluetooth는 ttyS1으로 통신 Ramdisk에서 ttys2 이외 것들은 사용되지 않도록 수정

18 Bluetooth Test Application
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <termios.h> // 시리얼 통신 프로그램 tcgetattr(), tcsetattr() #include <stdio.h> #include <strings.h> #include <signal.h> #define BAUDRATE B //속도 제어 #define MODEMDEVICE "/dev/ttyS1" //ttys!으로 통신 #define _POSIX_SOURCE 1 #define FALSE 0 volatile int STOP=FALSE;

19 Bluetooth Test Application
int main() { int test = 0; int c, res; struct termios oldtio,newtio; //termids 구조체 설정 pid_t pid; int fdttyS1; char my_nick[9]; char other_nick[9]; char sendtemp[255]; char sendbuf[255]; char receivebuf[255]; char ch; int nicksize,sendsize,i;

20 Bluetooth Test Application
fdttyS1 = open(MODEMDEVICE, O_RDWR | O_NOCTTY );// 읽기, 쓰기 모드로 모뎀장치를 연다 if (fdttyS1 <0) {perror(MODEMDEVICE); exit(-1); } tcgetattr(fdttyS1,&oldtio); //guswo wkdclfmf djesmsek , termios 구조체 초기화, 기존 세팅 모드 저장 bzero(&newtio, sizeof(newtio));//새로운 포트를 위한 구조체 clear newtio.c_cflag = BAUDRATE | CS8 | CLOCAL | CREAD; //사이즈 조정, 전송속도, 8bit문자, local connetction(모뎀제어하지 않음), 문자수신 가능 newtio.c_iflag = IGNPAR | ICRNL; /* IGNPAR : Parity 에러가 있는 문자 바이트를 무시한다. ICRNL : CR 문자를 NL 문자로 변환 처리한다. (이 설정을 안하면 다른 컴퓨터는 CR 문자를 한 줄의 종료문자로 인식하지 않을 수 있다.) otherwise make device raw (no other input processing) */ newtio.c_oflag = 0; newtio.c_lflag = ICANON; ICANON : canonical 입력을 가능하게 한다. disable all echo functionality, and don't send signals to calling program

21 Bluetooth Test Application
newtio.c_cc[VINTR] = 0; //ctrl-c newtio.c_cc[VQUIT] = 0; //ctrl-/ newtio.c_cc[VERASE] = 0; //del newtio.c_cc[VKILL] = 0; newtio.c_cc[VEOF] = 4; //ctrl-d newtio.c_cc[VTIME] = 0; //time 시간 설정 -> inter-character timer unused newtio.c_cc[VMIN] = 1; //read시 최소한의 문자 갯수, blocking read until 1 character arrives newtio.c_cc[VSWTC] = 0; //'\0' newtio.c_cc[VSTART] = 0; //ctrl-q newtio.c_cc[VSTOP] = 0; //ctrl-s newtio.c_cc[VSUSP] = 0; //ctrl-z newtio.c_cc[VEOL] = 0; //'\0' newtio.c_cc[VREPRINT] = 0; //ctrl-r newtio.c_cc[VDISCARD] = 0; //ctrl-u newtio.c_cc[VWERASE] = 0; //ctrl-w newtio.c_cc[VLNEXT] = 0; //ctrl-v newtio.c_cc[VEOL2] = 0; //'\0' /* 이제 modem 라인을 초기화하고 포트 세팅을 마친다. */ tcflush(fdttyS1, TCIFLUSH); tcsetattr(fdttyS1,TCSANOW,&newtio);

22 Bluetooth Test Application
printf("input your nickname(length<=8):"); scanf("%8s",&my_nick); nicksize=strlen(my_nick); for(i=0;i<nicksize;i++) sendbuf[i]=my_nick[i]; //닉사이즈 만큼 my_nick의 내용을 버퍼에 저장 sendbuf[nicksize++]='`'; //버퍼에 추가 내용 기입 sendbuf[nicksize++]='s'; sendbuf[nicksize++]='a'; sendbuf[nicksize++]='y'; sendbuf[nicksize++]=':'; sendsize=0; char recv_ID[9]; char allo_ID[9]; //broadcast로 전송함으로 모든 bluetooth메세지를 받으나 그 중 원하는 nickname에게서 온 메시지만 화면에 출력한다 printf("Input nickname to communicate(length<=8):"); scanf("%8s",&allo_ID); printf("Input 'q' to quit\n");

23 Bluetooth Test Application
if((pid=fork())<0){//child process생성 printf("error!!"); return -1; } if(pid>0){//parent process //terminal에서 data를 read하여 화면에 출력 while(ch!='q'){ res = read(fdttyS1,receivebuf,255); //ttyS1에서 읽어옴. for(i = 0; i < 9; i++){ if(receivebuf[i] != '`') recv_ID[i] = receivebuf[i]; else break; if(!strcmp(allo_ID, recv_ID)){//설정한 nickname과 같은지 비교 후 출력 if(res>0) printf("%s\n",receivebuf); ch=receivebuf[nicksize]; kill(pid, SIGQUIT);

24 Bluetooth Test Application
else{//child process //입력받은 data를 terminal에 write gets(sendtemp); while(ch!='q'){ printf("=>"); sendsize=strlen(sendtemp); if(sendsize>0){ for(i=nicksize;i<nicksize+sendsize;i++) sendbuf[i]=sendtemp[i-nicksize]; sendbuf[sendsize+nicksize]='\0'; sendbuf[sendsize+nicksize+1]='\n'; test = write(fdttyS1,sendbuf,nicksize+2+sendsize); if(test == 0) printf("write error\n"); printf("%s\n",sendbuf); ch=sendtemp[0]; } kill(pid, SIGQUIT); tcsetattr(fdttyS1,TCSANOW,&oldtio); return 0;

25 Bluetooth 실행 화면


Download ppt "Bluetooth 경희대학교 컴퓨터공학과 조 진 성."

Similar presentations


Ads by Google