LỜI CẢM ƠN
Sau gần năm năm phấn đấu và học tập dưới mái trường Đại Học Sư Phạm Kỹ
Thuật Thành Phố Hồ Chí Minh, được sự giúp đỡ tận tình của các thầy cô trong khoa
Điện – Điện Tử, đặc biệt là các thầy cô giáo trong bộ môn Điện tử - Viễn Thông đã
cung cấp cho chúng em những kiến thức và kinh nghiệm quý báu trong chuyên môn
cũng như trong cuộc sống, những kiến thức quý báu đó chính là hành trang vô giá
nâng bước chúng em tới những bước đường thành công trong tương lai.
Sau những tháng ngày miệt mài học hỏi và không ngừng tìm hiểu, cùng với sự
giúp đỡ của các thầy cô giáo, đến nay đồ án tốt nghiệp của chúng em đã hoàn thành
đúng thời gian quy định, để đạt được sự thành công này, chúng em xin gởi lời cảm
ơn chân thành đến tất cả quý thầy cô trong trường Đại Học Sư Phạm Kỹ Thuật Thành
Phố Hồ Chí Minh đã cung cấp cho chúng em những kiến thức quý báu trong suốt bốn
năm học vừa qua.
Bên cạnh đó chúng em cũng xin gởi lời cảm ơn chân thành đến quý thầy cô
trong khoa Điện – Điện tử, các quý thầy cô trong bộ môn Điện Tử viễn Thông đã
trang bị cho chúng em những kiến thức chuyên ngành cũng như đã hỗ trợ chúng em
trong suốt thời gian làm đồ án.
Chúng em xin gởi lời tri ân đến thầy Phan Văn Ca là người đã trực tiếp hỗ trợ
về kiến thức cũng như động viên về mặt tinh thần trong những lúc khó khăn để nhóm
có thể hoàn thành đồ án một cách tốt đẹp.
Chúng em xin gởi lời cảm ơn đến gia đình đã luôn bên cạnh, quan tâm và động
viên chúng em những lúc khó khăn, ủng hộ chúng em cả về tinh thần và vật chất để
chúng em hoàn thành đồ án một cách tốt đẹp.
Cuối cùng, nhóm xin gởi lời cảm ơn đến tất cả các bạn trong lớp 08119 đã luôn
đi cùng chúng tôi trong suốt bốn năm học vừa qua cũng như đã có những đóng góp
bổ ích để đề tài được hoàn thiện hơn. Chúc tất cả thành công tốt đẹp và chào đón một
con đường mới.
Tuy đã cố gắng hết sức, nhưng đề tài khó tránh khỏi những thiếu sót nhất định,
chúng em rất mong nhận được sự đóng góp ý kiến của thầy cô và các bạn để đề tài
được hoàn thiện hơn.
Xin chân thành cảm ơn!
Nhóm sinh viên thực hiện
Đoàn Ngô Bình
Tống Trọng Chính
TÓM TẮT
Đề tài ứng dụng wifi trên nền tảng android là đề tài sử dụng kết nối wifi của
nền tảng Android để quản lý thông tin và trao đổi thông tin giữa PC và SmartPhone. Ứng
dụng mô phỏng cách quản lý của một cửa hàng đồ uống, các nhân viên sử dụng
SmartPhone để thực hiện công việc gọi món. Nhờ có ứng dụng các nhân viên sẽ giảm
bớt việc đi lại giữa khu vực phục vụ và khu vực chế biến.
Điện thoại di động đã trở thành một phần quan trọng trong cuộc sống hàng
ngày. Với cấu hình khá cao và được tích hợp hệ điều hành đa dạng, điện thoại di động
thông minh đã dần thay thế PC trong cuộc sống. Công việc tính toán, lưu trữ trước đây
của PC đã được điện thoại thông minh thay thế. Trước những lợi ích to lớn của nền tảng
di động, nhóm em đã lựa chọn khai thác tính năng wifi của di động để xây dựng một
phần mềm quản lý.
Hiện nay việc quản lý các thông tin của cửa hàng đã trở nên rất dễ dàng với
hàng loạt các ứng dụng miễn phí, giao diện dễ sử dụng. Nhóm chúng tôi đã đưa ra một
lựa chọn mới trong việc quản lý, và điều hành cửa hàng thông qua các thiết bị di động.
Nhằm tạo sự thuận lợi cho người dùng lẫn người quản lý.
ABSTRACT
Subject wifi application on android platform is subject to use wifi
connection of the Android platform to manage information and information
exchange between the PC and SmartPhone. Application management
simulation of a beverage store, the employees use smartphones to do the
ordering. Thanks to the application will reduce staff travel between service
areas and processing areas.
Mobile phones have become an important part of everyday life
days. With high configuration and integration of diverse systems, smart
mobile phones have gradually replaced PC in life. The calculations, former
host PC has been replaced smartphone. Before the great benefits of the mobile
platform, the group I chose the wifi feature extraction to build a mobile
management software.
Currently managing information stores has become very easy with a
variety of free apps, easy to use interface. Our team has launched a new option
in the management and operation of the store through mobile devices. In order
to create favorable conditions for users and managers
Trang iv
MỤC LỤC
Trang
LỜI CẢM ƠN i
TÓM TẮT ii
ABSTRACT iiiii
MỤC LỤC ivv
LIỆT KÊ HÌNH vi
LIỆT KÊ BẢNG vii
LIỆT KÊ TỪ VIẾT TẮT viii
CHƯƠNG 1:GIỚI THIỆU 1
1.1 Chọn đề tài 1
1.2 Mục tiêu đề tài 1
1.3 Bố cục báo cáo đề tài 1
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2
2.1 Hệ điều hành Android 2
2.1.1 Giới thiệu về hệ điều hành Android 2
2.1.2 Đặc điểm hệ điều hành Android 3
2.1.3 Kiến trúc của nền tảng Android 4
2.1.4 Bộ công cụ Android SDK 8
2.2 Giao thức TCP/IP trong mạng Lan 9
2.2.1 Tổng quan về giao thức TCP/IP 9
2.2.2 Giao thức TCP ( Transmission Control Protocol ) 10
2.2.3 Gói tin IP (Internet Protocol) 12
2.3 Giới thiệu các chuẩn wifi IEEE 802.11 15
CHƯƠNG 3:THIẾT KẾ CHƯƠNG TRÌNH 19
3.1 Yêu cầu bài toán 19
3.2 Giải quyết yêu cầu 19
3.2.1 Thiết kế chương trình trên PC 19
3.2.2 Thiết kế chương trình trên Android 21
CHƯƠNG 4:KẾT QUẢ THỰC HIỆN 24
Trang v
4.1 Chương trình máy PC 24
4.2 Chương trình máy di động dùng Android 26
CHƯƠNG 5:KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 31
5.1 Kết luận : 31
5.2 Hướng phát triển 31
PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO I
PHỤ LỤC : Error! Bookmark not defined.
Code chương trình trên PC I
Code form đăng nhập Error! Bookmark not defined.
Code form màn hình chính Error! Bookmark not defined.
Code form quản lý bàn II
Code chương trình trên Android 48
TÀI LIỆU THAM KHẢO 60
Trang vi
LIỆT KÊ HÌNH
Hình 2.1 : Nhân linux trên Android 4
Hình 2.2 : Thư viện lâp trình ứng dụng trên Android 5
Hình 2.3 : Các ứng dụng trên Android 8
Hình 2.4 : Định dạng gói TCP 11
Hình 2.5 : Khung TCP 12
Hình 2.6 : Mô tả đóng gói liên khung internet 14
Hình 3.1 : Lưu đồ giải thuật phần đăng nhập 20
Hình 3.2 : Lưu đồ giải thuật chương trình xử lý gói tin 21
Hình 4.1 : Giao diện đăng nhập trên PC 22
Hình 4.2 : Giao diện màn hình chính khi bàn trống 22
Hình 4.3 : Giao diện màn hình chính khi có khách 23
Hình 4.4 : Giao diện quản lý nhân viên 23
Hình 4.5 : Giao diện thêm món 25
Hình 4.6 : Giao diện màn hình chính trên Android 26
Hình 4.7 : Giao diện đăng nhập 27
Hình 4.8 : Giao diện chọn tầng trên Android 27
Hình 4.9 : Giao diện cập nhật món trên Android 28
Hình 4.10 : Giao diện Menu trên Android 28
Hình 4.11 : Giao diện quản lý bàn trên Android 29
Hình 4.12 : Giao diện chọn món trên Android 29
Trang vii
LIỆT KÊ BẢNG
Bảng 2.1 : Lịch sử các bản SDK 3
Trang viii
LIỆT KÊ TỪ VIẾT TẮT
A
- API Application programming Giao diện lập trình ứng dụng
Interface
S
- SDK Software development Môi trường phát triển phần
Kit mềm
U
- USB Universal Serial Bus Chuẩn kết nối tuần tự đa
dụng.
- XML eXtensible Markup Ngôn ngữ đánh dấu mở rộng
Language
- WIFI Wireless Fidelity .Hệ thống mạng không dây
X
W
ĐỒ ÁN TỐT NGHIỆP Trang 1
Chương 1: Giới thiệu
CHƯƠNG 1:
GIỚI THIỆU
1. Chọn đề tài
Hiện nay, chúng ta đang sống trong thời đại khoa học kỹ thuật và
công nghệ cao, con người đã đạt nhiều thành tựu trong rất nhiều lĩnh vực,
đặc biệt là trong công nghệ thông tin. Truyền thông đa phương tiện là một
nghành trong công nghệ thông tin, có mặt ở hầu hết mọi nơi, đóng vai trò
quan trọng trong việc truyền tải thông tin, xóa nhòa các khoảng cách địa lý
và mang lại cho con người nhiều lợi ích to lớn.
Trong việc giao tiếp giữa các thiết bị thì các chuẩn có dây đang dần
được thay thế bằng những công nghệ không dây tiên tiến. Trong đó có wifi là
bộ ứng dụng được sử dụng khá rộng rãi trong việc truyền dữ liệu trên
internet. Với khả năng truyền tốc độ cao, và tính an toàn của dữ liệu nên
công nghệ wifi ngày càng phát triển mạnh hơn. Hiện nay hầu hết các thiết bị
công nghệ mới đề được tích hợp những bộ thu phát sóng wifi.
Từ những yêu cầu của thực tế và ưu điểm của điện thoại sử dụng hệ
điều hành android , nhóm thực hiện đề tài đã lựa chọn đề tài Ứng dụng wifi
trên nền tảng android.
2. Tổng quan về đề tài
Mục tiêu đạt được sau khi thực hiện đề tài:
Thiết kế được ứng dụng cho di động sử dụng hệ điều hành android.
Thiết kế được ứng dụng trên PC để giao tiếp với di động
Quản lý các dữ liệu trên PC an toàn và hợp lý
3. Bố cục báo cáo đề tài
Đề tài nghiên cứu gồm 5 chương:
Chương 1: Giới thiệu
Chương 2: Cơ sở lý thuyết
Trình bày về hệ điều hành Android và các công cụ hỗ trợ, môi trường lập
trình ứng dụng cho hệ điều hành Android.
Chương 3: Phân tích và thiết kế
ĐỒ ÁN TỐT NGHIỆP Trang 2
Chương 1: Giới thiệu
Trình bày về việc thiết kế lưu đồ giải thuật,viết chương trình ứng dụng máy
A và máy B.
Chương 4: Kết quả thực hiện
Trình bày kết quả đạt được sau khi thực hiện xây dựng chương trình, các
mặt ưu và khuyết điểm của đề tài
Chương 5: Kết luận và hướng phát triển
Trình bày kết luận về đề tài.
Nêu hướng phát triển của đề tài.
ĐỒ ÁN TỐT NGHIỆP Trang 3
Chương 2: Cơ sở lý thuyết
CHƯƠNG 2:
CƠ SỞ LÝ THUYẾT
2.1 Hệ điều hành Android
2.1.1 Giới thiệu về hệ điều hành Android
Android được phát triển bởi tập đoàn Google, phiên bản đầu tiên ra đời năm
2008. Được xây dựng trên một nền tảng mở, và một bộ thư viện đa năng, mạnh mẽ
với nguyên lý mở, Android đã nhanh chóng được cộng đồng lập trình viên di động
hưởng ứng mạnh mẽ. Nền tảng Android tích hợp nhiều tính năng nổi bật. Android
là một hệ điều hành nhân Linux, đảm bảo sự tương tác với các phần cứng, quản lý
bộ nhớ, điều khiển các tiến trình tối ưu cho các thiết bị di động. Bộ ứng dụng
khung cho phép sử dụng lại và thay thế các thành phần riêng lẻ. Máy ảo Dalvik
được tối ưu cho các thiết bị di động, chạy các ứng dụng lập trình trên ngôn ngữ
Java. Các thư viện cho phát triển ứng dụng mã nguồn mở bao gồm SQLite,
WebKit, OpenGL và trình quản lý đa phương tiện. Hỗ trợ các chuẩn đa phương
tiện phổ biến, thoại trên nền GSM, Bluetooth, EDGE, 3G và Wifi. Hỗ trợ Camera,
GPS, la bàn, máy đo gia tốc…
Bộ phát triển ứng dụng SDK đầy đủ gồm thiết bị giả lập, công cụ sửa lỗi,
tích hợp với Eclipse SDK. Android cung cấp một tập hợp đầy đủ các phần mềm
cho thiết bị di động bao gồm: hệ điều hành, các khung ứng dụng và các ứng dụng
cơ bản.
Phiên bản Ngày phát hành
4.1.x Jelly bean 28-01-2012
4.0.x Ice Cream Sandwich 19-10-2011
3.x.x Honeycomb 22-01-2011
2.3.x Gingerbread 06-12-2010
2.2 Froyo 20-07-2010
2.0, 2.1 Éclair 26-10-2009
1.6 Donut 15-09-2009
1.5 Cupcake 30-04-2009
Bảng 2.1 : Lịch sử các bản SDK
ĐỒ ÁN TỐT NGHIỆP Trang 4
Chương 2: Cơ sở lý thuyết
2.1.2 Đặc điểm hệ điều hành Android
Android được xây dựng từ dưới đi lên cho phép người phát triển tạo các ứng
dụng di động hấp dẫn với đầy đủ các điểm mạnh của các thiết bị cầm tay hiện
có. Android hoàn toàn mở, một ứng dụng có thể gọi tới bất kể một chức năng lõi
của điện thoại như tạo cuộc gọi, gửi tin nhắn hay sử dụng máy ảnh, cho phép
người phát triển tạo phong phú hơn, liên kết hơn các tính năng cho người dung
Android được xây dựng trên nhân Linux mở. Thêm nữa, nó sử dụng một máy ảo
mà đã được tối ưu hóa bộ nhớ và phần cứng với môi trường di động. Android
mà một mã nguồn mở, nó có thể được mở rộng để kết hợp tự do giữa các công
nghệ nổi trội. Nền tảng này sẽ tiếp tục phát triển bởi cộng đồng phát triển để tạo
ra các ứng dụng di động hoàn hảo.
Với Android, không có sự khác nhau giữa các ứng dụng điện thoại cơ bản với
ứng dụng của bên thứ ba. Chúng được xây dựng để truy cập như nhau tới một
loạt các ứng dụng và dịch vụ của điện thoại. Với các thiết bị được xây dựng trên
nền tảng Android, người dùng có thể đáp ứng đầy đủ các nhu cầu mà họ thích.
Chúng ta có thể đổi màn hình nền, kiểu gọi điện thoại, hay bất kể ứng dụng nào.
Chúng ta thậm chí có thể hướng dẫn điện thoại chỉ xem những ảnh mình thích.
Android phá vỡ rào cản để tạo ứng dụng mới và cải tiến. Một người phát triển
có thể kết hợp thông tin từ trang web với dữ liệu trên điện thoại cá nhân – chẳng
hạn như danh bạ, lịch hay vị trí trên bản đồ – để cung cấp chính xác hơn cho
người khác. Với Android, người phát triển có thể xây dựng những ứng dụng tận
dụng các khả năng kết nối của Android để giao tiếp với nhiều thiết bị khác nhau.
Việc giao tiếp giữa các thiết bị mở ra nhiều hướng phát triển đầy triển vọng.
Android cung cấp bộ thư viện giao diện lập trình ứng dụng đồ sộ và các công
cụ để viết các ứng dụng phức tạp. Ví dụ, Android có thể cho phép người phát
triển biết được vị trí của thiết bị và cho phép các thiết bị giao tiếp với nhau để có
thể tạo nên mạng xã hội chia sẻ ngang hàng rộng khắp. Thêm nữa, Android còn
bao gồm một bộ công cụ đầy đủ giúp cho việc phát triển trở nên dễ dàng.
2.1.3 Kiến trúc của nền tảng Android
2.1.3.1 Kiến trúc tổng quát
Android bao gồm bốn thành phần sau:
ĐỒ ÁN TỐT NGHIỆP Trang 5
Chương 2: Cơ sở lý thuyết
- Hệ điều hành
- Thư viện và các giao diện lập trình ứng dụng
- Khung ứng dụng
- Ứng dụng
2.1.3.2 Hệ điều hành
Hình 2.2 : Nhân Linux trên Android
Android sử dụng nhân Linux 2.6 làm nhân cho các dịch vụ hệ thống như bảo
mật, quản lý bộ nhớ, quản lý tiến trình (xử lý tiến trình, đa luồng), ngăn xếp
mạng và trình điều khiển thiết bị (giao tiếp USB, giao tiếp hồng ngoại, không
dây, v.v…). Nhân Linux này cũng có vai trò như một lớp trừu tượng giữa phần
cứng và phần mềm.
2.1.3.3 Thư viện và các giao diện lập trình ứng dụng
Android có một thư viện khá phong phú cung cấp sẵn để người lập trình có thể
sử dụng.
Hình 2.3 : Thư viện lâp trình ứng dụng trên Android
Surface Manager
Media
Framework
SQLite
OpenGL FreeType WebKit
SGL SSL libc
Display
Driver
Camera
Driver
Flash
Memory
Binder (PC)
Driver
Keypad
Driver
Wifi
Driver
Audio
Driver
Power
Managerment
LINUX KERNEL
ĐỒ ÁN TỐT NGHIỆP Trang 6
Chương 2: Cơ sở lý thuyết
Android có một tập các thư viện nòng cốt để cung cấp hầu hết các chức năng
sẵn có trong thư viện cốt lõi của ngôn ngữ lập trình Java. Android Runtime Bao
gồm máy ảo Dalvik và các thư viện Android. Các ứng dụng Android được phát
triển trên môi trường Java, nhưng Dalvik lại không phải là một Java VM. Các thư
viện cơ bản của Android cung cấp hầu hết các chức năng có trong thư viện cơ
bản của Java cũng như là thư viện riêng của Android.
Máy ảo Dalvik: Dalvik là máy ảo để chạy các ứng dụng trên Android, đã được
tối ưu để đảm bảo rằng một thiết bị có thể chạy được nhiều Instance một cách
hiệu quả. Nó dựa vào nhân Linux để thực hiện đa luồng và quản lý bộ nhớ cấp
thấp.
Bộ thư viện Android cung cấp một số các APIs cho phát triển ứng dụng.
Danh sách các API cơ bản sau được cung cấp bởi tất cả các thiết bị trên nền
Android:
- Android.util: gói tiện ích cơ bản bao gồm nhiều lớp mức thấp như là các
lớp quản lý (List, Stack…) lớp xử lý chuỗi, lớp xử lý XML.
- Android.os: gói hệ điều hành cung cấp truy cập đến các dịch vụ cơ bản
như là chuyển tin nhắn, thông tin chéo, đồng hồ và gỡ lỗi.
- Android.graphics: cung cấp các lớp đồ họa mức thấp thực hiện các chức
năng đồ họa, màu, vẽ cơ bản.
- Android.text: công cụ hiển thị và xử lý văn bản.
- Android.database: cung cấp các lớp mức thất bắt buộc cho việc điều khiển
cursor khi làm việc với các cơ sở dữ liệu.
- Android.content: các giao tiếp lập trình nội dung được dùng để quản lý
truy cập dữ liệu và xuất bản bằng cách cung cấp các dịch vụ thao tác với
tài nguyên, Content Provider và các gói.
- Android.view View: là lớp giao diện người dùng cơ bản nhất. Tất cả giao
diện người dùng được tạo ra đều phải sử dụng một tập các View để cung
cấp cho các thành phần tương tác người dùng.
ĐỒ ÁN TỐT NGHIỆP Trang 7
Chương 2: Cơ sở lý thuyết
- Android.widget: xây dựng dựa trên gói View. Những lớp Widget những
thành phần giao diện được tạo sẵn được sử dụng để tạo nên giao diện người
dùng. Các Widget bao gồm danh sách, nút bấm, hộp nhập, các kiểu trình
bày (layout).
- Com.google.android.maps: bộ API mức cao cung cấp truy cập đến điều
khiển bản đồ sẵn trong Androif từ ứng dụng được xây dựng. Bao gồm cả
lớp MapView cũng như Overlay và MapController để tương tác với bản
đồ bên trong ứng dụng.
- Android.app: một gói thư viện bậc cao, cung cấp truy cập đến dữ liệu của
ứng dụng. Gói ứng dụng cũng bao gồm lớp Activity và Service là thành
phần cơ bản của mọi ứng dụng Android.
- Android.provider: để tạo thuận lợi cho người phát triển truy cập đến các
Content Provider tiêu chuẩn(như là dữ liệu danh bạ), gói cung cấp
(Provider) bao gồm các lớp cho phép truy cập đến cơ sở dữ liệu chuẩn trong
tất cả các bản phân phối Android.
- Android.telephony: các API điện đàm cung cấp khả năng tương tác trực
tiếp với tầng điện thoại trong các thiết bị, cho phép tạo, nhận, theo dõi các
cuộc gọi, tình trạng các cuộc gọi và tin nhắn SMS.
- Android.webkit: gói WebKit cung cấp các API để làm việc với các nội
dung Web-based bao gồm một lơp WebView để tạo ra giao diên web,
nhúng trong ứng dụng và một trình quản lý cookie.
Cùng với các API của Android, còn có một tập các thư viện C/C++ như:
- OpenGL: thư viện dùng để tạo ra các đồ họa 3D dựa vào chuẩn
OpenGLES 1.0 API.
- FreeType: hỗ trợ xử lý bitmap và font vector.
- GGL: thư viện cơ bản, dùng để cung cấp các engine đồ họa 2D.
- Libc: thư viện C chuẩn, được tối ưu cho các thiết bị Linux-based.
- SQLite Engine: cơ sở dữ liệu quan hệ gọn nhẹ, dùng để lưu trữ dữ liệu
của ứng dụng.
ĐỒ ÁN TỐT NGHIỆP Trang 8
Chương 2: Cơ sở lý thuyết
- SSL: hỗ trợ sử dụng giao thức mã hóa Secure Sockets Layer trong bảo mật
truyền thông Internet.
- Ngoài các thư viện chuẩn của Android, để đáp ứng tiêu chí phù hợp với
nhiều thiết bị khác nhau, Android còn có thể có các API phụ thuộc thiết bị
như android.location, android.bluetooth, android.net.wifi, android.media,
android.opengl, android.hardware và android.telephony.
Kiến trúc của Android khuyến khích khái niệm.Thành phần sử dụng lại, cho
phép công bố và chia sẻ các Activity, Service, dữ liệu, với các ứng dụng khác
với quyền truy cập được quản lý bởi khai báo. Cơ chế đó cho phép người lập trình
tạo ra một trình quản lý danh bạ hoặc trình quay số điện thoại mà có các thành
phần người khác có thể tạo mới giao diện và mở rộng chức năng thay vì tạo lại
chúng. Những dịch vụ sau là những dịch vụ kiến trúc cơ bản nhất của tất cả các
ứng dụng, cung cấp một framework cho mọi mọi phần mềm được xây dựng:
- Actitvity Manager: điều khiển vòng đời của các Activity bao gồm cả quản
lý các tầng Activity.
- Views: được sử dụng để tạo lập các giao diện người dùng cho các Activity.
- Notification Mamager: cung cấp một cơ chế cố định và quy củ cho việc
gửi các thông báo đến người dùng.
- Content Provider: cho phép ứng dụng chia sẻ dữ liệu giữa các ứng dụng.
- Resource Manager: hỗ trợ các thành phần không thuộc mã nguồn như là
chuỗi ký tự, đồ họa được đặt bên ngoài.
Hình 2.5 : Các ứng dụng trên Android
Ứng dụng là lớp trên cùng của kiến trúc nền tảng Android. Android sẽ hoạt
động với một bộ các ứng dụng bao gồm ứng dụng thư điện tử, gửi tin nhắn, lịch,
bản đồ, trình duyệt web, danh bạ v.v… Tất cả các ứng dụng được viết bằng ngôn
ngữ Java. Các ứng dụng này có thể được cung cấp sẵn hoặc được phát triển bởi
những lập trình viên.
ỨNG DỤNG
HOM
Contacts Phone
Browse ……
ĐỒ ÁN TỐT NGHIỆP Trang 9
Chương 2: Cơ sở lý thuyết
2.1.4 Bộ công cụ Android SDK
Bộ công cụ phát triển phần mềm Android SDK gồm nhiều công cụ trợ giúp
cho việc phát triển ứng dụng di động trên nền tảng Android. Thành phần quan
trọng nhất của bộ công cụ này là trình giả lập Android và bộ plug-in phát triển
ứng dụng Android trên Eclipse ADT, bên cạnh đó bộ SDK cũng bao gồm các
công cụ khác cho việc gỡ rối, đóng gói và cài đặt ứng dụng trên trình giả lập và
trên thiết bị.Trình giả lập Android: Thực chất đây là một chương trình mô phỏng
một thiết bị di động ảo trên máy tính. Chúng ta có thể sử dụng bộ giả lập này để
thiết kế gỡ rối và kiểm tra ứng dụng của mình như trên thiết bị trước khi đưa
chương trình vào thiết bị thật.Android Development Tools Plugin (cho Eclipse)
viết tắt là ADT, Plugin này hỗ trợ cho việc tạo và gỡ rối các ứng dụng và sử dụng
môi trường phát triển tích hợp Eclipse trở nên dễ dàng hơn.
Trình gỡ rối Dalvik Debug Monitor Service (DDMS): giúp quản lý các tiến
trình trong bộ giả lập hoặc thiết bị và trợ giúp việc gỡ rối ứng dụng. Có thể sử
dụng công cụ này để hủy các tiến trình, chọn một tiến trình cụ thể để gỡ rối, sinh
các dữ liệu truy vết, xem bộ nhớ heap và thông tin về các luồng, chụp ảnh màn
hình của trình giả lập.
Android Debug Bridge (adb): Công cụ này cho phép cài đặt các tập tin .apk
Trên bộ giả lập hoặc thiết bị, đồng thời hỗ trợ truy cập hai đối tượng này từ cửa
sổ dòng lệnh.
Android Virtual Devices (AVD): Cho phép chúng ta có thể tạo cấu hình thiết
bị ảo, mô phỏng các đặc điểm của bộ giả lập Android. Với mỗi cấu hình, ta có
thể xác định nền tảng cho nó chạy, tùy chỉnh phần cứng hay giao diện sử dụng.
Mỗi tùy chỉnh của AVD sẽ như một thiết bị độc lập với dữ liệu lưu trữ của nó,
thẻ nhớ SD, v.v…
2.2 Giao thức TCP/IP trong mạng Lan
2.2.1 Tổng quan về giao thức TCP/IP
Mô hình TCP/IP chỉ có 4 lớp. Mô hình tham chiếu của TCP/IP không trực
tiếp giống mô hình của OSI. Mặc dù mỗi mô hình mạng đều có chung một mục
đích là để truyền thông dễ dàng giữa các mạng, giữa các loại máy tính chạy trên
nền hệ điểu hành khác nhau. Nhưng mỗi mô hình mạng đều có đặc điểm riêng và
ĐỒ ÁN TỐT NGHIỆP Trang 10
Chương 2: Cơ sở lý thuyết
cách thực thi cũng chút ít khác nhau. Mô hình OSI do ISO tạo ra trong một thời
gian dài, nó được dùng làm mô hình chuẩn cho các mô hình khác. Còn TCP/IP ra
đời do yêu cầu cấp thiết của chính phủ Mỹ trước tình hình lúc bấy giờ, do đó sự
phát triển của TCP/IP không bị đè nặng bởi những yêu cầu chặt chẻ như OSI.
Do đặc tính của OSI là một mô hình tham khảo nên việc áp dụng OSI vào
thực tế là khó có thể thực hiện (hiệu suất kém vì dữ liệu khi truyền trong mạng
phải qua tất cả các lớp của mô hình OSI). Do đó, OSI chỉ là một tiêu chuẩn để các
nhà nghiên cứu dựa vào đó để phát triển các mô hình khác tối ưu hơn. Có rất nhiều
mô hình khác nhau đã được phát minh, tuy nhiên hiện nay trên thế giới cùng với
sự phát triển như vũ bão của Internet thì mô hình TCP/IP là được sử dụng phổ
biến nhất.
Bộ giao thức TCP/IP là rất quan trọng trong việc lựa chọn cách thức truyền
thông nhằm hạn chế lỗi và tăng hiệu quả. TCP/IP có các đặc điểm nổi bậc. Độc
lập với cầu hình mạng: TCP/IP có thể dung cho mạng bus, start, ring, cho mạng
cục bộ, mạng diện rộng hay các liên mạng. Độc lập với phần cứng vật lý của
mạng: TCP/IP có thể dung cho Ethernet, token-ring hay bất cứ loại phần cứng
nào. TCP/IP có thể thực hiện trên nhiều hệ điều hành (Operating System – OS)
khác nhau, nên nó thích hợp dung cho các mạng hỗn tạp các loại phần cứng và
phần mềm như Internet. Định địa chỉ một cách tổng quát: mỗi trạm trên mạng
TCP/IP có một địa chỉ IP duy nhất được dùng để liên lạc với bất kì trạm nào khác
trên mạng. Hỗ trợ đắc lực mạng theo mô hình Client – Server. Các protocol chuẩn
lớp ứng dụng: TCP/IP không những cung cấp cho lập trình viên phương pháp để
truyền dữ liệu giữa các ứng dụng mà còn cung cấp cơ sở của nhiều giao thức lớp
ứng dụng.
2.2.2 Giao thức TCP ( Transmission Control Protocol )
TCP (Transmission Control Protocol) là một nghi thức tin cậy. TCP là một
nghi thức port-to-port tin cậy và định hướng kết nối. TCP tạo ra một mạch ảo giữa
phía gửi và nhận trong suốt quá trình truyền.TCP bắt đầu truyền bằng cách thông
báo cho phía nhận biết (thiết lập kết nối) và khi kết thúc truyền thì gửi một kết
thúc kết nối. Nó cố gắng phân phát dữ liệu đến đích, kiểm tra lỗi, truyền lại nếu
ĐỒ ÁN TỐT NGHIỆP Trang 11
Chương 2: Cơ sở lý thuyết
cần, thông báo lỗi cho lớp trên nếu truyền không thành công. Do đó, việc sử dụng
TCP cũng làm tăng chi phí.
TCP cung cấp đầy đủ các dịch vụ lớp giao vận đối với áp dụng. TCP là một
nghi thức port to port tin cậy và định hướng kết nối. TCP tạo ra một mạch ảo giửa
phía gửi và nhận trong suốt quá trình truyền. TCP bắt đầu truyến bằng cách thông
báo cho phía nhận biết (thiết lập kết nối) và khi kết thúc truyền thì gửi kết thúc
kết nối.
Sự tin cậy của TCP đảm bảo bằng việc phát hiện lỗi và truyền lại các khung bị
hỏng: tất cả các đọan phải được nhận và xác nhận trước khi xem như cuộc truyến
là hòan thành và mạch ảo được lọai bỏ.
Tại đầu gửi, TCP chia cuộc truyền thành các đơn vị dữ liệu nhỏ hơn và đóng
gói thành các khung gọi là đọan. Mỗi đọan bao gồm việc đánh số nhằm sềp lại
theo thứ tự khi nhận. Các đọan được tải qua mạng bên trong các IP datagram. Tại
đầu nhận, TCP gom mỗi datagram khi chúng đến và xếp lại theo thứ tự dựa vào
các số đã được đánh.
TCP gởi trên internet các datagram. Header của Internet Protocol mang những
trường thông tin bao gồm địa chỉ nguồn và đích của máy chủ. TCP header theo
sau header của internet và cung cấp thông tin cụ thể tới nghi thức TCP.
Source Port Destination Port
Sequence Number
Data
Offset
Reserved U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
Window
Checksum Urgent pointer
Option Padding
DATA
Hình 1 Định dạng Gói TCP
ĐỒ ÁN TỐT NGHIỆP Trang 12
Chương 2: Cơ sở lý thuyết
- Source port: 16 bits địa chỉ nguồn.
- Destination: 16 bits địa chỉ đích.
- Sequence Number: 32 bits một dòng dữ liệu từ chương trình áp dụng có thể
được chia thành hai hay hoặc nhiều đọan TCP. Số thứ tự chỉ ra vị trí của dữ
liệu trong dòng dữ liệu gốc.
- Acknowledgment Number: 32 bits dùng để xác nhận có nhận dữ liệu từ thiết
bị khác. Số này chỉ xác nhận khi bit ACK trong trường điều khiển được đặt.
Trong trường hợp này, số thứ tự chỉ ra mong đợi kế tiếp.
- Data offset: 4 bits chỉ ra nơi dữ liệu bắt đầu.
- Reserved: 6 bits dành cho tương lai.
- Control bits: 6 bits (từ trái sang phải).
- URG: khi được đặt chỉ ra tính hợp lệ của trường urgent pointer. Cả bit urgent
và con trỏ chỉ ra rằng dữ liệu trong đọan là khẩn cấp.
- ACK: khi được đặt chỉ ra tính hợp lệ của trường Acknowledgment number.
Cả hai đều được dùng với nhau và có chức năng khác nhau tùy vào loại đọan.
- PSH: được dùng thông báo phía gửi là cần một tốc độ trung bình cao hơn.
- RST: dùng để xóa kết nối khi có nhấm lẫn số thứ tự.
- SYN: dùng để đồng bộ việc đánh số cho ba lọai đọan: yêu cấu kết nối, khẳng
định kết nối(với bit ACK), và xác nhận khẳng định (với bit ACK được đặt).
- FIN: được dùng cho kết thúc nối cho ba đọan và xác nhận của khẳng định kết
thúc.
- Window: 16 bits số dữ liệu được chỉ ra trong trường acknowledgment mà phía
gửi đang đảm nhận.
- Chech sum: 16 bits là số bù 1 của tổng số bù 1 của 16 bytes trong phần header
và text. Nếu phần header và text chứa một số lẻ bytes header và text được kiểm
tra, thì byte cuối cùng được đệm vào bên phải với 0 để đủ 16 bytes cho mục
đích Checksum. Phần đệm thì không được truyền như một phần của header.
Trong khi tính checksum, tự bản thân của trường checksum được thay thế với
0 (có nghĩa là chechsum sẽ thay thế những bit 0 này).
ĐỒ ÁN TỐT NGHIỆP Trang 13
Chương 2: Cơ sở lý thuyết
Chechsum cũng bao gồm 96 bit header giả (Pseudo header) được thêm vào
đầu header của TCP. Header giả này chứa địa chỉ nguồn ,địa chỉ đích, nghi
thức, chiều dài TCP. Phần này được đưa ra để bảo vệ TCP trong việc truyền
lạc khung. Những thông tin này được mang bởi Internet Protocol và được
truyền qua TCP/Network interface trong arguments hoặc kết quả của việc gọi
bởi TCP trên IP.
SOURCE ADDRESS
DESTINATION ADDRESS
ZERO PTCL TCP LENGTH
Hình 2.7 Khung TCP
- TCP length là chiều dài byte của header và chiều dài dữ liệu nhưng nó không
bao gồm 12 bytes header giả .
- Urgent pointer (16 bits): Trường này giao tiếp với giái trị hiện hành của
Urgent pointer như là một mức offset từ số tuần tự trong khung. Urgent
pointer luôn chỉ đến giá trị số bytes dữ liệu khẩn. Gía trị của trường này được
tính khi tín hiệu điều khiển URG được đặt.
2.2.3 Gói tin IP (Internet Protocol)
IP là một nghi thức không kết nối (connectionless protocol), tức là không
thiết lập một giao tiếp trực tiếp (end-to-end) trước khi truyền dữ liệu. IP không
đảm bảo phân phát chính xác dữ liệu đến đích, các gói dữ liệu có thể đến đích
không đúng thứ tự, có thể bị sao chép hay thất lạc (do đó IP phải kết hợp với
TCP). Đơn vị dữ liệu của IP là datagram có chứa địa chỉ IP của nguồn và đích.
IP có nhiệm vụ tìm đường cho datagram nên có thể phân mảnh hay hợp nhất
các datagram để thích hợp với kích thước packet lớn nhất cho phép trên đường
truyền.
ĐỒ ÁN TỐT NGHIỆP Trang 14
Chương 2: Cơ sở lý thuyết
Định dạng IP datagram header (32 bits header):
Version
Header
length
Type of
service
Total length of datagram
Identification Flags Fragment
offset
Time to live Protocol Header checksum
Source address
Destination address
Option:
Strick source route
Loose source route
Record route
Time stamp
Security
Data (max 65535 bytes)
IP datagram header
Destination
Address
4 bytes
Source
Address
4 bytes
Type Field
2 byte
IP data
46 – 1500 bytes
CRC
4
bytes
Hình 2.8 Mô tà đóng gói IP lên khung Ethernet
- Verision (VER) 4bits: đánh số phiên bản của IP, phiên bản hiện hành là 4
(Ipv4) với giá trị nhị phân là 0100.
- Header length (HLEN) 4bits: định nghĩa chiều dài của IP header chỉ ra bội
số của 4 bytes. Dung 4bits tức giá trị tối đa là 15 tương đương 60bytes.
- Service type (1 bytes): định nghĩa cách mà datagram được quản lý. Nó bao
gồm các bits định nghĩa thứ tự ưu tiên của datagram. Nó cũng chứa các bit
làm rõ loại dịch vụ phía gởi mong muốn độ tin cậy, trễ…
- Total length (2 bytes): định nghĩa chiều dài tổng thể của một datagram. Tối
đa là 65535 bytes.
- Identification: được dung với các phân đoạn. Một datagram khi đi qua các
mạng khác nhau có thể được chia thành các đoạn để phù hợp với kích thước
khung của mạng. khi xảy ra hiện tượng này thì mỗi đoạn được định danh với
một số thứ tự trong trường này.
- Flags: các bits trong cờ có quan hệ với phân đoạn. Ví dụ datagram có thể
hoặc không có phân đoạn, có thể đoạn đầu, đoạn giữa hoặc đoạn cuối…
ĐỒ ÁN TỐT NGHIỆP Trang 15
Chương 2: Cơ sở lý thuyết
- Fragmentation offset: đây là một con trỏ chỉ ra độ lệch của dữ liệu trong
datagram gốc (nếu đã được phân đoạn).
- Time to live: định nghĩa số bước nhảy tối đa một datagram có thể đi qua trước
khi bị drop (loại bỏ). Máy chủ nguồn khi tạo ra datagram sẽ khởi động giá trị
trong trường này. Kế tiếp khi datagram qua Internet, mỗi router mà datagram
đi qua sẽ giảm giá trị đi 1. Nếu giá trị này bằng 0 trước khi đến đích cuối cùng
thì datagram sẽ bị drop.
- Protocol: định nghĩa loại dữ liệu nghi thức nào của lớp trên đóng gói trong
datagram (TCP, UDP, ICMP…).
- Header checksum (16 bits): dùng kiểm tra header chứ không kiểm tra phần
còn lại của gói.
- Source address (4 bytes): địa chỉ IP nguồn của datagram.
- Destination address (4 bytes): địa chỉ IP của đích cần gởi datagram đến.
- Options: trường chọn lựa cho nhiều chức năng đối với IP datagram. Nó có
thể mang các thông tin về kiểm soát định tuyến như: timing, quản lý và cân
bằng.
- IP: chứa 4 nghi thức giúp đỡ bao gồm ARP, RARP, ICMP và IGMP.
- ARP (Adrees Resolution Protocol): được dùng để quảng bá tìm địa chỉ vật
lý từ địc chỉ IP. Protocol này được dùng trong mạng nội bộ vì định dạng địa
chỉ vật lý của mạng phhụ thuộc vào phần cứng mạng.
- RARP (Reverse Address Resolution Protocol): để tìm địa chỉ IP khi đã biết
địa chỉ vật lý.
- ICMP (Internet Control Message Protocol): cơ chế được dung bởi máy
chủ và router. ICMP cho phép IP thông báo phía gửi nếu datagram không
được phát đúng. Đặc trưng nhất của ICMP là tiện ích ping thường được các
lập trình viên dùng kiểm tra các node có còn hoạt động hay không.
- IGMP (Internet Group Message Protocol): nghi thức IP liên quan đến 2
thông tin là unicasting và multicasting. Unicasting là thông tin giữa một người
gởi và một người nhận. nó là thông tin một – một. Tuy nhiên, một số quá trình
ĐỒ ÁN TỐT NGHIỆP Trang 16
Chương 2: Cơ sở lý thuyết
thỉnh thoảng cần gởi một thông điệp đến nhiều người nhận đồng thời. Trường
hợp này là multicasting, tức là thông tin một – nhiều. multicasting có rất nhiều
ứng dụng.
2.3 Giới thiệu các chuẩn wifi IEEE 802.11
Năm 1997, IEEE (Institute of Electrical and Electronics Engineers) đã
giới thiệu một chuẩn đầu tiên cho WLAN. Chuẩn này được gọi là 802.11 sau
khi tên của nhóm được thiết lập nhằm giám sát sự phát triển của nó. Tuy nhiên,
802.11chỉ hỗ trợ cho băng tần mạng cực đại lên đến 2Mbps – quá chậm đối
với hầu hết cácứng dụng. Với lý do đó, các sản phẩm không dây thiết kế theo
chuẩn 802.11 ban đầu dần không được sản xuất.
2.3.1 Chuẩn 802.11b:
IEEE đã mở rộng trên chuẩn 802.11 gốc vào tháng 7 năm 1999, đó chính
là chuẩn 802.11b. Chuẩn này hỗ trợ băng thông lên đến 11Mbps, tương quan
với Ethernet truyền thống. 802.11b sử dụng tần số vô tuyến (2.4 GHz) giống
như chuẩn ban đầu 802.11. Các hãng thích sử dụng các tần số này để chi phí
trong sản xuất của họ được giảm. Các thiết bị 802.11b có thể bị xuyên nhiễu
từ các thiết bị điện thoại không dây (kéo dài), lò vi sóng hoặc các thiết bị khác
sử dụng cùng dải tần 2.4 GHz. Mặc dù vậy, bằng cách cài đặt các thiết
bị 802.11b cách xa các thiết bị như vậy có thể giảm được hiện tượng xuyên
nhiễu này. Ưu điểm của 802.11b: giá thành thấp nhất; phạm vi tín hiệu tốt và
không dễ bị cản trở. Nhược điểm của 802.11b: tốc độ tối đa thấp nhất; các ứng
dụng gia đình có thể xuyên nhiễu.
2.3.2 Chuẩn 802.11a:
Trong khi 802.11b vẫn đang được phát triển, IEEE đã tạo một mở rộng
thứ cấp cho chuẩn 802.11 có tên gọi 802.11a. Vì 802.11b được sử dụng rộng
rãi quá nhanh so với 802.11a, nên một số người cho rằng 802.11a được tạo
sau 802.11b. Tuy nhiên trong thực tế, 802.11a và 802.11b được tạo một
cách đồng thời. Do giá thành cao hơn nên 802.11a chỉ được sử dụng trong các
mạng doanh nghiệp còn 802.11b thích hợp hơn với thị trường mạng gia đình.
802.11a hỗ trợ băng thông lên đến 54 Mbps và sử dụng tần số vô tuyến 5GHz.
Tần số của 802.11a cao hơn so với 802.11b chính vì vậy đã làm cho phạm vi
ĐỒ ÁN TỐT NGHIỆP Trang 17
Chương 2: Cơ sở lý thuyết
của hệ thống này hẹp hơn so với các mạng 802.11b. Với tần số này, các tín
hiệu 802.11a cũng khó xuyên qua các vách tường và các vật cản khác hơn.
Do 802.11a và 802.11b sử dụng các tần số khác nhau, nên hai công nghệ này
không thể tương thích với nhau. Chính vì vậy một số hãng đã cung cấp các
thiết bị mạng hybrid cho 802.11a/b nhưng các sản phẩm này chỉ đơn thuần là
bổsung thêm hai chuẩn này. Ưu điểm của 802.11a: tốc độ cao; tần số 5Ghz
tránh được sự xuyên nhiễu từ các thiết bị khác. Nhược điểm của 802.11a: giá
thành đắt; phạm vi hẹp và dễ bị che khuất.
2.3.3 Chuẩn 802.11g
Vào năm 2002 và 2003, các sản phẩm WLAN hỗ trợ một chuẩn mới
hơn đó là 802.11g, được đánh giá cao trên thị trường. 802.11g thực hiện sự kết
hợp tốt nhất giữa 802.11a và 802.11b. Nó hỗ trợ băng thông lên đến 54Mbps
và sử dụng tần số 2.4 Ghz để có phạm vi rộng. 802.11g có khả năng tương
thích với các chuẩn 802.11b, điều đó có nghĩa là các điểm truy cập 802.11g
sẽ làm việc với các adapter mạng không dây 802.11b và ngược lại. Ưu điểm
của 802.11g: tốc độ cao; phạm vi tín hiệu tốt và ít bị che khuất. Nhược điểm
của 802.11g: giá thành đắt hơn 802.11b; các thiết bị có thểbị xuyên nhiễu
từ nhiều thiết bị khác sử dụng cùng băng tần.
2.3.4 Chuẩn 802.11n:
Chuẩn mới nhất trong danh mục Wi-Fi chính là 802.11n. Đây là
chuẩn được thiết kế để cải thiện cho 802.11g trong tổng số băng thông được
hỗ trợ bằng cách tận dụng nhiều tín hiệu không dây và các anten (công
nghệ MIMO). Khi chuẩn này được đưa ra, các kết nối 802.11n
sẽ hỗ trợ tốc độ dữ liệu lên đến 100 Mbps. 802.11n cũng cung cấp phạm vi
bao phủ tốt hơn so với các chuẩn Wi-Fi trước nó nhờ cường độ tín hiệu mạnh
của nó. Thiết bị 802.11n sẽ tương thích với các thiết bị 802.11g. Ưu điểm của
802.11n: tốc độ nhanh và phạm vi tín hiệu tốt nhất; khả năng chịu đựng tốt
hơn từ việc xuyên nhiễu từ các nguồn bên ngoài. Nhược điểm của
802.11n: chuẩn vẫn chưa được ban bố, giá thành đắt hơn 802.11g; sử dụng
nhiều tín hiệu có thể gây nhiễu với các mạng 802.11b/g ở gần.
2.3.5 Chuẩn 802.11 ac