Quađó, ta thấy có thể xây dựng một hệ thống cho phép người sử dụng duyệt webdễ dàng hơn với chiếc điện thoại di động của mình thông qua kết nốibluetooth, một kết nối rất phổ biến và thuậ
Lý thuyết Bluetooth và trình duyệt BlueBond
Tổng quan về Bluetooth
Chương đầu tiên sẽ giới thiệu công nghệ Bluetooth, bao gồm khái niệm Bluetooth là gì, lịch sử phát triển của nó, ứng dụng trong đời sống và so sánh với các công nghệ không dây khác như hồng ngoại và WiFi.
Bluetooth là một công nghệ không dây tầm ngắn dùng sóng radio dùng để kết nối không dây giữa các thiết bị với nhau.
Bluetooth được thiết kế với ba mục tiêu chính: kích thước nhỏ, tiêu thụ ít năng lượng và giá thành thấp, nhằm trở thành chuẩn kết nối không dây phổ biến cho các thiết bị nhỏ và tiết kiệm năng lượng Công nghệ này hoạt động trên dải tần ISM 2.4 GHz không cần đăng ký, bao gồm các tần số từ 902 – 928 MHz và 2.4 – 2.485 GHz, cho phép các thiết bị Bluetooth hoạt động ổn định trên toàn cầu mà không gặp phải rào cản về pháp lý.
Các thiết bị sử dụng Bluetooth được chia thành ba lớp:
Lớp 1: tầm hoạt động khoảng 100 m Công suất khoảng 100 mW.
Lớp 2: tầm hoạt động khoảng 10 m Công suất khoảng 2.5 mW. Được sử dụng rộng rãi trong các thiết bị di động. o Lớp 3: tầm hoạt động khoảng 1 m Công suất khoảng 1 mW.
Bluetooth version 1.2 offers a maximum data transfer speed of 1 Mbps, while the latest version, 2.0 (Enhanced Data Rate - EDR), significantly increases this speed to a maximum of 3 Mbps.
2 Lịch sử phát triển của Bluetooth
Vào năm 1994, Ericsson khởi xướng một dự án nghiên cứu công nghệ không dây nhằm kết nối điện thoại với các phụ kiện của chúng Dự án này đã thu hút sự quan tâm của nhiều tập đoàn lớn như IBM, Intel, Nokia và Toshiba.
Cái tên Bluetooth được đặt bởi các kỹ sư của Ericsson để tôn vinh vua Harald Bluetooth, một vị vua Đan Mạch thế kỷ 10 nổi tiếng với khả năng kết nối mọi người và thống nhất Đan Mạch cùng Nauy Điều này phản ánh mong muốn của những người phát triển công nghệ không dây Bluetooth, nhằm tạo ra một chuẩn thống nhất để kết nối các thiết bị với nhau.
Tháng 5/1998, những công ty này thành lập nhóm quan tâm đặc biệt (Special
Các công ty đã cùng hợp tác phát triển đặc tả Bluetooth phiên bản 1.0, ra đời vào tháng 7/1999
Năm 2000, SIG đã chào đón bốn thành viên mới, bao gồm 3Com, Agere, Microsoft và Motorola Sự kiện này đánh dấu việc ra mắt sản phẩm Bluetooth đầu tiên trên thị trường, cùng với sự phát triển liên tục của các sản phẩm khác.
Năm 2001, đặc tả Bluetooth 1.1 ra đời Bluetooth đã có bước phát triển mạnh mẽ và được bình chọn là công nghệ không dây hay nhất của năm.
Hiện tại SIG có hơn 7000 thành viên cùng nhau phát triển chuẩn Bluetooth.
Giá thành một con chip Bluetooth chỉ khoảng 3 USD, và mỗi tuần có khoảng 5 triệu thiết bị Bluetooth được sản xuất, cho thấy tầm ứng dụng rộng rãi của công nghệ này trong cuộc sống Bluetooth có khả năng thực hiện nhiều chức năng, và danh mục ứng dụng của nó vẫn đang tiếp tục mở rộng.
Công nghệ Bluetooth là giải pháp lý tưởng cho các kết nối không dây, tiện lợi và trong phạm vi ngắn Đây là tiêu chuẩn toàn cầu, cho phép kết nối nhiều thiết bị khác nhau như điện thoại di động, máy tính cá nhân, ô tô, tai nghe và máy chơi nhạc MP3.
Đồng bộ hoá danh bạ, lịch làm việc, ghi chú giữa máy tính, điện thoại và PDA.
In một file từ máy tính hoặc từ máy ảnh số sử dụng máy in Bluetooth.
Kết nối máy tính với chuột và bàn phím Bluetooth.
Điện thoại rảnh tay với tai nghe Bluetooth.
Kết nối máy tính với hệ thống loa trong phòng khách.
Sau đây là một số ứng dụng quan trọng của Bluetooth.
3.1 Truyền file giữa các thiết bị
Với công nghệ Bluetooth, người dùng dễ dàng chia sẻ ảnh yêu thích với bạn bè và in chúng qua máy in hỗ trợ Bluetooth Ngoài ra, họ có thể cài đặt ứng dụng từ máy tính lên thiết bị cầm tay hoặc tải bài hát mới từ máy tính vào điện thoại hay máy nghe nhạc Những ví dụ này minh họa cho khả năng kết nối đơn giản của Bluetooth, giúp việc truyền file trở nên dễ dàng hơn.
3.2 Chia sẻ kết nối internet
Một chiếc điện thoại di động có khả năng kết nối internet qua GPRS hoặc quay số, cùng với tính năng Bluetooth, có thể chia sẻ kết nối internet với máy tính Trong trường hợp người dùng cần truy cập internet từ laptop ở những nơi không cho phép kết nối khác, như trong xe hơi, việc sử dụng Bluetooth để chia sẻ kết nối từ điện thoại di động là một giải pháp hiệu quả.
Hiện nay, các nhà mạng di động tại Việt Nam đã cung cấp dịch vụ kết nối internet cho điện thoại di động, nhưng giá dịch vụ vẫn còn cao.
Bluetooth là công nghệ được sử dụng trong các thiết bị truyền âm thanh không dây Với tai nghe Bluetooth, người dùng có thể thực hiện và nhận cuộc gọi mà không cần chạm vào điện thoại.
Bluetooth đã được tích hợp vào ô tô, cho phép kết nối điện thoại di động với hệ thống âm thanh của xe Nhờ đó, người dùng có thể nhận cuộc gọi một cách tiện lợi trong khi lái xe.
Bluetooth là giải pháp lý tưởng cho việc thiết lập mạng không dây nhỏ, cho phép truyền dữ liệu với tốc độ vừa phải, rất phù hợp cho các cuộc họp nhóm Công nghệ này hỗ trợ tự động thêm thiết bị vào mạng khi chúng nằm trong vùng phủ sóng và ngắt kết nối khi ra ngoài tầm hoạt động.
Một ứng dụng thú vị là thiết lập mạng giữa các thiết bị chơi game nhỏ, cho phép người dùng tạo ra một mạng nhỏ để chơi game trên các thiết bị di động trong khi chờ đợi tại nhà hàng hoặc trong giờ nghỉ ở trường Một ví dụ điển hình về thiết bị chơi game di động sử dụng công nghệ Bluetooth là điện thoại N-Gage của Nokia.
3.5 Kết nối các thiết bị ngoại vi
Đặc tả Bluetooth
Trong chương trước, chúng ta đã có cái nhìn tổng quan về công nghệ Bluetooth Chương này sẽ đi sâu vào các khía cạnh nội tại của công nghệ Bluetooth, bao gồm cơ chế hoạt động, các Bluetooth profile và giao thức Bluetooth Phiên bản mới nhất của tài liệu đặc tả Bluetooth hiện nay là phiên bản 2.0.
Bluetooth hoạt động trên băng tần ISM 2.4 GHz, một băng tần không cần đăng ký dành cho các thiết bị không dây trong các lĩnh vực công nghiệp, khoa học và y tế.
Dải tần số của băng tần ISM 2.4 GHz là 2400 – 2483.5 MHz.
1.2 Đồng hồ thiết bị Đồng hồ của thiết bị Bluetooth là một bộ đếm 28 bit Giá trị của đồng hồ được tăng lờn 1 sau mỗi chu kỳ 312.5 às Giỏ trị này được dựng để đỏnh số khe thời gian và đồng bộ thời gian trong các kênh vật lý.
Nhảy tần số (frequency hopping) là một kỹ thuật trải phổ (spread spectrum).
Kỹ thuật này được dùng vì có nhiều ưu điểm: chống nhiễu, chống dội sóng, và chống nghe lén.
Bluetooth sử dụng kỹ thuật nhảy tần số (frequency hopping) để truyền tải dữ liệu, với mỗi gói tin được gửi đi ở một tần số khác nhau Sau khi hoàn thành việc truyền một gói tin, thiết bị Bluetooth sẽ chuyển sang tần số tiếp theo theo một mẫu đã được xác định Quá trình này lặp lại khi thiết bị đã sử dụng hết các tần số trong mẫu Cụ thể, Bluetooth hoạt động trên 79 tần số trong dải tần ISM từ 2.4 đến 2.4835 GHz, với mỗi tần số cách nhau 1 MHz, bắt đầu từ 2402 MHz và kết thúc ở 2480 MHz.
Tốc độ nhảy tần số nhanh 1600 lần/giây giúp giảm thiểu nhiễu hiệu quả, đồng thời cho phép độ dài gói tin ngắn hơn Khi phát hiện nhiễu trong quá trình truyền gói tin, gói tin sẽ được truyền lại với tần số khác.
Khi một piconet được thiết lập, thiết bị master sẽ chọn mẫu nhảy tần số, và tất cả các thiết bị trong piconet sẽ sử dụng chung mẫu này Mẫu nhảy tần số cơ bản được tạo ra thông qua việc sắp xếp giả ngẫu nhiên (pseudo-random).
Mẫu 79 tần số có khả năng loại bỏ các tần số đang được các thiết bị khác sử dụng nhằm giảm thiểu nhiễu Đồng bộ hóa đồng hồ đếm xung và mẫu nhảy tần số được thực hiện qua một kênh radio riêng biệt, được chia sẻ giữa các thiết bị trong piconet.
Kênh radio vật lý được chia thành các khe thời gian (time-slot) để truyền dữ liệu, với mỗi gói tin được gửi trong một khe thời gian Trong một số trường hợp đặc biệt, có thể ghép tối đa 5 khe liên tiếp để truyền một gói tin Tần số sẽ được giữ nguyên trong suốt quá trình truyền gói tin và chỉ nhảy tần số sau khi hoàn tất Công nghệ Bluetooth cho phép truyền nhận song công (full duplex) thông qua lược đồ chia thời gian song công TDD (Time-Division Duplex).
Sau mỗi gói tin, mạch điện tử cần khoảng 220 ms để chuyển sang tần số mới Việc sử dụng nhiều khe thời gian để truyền gói tin giúp tăng tốc độ truyền dữ liệu, vì quá trình nhảy tần số chỉ diễn ra sau khi gói tin đã được truyền xong Do đó, thời gian truyền dữ liệu sẽ dài hơn nếu chỉ dùng một khe thời gian.
Hình 2-7 Gói tin sử dụng nhiều khe thời gian
Trong lược đồ TDD, thời gian được đánh số theo đồng hồ của thiết bị master, với master và slave không truyền đồng thời Master truyền gói tin trong các khe số chẵn, trong khi slave truyền trong các khe số lẻ, tạo ra hoạt động bán song công (half-duplex) Tuy nhiên, thời gian chuyển đổi nhanh chóng giữa truyền và nhận khiến người dùng cảm nhận như là song công Tài liệu đặc tả Bluetooth của SIG cũng công nhận TDD là chế độ song công.
Mạng Bluetooth được thiết lập theo kiểu ad-hoc, cho phép kết nối tự phát và tức thời giữa các thiết bị Mạng ad-hoc chủ yếu được sử dụng để truyền dữ liệu trong thời gian ngắn mà không cần đến cơ sở hạ tầng như switch hay router.
Hình 2-8 Mạng Bluetooth: piconet và scatternet
Bluetooth hỗ trợ kết nối điểm-điểm và điểm-đa điểm, cho phép hai thiết bị chia sẻ kênh vật lý trong kết nối point-to-point Trong khi đó, kết nối point-to-multipoint cho phép nhiều thiết bị cùng chia sẻ kênh vật lý, tạo thành một piconet Mỗi piconet chỉ có một thiết bị master, trong khi các thiết bị còn lại là slave, với tối đa 7 slave hoạt động tích cực cùng lúc Ngoài ra, nhiều thiết bị slave có thể ở trạng thái "ngủ" nhưng vẫn đồng bộ với master, cho phép chuyển sang trạng thái tích cực mà không cần thiết lập kết nối lại Master luôn đóng vai trò điều khiển truy cập kênh truyền.
Khi nhiều piconet có chung thiết bị kết nối, một scatternet được hình thành Mỗi piconet chỉ có một master, do đó master trong một piconet có thể hoạt động như slave trong các piconet khác Các slave có khả năng tham gia vào nhiều piconet khác nhau Các piconet trong scatternet thường không đồng bộ về tần số, mỗi piconet duy trì một mẫu nhảy tần số riêng biệt.
1.7 Đặc tả Bluetooth Đặc tả Bluetooth là chuẩn mà các thiết bị Bluetooth phải tuân theo để chúng có thể giao tiếp được với nhau. Đặc tả Bluetooth bao trùm rất nhiều vấn đề cả phần cứng lẫn phần mềm Về phần mềm, đặc tả Bluetooth bao gồm hai phần chính là chồng giao thức Bluetooth (Bluetooth protocol stack) và Bluetooth profile.
Chồng giao thức Bluetooth bao gồm nhiều tầng khác nhau, mỗi tầng đảm nhận vai trò quan trọng trong việc quản lý và điều khiển các hoạt động của giao tiếp Bluetooth Các giao thức này quy định cách cấu hình thiết bị, thiết lập các tham số giao tiếp và điều chỉnh mức năng lượng, đảm bảo sự kết nối hiệu quả và ổn định giữa các thiết bị.
Tổng quan về lập trình trên nền Pocket PC với hệ điều hành
1 Hệ điều hành Windows Mobile và tổng quan về Net Compact Framework
1.1 Hệ điều hành Windows Mobile
Windows Mobile là hệ điều hành di động được phát triển bởi Microsoft, tích hợp ứng dụng cơ bản và dựa trên giao diện lập trình Win32 Hệ điều hành này hỗ trợ nhiều thiết bị như Pocket PC, Smartphone, Portable Media Center và máy tính lắp sẵn trong ô tô Ngoài ra, một số laptop siêu di động cũng có thể sử dụng Windows Mobile Được thiết kế với giao diện và tính năng tương tự như phiên bản desktop của Windows, Windows Mobile lần đầu ra mắt dưới tên Pocket PC 2000 và đã trải qua nhiều lần nâng cấp, với phiên bản hiện tại là Windows Mobile 6, ra mắt vào năm 2008.
1.2 Tổng quan về Net Compact Framework
Thiết bị di động hiện nay rất phổ biến và đa dạng về hình dạng, kích thước cũng như chức năng Trong số đó, hệ điều hành Windows Mobile nổi bật với khả năng mạnh mẽ trên điện thoại di động Bài viết này sẽ nghiên cứu cách lập trình trên nền tảng Windows Mobile, giúp người dùng khai thác tối đa tiềm năng của thiết bị.
Microsoft Net Compact Framework (.NCF) là một phiên bản của Net Framework (.NF) được thiết kế để chạy trên các hệ điều hành, như Windows
.NET Compact Framework được cài đặt trên các thiết bị di động như PDA và điện thoại di động, sử dụng một số thư viện tương tự như phiên bản đầy đủ của NET Framework Bên cạnh đó, nó còn được bổ sung thêm các thư viện đặc trưng cho thiết bị di động, chẳng hạn như Windows CE InputPanel.
Phát triển ứng dụng với Net Compact Framework trong Visual Studio 2003, 2005 hoặc 2008 rất đơn giản, sử dụng các ngôn ngữ C# hoặc VB.Net Các ứng dụng này sẽ chạy trên thiết bị di động và đạt hiệu suất tối ưu nhờ vào bộ biên dịch JIT.
1.2.1 So sánh Net Compact Framework 2.0 và Net Framework 2.0
.Net Compact Framework 2.0 là một phiên bản rút gọn của Net Framework 2.0, được thiết kế đặc biệt cho các thiết bị di động, với khả năng thực thi khoảng 30% các lớp và phương thức của phiên bản đầy đủ Trong khi bộ Net Framework 2.0 đầy đủ có dung lượng tối thiểu 40MB, thì các thiết bị di động thường chỉ có bộ nhớ từ 32MB đến 128MB và RAM hạn chế, thường là 64MB Điều này đòi hỏi cần phải tối ưu hóa Net Compact Framework để phù hợp với các yêu cầu về tốc độ chip, khả năng lưu trữ và tiêu thụ năng lượng của thiết bị di động Mặc dù kích thước của Net Compact Framework ngày càng tăng qua các phiên bản, nó vẫn phải tuân thủ các giới hạn của bộ Net Framework đầy đủ.
Các lớp không cần thiết sẽ được loại bỏ khỏi Net Compact Framework vì hai lí do sau đây:
Bài viết này trình bày các phương thức sử dụng dịch vụ trên hệ điều hành Windows dành cho máy desktop, nhưng không áp dụng cho các phiên bản như Windows CE hay Windows Mobile Một ví dụ điển hình là các lớp ASP.Net, yêu cầu Microsoft Internet Information Server để hoạt động, và chúng đã bị loại bỏ khỏi NCF.
.Net Compact Framework được thiết kế để tối ưu hóa kích thước và hiệu suất, nhằm giảm thiểu chi phí thực thi Để đạt được điều này, nó loại bỏ một số chức năng như Remoting và XSLT, tập trung vào việc sử dụng tối đa tài nguyên của CPU và nguồn năng lượng.
Biểu đồ sau sẽ chỉ ra kiến trúc khác nhau của Net Framework và Net Compact Framework
Hình 3-1 Kiến trúc Net Framework và Net Compact Framework
1.2.2 Lập trình giao diện Windows Form trên thiết bị di động
Hầu hết các ứng dụng di động sử dụng giao diện đồ họa người dùng (GUI) để tương tác với người dùng Trong môi trường phát triển như Visual Studio 2005, GUIs được tạo ra bằng cách kéo và thả các đối tượng vào bản thiết kế Trong Microsoft Net Framework, giao diện thiết kế bao gồm các form và các đối tượng là các Windows Form control Đối với việc thiết kế giao diện trên màn hình điện thoại di động, Visual Studio 2005 cho phép người dùng thực hiện tương tự bằng cách kéo và thả các đối tượng vào form thiết kế Phần tiếp theo sẽ đi sâu vào các form trên màn hình điện thoại di động và các control trong Net Compact Framework 2.0.
Sự tương ứng giữa màn hình điện thoại di động và màn hình form:
Hình 3-2 Tương ứng giữa màn hình và form
Top strip là thanh chỉ ra tiêu đề của form.
Bottom strip là thanh chứa các “soft key” (menu/toolbar trong các thiết bị sử dụng hệ điều hành trước Windows Mobile 5.0)
Main area là nơi thiết kế giao diện chính.
Một số Control đáng quan tâm trong Net Compact Framework
Mặc dù Net Compact Framework không hỗ trợ đối tượng GroupBox, nhưng nó có đối tượng Panel control, được sử dụng để chứa các control khác và nhóm nhiều Radio Button control lại với nhau Panel control có thuộc tính AutoScroll và phương thức Resize, giúp điều chỉnh giao diện khi có sự thay đổi màn hình Khi thuộc tính AutoScroll được đặt là true, một thanh cuộn sẽ xuất hiện nếu bất kỳ control nào trong panel vượt quá kích thước cho phép.
Một cách sử dụng panel hiệu quả là nhóm các control lại với nhau để quản lý thuộc tính chung, chẳng hạn như khi vô hiệu hóa panel, tất cả các control bên trong cũng sẽ bị vô hiệu hóa Điều này cho phép ẩn hoặc hiển thị một nhóm control một cách đồng bộ và thuận tiện hơn.
TabControl là một trong những control phổ biến để phát triển ứng dụng Pocket PC, cho phép người dùng tải nhiều control trên form và chuyển đổi giữa các tab một cách nhanh chóng Trên Pocket PC, các tab được đặt ở phía dưới của form, khác với thiết kế trên desktop, nơi các tab thường nằm ở phía trên Thiết kế này rất phù hợp với màn hình điện thoại di động.
TabControl là một thành phần quan trọng trong form, cho phép người dùng dễ dàng điều chỉnh kích thước và vị trí thông qua các thuộc tính Dock và Location Đặc biệt, thuộc tính TabPages rất cần thiết, vì nó chứa các đối tượng TabPage, nơi lưu trữ các control mà chúng ta muốn thêm vào.
Một trong những phương thức hữu ích của control là SelectedIndexChanged, được kích hoạt khi người dùng thay đổi tab Điều này cho phép người dùng thực hiện các hành động tương ứng với tab đã chọn.
Menu trong Windows Mobile được thiết kế đặc biệt cho thiết bị di động, với vị trí nằm ở phía dưới màn hình Khi thêm menu hoặc toolbar, chúng sẽ hiển thị cạnh nhau, tạo thành một giao diện gọn gàng và dễ sử dụng.
Hình 3-3 Menu trên Pocket PC
Trên các thiết bị chạy hệ điều hành Windows Mobile 5.0 trở lên, khái niệm menu được thống nhất giữa nền Pocket PC và Smartphone Các ứng dụng thường bao gồm hai cấp độ menu (soft key).
Trình duyệt bluebond và hướng phát triển của đồ án
Trên thế giới, nhiều trình duyệt di động như Opera Mini, Minimo và Pixo đã được phát triển để hiển thị nội dung web tốt trên điện thoại Tuy nhiên, không phải tất cả các thiết bị di động đều tương thích với những trình duyệt này, và việc xây dựng một trình duyệt cho điện thoại để hiển thị các trang web dành cho PC là một thách thức Bên cạnh đó, kết nối Bluetooth ngày càng trở nên phổ biến và tiện dụng, với nhiều phần mềm dựa trên giao thức này đã được phát hành và được người dùng chấp nhận Các thiết bị điện thoại hỗ trợ Bluetooth và Java hiện rất phổ biến trên thị trường, mở ra cơ hội cho việc chia sẻ kết nối Internet giữa các thiết bị.
PC là một máy tính cá nhân kết hợp với điện thoại di động, tận dụng khả năng kết nối internet của Pocket PC và PC, đồng thời sử dụng công nghệ Bluetooth, cho phép các điện thoại di động phổ thông dễ dàng truy cập web.
Trình duyệt Bluebond hiển thị dữ liệu từ mô-đun Gateway trên điện thoại di động Nó kết nối với Gateway qua giao thức Bluetooth và thực hiện việc gửi, nhận thông tin thông qua cổng trung chuyển Thông tin được truyền tải được đóng gói thành các gói tin với phần header được quy định trước.
Bluebond là ứng dụng cài đặt trên điện thoại di động sử dụng nền tảng Java, cho phép duyệt web thông qua kết nối Bluetooth với PDA Để sử dụng Bluebond, điện thoại di động cần đáp ứng một số yêu cầu nhất định.
Điện thoại di động có hỗ trợ Java (J2ME CLDC1.0/MIDP2.0) Hầu hết các điện thoại hiện nay đều hỗ trợ công nghệ này
Điện thoại di động có hỗ trợ Bluetooth
2 Hướng dẫn sử dụng Đối với đa số các dòng Nokia thì chỉ cần copy file "BlueBond.jar" vào điện thoại, chạy và làm theo hướng dẫn.
Đối với các loại điện thoại khác, cần áp dụng phương pháp cài đặt riêng, có thể thông qua GPRS Việc tải xuống và cài đặt Bluebond sẽ phụ thuộc vào từng loại máy, và phần này sẽ được phát triển trong tương lai.
Khởi động bluebond trên điện thoại di động
Hình 4-1 BlueBond - Màn hình ban đầu
Di den : Hiển thị màn hình nhập địa chỉ trang web cần duyệt.
Luu bookmark: Lưu địa chỉ trang hiện thời vào bookmark
Quan ly bookmark: Chuyển sang màn hình bookmark.
Tuy chon: Thiết lập các tuỳ chọn.
Mo trang nay: Mở địa chỉ được lưu trong bookmark đang được chọn.
Them: Thêm mới một bookmark.
Sua: Sửa bookmark đang được chọn.
Xoa: Xoá bookmark đang được chọn.
Hình 4-4 BlueBond – Màn hình danh sách thiết bị
Tìm kiếm server, khi đã thấy tên server cần tìm thì có thể chọn Stop để dừng quá trình tìm kiếm lại.
Hình 4-5 BlueBond - Chọn server muốn kết nối đến
Hình 4-6 BlueBond - Xác nhận kết nối
Hình 4-7 BlueBond - Hiển thị trang
Hình 4-8 BlueBond – Quản lí bookmark
Lưu ý: Địa chỉ phải bắt đầu bằng http://
Ket noi: Chọn "Qua Bluetooth" để kết nối qua Bluetooth Chọn "Mac dinh " để sử dụng kết nối của điện thoại (như GPRS, )
Loai bo dau Tieng Viet: Nếu máy của bạn không hiển thị đúng ký tự
Unicode Tiếng Việt thì hãy chọn mục này.
Các tuỳ chọn còn lại hiện tại chưa có tác dụng.
Gian luoc HTML: Gateway sẽ giản lược các trang HTML phức tạp để chúng hiển thị một cách thuận tiện trên điện thoại (Chưa có tác dụng)
Dieu chinh kich thuoc anh: Gateway sẽ điều chỉnh ảnh để hiển thị đúng trên điện thoại (Chưa có tác dụng)
Tu dong bookmark: Tự động lưu lại các trang đã duyệt (Chưa có tác dụng)
Phần II, Phần mềm Gateway
phát biểu và phân tích bài toán
WiFi là chuẩn kết nối không dây phổ biến cho laptop và PDA, trong khi Bluetooth là chuẩn tương ứng cho điện thoại di động Ngày nay, WiFi đã trở nên quen thuộc, cho phép người dùng dễ dàng lướt web tại các quán Café Internet Mặc dù số lượng thiết bị WiFi ngày càng tăng, nhưng sự phổ biến của điện thoại di động vẫn vượt trội Một câu hỏi đặt ra là tại sao người dùng di động không thể truy cập internet tại các địa điểm công cộng như laptop và PDA Ý tưởng thú vị là cho phép điện thoại di động kết nối và chia sẻ internet qua Bluetooth từ những người xung quanh hoặc từ quán Café Hệ thống này sẽ cho phép điện thoại di động và các thiết bị di động khác duyệt web thông qua kết nối Bluetooth với máy tính cá nhân hoặc PDA.
Trình duyệt web trên di động sử dụng Bluetooth để kết nối với server, có thể chạy trên PC, PDA hoặc di động Thiết bị chạy module server cần có kết nối Internet, chẳng hạn như laptop và PDA kết nối qua WiFi hoặc PC kết nối qua ADSL Server sẽ trung chuyển thông tin giữa di động và mạng Internet, cho phép chia sẻ kết nối Internet từ PC hoặc PDA đến điện thoại di động.
Hình 5-2 Mô hình hệ thống.
1.2.2 Kiến trúc Ứng dụng được phát triển dựa trên kiến trúc Client – Server.
Client có chức năng của một trình duyệt chạy trên điện thoại di động nền Java.
Server là cổng trung chuyển thông tin giữa trình duyệt trên điện thoại và máy chủ web
Client và Server kết nối với nhau thông qua công nghệ Bluetooth
Hiện nay, nhiều website tại Việt Nam chưa tối ưu hóa cho người dùng điện thoại di động, trong khi các trang web lớn trên thế giới thường có phiên bản riêng cho di động Để khắc phục tình trạng này, chúng ta sẽ phát triển một modul mới gọi là Content Server, được cài đặt trên một web server riêng Modul này sẽ chuyển đổi các nội dung chỉ hiển thị trên màn hình PC thành định dạng phù hợp cho điện thoại di động, đồng thời lọc bỏ thông tin dư thừa và quảng cáo không cần thiết để nâng cao trải nghiệm người dùng.
Khi người dùng muốn sử dụng dịch vụ, họ cần cài đặt trình duyệt và kết nối điện thoại với server qua Bluetooth bằng cách nhập URL Trình duyệt sẽ tự động tìm kiếm các thiết bị Bluetooth xung quanh và hiển thị danh sách để người dùng chọn server kết nối Sau khi kết nối thành công, URL sẽ được gửi từ trình duyệt đến mô-đun Server (cài đặt trên PDA có kết nối internet) Server, hoạt động như một gateway, sẽ thêm URL như một tham số vào địa chỉ của Content Server và kết nối thông qua giao thức HTTP Mô-đun Content Server nhận tham số URL, thu thập thông tin từ internet, lọc và gửi lại cho gateway, sau đó gateway sẽ chuyển thông tin về cho client, cho phép trình duyệt hiển thị thông tin trên màn hình điện thoại di động.
Có nhiều nền tảng để phát triển mô-đun gateway, bao gồm PC với hệ điều hành Windows, nền tảng Linux, PDA và điện thoại di động Trong số đó, nền tảng PDA với hệ điều hành Windows Mobile là sự lựa chọn thú vị nhất, vì hầu hết các PDA hiện nay đều hỗ trợ Wifi và Bluetooth Điều này cho phép chúng dễ dàng kết nối internet qua Wifi và chia sẻ kết nối với điện thoại di động Do đó, nội dung đồ án này đã chọn PDA làm môi trường phát triển mô-đun gateway.
Bài toán của đồ án là phát triển modul Gateway để chia sẻ kết nối internet với điện thoại di động qua giao thức Bluetooth Modul này có nhiệm vụ đăng ký dịch vụ, lắng nghe kết nối từ client, nhận thông tin từ client và chuyển URL đến Content Server.
Gateway phải có các chức năng như sau:
Lắng nghe kết nối từ 1 virual port do bluetooth tạo ra
Nhận các gói tin từ client, thêm tham số và chuyển đến modul Content Server.
Nhận thông tin trả lại từ Content Server và chuyển tiếp nó về client.
2.1 Xác định Actor và Use-case
Người sử dụng chương trình gateway.
Đăng kí dịch vụ : đăng kí lắng nghe từ cổng COM o Mở cổng. o Tạo session mới.
Ngắt kết nối : ngắt kết nối với các client. o Ngắt kết nối. o Đóng cổng.
Cấu hình hệ thống. o Cấu hình Proxy. o Cấu hình địa chỉ modul Content Server.
Xem thông tin thiết bị o Yêu cầu thông tin thiết bị từ client. o Hiển thị thông tin thiết bị cho người sử dụng.
Nhận gói tin từ client, xử lý để trích xuất chuỗi URL và chuyển tiếp đến modul Content Server Quá trình này bao gồm tiếp nhận gói tin, phân loại và xử lý nội dung của nó, sau đó chuyển tiếp thông tin đến modul Content Server để tiếp tục xử lý.
Gửi tin : Trả nội dung tin thu được từ Content Server về client o Ghi thông tin ra cổng COM để trả về cho client.
Lấy thông tin từ internet o Lấy thông tin từ internet. o Tạo packet.
Hình 5-3 Use-case tổng quát
Hình 5-4 Use-case Đăng kí dịch vụ
Hình 5-5 Use-case Ngắt kết nối
Hình 5-6 Use-case Cấu hình hệ thống.
Hình5-7 Use-case Xem thông tin thiết bị
Tên use-case : Đăng kí dịch vụ.
Mô tả: o Người sử dụng khởi động chương trình để mở cổng COM và lắng nghe tại cổng đó.
Dòng sự kiện: o Dòng sự kiện chính:
Người sử dụng chọn cổng COM và chọn menu “Khởi động”.
Chương trình tạo một session mới.
Nếu cổng đã chọn đang mở thì đóng lại.
Mở cổng COM được chọn để lắng nghe. o Dòng sự kiện con: Không. o Dòng sự kiện rẽ nhánh:
Nếu mở cổng thành công, thông báo cổng được mở và đã sẵn sàng.
Nếu mở cổng thất bại, thông báo lỗi đọc cổng đến người sử dụng.
Các yêu cầu đặc biệt: Không.
Điều kiện tiên quyết: o Pocket PC phải cài thiết bị Bluetooth. o Phải bật Bluetooth trên thiết bị đó. o Phải chọn đúng cổng COM mà Bluetooth sinh ra
Điều kiện bổ sung: Không.
Tên use-case : Ngắt kết nối.
Mô tả: o Người sử dụng chọn menu “Ngắt kết nối” để ngắt kết nối với thiết bị. o Người sử dụng chọn menu “Dừng” để đóng cổng COM.
Dòng sự kiện: o Dòng sự kiện chính:
Khi đăng kí dịch vụ thành công, cổng COM đã được mở thì người sử dụng chọn menu “Dừng” để đóng cổng, hoặc chọn menu “Ngắt kết nối”.
Tạo ra một gói tin INFORM có Sub Type là DISCONNECT.
Gửi gói tin Disconnect này tới client. o Dòng sự kiện con: Không. o Dòng sự kiện rẽ nhánh:
Nếu chọn menu ngắt kết nối, không đóng cổng.
Nếu chọn menu dừng, đóng cổng COM.
Các yêu cầu đặc biệt: Không.
Điều kiện tiên quyết: o Cổng COM đã được mở.
Điều kiện bổ sung: Không.
Tên use-case : Cấu hình hệ thống.
Mô tả: o Người sử dụng chọn menu “Cấu hình” để cấu hình lại các tham số của hệ thống.
Dòng sự kiện: o Dòng sự kiện chính:
Người sử dụng bấm vào menu “Cấu hình”.
Hiển thị form Configuration để người sử dụng cấu hình.
Người sử dụng thay đổi các tham số trên màn hình bằng cách chọn/bỏ chọn trên checkbox, thay đổi nội dung trên các textbox.
Người sử dụng bấm OK để lưu hoặc Cancel để hủy thay đổi. o Dòng sự kiện con:
Nếu file cấu hình cho hệ thống chưa tồn tại, nó sẽ được tự động tạo ra với các tham số mặc định.
Nếu người sử dụng bấm OK, lưu các thay đổi vào file Setting.xml và hiển thị thông báo thành công.
Nếu người sử dụng bấm Cancel, không lưu các thay đổi và trở lại màn hình Monitor.
Các yêu cầu đặc biệt: Không.
Điều kiện tiên quyết: Không.
Điều kiện bổ sung: Không.
2.3.4 Xem thông tin thiết bị.
Tên use-case : Xem thông tin thiết bị.
Mô tả: o Người sử dụng chọn menu “Thông tin thiết bị” xem thiết bị đang được kết nối đến.
Dòng sự kiện: o Dòng sự kiện chính:
Khi cổng COM được mở và có thiết bị kết nối, người sử dụng có thể truy cập vào menu “Thông tin thiết bị” để xem thông tin chi tiết về thiết bị đang kết nối.
Tạo ra một gói tin INFORM, Sub Type SYSTEM_PROPERTIES để yêu cầu thông tin từ client.
Gửi gói tin yêu cầu này đến client
Nhận thông tin trả lời từ client.
Hiển thị thông tin thiết bị lên màn hình thông tin thiết bị. o Dòng sự kiện con: Không. o Dòng sự kiện rẽ nhánh: Không.
Các yêu cầu đặc biệt: Không.
Điều kiện tiên quyết: o Cổng COM đã được mở. o Có thiết bị kết nối đến.
Điều kiện bổ sung: Không.
Tên use-case : Gửi gói tin.
Mô tả: o Hệ thống gửi một gói tin đến Client.
Dòng sự kiện: o Dòng sự kiện chính:
Tạo ra một packet mới, đưa vào hàng đợi.
Chuyển gói tin thành dòng dữ liệu nhị phân.
Đưa dòng tin này ra cổng COM. o Dòng sự kiện con: Không. o Dòng sự kiện rẽ nhánh: Không.
Các yêu cầu đặc biệt: Không.
Điều kiện tiên quyết: o Cổng COM đã được mở. o Có thiết bị kết nối đến.
Điều kiện bổ sung: Không.
Tên use-case : Nhận gói tin.
Mô tả: o Hệ thống lắng nghe và nhận một gói tin được gửi đến từClient.
Dòng sự kiện: o Dòng sự kiện chính:
Đọc dữ liệu từ cổng COM.
Tái tạo gói tin từ dòng dữ liệu vừa đọc được.
Phân loại và xử lí gói tin. o Dòng sự kiện con: Không. o Dòng sự kiện rẽ nhánh:
Nếu gói tin là gói tin INFORM, xử lí thông tin hệ thống.
Nếu gói tin là gói tin PREFERENCES, thiết lập lại các thuộc tính.
Nếu gói tin là gói tin BROWSING, trích xuất url và thêm vào thành param của đường dẫn, dùng để lấy tin trên internet.
Các yêu cầu đặc biệt: Không.
Điều kiện tiên quyết: o Cổng COM đã được mở. o Có thiết bị kết nối đến.
Điều kiện bổ sung: Không.
2.3.7 Lấy thông tin từ Internet.
Tên use-case : Lấy thông tin từ Internet.
Mô tả: o Hệ thống sau khi nhận được một gói tin BROWSING từ Client, kết nối internet và tải thông tin về.
Dòng sự kiện: o Dòng sự kiện chính:
Sử dụng url từ gói tin BROWSING của client như một tham số param, thêm vào địa chỉ của modul Content Server.
Tải dữ liệu từ Content Server qua giao thức HTTP.
Đóng gói thành packet để gửi lại cho client. o Dòng sự kiện con: Không. o Dòng sự kiện rẽ nhánh:
Nếu tải thành công thông tin từ Content Server, đóng gói thông tin này thành các packet.
Nếu không tải thành công, gửi packet có nội dung
Các yêu cầu đặc biệt: Không.
Điều kiện tiên quyết: o Cổng COM đã được mở. o Có thiết bị kết nối đến.
Điều kiện bổ sung: o Có kết nối Internet.
Kiến trúc tổng thể ứng dụng được thiết kế theo mô hình client-server, trong đó client gửi yêu cầu đến server, và server sẽ chuyển tiếp yêu cầu đến modul Content Server Kết nối giữa modul server và internet được thực hiện qua giao thức HTTP, với yêu cầu của client được thêm vào đường dẫn địa chỉ của modul Content Server như một tham số Content Server sẽ tách tham số yêu cầu, lọc tin và gửi phản hồi lại cho client qua gateway là modul server Các sự kiện truyền nhận sẽ được xử lý bởi các AppHandler.
3.2 Kiến trúc truyền nhận dữ liệu
3.2.1 Phân tích các giải pháp
Lựa chọn các giải pháp chủ yếu dựa vào phía PPC, vì không có sự khác biệt đáng kể giữa các giải pháp kết nối trên thiết bị di động được nêu ra sau đây.
Giải pháp kết nối qua cổng COM ảo
Giải pháp này sử dụng cổng COM ảo được thiết lập giữa hai thiết bị kết nối, mang lại trải nghiệm lập trình tương tự như cổng COM truyền thống.
Hình 5-10 Giải pháp kết nối qua cổng COM ảo
Giải pháp này sở hữu kiến trúc đơn giản và trong suốt ở phía PPC, không phụ thuộc vào phần mềm hay phần cứng Bluetooth Đặc tính này cho phép phần mềm hoạt động hiệu quả trong nhiều môi trường khác nhau.
Mô tả các thành phần trong giải pháp:
Virtual COM: Cổng COM ảo là một cổng COM thuần tuý phần mềm.
Nó được phần mềm Bluetooth tạo ra và điều khiển Nó không liên quan gì đến các cổng COM vật lý ở trên máy tính.
Phần mềm Bluetooth cung cấp các API cho phép truy cập và quản lý thiết bị Bluetooth, bao gồm việc cấu hình tên thiết bị Vai trò chính của nó là tạo ra giao diện giúp người dùng dễ dàng quản lý các thiết bị và kết nối với máy tính.
Device Driver: Trình điều khiển thiết bị có nhiệm vụ giao tiếp với phần cứng Bluetooth ở mức thấp.
Bluetooth Device: là thành phần phần cứng.
Giải pháp sử dụng JSR-82 API
Hình 5-11 Giải pháp sử dụng JSR-82 API
Giải pháp này sử dụng JSR-82 API, một API Bluetooth dành cho ngôn ngữ Java, nhưng J2SE không hỗ trợ JSR-82 Do đó, các thư viện của bên thứ ba đã được phát triển để bổ sung JSR-82 cho J2SE Để triển khai giải pháp, cần có thiết bị Bluetooth tương thích với Bluetooth stack và phần mềm Bluetooth cho cả PPC và thiết bị di động Hiện nay, hai phần mềm Bluetooth phổ biến là Windows Bluetooth Stack và Widcomm Bluetooth Stack.
Xây dựng ứng dụng
1.1 Sơ lược về các modul
Như đã đề cập trong phần trên, hệ thống chia sẻ kết nối Internet dùng công nghệ bluetooth gồm 3 modul : Browser, Gateway và Content Server.
Kết nối giữa hai modul Browser và Gateway sử dụng công nghệ bluetooth, được phát triển theo mô hình client/server.
Trình duyệt Bluebond là ứng dụng được cài đặt trên điện thoại di động hỗ trợ Bluetooth và Java, có nhiệm vụ hiển thị thông tin từ Gateway Modul này giao tiếp với Gateway thông qua các gói tin có định dạng thống nhất Quá trình truyền nhận dữ liệu diễn ra theo cơ chế bắt tay, trong đó mỗi khi trình duyệt nhận được gói tin phản hồi từ Gateway, nó sẽ gửi lại gói tin ACK để đảm bảo tính toàn vẹn của dữ liệu.
Modul Gateway và modul Content Server tương tác qua giao thức HTTP Khi nhận yêu cầu từ Gateway, Content Server xử lý để trích xuất địa chỉ website mà trình duyệt yêu cầu, thu thập thông tin từ internet, lọc bỏ các dữ liệu không cần thiết và gửi lại cho client Địa chỉ của máy chủ Content Server có thể được cấu hình trong modul Gateway.
Công cụ và môi trường phát triển.
Modul Gateway được xây dựng trên các công cụ và môi trường phát triển sau:
Môi trường phát triển : Hệ điều hành Windows Mobile 5.0 trên Pocket PC.
Công cụ phát triển : Visual Studio 2005.
SDK : Microsoft Windows Mobile 5.0 SDK for Pocket PC
Pocket PC có cài hệ điều hành Windows Mobile 5.0.
Điện thoại di động hỗ trợ Bluetooth, CLDC1.0, MIDP2.0 (thử nghiệm sử dụng Nokia N70)
2 giới thiệu kết quả Ứng dụng được thử nghiệm trên môi trường sau:
Gateway: được cài trên Pocket PC với hệ điều hành Windows Mobile 5.0, Net Compact Framework 2.0, Bluetooth stack là Microsoft Bluetooth Stack.
Client : Nokia N70 được cài trình duyệt Bluebond.
Các chức năng đã hoàn thiện : gửi, nhận tin, duyệt web, cấu hình…
Khi khởi động chương trình, một màn hình xuất hiện, chọn cổng COM mà bluetooth sinh ra để lắng nghe (tìm cổng COM này ở Bluetooth Setting trên Pocket PC.)
Hình 6-1 Kết quả – Màn hình khởi động
Sau khi lựa chọn cổng COM để lắng nghe, bạn cần sử dụng menu Thực Hiện > Khởi động để đăng ký dịch vụ Khi hoàn tất, Gateway sẽ bắt đầu lắng nghe tại cổng COM đã được đăng ký.
Hình 6-2 Kết quả – Đăng kí kết nối
Sau khi đăng kí dịch vụ, bật trình duyệt bluebond trên điện thoại di động, đưa vào địa trang tin cần xem ở menu “Di den”
Hình 6-3 Kết quả - Duyệt web.
Bluebond sẽ quét và hiển thị các thiết bị phát sóng Bluetooth, sau đó cung cấp danh sách các thiết bị này Người dùng cần chọn gateway để thực hiện kết nối.
Hình 6-4 Kết quả – Tìm kiếm thiết bị.
Hình 6-5 Kết quả - Chọn server muốn kết nối đến.
Hình 6-6 Kết quả - Kết nối.
Hình 6-7 Kết quả - Thông tin trang web.
Trang web hiển thị trên thiết bị di động
Hình 6-9 Kết quả - Màn hình hiển thị thông tin thiết bị kết nối
Khi đó, trong nhật kí kết nối cũng xuất hiện thông tin thiết bị kết nối.
Hình 6-10 Kết quả - Màn hình nhật kí kết nối.
Thu được các kiến thức về công nghệ Bluetooth, một công nghệ không dây đang phát triển rất nhanh.
Lập trình tốt trên môi trường NET.
Hiểu sâu thêm về lập trình qua cổng serial trên Windows.
Sử dụng thành thạo các công cụ phát triển: Visual Studio.
Xây dựng được modul Gateway, cổng trung chuyển thông tin để duyệt web bằng công nghệ Bluetooth.
Các chức năng tùy chọn còn hạn chế.
Giao diện của chương trình vẫn còn hơi phức tạp đối với người dùng mới.
Bổ sung thêm các tùy chọn, như các tùy chọn lọc dấu tiếng Việt, tùy chọn chỉnh lại kích cỡ hình ảnh, tùy chọn hiển thị thuần túy HTML….