Tìm hiểu về công nghệ bluetooth

Ở đoạn code trên, bạn mở kết nối tới server thông qua phương thức onnector.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 cceptAndOpen() cho phép bắt đầu quá trình giao tiếp.

doc14 trang | Chia sẻ: lylyngoc | Lượt xem: 5306 | Lượt tải: 3download
Bạn đang xem nội dung tài liệu Tìm hiểu về công nghệ bluetooth, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel. (84-511) 736 949, Fax. (84-511) 842 771 Website: E-mail: cntt@edu.ud.vn BÁO CÁO MÔN THỰC TẬP NHẬN THỨC NGÀNH CÔNG NGHỆ THÔNG TIN MÃ NGÀNH : 05115 ĐỀ TÀI : TÌM HIỂU VỀ CÔNG NGHỆ BLUETOOTH SVTH : Lê Quang Vũ Lê Hùng Quốc LỚP : 11TLT.PY GVHD : TS Võ Đức Hoàng Tuy Hòa, ngày 22 tháng 04 năm 2012 LỜI CẢM ƠN Để hoàn thành bài tập này trước hết chúng em chân thành cảm ơn Thầy Ts.Võ Đức Hoàng khoa Công nghệ thông tin, trường Đại học bách khoa Đà Nẵng đã tạo điều kiện giúp đỡ, chỉ bảo chúng em hoàn thành báo cáo này. Tuy bản thân đã rất cố gắng tìm hiểu tài liệu từ nhiều nguồn thông tin khác nhau như là giáo trình, sách ,internet,…nhưng không tránh được những sai soát, kính mong được sự đóng góp ý kiến của quý thầy cô để tôi có thể hoàn thiện hơn và là cơ sở vững chắc để sau này ra trường làm việc. Chúng em xin chân thành cảm ơn! Tuy hoà,22 tháng 4 năm 2012 Nhóm thực hiện Lê Quang Vũ – Lê Hùng Quốc Mục lục LỜI NÓI ĐẦU Ngày nay, xã hội phát triển mạnh mẽ, kỹ thuật ngày càng hiện đại nên nhu cầu về trao đổi thông tin, giải trí, nhu cầu về điều khiển thiết bị từ xa,…ngày càng cao. Và những hệ thống dây cáp phức tạp lại không thể đáp ứng tốt nhu cầu này, nhất là ở những khu vực chật hẹp, những nơi xa xôi, trên các phương tiện vận chuyển,…Vì thế công nghệ không dây đã ra đời và đang phát triển mạnh mẽ, tạo rất nhiều thuận lợi cho con người trong đời sống hằng ngày. Kỹ thuật không dây phục vụ rất nhiều nhu cầu khác nhau của con người, từ nhu cầu làm việc, học tập đến các nhu cầu giải trí như chơi game, xem phim, nghe nhạc, v.v…Với các nhu cầu đa dạng và phức tạp đó, kỹ thuật không dây đã đưa ra nhiều chuẩn với các đặc điểm kỹ thuật khác nhau để có thể phù hợp với từng nhu cầu, mục đích và khả năng của người sử dụng như IrDA, WLAN với chuẩn 802.11, ZigBee, OpenAir, UWB, Bluetooth,… Mỗi chuẩn kỹ thuật đều có những ưu, khuyết điểm riêng của nó, và Bluetooth đang dần nổi lên là kỹ thuật không dây tầm ngắn có nhiều ưu điểm, rất thuận lợi cho những thiết bị di động. Với một tổ chức nghiên cứu đông đảo, hiện đại và số lượng nhà sản xuất hỗ trợ kỹ thuật Bluetooth vào sản phẩm của họ ngày càng tăng, Bluetooth đang dần lan rộng ra khắp thế giới, xâm nhập vào mọi lĩnh vực của thiết bị điện tử và trong tương lai mọi thiết bị điện tử đều có thể được hỗ trợ kỹ thuật này. Xuất phát từ các lý do trên, chúng em đã thực hiện đề tài “TÌM HIỂU CÔNG NGHỆ BLUETOOTH VÀ VIẾT ỨNG DỤNG MINH HỌA”. CHƯƠNG I: TỔNG QUAN VỀ BLUETOOTH Khái niệm Bluetooth: 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 tầng 2.40- 2.48 GHz.Đây là dãy băng tầng không cần đăng ký được dành riêng để dùng cho các thiết bị không dây trong công nghiệp, khoa học, y tế. Bluetooth được thiết kế nhằm mục đích thay thế dây cable giữa máy tính và các thiết bị truyền thông cá nhân, kết nối vô tuyến giữa các thiết bị điện tử lại với nhau một cách thuận lợi với giá thành rẻ. 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. Lịch sử, hình thành và phát triển của Bluetooth : Lịch sử tên Bluetooth: Bluetooth là tên của nhà vua Đan Mạch- Harald I Bluetooth (Danish Harald Blåtand) (910-985). Harald 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 giữa 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. Hì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 loại thiết bị điện tử khác nhau mà không cần phải dùng đến các sợi cáp nối cồng kềnh, phức tạp. Ðây thực chất là một mạng vô tuyến không dây cự ly ngắn chỉ dùng một vi mạch cỡ 9mm có thể chuyển các tín hiệu sóng vô tuyến điều khiển thay thế cho các sợi dây cáp điều khiển rối rắm. 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 một chuẩn công nghệ kết nối không dây mới 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. Đến ngày 20/5/1998: nhóm nghiên cứu Special Interest Group – SIG chính thức được thành lập với mục đích phát triển công nghệ Bluetooth trên thị trường viễn thông. Bất kỳ công ty nào có kế hoạch sử dụng công nghệ Bluetooth đều có thể tham gia vào. Tháng 7/1999: các chuyên gia trong SIG đã đưa ra thuyết minh kỹ thuật Bluetooth phiên bản 1.0. Năm 2000 : SIG đã bổ sung thêm 4 thành viên mới là 3Com, Lucent Technologies, Microsoft và Motorola. Công nghệ Bluetooth đã được cấp dấu chứng nhận kỹ thuật ngay trong lần ra mắt đầu tiên. Năm 2001: Bluetooth 1.1 ra đời cùng với bộ Buetooth software development kit-XTNDAccess Blue SDK, đánh dấu bước phát triển chưa từng có của công nghệ Bluetooth trên nhiều lĩnh vực khác nhau với sự quan tâm của nhiều nhà sản xuất mới. Bluetooth được bình chọn là công nghệ vô tuyến tốt nhất trong năm. Tháng 7/2002, Bluetooth SIG thiết lập cơ quan đầu não toàn cầu tại Overland Park, Kansas, USA. Năm 2002 đánh dấu sự ra đời các thế hệ máy tính Apple hỗ trợ Bluetooth. Sau đó không lâu Bluetooth cũng được thiết lập trên máy Macintosh với hệ điều hành MAC OX S. Bluetooth cho phép chia sẻ tập tin giữa các máy MAC, đồng bộ hóa và chia sẻ thông tin liên lạc giữa các máy Palm, truy cập internet thông qua điện thoại di động có hỗ trợ Bluetooth (Nokia, Ericsson, Motorola…). Tháng 5/2003, CSR (Cambridge Silicon Radio) cho ra đời 1 chip Bluetooth mới với khả năng tích hợp dễ dàng và giá cả hợp lý hơn. Điều này góp phần cho sự ra đời thế hệ Motherboard tích hợp Bluetooth, giảm sự chênh lệch giá cả giữa những mainboard cellphone có và không có Bluetooth. Tháng 11/2003 dòng sản phẩm Bluetooth 1.2 ra đời. Năm 2004, các công ty điện thoại di động tiếp tục khai thác thị trường sôi nổi này bằng cách cho ra đời các thế hệ điện thoại di động đời mới hỗ trợ Bluetooth (N7610, N6820, N6230). Motorola cho ra sản phẩm Bluetooth đầu tay của mình. Các sản phẩm Bluetooth tiếp tục ra đời và được và được xúc tiến mạnh mẽ qua chương trình “Operation Blueshock” International Consumer Electronics Show (CES) tại Las Vegas ngày 9/1/2004. 6-1-2004, trong hội nghị Bluetooth CES (Consumer Electronics Show) ở Las Vegas, tổ chức Bluetooth SIG thông báo số thành viên của mình đã đạt con số 3000, trở thành tổ chức có số thành viên đông đảo thuộc nhiều lĩnh vực công nghệ: từ máy móc tự động đến thiết bị y tế, PC đến điện thoại di động, tất cả đều sử dụng kỹ thuật không dây tầm ngắn trong sản phẩm của họ. Bluetooth hiện đang có tốc độ phát triển khá nhanh với khả năng ứng dụng ngày càng đa dạng, theo tính toán của công ty nghiên cứu thị trường Frost & Sulivan, trong năm 2001 có 4.2 triệu sản phẩm sử dụng công nghệ Bluetooth được đưa ra thị trường, con số này sẽ tăng lên 1.01 tỷ vào năm 2006. Những năm gần đây, Bluetooth được coi là thị trường năng động và sôi nổi nhất trong lĩnh vực truyền thông. Với sự ra đời của công nghệ Bluetooth thì ta có thể lạc quan nói rằng, thời kỳ kết nối bằng dây hữu tuyến giữa các thiết bị đã đến hồi kết thúc, thay vào đó là khả năng kết nối không dây thông minh và trong suốt, điều này sẽ là hiện thực chỉ trong một tương lai gần mà thôi. Các đặc điểm của Bluetooth: Tiêu thụ năng lượng thấp, cho phép ứng dụng được trong nhiều loại thiết bị, bao gồm cả các thiết bị cầm tay và điện thoại di động. Giá thành hạ (Giá một chip Bluetooth đang giảm dần, và có thể xuống dưới mức 5$ một đơn vị). Khoảng cách giao tiếp cho phép : Khoảng cách giữa hai thiết bị đầu cuối có thể lên đến 10m ngoài trời, và 5m trong tòa nhà. Khoảng cách thiết bị đầu cuối và Access point có thể lên tới 100m ngoài trời và 30m trong tòa nhà. Bluetooth sử dụng băng tần không đăng ký 2.4Ghz trên dãy băng tần ISM. Tốc độ truyền dữ liệu có thể đạt tới mức tối đa 1Mbps (do sử dụng tần số cao) mà các thiết bị không cần phải thấy trực tiếp nhau (light-of-sight requirements). Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một ứng dụng này với một ứng dụng khác thông qua các chuẩn “Bluetooth profiles”, do đó có thể độc lập về phần cứng cũng như hệ điều hành sử dụng. Bluetooth được dùng trong giao tiếp dữ liệu tiếng nói: có 3 kênh để truyền tiếng nói, và 7 kênh để truyền dữ liệu trong một mạng cá nhân. An toàn và bảo mật: được tích hợp với sự xác nhận và mã hóa (build in authentication and encryption). Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phần mềm hỗ trợ. Mục đích của Bluetooth: Bluetooth được thiết kế nhằm mục đích thay thế dây cable giữa máy tính và các thiết bị truyền thông cá nhân, kết nối vô tuyến giữa các thiết bị điện tử với nhau một cách thuận lợi với giá thành rẻ. Các loại Bluetooth: 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. (Hình 1) Hình 1 : Object Exchange 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. (hình 2) Hình 2 : Logical link control and adaptation protocol RFCOMM(Radio Frequency COMMunication): được sử dụng cho luồng dữ liệu đơn giản.(hình 3) Hình 3: Radio Frequency COMMunication CHƯƠNG II:XÂY DỰNG CHƯƠNG TRÌNH BLUETOOTH 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. Cơ chế hoạt động của Bluetooth: 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. Để 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õ 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 thấy, nó sẽ chặn các tiến trình khác và chờ đợi. 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 + "; name=rfcommtest;authorize=true";   // m_StrmConn = BTFACADE.waitForClient(SERVICE_NBR);   try {    m_LclDevice = LocalDevice.getLocalDevice();     m_LclDevice.setDiscoverable(DiscoveryAgent.GIAC);    m_StrmNotf = (StreamConnectionNotifier)Connector.open(m_strUrl);     //Now it will start waiting for the client connection    m_StrmConn = m_StrmNotf.acceptAndOpen();      m_bInitServer = true;    m_Output = m_StrmConn.openOutputStream();     m_Input  = m_StrmConn.openInputStream(); } catch (BluetoothStateException e){    System.err.println( "BluetoothStateException: " + e.getMessage() ); } catch (IOException ex) {    ex.printStackTrace(); } catch(Exception e) { System.err.println( "Exception: " + e.getMessage() ); } 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 quanh bạn. Bạn phải nhận thông tin thiết bị cục bộ và thông qua nó để lấy đối tượng DiscoveryAgent để bắt đầu tìm hiểu về các thiết bị có sẵn. Code: public void SearchAvailDevices() {    try    {       //First, get the local device and obtain the discovery agent.    m_LclDevice = LocalDevice.getLocalDevice();    m_DscrAgent=  m_LclDevice.getDiscoveryAgent();        m_DscrAgent.startInquiry(DiscoveryAgent.GIAC,this);    }    catch (BluetoothStateException ex)    { System.out.println("Problem in searching the Bluetooth devices");       ex.printStackTrace();   }  } Đầ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;     Int searchID  =m_DscrAgent.searchServices(null,uuidSet,     btDevice,this);    }    catch (Exception e)    {       System.out.println("Device Discovered Error: " + e);    }  } 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.AUT HENTICATE_ENC RYPT, false);         System.out.println(m_strUrl);    //we have found our service protocol    if(m_strUrl.startsWith("btspp"))    {       m_bServerFound = true;        m_bInitClient=true;        break;    }  } Ở đoạn code trên, bạn mở kết nối tới server thông qua phương thức onnector.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 cceptAndOpen() cho phép bắt đầu quá trình giao tiếp. KẾT LUẬN .Ở phần này chúng ta đã tìm hiểu được phần nào về công nghệ Bluetooth, hầu hết các thiết bị đều có nhiều đặc tính giúp bạn trang bị cần thiết cho bản thân. Tuy vậy, việc kích hoạt một số tính năng cụ thể có thể mang lại cho bạn nhiều nguy cơ bị tấn công. Vì vậy, vô hiệu hóa bất kỳ tính năng hoặc các kết nối không cần thiết nào có thể. Kiểm tra các thiết lập, thiết lập bảo mật đặc biệt và lựa chọn các tùy chọn cần thiết đối với bạn mà không gây ra mức rủi ro cao cho bạn. Phải bảo đảm rằng tất cả các kết nối Bluetooth của bạn đều được cấu hình với yêu cầu cần thiết về bảo mật.  Bluetooth ngày nay được sử dụng rộng rãi trên các thiết bị điện tử như điện thoại, máy tính xách tay.. TÀI LIỆU THAM KHẢO Trang web tham khảo:

Các file đính kèm theo tài liệu này:

  • docbao_cao_thuc_tap_nhan_thuc_1767.doc
Luận văn liên quan