2. Đỗ Phạm Xuân Thủy 080899 Nguyễn Bá Hiệp 080824 Phan Sơn Hải 080813 THÀNH VIÊN
3. NỘI DUNG Lịch sử Bluetooth 1 Ưu và nhược điểm của Bluetooth 2 Các kĩ thuật Bluetooth 3 Các hàm API về Bluetooth 4
4. Bluetooth là công nghệ không dây cho phép các thiết bị điện, điện tử giao tiếp với nhau trong khoảng cách ngắn bằng sóng vô tuyến, qua băng tần ISM trong dãy tầng 2.40 – 2.48Ghz. Được thiết kế nhằm mục đích thay thế dây cáp, kết nối vô tuyến các thiết bị điện tử với nhau KHÁI NIỆM
5. Bluetooth được đặt theo tên nhà vua Đan Mạch là Harald Bluetooth Năm 1994: Sony Ericsson đề xuất một chuẩn liên lạc giữa các thiết bị điện tử mà không cần dùng đến dây cáp Năm 1998: Ericsson, Nokia, IBM, Intel và Toshiba khai sinh ra chuẩn Bluetooth. Đến ngày 20/5/1998, nhóm nghiên cứu SIG (Special Interest Group) được thành lập nhằm phát triển Bluetooth trên thị trường viễn thông. Tháng 7/1999: Bluetooth 1.0 ra đời LỊCH SỬ HÌNH THÀNH
6. Năm 2001: Bluetooth 1.1 ra đời cùng với bộ Bluetooth software development kit – XTNDAccess Blue SDK. Tháng 11/2003: Bluetooth 1.2 ra đời. Tổ chức Cahners In-Stat dự báo sẽ có 1 tỷ sản phẩm Bluetooth Năm 2004: Bluetooth 2.0 ra mắt với tốc độ lên đến 2.1Mbps Năm 2008: Bluetooth 3.0 ra đời, hỗ trợ tốc độ lên đến 24Mbps. Đến năm 2009, phiên bản mới nhất là Bluetooth 4.0 xuất hiện, chỉ dành cho lĩnh vực y tế, sức khỏe và an ninh. LỊCH SỬ HÌNH THÀNH (TT)
7. Truyền dữ liệu ở khoảng cách lên đến 10m Sử dụng sóng radio ở băng tần không cần đăng ký 2.4Ghz ISM Có khả năng xuyên qua vật thể rắn và phi kim, không cần phải truyền thẳng Mọi thiết bị Bluetooth đều có thể làm việc với nhau Sử dụng ít năng lượng, thích hợp với thiết bị di động Nhỏ gọn, sử dụng ở bất cứ đâu, giá thành rẻ ƯU ĐIỂM
8. Khoảng cách kết nối còn ngắn so với các thiết bị không dây khác. Tốc độ truyền dữ liệu không cao. Dễ bị nhiễu bởi một số thiết bị sử dụng sóng radio khác. Bảo mật còn thấp. NHƯỢC ĐIỂM
16. CÁCH THỨC HOẠT ĐỘNG Kỹthuật Bluetooth rấtphứctạp, nódùngkỹthuậtnhảytầnsốtrongcác time slot (TS), đượcthiếtkếđểlàmviệctrongmôitrườngnhiễunhiễutầnsố Radio. Frequency Hopping
17. ĐỊNH DẠNG GÓI TIN Access code: Dùngđểđồngbộhóa, dùngtrongquátrìnhtìmkiếmthiếtbịvàyêucầukếtnối. Header: Chứamộtsốthông tin về packet nhưthứtự packet, địachỉđích, kiểmlỗi… Data: dữliệutruyềnđi.
18. Bluetooth Host Controller: Được cài đặt trong phần cứng thiết bị, không thể truy xuất được. Bluetooth Host: Các ứng dụng có thể gửi và nhận dữ liệu thông qua các liên kết. CHỒNG GIAO THỨC BLUETOOTH
19. Bluetooth Host Controller: Được cài đặt trong phần cứng thiết bị, không thể truy xuất được. Bluetooth Host: Các ứng dụng có thể gửi và nhận dữ liệu thông qua các liên kết. CHỒNG GIAO THỨC BLUETOOTH
20. BLUETOOTH HOST RFCOMM(Radio Frequency Communication): giả lập cổng Serial để truyền nhận dữ liệu qua Bluetooth. L2CAP(Logical Link Controller and Adapter Protocol): quản lý việc phân nhỏ các gói tập tin gửi đi và sắp xếp các gói nhận. SDP(Service Dicovery Protocol): truy vấn các dịch vụ Bluetooth được cung cấp hoặc có trên thiết bị. HDI: cầu nối với phần cứng thiết bị.
26. MODE DISCOVERY GIAC (General Unlimited Inquiry Access Code): Những thiết bị có khả năng khám phá trong một khoảng thời gian không giới hạn. LIAC(Limited Dedicated Inquiry Access Code) : Thiết bị chỉ có khả năng khám phá trong một khoảng thời gian có hạn (ví dụ một phút) DiscoveryAgent.NOT_DISCOVERABLE DiscoveryAgent.GIAC DiscoveryAgent.LIAC
28. Tìm kiếm thiết bị mới DiscoveryAgent.startInquiry(int accessMode, DiscoveryListener listener) Tìm kiếm thiết bị có sẵn (đã kết nối trước đó) DiscoveryAgent.retrieveDevices(int retrieveOption) DEVICE DISCOVERY
Tương tự như các công nghệ giao tiếp khác, Bluetooth bao gồm rất nhiều giao thức được gọi là chồng giao thức … Đây là sơ đồ mô tả chồng giao thức.. Radio Frequency /friː.kwən t .si/ /Communication. Logical Link Controller and Adapter Protocol) Service Dicovery Protocol
Detail về SDP (Service trong Bluetooth là gì):1./ Bluetooth DUN Service: DUN: Dialup Networking. Nếu hai thiết bị cùng hỗ trợ dịch vụ này thì có thể biến một thiết bị thành Modem thực hiện quay số qua đường Dial-up cũng được. Khi ta sử dụng dịch vụ này vào Net qua GPRS là đã sử dụng dịch vụ này đó 2./ Bluetooth XXXXXX Port Service Chia thành 2 loại là XXXXXX Port A và XXXXXX Port A B Đây là một dạng Vitural COM Port Nếu hai thiết bị cùng hỗ trợ dịch vụ này thì có thể tạo các kết nối cổng COM ảo cho phép một số ứng dụng (m-Router, Remote S60, Active Sync..)có thể sử dụng cổng COM này. Khi ta Sync và vào Net trên PPC, SYMBIAN nhờ kết nối máy tính là sử dụng dịch vụ này. 3./ Bluetooth File Transper Service Nếu hai thiết bị cùng hỗ trợ dịch vụ này có thể chia sẻ cho nhau cả thư mục bao gồm File trong đó. Một số ứng dụng sử dụng dịch vụ này để truy nhập vào Phone, Card Memory của máy ĐT như các chương trình PC Mobile Explorer cho S60, PC Suite cho NOKIA.... Khi ta thực hiện một số thao tác Copy, Edit, Move trên PC đối với các thư mục trên Phone Memory hoặc Memory Card là ta đã sử dụng dịch vụ này. 4./ Bluetooth Object Push Service Nếu hai thiết bị cùng hỗ trợ dịch vụ này có thể chia sẻ cho nhau một hoặc nhiều File nào đó một cách tuần tự (Ví dụ như Send images, message, Contact qua Bluetooth từ ĐT tới ĐT...) 5./ Bluetooth Fax Service Nếu hai thiết bị cùng hỗ trợ dịch vụ này thì có thể biến một thành FAX Modem để thực hiện trao đổi FAX. 6./ Bluetooth PAN Service PAN: Personal Area Network. Nếu hai thiết bị cùng hỗ trợ dịch vụ này có thể tạo một mạng riêng kết nối với nhau. 7./ Bluetooth Headset Service Nếu hai thiết bị cùng hỗ trợ dịch vụ này có thể sử dụng một trong hai thiết bị làm Headset Khi ta sử dụng tai nghe Bluetooth với ĐT tức là ta đã dùng dịch vụ này. 8./ Bluetooth Audio Gateway Nếu hai thiết bị cùng hỗ trợ dịch vụ này có thể biến thành một cổng giao tiếp âm thanh để các ứng dụng phía trên (Windows Media Player, Power DVD...) có thể sử dụng để thu hoặc phát âm thanh Khi ta sử dụng tai nghe Bluetooth thay cho Loa và Micro trên PC là ta đã sử dụng dịch vụ này. Ngoài ra còn một số dịch vụ khác nữa…..HDI và SDP có liên quan với nhau 1 cách mật thiết, HDI nó sẽ quy định các dịch vụ sẽ nó cung cấp là gì ….Ví dụ: tai nghe bluetooth thì chỉ cung cấp Bluetooth Headset Service
Bluetooth có tính mở, là một tiêu chuẩn không độc quyền cho việc phát triển các ứng dụng Bluetooth bằng cách sử dụng ngôn ngữ lập trình Java. Nó che giấu sự phức tạp của giao thức Bluetooth sau một tập các Java API; nónhấn mạnh vào việc phát triển ứng dụng hơn là các chi tiết ở cấp thấp của Bluetooth.Vì thế mà JSR-82 ra đời giống như 1 cái vỏ bộc, che đi các giao thức phức tạp phía dưới của Bluetooth.JSR-82: Bao che đi các giao thức được nêu ra ở Bluetooth host và 1 phần riêng biệt nữa đó là giao thức OBEX.Chi tiết (OBEX)…..OBEX (OBject EXchange) là giao thức trao đổi dữ liệu giữa các thiết bị dùng cổng hồng ngoại. Hiệp hội IrDA (Infrared Data Association) đưa ra lần đầu tiên năm 1997. Ban đầu, giao thức này chỉ giới hạn cho các thiết bị sử dụng môi trường ánh sáng hồng ngoại, Sau đó nó được tổ chức Bluetooth SIG (Bluetooth Special Interest Group) đưa vào hầu hết các thiết bị Bluetooth của mình.
All Superinterfaces: L2CAPConnectionNotifier L2CAP Connetionjavax.microedition.io.Connection
Một thiết bị Bluetooth có thể chứa nhiều thiết lập chế độ Discovery. Ví dụ:Một thiết bị có thể cấu hình để không bị discovery.lúc này các thiết bị Bluetooth khác trong phạm vi cho phép không thể phát hiện ra thiết bị Bluetooth này. Một thiết bị Bluetooth có thể cấu hình để được discovery bởi các thiết bị khác, và trong trường hợp này, chế độ Discovery chính là GIAC(General Unlimited Inquiry Access Code).Một thiết bị Bluetooth cũng có thể cấu hình để có thể được discovery “limited” bởi những thiết bị Bluetooth khác bằng cách sử dụng một limited inquiry-LIACThông thường, một inquiry được thực hiện với GIAC. Để hủy bỏ thiết lập chế độ discovery này, ta thiết lập chế độ NOT_DISCOVERABLE.Nó sẽ trả về true hoặc false sau khi thiết lập chế độ discovery. Nếu trả về false có nghĩa là thiết bị không hỗ trợ kiểu truy vấn này.
Có 2 cách để nhận được một danh sách các thiết bị truy cập(RemoteDevice) sử dụng DiscoveryAgent:Discovery.startInquiry(int accessMode, DiscoveryListener listener): phương thức này đặt thiết bị vào chế độ inquiry, ứng dụng phải chỉ địnhmột DiscoveryListener để đáp ứng các sự kiện liên quan đến inquiry để tận dụng chế độ này. Phương thức DiscoveryListener.deviceDiscovered() được gọi mỗi khi một inquiry được tìm thấy. Phương thức DiscoveryListener.inquiryCompleted() được gọi khi inquiry được hoàn tất hay bị hủy bỏ.DiscoveryAgent.retrieveDevices(int retrieveOption): phương thức này sử dụng để nhận một danh sách các thiết bị hiện tại( đã kết nối trước đó). Tùy thuộc vào tham số retrieveOption, phương thức này sẽ trả về danh sách các thiết bị được tìm thấy trong inquiry trước đó(CACHED)
1. Logical Link Control and Adaptation Protocol (L2CAP)JSR 82 định nghĩa các interfaces L2CAPConnectionNotifier và L2CAPConnection cho việc gửi và nhận các packet thông qua kênh L2CAP. Chúng được dẫn xuất từ interfaces Connection L2CAP được tạo bằng cách gọi phương thức Connector.open() với một chuỗi String kết hợp. Chuỗi này được định nghĩa bởi JSR-82. Bắt đầu với tiền tố “btl2cap://” và sau dấu “//” có thể là :các tham số liên quan đến master/slavetham số bảo mật(xác thực, mã hóa, ủy quyềnthông số liên quan đến tham chiếu của ứng dụng cho một kích thước Maximum Transmit Unit(MTU) trong các chỉ thị gửi/nhận.Một đối tượng L2CAPConnectionNotifier được trả về khi mở một kết nối server. Phương thức acceptAndOpen() có thể được sử dụng để chấp nhận các kết nối các client từ xa(remote). Các gói L2CAP được gửi hoặc nhận được bằng cách sử dụng phương thức gửi và nhận của lớp L2CAPConnection. Một ứng dụng sử dụng các kết nối L2CAP phải cung cấp điều khiển flow riêng mình nếu cần thiết. Các client L2CAP được tạo ra cũng sử dụng phương thức Connector.open() với một tham số kết nối kiểu string.2.Radio Frequency Communication (RFCOMM)Các kết nối RFCOMM cung cấp các giao tiếp đáng tin cậy, hai chiều, hướng stream(stream-oriented). Trong JSR-82, API dựa trên các giao diện StreamConnectionNotifier và StreamConnection Một server RFCOMM được tạo ra bằng cách gọi phương thức Connector.open() với tham số là một chuỗi string kết nối máy chủ. Định dạng của chuỗi được xác định bởi JSR-82. Chuỗi kết nối bắt đầu với tiền tố “btspp://” và có thể chứa các thông số liên quan đến master/slave, hoặc các thông số bảo mật (xác thực, mã hóa, và ủy quyền).Một đối tượng StreamConnectionNotifier được trả về khi mở một kết nối máy chủ và có thể sử dụng phương thức acceptAndOpen() để chấp nhận các kết nối với client ở xa(remote). Các stream input/output được sử dụng để đọc hay ghi dữ liệu trên một kết nối. Các client RFCOMM được tạo ra bằng cách gọi phương thức Connector.open() kết hợp với một tham số kết nối kiểu string