Cơ chế hoạt động của bluetooth: tt Giải thích code của Client và Server • Server: Mỗi thiết bị Bluetooth có các đối tượng Bluetooth cục bộ giúp giao tiếp giữa các thiết bị.. Cơ chế
Trang 2NỘI DUNG
Demo ví dụ bằng J2ME
Xây dựng chương trình về bluetooth
Đặc điểm
Lịch sử,hình thành và phát triển của Bluetooth
Khái niệm và mục đích về công nghệ Bluetooth
Trang 3CÔNG NGHỆ KHÔNG DÂY
Trang 4KHÁI NIỆM
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 chung ISM(Industrial, Scientific, Medical) trong dãy 2.40 – 2.48 GHz
Trang 5KHÁI NIỆM(tt)
Khi được kích hoạt, Bluetooth có thể tự động định vị những thiết bị khác có chung công nghệ trong vùng xung quanh và bắt đầu kết nối với chúng Nó được định hướng sử dụng cho việc truyền dữ liệu lẫn tiếng nói.
Khi được kích hoạt, Bluetooth có thể tự động
định vị những thiết bị khác có chung công nghệ trong vùng xung quanh và bắt đầu kết nối với chúng Nó được định hướng sử dụng cho việc truyền dữ liệu lẫn tiếng nói.
Khi được kích hoạt, Bluetooth có thể tự động định vị những thiết bị khác có chung công nghệ trong vùng xung quanh và bắt đầu kết nối với chúng Nó được định hướng sử dụng cho việc truyền dữ liệu lẫn tiếng nói.
Trang 7MỤC ĐÍCH (tt)
Ví dụ: Bạn có thể hoạt động trên máy tính với một bàn phím không dây, sử dụng bộ tai nghe không dây để nói chuyện trên điện thoại di động của
bạn hoặc bổ sung thêm một cuộc hẹn vào lịch biểu PDA(thiết bị hổ trợ cá nhân) của một người bạn từ PDA của bạn
Trang 8CÁC LOẠI GIAO TIẾP BLUETOOTH
Gồm 3 loại:
OBEX(Object Exchange):dùng trao đổi các dữ
liệu vật lý:tập tin, hình ảnh và cả các dạng nhị phân.
Trang 9 L2CAP(Logical link control and adaptation
protocol): được sử dụng để gửi các gói dữ liệu giữa máy chủ và máy khách
CÁC LOẠI GIAO TIẾP BLUETOOTH(tt)
Trang 10 RFCOMM( Radio Frequency COMMunication):
được sử dụng cho luồng dữ liệu đơn giản.
CÁC LOẠI GIAO TIẾP BLUETOOTH(tt)
Trang 11LỊCH SỬ
Lịch sử tên Bluetooth:
Bluetooth là tên của nhà vua Đan Mạch – Harald
I Bluetooth(Danish Haral Blatand) (910-985)
Harald I Bluetooth đã hợp nhất Đan Mạch và
Norway.
Ngày nay Bluetooth là biểu tượng của sự thống
nhất Computer và TeleCom, giữa công nghệ
máy tính và công nghệ truyền thông đa phương tiện
Trang 12Hình thành và phát triển của Bluetooth
Năm 1994 : lần đầu tiên hãng Ericsson đưa ra
một đề án nhằm hợp nhất liên lạc giữa các thiết
bị điện tử khác nhau mà không dùng đến các sợi dây cáp nối cồng kềnh, phức tạp( dùng vi mạch
cỡ 9mm để truyền tín hiệu sóng vô tuyến).
Năm 1998: 5 công ty lớn trên thế giới gồm
Ericsson, Nokia, IBM, Intel và Toshiba đã liên
kết, hợp tác thiết kế và triển khai phát triển
chuẩn công nghệ nối không dây mang tên
Bluetooth nhằm kết nối các thiết bị vi điện tử lại với nhau dùng sóng vô tuyến.
Trang 13 Bluetooth có tốc độ phát triển khá nhanh, ứng dụng đa dạng.
Được coi là thị trường năng động và sôi nổi trong lĩnh vực truyền
thông.
Hình thành và phát triển của Bluetooth(tt)
Trang 14ĐẶC ĐIỂM
Tiêu thụ năng lượng thấp, cho phép ứng dụng trên nhiều loại thiết
bị, bao gồm các thiết bị cầm tay và điện thoại di động
Giá thành hạ.
Khoảng cách giữa 2 thiết bị đầu cuối có thế lên đến 10m ngoài trời
và 5m trong tòa nhà
Trang 16 Các loại giao tiếp bluetooth:
- Có 3 loại bao gồm:
dụng để trao đổi dữ liệu vật lý như các tập tin, hình ảnh, và kể cả các định dạng nhị phân.
L2CAP: Viết tắt bởi “Logical Link Control and Adaptation Protocol” được sử dụng để gửi các gói dữ liệu giữa máy chủ và máy khách.
sử dụng cho luồng dữ liệu đơn giản.
Xây dựng chương trình về bluetooth
Trang 17 Java Bluetooth API :
Bluetooth API thuộc JSR 82, và nó có khả năng cung cấp cả 3 loại giao tiếp kể trên, đó là: OBEX, L2CAP và RFCOMM Nhưng mà
chúng ta sẽ chỉ tập trung vào giao thức đơn giản nhất là RFCOMM
và mô tả cách thức gửi dữ liệu giữa các thiết bị thông qua giao thức này
Xây dựng chương trình về bluetooth (tt)
Trang 18 Cơ chế hoạt động của bluetooth:
Kỹ thuật giao tiếp giữa các thiết bị sẽ được thực hiện theo quy tắc client-server Đó là, bạn sẽ mở server và sau đó chờ client kết nối tới, sau đó cả client và server
sẽ giao tiếp với nhau Trong Bluetooth, bạn cũng làm kỹ thuật tương tự, đó là ứng dụng phải cho phép người
dùng lựa chọn nó hoặc là client hoặc server
Xây dựng chương trình về bluetooth (tt)
Trang 19 Cơ chế hoạt động của bluetooth: (tt)
Giải thích code của Client và Server
• Server:
Mỗi thiết bị Bluetooth có các đối tượng Bluetooth cục bộ giúp giao tiếp giữa các thiết bị Trong JSR82, gọi phương thức
LocalDevice.getLocalDevice () sẽ trả về đối tượng của
thiết bị Bluetooth cục bộ Sau đó đối tượng này sẽ gọi
phương thức setDiscoverable(DiscoveryAgent.GIAC),
trong đó chế độ thiết lập là GIAC Nói một cách đơn giản, bằng cách làm này, bạn cho phép thiết bị hiện tại tìm kiếm các thiết bị khác.
Xây dựng chương trình về bluetooth (tt)
Trang 20 Cơ chế hoạt động của bluetooth: (tt)
Giải thích code của Client và Server (tt)
• Server:
Để mở các kết nối Bluetooth, bạn cần phải xây dựng một chuỗi URL
Bluetooth và sẽ được gọi bên trong phương thức Connector.open (URL), phương thức này sẽ trả về đối tượng StreamConnectionNotifier Thực tế thì URL chính là cách để khởi tạo các giao thức giao tiếp cho Bluetooth, giống như trên một hộp tìm kiếm của Internet Explorer Bạn chỉ cần gõ http://www.address.com, trong đó
“http://” chính là giao thức và phần còn lại là địa chỉ Tương tự, trong Bluetooth bạn sẽ làm như sau:
URL = “btspp://localhost:” + UUID + “;name=rfcommtest;authorize=true”;
Ở đây, btspp:// cũng tương tự như http://, và phần còn lại là một định danh ID duy nhất để xác định rằng nó chỉ có một địa chỉ duy nhất mà thôi
Sau khi StreamConnectionNotifier đã được khởi tạo, nó phải gọi phương
thức acceptAndOpen() để mở giao tiếp và trả về đối tượng
StreamConnection Tuy nhiên, nếu không có một kết nối client nào được tìm
Xây dựng chương trình về bluetooth (tt)
Trang 21 Cơ chế hoạt động của bluetooth: (tt)
Giải thích code của Client và Server (tt)
• Server:
Bây giờ, bạn có thể sử dụng hai phương thức của đối tượng StreamConnection, đó là:
openOutputStream() hoặc openInputStream() Cả hai được sử dụng để yêu cầu gửi và nhận dữ liệu.
m_strUrl= "btspp://localhost:" + RFCOMM_UUID + ";
Trang 22 Cơ chế hoạt động của bluetooth: (tt)
Giải thích code của Client và Server (tt)
• Client:
Để tạo client, UPI phải làm theo một số quy tắc để đạt được mục tiêu của bạn, đó là thực thi giao diện DiscoveryListener
Giao diện này cung cấp 4 phương thức sau:
void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod)
void servicesDiscovered(int transID, ServiceRecord[]
records) void serviceSearchCompleted(int transID, int respCode) void inquiryCompleted(int discType)
-> Đầu tiên, bạn phải quét để tìm kiếm các thiết bị Bluetooth xung
Xây dựng chương trình về bluetooth (tt)
Trang 23 Cơ chế hoạt động của bluetooth: (tt)
Giải thích code của Client và Server (tt)
System.out.println("Problem in searching the Bluetooth
Xây dựng chương trình về bluetooth (tt)
Trang 24 Cơ chế hoạt động của bluetooth: (tt)
Giải thích code của Client và Server (tt)
• Client:
Đầu tiên, phương thức deviceDiscovered sẽ phát hiện các thiết bị Bluetooth
được tìm thấy Sau đó, nhiệm vụ của bạn là tìm kiếm các dịch vụ có sẵn trên thiết bị là: OBEX, RFCOMM hay L2CAP
public void deviceDiscovered(RemoteDevice btDevice, DeviceClass cod) { try {
// Device information System.out.println("Major Device Class and information : "
+ cod.getMajorDeviceClass() + " Minor Device Class: "
+ cod.getMinorDeviceClass());
System.out.println("Bluetooth Address of the device: "
+ btDevice.getBluetoothAddress()); System.out.println("Friendly Name: " + btDevice.getFriendlyName(true));
// Now its our responsibility to search its services UUID uuidSet[] = new UUID[1]; uuidSet[0] = RFCOMM_UUID;
Xây dựng chương trình về bluetooth (tt)
Trang 25 Cơ chế hoạt động của bluetooth: (tt)
Giải thích code của Client và Server (tt)
• Client:
Phương thức servicesDiscovered() dưới đây được kích hoạt khi các dịch vụ
trên thiết bị được tìm thấy Tại đây, bạn dừng vòng lặp trên giao thức đầu tiên
mà bạn tìm thấy như Bluetooth
public void servicesDiscovered(int transID, ServiceRecord[] records) { for (int i = 0; i < records.length; i++) {
m_strUrl=records[i].getConnectionURL(ServiceRecord AUTHENTICATE_ENC RYPT, false);
Trang 26 Cơ chế hoạt động của bluetooth: (tt)
Giải thích code của Client và Server (tt)
• Client:
Sau khi phương thức tìm kiếm dịch vụ hoàn tất, phương thức
serviceSearchComplete(int transID, int respCode) được kích hoạt, từ đó bạn có thể khởi tạo khi bạn tìm thấy dịch vụ muốn tìm kiếm
public void serviceSearchCompleted(int transID, int respCode) { if(m_bServerFound) {
try //lets the communication start by setting the URL and sending //the client response
{ m_StrmConn = (StreamConnection) Connector.open(m_strUrl); m_Output =
Trang 27 Cơ chế hoạt động của bluetooth: (tt)
Giải thích code của Client và Server (tt)
• Client:
Ở đoạn code trên, bạn mở kết nối tới server thông qua phương thức Connector.open(m_strUrl) Sau đó, bạn mở stream Input/Output để giao tiếp với server Để gửi dữ liệu tới server, trước tiên bạn cần gửi
độ dài của dữ liệu, rồi sau đó mới tới dữ liệu Bằng cách này, client hay server sẽ biết được kích thước dữ liệu.
m_Output.write(CLIENT_RESPONSE.length());
m_Output.write(CLIENT_RESPONSE.getBytes());m_Output được sử
dụng để gửi dữ liệu đến đối tượng được kết nối, CLIENT_RESPONSE đơn giãn chỉ là dữ liệu Về phía server, phương
thức acceptAndOpen() cho phép bắt đầu quá trình giao tiếp.
Xây dựng chương trình về bluetooth (tt)
Trang 28 Demo ví dụ bằng J2ME
Xây dựng chương trình về bluetooth (tt)