1. Trang chủ
  2. » Luận Văn - Báo Cáo

Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động

94 1,3K 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 94
Dung lượng 3,25 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

80 RTP Real Time Transport Protocol Giao thức truyền tải thời gian thực 81 SCP Service Control Point Nút điều khiển dịch vụ 82 SDP Service Data Point Nút dữ liệu dịch vụ 83 SGSN Servin

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 3

MỤC LỤC

LỜI CAM ĐOAN 3

LỜI CẢM ƠN 4

CHỮ VIẾT TẮT 7

DANH MỤC CÁC BẢNG 10

DANH MỤC CÁC HÌNH VẼ 10

MỞ ĐẦU 14

CHƯƠNG 1: TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID 16

1.1 Giới thiệu Android 16

1.2 Tính năng Android 16

1.3 Kiến trúc Android 17

1.3.1 Ứng dụng (Applications) 17

1.3.2 Nền ứng dụng (Application Framework) 18

1.3.3 Thư viện (Libraries) 19

1.3.4 AndroidRuntime 20

1.3.5 Linux Kernel 21

1.4 Kiến trúcAndroid GUI 23

1.5 Ứng dụng Android 24

1.5.1 Khởi động ứng dụng 24

1.5.2 Activity Back-Stack 25

1.5.3 Nhiệm vụ Tasks 26

1.5.4 Vòng đời của Activity 26

1.5.5 Vòng đời của Process 28

1.5.6 Service 29

CHƯƠNG 2: CÁC GIAO THỨC SỬ DỤNG 30

2.1 Giao thức TCP/IP 30

2.1.1 Khái niệm 30

2.1.2 Mục đích và nguồn gốc 30

2.1.3 Đặc điểm 31

2.1.4 Cấu trúc phân tầng của TCP/IP 31

2.1.5 Đóng gói dữ liệu trong TCP/IP 32

2.1.6 Các tầng trong mô hình TCP/IP 33

2.2 Bản tin nhắn ngắn SMS 35

CHƯƠNG 3: TỔNG QUAN VỀ MẠNG THÔNG TIN DI ĐỘNG (VINAPHONE) 39

3.1 Cấu trúc, các thành phần chức năng hệ thống GSM 39

Trang 4

3.1.1 Cấu trúc hệ thống chuyển mạch 40

3.1.2 Hệ thống trạm gốc 41

3.1.3 Hệ thống hỗ trợ giám sát OSS 42

3.2 Cấu trúc, các thành phần chức năng hệ thống GPRS/EDGE 43

3.3 Cấu trúc, các thành phần chức năng hệ thống 3G 46

CHƯƠNG 4: GIẢI PHÁP 50

4.1 Mô hình giải pháp 50

4.1.1 Mô hình có sử dụng máy chủ IP tĩnh 50

4.1.2 Mô hình không sử dụng máy chủ 51

4.2 Lựa chọn mô hình giải pháp 51

4.3 Thiết kế phần mềm trên Android 52

4.3.1 Mô hình Usecase 52

4.3.2 Mô hình Package 53

4.3.3 Mô hình Class cùng mô hình hoạt động chi tiết của từng Modul 54

4.4 Thiết kế phần cứng thiết bị 90

4.4.1 Yêu cầu phần cứng 90

4.4.2 Thiết bị sử dụng trong quá trình Demo và kiểm thử 91

4.5 Thiết kế phần mềm nhúng trên thiết bị 93

CHƯƠNG 5: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 95

5.1 Kết quả 95

5.2 Hướng phát triển 95

TÀI LIỆU THAM KHẢO 96

Trang 5

CHỮ VIẾT TẮT

Chữ viết tắt trong lĩnh vực phần mềm

1 ADT Android Development Tools Công cụ phát triển phần mềm

Android tích hợp cho Eclipse

2 SDK Software Development Kits Bộ phát triển phần mềm

3 API Application Programming Interface Giao diện ứng dụng trong chương

trình phần mềm

Chữ viết tắt trong lĩnh vực viễn thông

1 3GPP 3rd Generation Partnership Project Dự án hợp tác về di động thế hệ

thứ 3

2 3GPP2 3rd Generation Partnership Project 2 Dự án 2 hợp tác về di động thế hệ

thứ 3

4 AMPS Advance Mobile Phone System Hệ thống điện thoại tin di động

tiên tiến

5 ATM Asynchronous Transfer Mode Chế độ truyền không đồng bộ

6 AUC Authencation Centre Trung tâm nhận thực

8 BCF Base Station Control Function Chức năng điều khiển trạm gốc

9 BG Border Gateway Tổng đài cổng giữa 2 giao diện

10 BICC Bearer Independent Call Control Điều khiển cuộc gọi độc lập kênh

mang

11 BSC Base Station Controller Thiết bị điều khiển trạm gốc

12 BSS Base Station Subsystem Hệ thống trạm gốc

13 BTS Base Transceiver Station Trạm thu phát gốc

14 CBO Compact Base Station Outdoor Trạm gốc đơn tiêu chuẩn ngoài trời

15 CDMA Code Division Multiple Access Đa truy nhập phân chia theo mã

16 CDR charging data record Bản ghi dữ liệu tính cước

19 D-AMPS Digital-Advance Mobile Phone

20 DBS Distributed Base Station Trạm gốc phân bố

Trang 6

22 DSSS Direct Sequence Spectrum Spread Trải phổ chuỗi trực tiếp

23 EDGE Enhanced Data rates for GSM

Evolution

Mạng dữ liệu mở rộng cho hệ thống GSM

24 EIR Equipment Identification Register Bộ ghi nhận dạng thiết bị

25 EMC Electro-Magnetic Compatibility Tương thích điện từ trường

26 ETSI European Telecommunications

Standards Institute

Viện tiêu chuẩn viễn thông châu

Âu

27 FDMA Frequency Division Multiple Access Đa truy nhập phân chia theo tần số

28 GGSN Gateway GPRS Support Node Nút hỗ trợ GPRS cổng

29 GMSK Gaussian minimum-shift keying Khóa dịch pha tối thiểu Gauss

30 GPRS General Packet Radio Service Dịch vụ vô tuyến gói chung

31 GSM Global System for Mobile

Communications

Hệ thống toàn cầu cho thông tin di động

33 HLR Home Location Register Bộ ghi định vị thưởng trú

34 HSDPA High-Speed Downlink Packet Access Truy nhập gói đường lên tốc độ

cao

35 HSL High Speed Link Đường truyền dẫn báo hiệu tốc độ

cao

36 HSPA High-Speed Packet Access Truy nhập gói tốc độ cao

37 HSS Home subscriber server Máy chủ quản lý thuê bao thường

trú

39 IETF Internet Engineering Task Force Ủy ban kỹ thuật Internet

40 IMEI International Mobile Equipment

Identity Nhận dạng thiết bị di động quốc tế

42 ITU International Telecommunication

43 LNA Low Noise Amplifier Khuyếch đại tạp âm thấp

44 LTE Long Term Evolution Mạng phát triển lâu dài trong

tương lai

45 MAC Medium Access Control Điều khiển truy nhập phương tiện

46 MBI Multi-Standard Base Station Indoor Trạm gốc đa tiêu chuẩn trong nhà

47 MBO Multi-Standard Base Station Outdoor Trạm gốc đa tiêu chuẩn ngoài trời

48 MCB Main Circuit Breaker Bộ ngắt mạch tự động

Trang 7

49 MCCDMA Multi Carrier - CDMA CDMA đa sóng mang

50 MCS Modulation and coding scheme Mô hình mã hóa và điều chế

53 MIMO Muliple Input Multiple Output Công nghệ sử dụng nhiều đầu vào

nhiều đầu ra

54 MMS Multimedia Messaging Service Dịch vụ nhắn tin đa phương tiện

56 MSC Mobile Switching Center Trung tâm chuyển mạch di động

57 MSS Mobile SoftSwitch Solution Giải pháp chuyển mạch mềm di

động

58 N-AMPS Narrowband-Advance Mobile Phone

60 OFDMA Orthogonal Frequency Division

Multiple Access

Đa truy nhập phân chia theo tần số trực giao

61 OMC Operation and Maintenance Center Trung tâm vận hành và bảo dưỡng

64 OML Operation and Maintenance Link Đường tín hiệu vận hành và bảo

dưỡng

65 OSS Operation Support System Hệ thống hỗ trợ hoạt động

66 PCM Pulse-code modulation Điều chế xung mã

67 PCU Packet Control Unit Khối điều khiển gói

68 PDC Personal Digital Cellular Mạng di động số cá nhân

69 PDC Personal Digital Cellular Hệ thống di động số cá nhân

71 PLMN Public Land Mobile Network Mạng di động mặt đất công cộng

73 PSTN Public Switched Telephone Network Mạng điện thoại chuyển mạch

kênh

74 QAM Quadrature amplitude modulation Điều chế biên độ cầu phương

75 QPSK Quadrature Phase Shift Keying Điều chế dịch pha cầu phương

76 RLC Radio Link Control Điều khiển kết nối vô tuyến

77 RNC Radio Network Controller Bộ điều khiển mạng vô tuyến

78 RPP Regional Processor Platform Nền tảng xử lý vùng

79 RRU Remote Radio Unit Khối vô tuyến từ xa

Trang 8

80 RTP Real Time Transport Protocol Giao thức truyền tải thời gian thực

81 SCP Service Control Point Nút điều khiển dịch vụ

82 SDP Service Data Point Nút dữ liệu dịch vụ

83 SGSN Serving GPRS Support Node Nút hỗ trợ GPRS phục vụ

84 SMS Short Message Service Dịch vụ bản tin ngắn

85 SMSC Short Message Service Center Trung tâm dịch vụ bản tin ngắn

87 STM (1) Synchronous Transport Module Khối truyền tải đồng bộ

88 STP Signaling Transfer Point Điểm chuyển đổi báo hiệu

89 TACS Total Access Communication System Hệ thống thông tin truy nhập toàn

bộ

91 TCP/IP Transmission Control

Protocol/Internet Protocol

Giao thức điều khiển truyền/Giao thức liên mạng

92 TDM Time Division Multiplexing Ghép kênh phần chia thời gian

93 TDMA Time Division Multiple Access Đa truy nhập phân chia theo thời

99 UMB Ultra Mobile Broadband Mạng băng rộng di động

100 UMTS Universal Mobile

103 VLR Visitor Location Register Bộ ghi định vị tạm trú

104 VMS Voice Messaging Service Dịch vụ nhắn tin thoại

105 VSWR Voltage Standing Wave Ratio Tỷ số sóng đứng điện áp

106 WAP Wireless Application Protocol Giao thức ứng dụng vô tuyến

107 WCDMA Wideband Code Division Multiple

108 WiMAX Worldwide Interoperability for

Microwave Access

Mạng liên kêt toàn cầu với truy nhập siêu cao tần

Trang 9

DANH MỤC CÁC BẢNG

Bảng 2-1: Bảng giao thức trên các tầng của TCP/IP 33

DANH MỤC CÁC HÌNH VẼ Hình 1-1: Kiến trúc Android 18

Hình 1-2: Quản lý Surface 20

Hình 1-3: Quản lý Audio 20

Hình 1-4: Khởi tạo Platform 21

Hình 1-5: Quá trình IPC 22

Hình 1-6: Quản lý năng lượng 23

Hình 1-7: Kiến trúc Android GUI 23

Hình 1-8: Activity back stack 25

Hình 1-9: Background và Foreground Task 26

Hình 1-10: Vòng đời của Activity 27

Hình 1-11: Lưu trạng thái Activity 28

Hình 2-1: Giao thức TCP/IP 32

Hình 2-2: Cấu trúc gói Dữ liệu 32

Hình 2-3: Mô Hình TCP/IP 33

Hình 2-4: Quan hệ giữa MS và SC 36

Hình 2-5: Quá trình gửi tin MO trong mạng GSM 36

Hình 2-6: Quá trình gửi tin MT trong mạng GSM 37

Hình 2-7: Vòng đời của tin nhắn 38

Hình 3-1: Cấu trúc hệ thống thông tin di động trong hệ thống GSM 39

Hình 3-2: Cấu trúc ghép nối TRAU tại BTS, BSC, MSC 42

Hình 3-3: Sơ đồ kết nói các thành phần mạng lõi GSM/GPRS/EDGE của Vinaphone 43 Hình 3-4: Sơ đồ các khối chức năng hệ thống GPRS/EDGE kết hợp với GSM 44

Hình 3-5: Sơ đồ kết nối mạng lõi 3G theo 3GPP Release 4 46

Hình 3-6: Sơ đồ kết nối mạng lõi Vinaphone khi triển khai 3G 49

Hình 4-1: Mô hình điều khiển có sử dụng Server 50

Hình 4-2: Mô hình điều khiển không sử dụng Server 51

Trang 10

Hình 4-3: Mô hình Usecase của phần mềm điều khiển 52

Hình 4-4: Mô hình Package của phần mềm điều khiển 53

Hình 4-5: Biểu đồ Main class và giao diện 54

Hình 4-6: Biểu đồ hoạt động hàm onCreate() trong Class MainActivity 55

Hình 4-7: Biểu đồ ServiceManager class 55

Hình 4-8: Biểu đồ hoạt động hàm onCreate() trong ServcieManage class 56

Hình 4-9: Intent xử lý sự kiện nhận SMS trong ServiceManager class 56

Hình 4-10: Biểu đồ hoạt động hàm processMessage() trong ServiceManage class 57

Hình 4-11: Biểu đồ hoạt động hàm checkPhoneExist() của ServiceManager class 57

Hình 4-12: Biểu đồ hoạt động hàm storeSMSContent của ServiceManager class 58

Hình 4-13: Biểu đồ hoạt động hàm getPhoneOrDescription() 58

Hình 4-14: Biểu đồ SMSReceiver class 59

Hình 4-15: Biểu đồ hoạt động hàm oReceive() của SMSReceiver class 59

Hình 4-16: Biểu đồ class của DeviceManager 60

Hình 4-17: Giao diện quản lý và thêm thiết bị 61

Hình 4-18: Màn hình ContextMenu và cập nhật mô tả thiết bị 61

Hình 4-19: Biểu đồ hoạt động hàm onCreate() của DeviceTabActivity class 62

Hình 4-20: Biểu đồ hoạt động hàm onCreate() của AddDeviceActivity class 62

Hình 4-21: Biểu đồ hoạt động hàm onCreateDialog của AddDeviceActivity class 63

Hình 4-22: Biểu đồ hoạt động hàm loadPhoneInfoList() của AddDevieActivity class 63 Hình 4-23: Biểu đồ hoạt động hàm addPhoneNumber() của AddDeviceActivity class64 Hình 4-24: Biểu đồ hoạt động hàm removePhoneNumber 64

Hình 4-25: Biểu đồ hoạt động hàm updatePhoneDescription() 65

Hình 4-26: Biểu đồ hoạt động hàm clearPhoneList() của AddDeviceActivity class 65

Hình 4-27: Biểu đồ hoạt động hàm importPhoneList() của AddDeviceActivity class 66 Hình 4-28: Biểu đồ hoạt động hàm getPhoneOrDescription 66

Hình 4-29: Biểu đồ hoạt động hàm clearPhoneData() của AddDeviceActivity class 67

Hình 4-30: Biểu đồ hoạt động hàm isMyServiceRunning() 67

Hình 4-31: Hàm onCreateContextMenu() của AddDeviceActivity class 68

Hình 4-32: Biểu đồ hoạt động hàm onContextItemSelected() 68

Trang 11

Hình 4-33: Biểu đồ hoạt động hàm onCreateOptionMenu() 69

Hình 4-34: Biểu đồ hoạt động hàm onPrepareOptionsMenu() 69

Hình 4-35: Biểu đồ hoạt động hàm onOptionsItemSelected() 70

Hình 4-36: Biểu đồ hoạt động hàm isExistPhone() của AddDeviceActivity class 70

Hình 4-37: Biểu đồ hoạt động hàm inputPhoneInfo() của AddDeviceActivity class 71

Hình 4-38: Biểu đồ class của DeviceCommand 72

Hình 4-39: Giao diện của DeviceCommand và thêm một Command 72

Hình 4-40: Giao diện ContextMenu, cập nhật và xác nhận truyền một Command 73

Hình 4-41: Biểu đồ hoạt động hàm onCreate của DeviceCommandActivity class 73

Hình 4-42: Biểu đồ hoạt động hàmloadCommandInfoList() 74

Hình 4-43: Biểu đồ hoạt động hàm addCommandName() 74

Hình 4-44: Biểu đồ hoạt động hàm removeCommandName() 75

Hình 4-45: Biểu đồ hoạt động hàm updateCommandContent 75

Hình 4-46: Biểu đồ hoạt động hàm clearCommandList() 76

Hình 4-47: Biểu đồ hoạt động hàm onCreateContextMenu() 76

Hình 4-48: Biểu đồ hoạt động hàm onContextItemSelected() 77

Hình 4-49: Biểu đồ hoạt động hàm getCommandOrContent 77

Hình 4-50: Biểu đồ hoạt động hàm isExistCommand() 78

Hình 4-51: Biểu đồ hoạt động hàm inputCommand() 78

Hình 4-52: Biểu đồ hoạt động hàm onCreateDialog() 79

Hình 4-53: Biểu đồ hoạt động hàm sendCommandControl 79

Hình 4-54: Biểu đồ hoạt động hàm sendSMS() của DeviceCommandActivity class 80

Hình 4-55: Biểu đồ class của DeviceContent 80

Hình 4-56: Giao diện quản lý nội dung các message của thiết bị (khi chƣa có dữ liệu)81 Hình 4-57: Biểu đồ hoạt động hàm getListValues() của DeviceContentActivity class 81 Hình 4-58: Biểu đồ hoạt động hàm onCreate() của DeviceContentActivity class 82

Hình 4-59: Biểu đồ hoạt động hàm loadSMSContentList() 82

Hình 4-60: Biểu đồ hoạt động hàm updateData() của DeviceContentActivity class 83

Hình 4-61: Biểu đồ hoạt động hàm loadSMSDateList() 84

Hình 4-62: Biểu đồ class của DeviceReportActivity 84

Trang 12

Hình 4-63: Giao diện báo cáo và các dạng biểu đồ thống kê 85

Hình 4-64: Thêm các dạng biểu đồ thống kê 85

Hình 4-65: Biểu đồ hoạt động hàm onCreate() của DeviceReportActivity class 86

Hình 4-66: Biểu đồ hoạt động hàm getListValue() của DeviceReportActivity class 86

Hình 4-67: Biểu đồ Connection class 87

Hình 4-68: Biểu đồ hoạt động hàm khởi tạo của Connection class 87

Hình 4-69: Biểu đồ hoạt động hàm open() của Connection 88

Hình 4-70: Biểu đồ hoạt động hàm sendCloseSignal() của Connection class 88

Hình 4-71: Biểu đồ hoạt động hàm close() của Connection class 89

Hình 4-72: Biểu đồ hoạt động hàm write() của Connection class 89

Hình 4-73: Biểu đồ mô hình hóa thiết bị điều khiển tiêu chuẩn 90

Hình 4-74: Khối nguồn 91

Hình 4-75: Khối vi điều khiển trung tâm 92

Hình 4-76: Khối hiển thị 92

Hình 4-77: Khối nhập liệu 92

Hình 4-78: Khối giao tiếp 93 Hình 4-79: Biểu đồ tuần tự quá trình giao tiếp giữa thiết bị với phần mềm trên Android94

Trang 13

MỞ ĐẦU

Trong những năm gần đây, cùng với sự phong phú về chủng loại, cấu hình và giá thành, điện thoại Android đã trở nên phổ biến và xâm nhập ngày càng sâu rộng tới người sử dụng trên toàn thế giới Có lẽ lý do giúp cho “dế” Android phát triển nhanh chính là có một hệ điều hành được người dùng ưa chuộng nhất Sở dĩ hệ điều hành Android thu hút được sự chú ý đó vì chúng được tạo nên từ nền tảng nguồn mở, cho phép người dùng có thể tùy biến nhiều trên đó Mặt khác, với Android thiết bị người dùng không đòi hỏi phải có một cầu hình tối thiểu nào cả Chúng có thể hoạt động trên mọi cấu hình, máy có hỗ trợ cảm ứng hay không, cũng như tương thích với mọi nhà sản xuất thiết bị phần cứng [9]

Bên cạnh đó, các thiết bị trong công nghiệp, dân sự cũng như quốc phòng ngày càng đa dạng, hiện đại, với sự trải rộng của không gian vận hành, cho nên việc quản

lý, giám sát và điều khiển chúng thông minh, linh hoạt là yêu cầu thiết yếu

Thêm nữa, nền tảng di động trong xã hội hiện tại đã đạt tới mức phổ biết cũng như những tiện ích, dịch vụ mà nó mang lại là vô cùng phong phú, đây chính là cơ sở thuận lợi hướng tới một xã hội kết nối, khả năng đưa con người có thể kiểm soát các thiết bị, dịch vụ mình làm ra trong quy mô rộng lớn Năng suất lao động cũng từ đó mà

có những bước nhảy vọt

Đó cũng là lý do tôi chọn đề tài: “Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android qua mạng điện thoại di động”

Đề tài được trình bày thành5 chương:

Chương 1: Tổng quan về hệ điều hành Android

Trang 14

CHƯƠNG 1: TỔNG QUAN HỆ ĐIỀU HÀNH ANDROID

Hệ điều hành Android đã được mô tả chi tiết trong các tài liệu tham khảo [5-7], tuy nhiên, để có cái nhìn tổng quan về vấn đề này, dưới đây là những trình bày tóm tắt

1.1 Giới thiệu Android

Android làhệ điều hành dành cho điện thoại di động,được xây dựng dựa trên nền Linux Trước đây hệ điều hành này thuộc sở hữu của Android Inc, Google đã mua lại

hệ điều hành này tại thời điểm phát triển ban đầu (năm 2005) và tiếp tục phát triển nó như một phần của chiến lược để bước vào không gian di động

Google Android là hệ điều hành mở, hoàn thiện và miễn phí đầu tiên Sự ra đời của nó gắn với sự thành lập của liên minh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điện thoại di động trong tương lai Các nhà cung cấp (thường là các nhà sản xuất phần cứng) có thể thêm phần mở rộng cho Android và tùy biến Android để phân biệt sản phẩm của họ với những người khác Mô hình này phát triển đơn giản làm cho Android rất hấp dẫn và do đó đã khơi dậy sự quan tâm của nhiều nhà cung cấp

1.2 Tính năng Android

Androidlà mã nguồn mở và miễn phí cho các nhà sản xuất tuỳ biến, có nghĩa là không có phần cứng cố định và cấu hình phần mềm Tuy nhiên, Android tự bản thân

nó đã hỗ trợ các tính năng sau đây:

Lưu trữ - Sử dụng SQLite, một cơ sở dữ liệu quan hệ, trọng lượng nhẹ cho dữ liệu lưu trữ

Kết nối - Hỗ trợ GSM / EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (bao gồm A2DP và AVRCP), WiFi, LTE và WiMAX

Hỗ trợ phần cứng - Accelerometer cảm biến, máy ảnh, kỹ thuật số Compass, Cảm biến tiệm cận và GPS

 Multi-touch - Hỗ trợ màn hình cảm ứng đa điểm

Đa chức năng - Hỗ trợ các ứng dụng đa tác vụ

 Hỗ trợ Flash - Android 2.3 hỗ trợ Flash 10.1

 Tethering - Hỗ trợ chia sẻ kết nối Internet là một điểm nóng không dây/có dây

Trang 15

Tất cả các ứng dụng có sẵn đều đƣợc viết bằng ngôn ngữ Java và sử dụng Android SDK (Software Development Kit)

Bộ SDK của Android bao gồm mọi thứ cần thiết giúp bạn có thể lập trình, debug

và test ứng dụng Android

Android API Cốt lõi của bộ SDK là thƣ viện các API và Google cũng chỉ sử

dụng bộ API này để xây dựng các ứng dụng có sẵn cho Android (native application)

Development Tool SDK bao gồm rất nhiều công cụ giúp biên dịch, sửa lỗi và

hỗ trợ trong việc lập trình ứng dụng

Android Emulator Trình giả lập một thiết bị chạy Android thực sự với nhiều

skin thay thế, cực kì tiện lợi cho việc test ứng dụng Android ngay trên máy tính mà không cần phải thông qua một thiết bị chạy Android thực

Tài liệu SDK bao gồm bộ tài liệu rất chi tiết, giải thích cặn kẽ, chính xác những

gì bao gồm trong mỗi package, class cùng với cách sử dụng chúng Ngoài tài liệu về “code”, còn có những tài liệu dùng để “getting started” và giải thích các nguyên tắc về cơ chế hoạt động của ứng dụng trong Android

Code mẫu SDK bao gồm các ứng dụng mẫu đơn giản minh họa cho các tính

năng nổi bật trên Android, cũng nhƣ các ứng dụng demo cách sử dụng những tính năng của bộ API

Đối với Eclipse IDE (Integrated Development Environment), Google cung cấp một plug-in giúp kết hợp chặt chẽ giữa Eclipse với Android Emulator cũng nhƣ công

cụ debug Điều này giúp cho việc phát triển ứng dụng cho Android bằng Eclipse thực

sự trở nên đơn giản

Trang 16

Hình 1-1: Kiến trúc Android

1.3.2 Nền ứng dụng (Application Framework)

Đây là lõi hay là nền tảng mà tất cả những nhà phát triển Android đều phải theo Các nhà phát triển có thể truy cập vào tất cả các framework API cơ bản của các chức năng của một điện thoại như quản lý phân bổ tài nguyên, chuyển đổi giữa các quy trình hoặc các chương trình, các ứng dụng điện thoại và theo dõi lưu giữ vị trí của điện thoại Về cơ bản tất cả các ứng dụng đều là một tập hợp các dịch vụ và các hệ thống, bao gồm:

Quản lý Activity

Quản lý cửa sổ (màn hình)

 Cung cấp nội dung

 Hệ thống View

Quản lý gói tin

Quản lý điện thoại

Quản lý nguồn tài nguyên

Trang 17

Cung cấp nội dung cho phép các ứng dụng truy cập dữ liệu từ các ứng dụng khác (như Contacts) hoặc để chia sẻ dữ liệu riêng của chúng

Quản lý nguồn tài nguyên, cung cấp quyền truy cập vào tài nguyên phi mã nguồn như chuỗi, đồ họa và các lớp tập tin

Quản lý thông báo cho phép tất cả các ứng dụng để hiển thị thông báo tùy chỉnh trong thanh trạng thái

 Quản lý Activity, quản lý vòng đời của ứng dụng và cung cấp một stack (ngăn xếp), back-stack

Kiến trúc được thiết kế để đơn giản hóa việc tái sử dụng của các thành phần Hiểu cách khác framework ứng dụng như là một tập các công cụ cơ bản mà một nhà phát triển có thể xây dựng các công cụ phức tạp hơn nhiều

1.3.3 Thư viện (Libraries)

Lớp này bao gồm thư viện của Android được viết bằng C, C++ và được sử dụng bởi các thành phần khác nhau của hệ thống Android Các nhà phán triển truy cập những tính năng cung cấp bởi các thư viện thông qua Framework ứng dụng Android Một số các thư viện này bao gồm các phương thức truyền thông (media), đồ họa, 3D, SQLite, thư viện trình duyệt web…

Hệ thống thư viện C (Android Libc implementation): Kế thừa các hệ thống

thư viện chuẩn C (LIBC), tối ưu hóa để sử dụng trong các thiết bị nhúng trên nền Linux

 Theo giấy phép BSD

 Kích thước nhỏ và dẫn xuất mã nhanh

 Tùy chỉnh nhanh thực hiện pthread

 Được xây dựng - trong hỗ trợ cho Android-dịch vụ cụ thể (thuộc tính hệ thống, khả năng đăng nhập)

 Không hỗ trợ một số tính năng POSIX

Lưu trữ, dựng hình, đa phương tiện (Media Library): Cung cấp các tính

năng chính trên nền tảng Android:

 SQLite, một hệ thống quản lý cơ sở dữ liệu quan hệ đơn giản (không IPC, tập tin đơn giản)

 WebKit, một framwork ứng dụng cung cấp nền tảng cho việc xây dựng một trình duyệt web

 Media Framework, dựa trên nền tảng PacketVideo openCORE (codec)

 Tối ưu hóa thư viện đồ họa 2D / 3D dựa trên OpenGL ES

Quản lý giao diện (Surface Manager): Cung cấp một hệ thống rộng các

surface để có thể tạo ra tất cả các surface trong một bộ khung đệm:

 Kết hợp surface 2D và 3D

Trang 18

 Có thể sử dụng OpenGL ES và bộ tăng tốc phần cứng 2D cho các thành phần của nó

Hình 1-2: Quản lý Surface

Quản lý âm thanh (Audio Manager): Quá trình nhiều dòng âm thanh trong

đường âm ra PCM

 Xử lý các loại khác nhau của các thiết bị (tai nghe, loa ngoài…)

 Chuyển hướng dòng âm với đầu ra quy định

Hình 1-3: Quản lý Audio

Thư viện trừu tượng phần cứng (Hardware Abstraction Libraries): Chỉ rõ

giao diện phần cứng mà Androidđòi hỏi để vận hành

 Đặt tiêu chuẩn hóa APIs các nhà phát triển sẽ phải thực hiện

 Có sẵn cho tất cả các thành phần một nhà sản xuất có thể tích hợp trên nền tảng Android của nó

1.3.4 AndroidRuntime

Lớp này bao gồm các thiết lập của các thư viện cơ sở được yêu cầu cho các thư viện java Mỗi ứng dụng Android được ví như của riêng máy ảo Dalvik Dalvik đã được viết để một thiết bị có thể chạy nhiều máy ảo hiệu quả và thực hiện các tập tin thực thi ( Dex) tối ưu hóa cho bộ nhớ tối thiểu

Dalvik máy ảo: Một máy ảo chỉ thông dịch (không có JIT), thiết lập cơ bản

Tối ưu hóa cho các yêu cầu bộ nhớ thấp

Được thiết kế để cho phép nhiều máy ảo để chạy một lúc

Dựa vào hệ điều hành cơ bản cho quá trình cách ly, quản lý bộ nhớ và hỗ trợ luồng

Trang 19

Thực hiện chương trình chạy Dalvik (DEX) các tập tin được nén vào một gói Android (APK)

1.3.5 Linux Kernel

Lớp này bao gồm các chương trình quản lý bộ nhớ của Android, thiết lập bảo mật, phần mềm quản lý điện năng và một số trình điều khiển cho phần cứng, truy cập tập tin hệ thống, mạng và các quá trình giao tiếp Kernel cũng hoạt động như một lớp trừu tượng giữa phần cứng và phần còn lại của stack phần mềm

Linux 2.6.24phù hợp cho Android:

Một số tính năng phổ biến đã được loại bỏ:

 Không có hỗ trợ GBLIC

 Không có hệ thống cửa sổ gốc

 Không bao gồm các thiết lập đầy đủ các tiện ích Linux

 Android, thành phần cụ thể đã được thêm vào:

 Báo thức, chia sẻ bộ nhớ Android

 Kernel Memory Killer, Kernel Debugger, Logger

Khởi tạo Platform

Hình 1-4: Khởi tạo Platform

Trang 20

(A) Bootloader tải các phần cơ bản (Kernel) và bắt đầu quá trình "Init".

(B) "Daemons" xử lý các giao diện phần cứng mức thấp bắt đầu hoạt động (USB, ADB, trình gỡ lỗi, phát thanh) Sau đó, "Zygote", khởi tạo quá trình thiết lập máy ảo Dalvik và "Runtime" khởi tạo quá trình "Quản lý dịch vụ", một yếu tố quan trọng cho

"Binders" và IPC (Inter Process Communication)

(C) "Runtime": xử lý yêu cầu "Zygote" để bắt đầu một thể hiện mới của Dalvik chạy "System Server"

(D) Hai quá trình đầu tiên có khả năng xử lý đồ họa và âm thanh đầu ra

(E) Tất cả các thành phần khác của Android sau đó đƣợc khởi động

(nhƣ hình 1-4)

Quá trình giao tiếp trong (Inter Process Communication IPC):

Process B Process A

get Service

call foo (object)

Marshal proxy object Service

Trang 21

tượng được sắp xếp Về phía dịch vụ B, Binder duy trì một chủ đề chung (rõ ràng với dịch vụ) Một trong các chủ đề trong nhóm chung là nhận cuộc gọi đến, xác định được đối tượng thực tế trong dịch vụ B và thực hiện cuộc gọi Giá trị trả về được gửi lại cho người nhận tương tự như vậy:

Hạn chế được thực hiện bằng cách sử dụng cơ chế khóa

Hình 1-6: Quản lý năng lượng

1.4 Kiến trúcAndroid GUI

Android GUI là một luồng đơn, hướng sự kiện và xây dựng trên một thư viện của các thành phần nestable Nền tảng của Android GUI là được tổ chức theo mô hình phổ biến Model-View-Controller

Hình 1-7: Kiến trúc Android GUI

Model: Model đại diện cho dữ liệu hoặc chứa dữ liệu Chúng ta có thể thấy nó

như là một cơ sở dữ liệu của hình ảnh trên thiết bị Có thể ví dụ, khi người dùng nghe một tập tin âm thanh, khi nhấp chuột vào button và nó kích hoạt sự kiện trong ứng

Trang 22

dụng, bây giờ các ứng dụng sẽ có được dữ liệu từ dữ liệu lưu trữ hoặc cơ sở dữ liệu và như mỗi đầu vào và tạo ra dữ liệu để được gửi trở lại cho người sử dụng Đây chính là chế độ Model

View: View là một phần của các ứng dụng chịu trách nhiệm vẽ giao diện hiển thị

trên màn hình, gửi âm thanh tới loa, tạo ra thông tin phản hồi về xúc giác (cảm ứng) Theo ví dụ trên, phần hiển thị trong một chương trình nghe nhạccó thể chứa một thành phần hiển thị bìa album cho cho file âm thanh đang chạy Người dùng sẽ luôn luôn tương tác với lớp này Người sử dụng tác động tới lớp này sẽ kích hoạt sự kiện đó

và sẽ đi đến các chức năng tương ứng của ứng dụng

Controller: Controller là một phần của ứng dụng để đáp ứng hành động bên

ngoài: một sự kiện nhấn phím, một sự kiện chạm màn hình, cuộc gọi đến… được thực hiện như một hàng đợi sự kiện Hành động của người sử dụng, kiểm soát được thông qua bộ điều khiển và điều này sẽ chăm sóc tất cả các logic cần được thực hiện và chuẩn bị Model cần phải được gửi tới lớp View

1.5 Ứng dụng Android

Một ứng dụng Android là tập hợp của các thành phần Có 4 loại thành phần:

 Activity: Một Activity là một thành phần giao diện người dùng tương ứng với mỗi màn hình mà người dùng tương tác để làm gì đó

 Service: Một Service là một thành phần ứng dụng không có giao diện người

sử dụng để thực hiện các hoạt động lâu chạy ở chế độ nền (background)

 Broadcast Receiver: Một broadcast receiver là một thành phần để phản ứng với những thông tin quảng bá trong toàn hệ thống (ví dụ: tắt màn hình, pin hết )

 Content Provider: Một content provider là một thành phần dùng để lưu trữ

và truy xuất dữ liệu và làm cho nó có sẵn với tất cả ứng dụng Có nhiều loại khác nhau của content provider: audio, video, danh bạ… và bạn có thể cũng tạo ra provider cho riêng mình

có hai bước cần thiết:

Trang 23

 Trong trường hợp ứng dụng chưa sẵn sàng chạy, hệ thống Android sẽ mang ứng dụng đó vào chu kỳ sống trong quá trình mới tách ra từ Zygote

 Các thành phần bên trong ứng dụng cần được kích hoạt

Chú ý rằng trong trường hợp ứng dụng sẵn sàng chạy, thành phần mới được khởi tạo mặc định trong cùng quá trình

Như đề cập ở trên, IPC (giao tiếp giữa các thành phần) được thực hiện thông qua một đối tượng Context Như vậy, khi một thành phần A bên trong một ứng dụng cần

để kích hoạt thành phần B khác trong ứng dụng khác hoặc cung cấp cho nó một vài cái mới để thực hiện, về cơ bản nó sử dụng đối tượng Context để gửi một bản tin tới thành phần khác Trong trường hợp của một Activity, Service hoặc BroadcastReceiver, dạng nhiệm vụ này được gọi là một Intent - một cấu trúc dữ liệu bị động

Tuy nhiên Content Providers không kích hoạt thông qua Intens Thay vào đó, kích hoạt xảy ra trên yêu cầu từ một Content Resolver, hoạt động như một trung gian giữa các thành phần yêu cầu và Content Provider

1.5.2 Activity Back-Stack

Xem xét kịch bản sau (hình 1-8):

Hình 1-8: Activity back stack

Ta có màn hình Home Đây là Activity 1

Ta kích chuột trên biểu tượng ứng dụng Mail và thực hiện hành động chính trong ứng dụng Mail Đây là Activity 2

Bây giờ ta kích chuột trên Soạn Thư (Compose) và thực hiện hành động Soạn thư trong ứng dụng Mail Đây là Activity 3

 Ta quyết định huỷ soạn tin mới và nhấn nút quay trở lại Ta quay trở lại Activity 2

Đây là những gì đã xảy ra ở background:

Khi một Activity bắt đầu một Activity khác, nó dừng và trạng thái của nó được lưu

Trang 24

 Sau khi Activity 1 bắt đầu Activity 2, Activity 1 bị dừng và trạng thái của nó được lưu

Hệ thống ngăn xếp chính (back stack) với Activity mới nhất trên đầu và cũ nhất

ở dưới cùng

Khi người dùng nhấn phím back, Activity 3 bị dừng và Activity 2 được bắt đầu

từ trạng thái lưu của nó

Cách tiếp cận này cho phép Android chuyển đổi liên tục từ một ứng dụng sang ứng dụng khác một cách nhất quán

1.5.3 Nhiệm vụ Tasks

Trong kịch bản trên, giả sử rằng người dùng đã ở trong Soạn Thư, người đó lại quyết định gọi một vài người và ấn phím Home Điều này sẽ không ở back-stack, nhưng bắt đầu một stack mới Để làm được điều này, bộ các Activity trong stack đầu tiên cần vào trong background Điều này đạt được thông qua khái niệm Task - một đơn

vị gắn kết của các Activity Khi một task di chuyển vào background, tất cả các Activity trong Task bị dừng nhưng back-stack cho nhiệm vụ này vẫn còn nguyên vẹn, như vậy, khi người dùng trở lại Task, họ có thể tiếp tục ở nơi kết thúc Tuy nhiên, để tiết kiệm bộ nhớ, back-stack cho Task ở background là không được giữ lại trong một thời gian dài và nếu người dùng không quay trở lại Task, back stack sẽ bị xoá

Hình 1-9: Background và Foreground Task

1.5.4 Vòng đời của Activity

Vòng đời của một Activity bị ảnh hưởng bởi liên kết của nó với Activity khác, Task của nó và back-stack của nó Có 4 trạng thái cho một Activity:

 Hoạt động: Nếu Activity là trong foreground của màn hình

 Tạm dừng: Activity có thể nhìn thấy, nhưng có Activity khác trong

foreground và được người dùng sử dụng Điều này xảy ra nếu Activity khác

ở đầu, nhưng bị mờ hoặc vì nó không chiếm toàn bộ màn hình Trong trạng thái tạm dừng, đối tượng Activity được giữ trong bộ nhớ, duy trì tất cả các trạng thái của nó, thông tin thành viên và vẫn được đính bởi quản lý Window Tuy nhiên nó có thể bị giết trong điều kiện bộ nhớ giảm xuống cực

kỳ thấp

Trang 25

 Bị dừng: Activity bị che hoàn toàn bởi một Activity khác Nó vẫn được lưu

trữ trong bộ nhớ, duy trì tất cả các trạng thái, thông tin thành viên, tuy nhiên người dùng không nhìn thấy vì cửa sổ của nó bị ẩn Activity như vậy thường

sẽ bịgiết bởi hệ thống khi bộ nhớ là cần thiết ở nơi khác

 Bị hủy: Khi Activity tạm dừng hoặc bị dừng, hệ thống có thể hủy Activity

từ bộ nhớ bằng cách yêu cầu nó kết thúc hoặc kill process của nó Khi hiển thị lại nó phải khởi động lại hoàn toàn trạng thái trước của nó nhờ vào cơ

chế lưu trạng thái

Hình 1-10: Vòng đời của Activity

Lưu trạng thái Activity

Lưu ý rằng hệ thống hoàn toàn có thể tiêu diệt một Activity, thậm chí cả tiến trình mà Activity đang chạy, để lấy lại bộ nhớ Tuy nhiên, khi người dùng trở lại Activity (thông qua back stack), họ vẫn muốn tiếp tục tại thời điểm mà họ đã rời khỏi

Để làm được điều này, một Activity phải lưu trạng thái của nó Điều đó xảy ra thông qua phương thức Activity.onSaveInstanceState()

Trang 26

Hình 1-11: Lưu trạng thái Activity

1.5.5 Vòng đời của Process

Hệ thống Android có thể cần để kill một tiến trình để lấy lại bộ nhớ Để chắc chắn rằng điều này tác động tối thiểu đến người dùng, Android xếp hạng các Process thành hạng được ưu tiên như sau:

Foreground Process: Một process là cần thiết cho những gì người dùng hiện

đang làm Như vậy process bị kill chỉ là giải pháp cuối cùng

Visible Process: Đây là Process không trong foreground nhưng có thể ảnh

hưởng đến những gì người dùng nhìn thấy trên màn hình Ví dụ nó có thể tổ chức một Activity tạm dừng Một process như vậy sẽ không bị kill trừ khi làm như vậy là cần thiết để giữ tất cả các process ở foreground đang hoạt

động

Service Procress: Một process đang chạy một service và không là một trong

hai loại trên Ví dụ service có thể đang chơi nhạc hoặc tải cái gì đó Hệ thống

sẽ tiếp tục giữ cho process đang chạy, trừ khi không đủ bộ nhớ để giữ

Foreground và Visible process đang chạy

Background Process: Một process tổ chức cho một Activity hiện tại không

hiển thị cho người dùng (Activity bị dừng) Một process như vậy không tác động đến người dùng (nếu vòng đời của Activity được thực hiện chính xác và trạng thái Activity được lưu và phục hồi) Hệ thống có thể kill process loại

Trang 27

này bất cứ lúc nào Thông thường, có nhiều background process đang chạy và

hệ thống lưu trữ một danh sách LRU được sử dụng để kill process như vậy

Process rỗng: Mộtprocess rỗng không tổ chức bất kỳ một thành phần nào hoạt

động Lý do duy nhất một process như vậy được giữ sống ở nơi đầu tiên của

bộ nhớ đệm và cải thiện thời gian khởi động Hệ thống thường xuyên kill process như vậy để duy trì cân bằng giữa các quá trình lưu trữ và các lưu trữ

kernel cơ bản

Tất nhiên, như vậy có thể xảy ra rằng một Process ưu tiên cao hơn lại phụ thuộc vào một Process ưu tiên thấp hơn Trong trường hợp này việc xếp hạng Process được tăng lên mức tương tự như của quá trình phụ thuộc

Một tình huống mà bảng xếp hạng (ưu tiên các Process) này tác động trực tiếp là: Ứng dụng của bạn cần tải cái gì đó lớn và có thể mất thời gian và người dùng thích di chuyển ra ngoài activity của ứng dụng để làm việc khác.Nếu bạn sinh ra một thread nhân công làm cho quá trình này và người dùng di chuyển ra ngoài, thì process trở thành background process.Thay vì vậy, nếu bạn sinh ra một dịch vụ, process sẽ là service process và ít có khả năng bị kill

1.5.6 Service

Như đã đề cập trước, một Service là một loại thành phần được sử dụng để thực hiện hoạt động background và không cung cấp giao diện người dùng Một thành phần ứng dụng có thể bắt đầu một service và thậm chí nếu người dùng chuyển ra ngoài của ứng dụng, service này sẽ tiếp tục chạy Trường hợp sử dụng điển hình như khi nghe nhạc và tải về tệp tin Android đảm bảo rằng một process chạy một Service không bị kill càng nhiều càng tốt (nhìn vòng đời process trên)

Lưu ý rằng service được mặc định chạy trên thread giao diện người dùng chính trong cùng một process Điều này có nghĩa là nếu nó thực hiện một hoạt động ngăn chặn, giao diện người dùng sẽ không đáp ứng từ thread sẽ không kích hoạt để chạy Activity Để đối phó điều này, ta nên chạy một thread nhân công trong service

Tóm tắt

Ở chương này ta đã tìm hiểu cơ bản về hệ điều hành mã nguồn mở dành cho các thiết bị di động Android Cũng như những tính năng nổi bật mà Android đem lại Chương tiếp theo ta sẽ bắt đầu giới thiệu về các giao thức được sử dụng trong

chương trình “Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android qua mạng điện thoại di động”

Trang 28

CHƯƠNG 2: CÁC GIAO THỨC SỬ DỤNG

2.1 Giao thức TCP/IP

Mô hình OSI là mô hình tham chiếu được tổ chức ISO xây dựng nhằm tạo một chuẩn phục vụ việc nối kết các hệ thống mở Tuy nhiên, do nhiều lý do khác nhau mà OSI không được sử dụng trong thực tế mà thay vào đó được sử dụng rộng rãi nhất là

mô hình kiến trúc mạng (giao thức) TCP/IP Hầu như tất cả các hệ điều hành hiện tại đều có cài đặt giao thức TCP/IP Trong phần này sẽ giới thiệu sơ lược về mô hình TCP/IP Thông tin chi tiết có thể xem trong tài liệu [4]

2.1.1 Khái niệm

Giao thức (Protocol) là một khái niệm cơ bản của mạng truyền thông Có thể hiểu một cách khái quát đó là tập hợp tất cả các quy tắc cần thiết (các thủ tục, các khuôn dạng dữ liệu, các cơ chế phụ trợ ) cho phép các giao thức trao đổi thông tin trên mạng được thực hiện một cách chính xác và an toàn Có rất nhiều họ giao thức đang được sử dụng trên mạng truyền thông hiện nay như IEEE802.X dùng trong mạng cục bộ, CCITT (nay là ITU) dùng cho liên mạng diện rộng và đặc biệt là họ giao thức chuẩn của ISO (tổ chức tiêu chuẩn hoá quốc tế) dựa trên mô hình tham chiếu bảy lớp cho việc kết nối các hệ thống mở Trên Internet họ giao thức được sử dụng là giao thức TCP/IP Giao thức TCP/IP, ngắn gọn là TCP/IP (tiếng Anh: Internet protocol suite hoặc IP suite hoặc TCP/IP protocol suite - giao thức liên mạng), là một giao thức truyền thông cài đặt chồng giao thức mà Internet và hầu hết các mạng máy tính thương mại đang chạy trên đó Giao thức này được đặt tên theo hai giao thức chính của nó là TCP (giao thức Điều khiển Giao vận) và IP (giao thức Liên mạng) Chúng cũng là hai giao thức đầu tiên được định nghĩa

Như nhiều giao thức khác, giao thức TCP/IP có thể được coi là một tập hợp các tầng, mỗi tầng giải quyết một tập các vấn đề có liên quan đến việc truyền dữ liệu và cung cấp cho các giao thức tầng cấp trên một dịch vụ được định nghĩa rõ ràng, dựa trên việc sử dụng các dịch vụ của các tầng thấp hơn Về mặt lôgic, các tầng trên gần với người dùng hơn và làm việc với dữ liệu trừu tượng hơn, chúng dựa vào các giao thức tầng cấp dưới để biến đổi dữ liệu thành các dạng mà cuối cùng có thể được truyền

đi một cách vật lý

2.1.2 Mục đích và nguồn gốc

Giao tiếp thông tin đã trở thành nhu cầu không thể thiếu trong tất cả mọi lĩnh vực hoạt động Mạng máy tính ra đời phần nào đó đáp ứng được nhu cầu đó Phạm vi lúc đầu của các mạng bị hạn chế trong một nhóm làm việc, một cơ quan, công ty trong một khu vực Tuy nhiên thực tế của những nhu cầu cần trao đổi thông tin trong nhiều lĩnh vực khác nhau, về nhiều chủ đề khác nhau, giữa các tổ chức, các cơ quan là không có giới hạn Vì vậy nhu cầu cần kết nối các mạng khác nhau của các tổ chức

Trang 29

khác nhau để trao đổi thông tin là thực sự cần thiết Nhưng thật không may là hầu hết các mạng của các công ty, các cơ quan đều là các thực thể độc lập, được thiết lập để phục vụ nhu cầu trao đổi thông tin của bản thân các tổ chức đó Các mạng này có thể được xây dựng từ những kĩ thuật phần cứng khác nhau để phù hợp với những vấn đề giao tiếp thông tin của riêng họ Điều này chính là một cản trở cho việc xây dựng một mạng chung, bởi vì sẽ không có một kĩ thuật phần cứng riêng nào đủ đáp ứng cho việc xây dựng một mạng chung thoả mãn nhu cầu người sử dụng Người sử dụng cần một mạng tốc độ cao để nối các máy, nhưng những mạng như vậy không thể được mở rộng trên những khoảng cách lớn Nhu cầu về một kỹ thuật mới mà có thể kết nối được nhiều mạng vật lý có cấu trúc khác hẳn nhau là thật sự cần thiết Nhận thức được điều

đó, trong quá trình phát triển mạng ARPANET của mình, tổ chức ARPA (Advanced Research Projects Agency) đó tập trung nghiên cứu nhằm đưa ra một kỹ thuật thỏa mãn những yêu cầu trên Kỹ thuật ARPA bao gồm một thiết lập của các chuẩn mạng xác định từ những chi tiết của việc làm thế nào để các máy tính có thể truyền thông với nhau cũng như một sự thiết lập các quy ước cho kết nối mạng, lưu thông và chọn đường Kỹ thuật đó được phát triển đầy đủ và được đưa ra với tên gọi chính xác là TCP/IP Iternet Protocol Suit và thường được gọi tắt là TCP/IP Dùng TCT/IP người ta

có thể kết nối được tất cả các mạng bên trong công ty của họ hoặc có thể kết nối giữa các mạng của các công ty, các tổ chức khác nhau với nhau

2.1.3 Đặc điểm

Là giao thức chuẩn mở và sẵn có, vì nó không thuộc sở hữu của bất cứ một tổ chức nào; các đặc tả thì sẵn có và rộng rãi Vì vậy bất kì ai cũng có thể xây dựng phần mềm truyền thông qua mạng máy tính dựa trên nó

TCP/IP độc lập với phần cứng mạng vật lý, điều này cho phép TCP/IP có thể được dùng để kết nối nhiều loại mạng có kiến trúc vật lý khác nhau như: Ethernet, Tokenring, FDDI, X25, ATM

TCP/IP dùng địa chỉ IP để định danh các host trên mạng tạo ra một mạng ảo thống nhất khi kết nối mạng

2.1.4 Cấu trúc phân tầng của TCP/IP

Như ta đó nói ở phần trên, TCP/IP là mô hình mở để kết nối mạng Do vậy, nó cũng được thiết kế theo kiến trúc phân tầng tương tự như mô hình OSI Giao thức TCP/IP được thiết kế gồm 4 tầng được mô tả theo hình 2-1

Trang 30

Hình 2-1: Giao thức TCP/IP

2.1.5 Đóng gói dữ liệu trong TCP/IP

Giao thức TCP/IP dùng sự đóng gói dữ liệu nhằm trừu tượng hóa các giao thức

và dịch vụ, nói cách khác là các giao thức ở tầng cao hơn sử dụng các giao thức ở tầng thấp hơn nhằm đạt được mục đích của mình bằng cách đóng gói dữ liệu giống như ở ví

dụ trong hình 2-2

Hình 2-2: Cấu trúc gói Dữ liệu

Những tầng trên đỉnh gần với người sử dụng hơn, những tầng thấp nhất gần với thiết bị truyền thông hơn Trong mỗi tầng là một nhóm nhiều giao thức, trong đó có một giao thức để phục vụ tầng trên của nó và một giao thức sử dụng dịch vụ của tầng dưới của nó (ngoại trừ tầng đỉnh và tầng đáy)

Bảng 2-1 liệt kê một số giao thức của các tầng:

Trang 31

Bảng 2-1: Bảng giao thức trên các tầng của TCP/IP

Application DNS, TFTP, TLS/SSL, FTP, Gopher, HTTP, IMAP, IRC, NNTP, POP3,

SIP, SMTP,SMPP, SNMP, SSH, Telnet, Echo, RTP, PNRP, rlogin, ENRP Transport TCP, UDP, DCCP, SCTP, IL, RUDP, RSVP

Internet IP (IPv4, IPv6), ICMP, IGMP, ICMPv6

Link ATM, Ethernet, Token Ring, Frame Relay,…

2.1.6 Các tầng trong mô hình TCP/IP

Để cho các máy tính trao đổi dữ liệu với nhau TCP/IP sử dụng mô hình truyền thông 4 tầng hay cũng gọi là mô Hình DoD (mô hình của Bộ Quốc Phòng Hoa Kỳ) Các tầng trong mô hình này là (theo thứ tự từ trên xuống):

Tầng ứng Dụng (Application Layer)

Tầng Giao Vận (Transport Layer)

Tầng Liên Mạng (Internet Layer)

Tầng Liên Kết (Link Layer)

Hình 2-3: Mô Hình TCP/IP

2.1.6.1 Tầng ứng dụng (Application Layer)

Đây là tầng cao nhất trong cấu trúc phân lớp của TCP/IP Tầng này bao gồm tất

cả các chuơng trình ứng dụng sử dụng các dịch vụ sẵn có thông qua một chồng giao thức TCP/IP Các chương trình ứng dụng tương tác với một trong các giao thức của tầng giao vận để truyền hoặc nhận dữ liệu Mỗi chương trình ứng dụng lựa chọn một kiểu giao thức thích hợp cho công việc của nó Chương trình ứng dụng chuyển dữ liệu theo mẫu mà tầng giao vận yêu cầu

Một số giao thức thông dụng trong tầng này là:

Trang 32

DHCP (Dynamic Host Configuration Protocol): Giao Thức Cấu Hình Trạm Động

 DNS (Domain Name System): Hệ Thống Tên Miền

SNMP (Simple Network Management Protocol): Giao Thức Quản Lý Mạng Đơn Giản

FTP (File Transfer Protocol): Giao Thức Truyền Tập Tin

TFTP (Trivial File Transfer Protocol): Giao Thức Truyền Tập Tin Bình Thường

 SMTP (Simple Mail Transfer Protocol): Giao Thức Truyền Thư Đơn Giản

 TELNET

2.1.6.2 Tầng giao vận (Transport Layer)

Nhiệm vụ trước tiên của tầng giao vận là cung cấp sự giao tiếp thông tin giữa các chương trình ứng dụng Mỗi quá trình giao tiếp được gọi là end-to-end Tầng giao vận cũng có thể điều chỉnh lưu lượng luồng thông tin Nó cũng cung cấp một sự vận chuyển tin cậy, đảm bảo rằng dữ liệu đến mà không bị lỗi Để làm như vậy, phần mềm giao thức hỗ trợ để bên nhận có thể gửi lại các thông báo xác nhận về việc thu dữ liệu

và bên gửi có thể truyền lại các gói tin bị mất hoặc bị lỗi Phần mềm giao thức chia dữ liệu ra thành những đơn vị dữ liệu nhỏ hơn (thường được gọi là các Packets) và chuyển mỗi packet cùng với địa chỉ đích tới tầng tiếp theo để tiếp tục quá trình truyền dẫn

Hai giao thức chính trong tầng này gồm:

UDP (User Datagram Protocol): Cũng gọi là Giao Thức Gói Người Dùng UDP cung cấp các kênh truyền thông phi kết nối nên nó không đảm bảo truyền dữ liệu một cách tin cậy Các ứng dụng dùng UDP thường chỉ truyền những gói

có kích thước nhỏ, độ tin cậy dữ liệu phụ thuộc vào từng ứng dụng

TCP (Transmission Control Protocol): Ngược lại với UDP, TCP cung cấp các kênh truyền thông hướng kết nối và đảm bảo truyền dữ liệu một cách tin cậy TCP thường truyền các gói tin có kích thước lýn và yêu cầu phía nhận xác nhận về các gói tin đó nhận

2.1.6.3 Tầng Internet (Internet Layer)

Tầng mạng xử lý giao tiếp thông tin từ một máy này tới một máy khác Nó chấp nhận một yêu cầu để gửi một gói từ từ tầng giao vận cùng với một định danh của máy đích mà gói tin sẽ được gửi tới Ví dụ với giao thức TCP hay UDP của tầng giao vận,

nó sẽ bọc gói tin trong một IP Datagram, điền đầy vào trong phần header, sử dụng giải thuật chọn đường để quyết định là giao phát gói tin trực tiếp hay là gửi nó tới một Router và chuyển datagram tới giao diện phối ghép mạng thích hợp cho việc truyền dẫn Tầng mạng cũng xử lý các Datagram đến, kiểm tra tính hợp lệ của chúng và sử

Trang 33

dụng giải thuật chọn đường để quyết định là datagram sẽ được xử lý cục bộ hay là sẽ được chuyển đi tiếp Đối với các datagrams có địa chỉ đích cục bộ, thì phần mềm tầng mạng sẽ xem phần header của các datagram đó và chọn trong số các giao thức tầng giao vận một giao thức thích hợp để xử lý packet

Bốn giao thức quan trọng nhất trong tầng này gồm:

IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền và định tuyến chúng tới đích

ARP (Address Resolution Protocol): Có chức năng biên dịch địa chỉ IP của máy đích thành địa chỉ MAC

ICMP (Internet Control Message Protocol): Có chức năng thông báo lỗi trong trường hợp truyền dữ liệu bị hỏng

IGMP (Internet Group Management Protocol): Có chức năng điều khiển truyền

đa hướng (Multicast)

2.1.6.4 Tầng liên kết (Link Layer)

Là tầng thấp nhất của giao thức TCP/IP, chịu trách nhiệm về việc chấp nhận các datagram của tầng trên (ví dụ IP datagram) và việc truyền phát chúng trên một mạng xác định Theo quan điểm hiện nay mô hình TCP/IP bao gồm các đặc tả vật lý, nói cách khác tầng liên kết bao gồm vấn đề về phần cứng hay việc truyền tín hiệu vật lý nữa

Tầng này gồm các thiết bị phần cứng vật lí chẳng hạn như Card Mạng và Cáp Mạng Một Card Mạng chẳng hạn card Ethernet chứa 1 số HEX 12 kí tự (00-18-37-03-C0-F4) được gọi là Địa Chỉ MAC (Media Access Control) hay Địa Chỉ Truy Nhập Phương Tiện MAC đóng vai trò quan trọng trong việc gán địa chỉ và truyền dữ liệu Một số giao thức tiêu biểu thuộc tầng này gồm

 ATM (Asynchronous Transfer Mode)

SMS (Short Message Service)là dịch vụ tin nhắn ngắn, cung cấp một phương tiện

để chuyển tin nhắn ngắn giữa các trạm di động MS (Mobile Station) và thực thể tin nhắn ngắn SME (Short Message Entity) thông qua một trung tâm dịch vụ SC (Service Centrel) Sau đây là mô tả sơ lược về dịch vụ này, chi tiết hơn sẽ được trình bày trong tài liệu tham khảo [8]

Trang 34

SC phục vụ nhƣ là một chức năng chuyển tiếp của truyền thông tin giữa các trạm

di động MS và SME Hai dịch vụ điểm - điểm khác nhau đƣợc định nghĩa:

Bản tin ngắn MT (Mobile Terminated): Bản tin ngắn đƣợc gửi từ SC tới MS Hoạt động này đƣợc gọi là SM cung cấp (delivery)

Bản tin ngắn MO (Mobile Originated): Bản tin ngắn đƣợc gửi từ MS tới SME thông qua SC Hoạt động này đƣợc gọi là SM đệ trình (submitting)

Hình 2-4: Quan hệ giữa MS và SC

Để nhấn mạnh sự khác nhau giữa hai bản tin MO và MT, tìm hiểu gửi tin trong mạng GSM:

Hình 2-5: Quá trình gửi tin MO trong mạng GSM

(1) Hoạt động này tham gia vào một thủ tục đƣợc sử dụng để chuyển SM từ MS đến MSC

(2) MSC sẽ chuyển tiếp SM đến SMS-IWMSC, nơi phục vụ nhƣ một chuyển tiếp giữa PLMN và SC

Trang 35

(3) SMS-IWMSC chuyển SM đến SC SC lưu các SM trong bộ nhớ của nó và sẽ

cố gắng gửi tới đích là một MS khác, trong trường hợp thủ tục SM-MT sẽ diễn ra hoặc

sẽ tới SME khác ngoài PLMN

(4) Chuyển các bản tin xác nhận Ack

(5) SMS-IWMSC gửi một bản tin Ack chuyển tiếp lại MSC

(6) Chuyển tiếp MSC thừa nhận trở lại MS

Hình 2-6: Quá trình gửi tin MT trong mạng GSM

(1), (6) Hoạt động (1) SMS gửi từ SC tới SMS-GMSC Hoạt động (6) là một báo cáo quá trình phân phối hoặc là một báo cáo lỗi được gửi từ SMS-GSMC tới SC sau khi cố gắng chuyển SM SMS-GMSC sẽ gửi báo cáo lỗi khi nó nhận được dấu hiệu của các đối tượng khác (MSC, HLR)

(2) Hoạt động này gồm cả „a‟ và „b‟, SMS-GMSC truy vấn HLR lấy các thông tin cần thiết để chuyển tiếp bản tin ngắn

(3), (5) Hoạt động cung cấp một phương tiện cho các tin nhắn SMS-GMSC chuyển mộttin nhắn ngắn đến MSC mà MS hiện đang nằm

(4) Hoạt động được sử dụng để chuyển một bản tin ngắn từ MSC tới MS

Trang 36

Hình 2-7: Vòng đời của tin nhắn

Nếu bản tin ngắn được gửi từ trạm di động, nó được lưu trong cơ sở dữ liệu Và bản tin được đánh dấu là “Trạng thái bắt đầu” Nếu bản tin ngắn được gửi từ ứng dụng thì nó sẽ được lưu ở cơ sở dữ liệu khác và được gọi là “giao dịch”, để phân biệt nó với tin nhắn thông thường khác

Một xác nhận được gửi tới nguồn rằng bản tin ngắn đã được nhận và lưu trữ

Các tin nhắn được gửi tới mục tiêu và được đánh dấu là “được gửi”

Nếu phản hồi từ mục tiêu phân phối thành công hoặc thường xuyên thất bại thì bản tin được đánh dấu là “Trạng thái kết thúc”

Nếu phản hồi từ mục tiêu là lỗi tạm thời (ví dụ điện thoại không thể truy cập), bản tin sẽ được phân phối vào lúc khác và được đánh dấu là “Chờ gửi lại”

Nếu bản tin là “Trạng thái kết thúc”, thì một thông báo sẽ được gửi đến nguồn gửi Một bản tin thông báo có thể định dạng giống như bản tin ngắn và cũng

sẽ trải qua các thủ tục các bước như ở trên, trừ bước này

Nếu bản tin là “Chờ gửi lại” thì khi thời gian phân phối mới tới, bạn tin lại được gửi lại như thế

Trang 37

CHƯƠNG 3: TỔNG QUAN VỀ MẠNG THÔNG TIN DI ĐỘNG

(VINAPHONE)

Mạng di động Vinaphone là một trong 2 mạng di động đầu tiên được cấp phép cung cấp dịch vụ tại thị trường Việt Nam sau Mobifone và đều thuộc Tập đoàn Bưu chính Viễn thông Việt Nam (VNPT) Mạng Vinaphone từ khi thành lập năm 1996 đã triển khai hệ thống thông tin di động GSM 900, sau đó mở rộng băng tần thêm GSM

1800 và gần đây nhất vào tháng 10/2009 đã trở thành mạng di động đầu tiên ở Việt Nam cung cấp dịch vụ 3G theo chuẩn WCDMA

Dưới đây sẽ trình bày một số đặc điểm cấu trúc hệ thống thông tin di động Vinaphone đối với cả hệ thống 2G GSM và 3G WCDMA Thông tin cụ thể hơn trong tài liệu tham khảo [1, 2]

3.1 Cấu trúc, các thành phần chức năng hệ thống GSM

Hình 3-1: Cấu trúc hệ thống thông tin di động trong hệ thống GSM

Mạng Vinaphone ban đầu sử dụng GSM 900 là hệ thống thông tin di động dùng băng tần xung quanh tần số 900 MHz (890 - 960) được chia thành 2 dải tần:

Dải tần từ 890 – 915 MHz dùng cho đường lên từ MS đến BTS (Uplink)

Dải tần từ 935 – 960 MHz dùng cho đường xuống từ BTS đến MS (Downlink)

Trang 38

Khoảng cách giữa các sóng mang trong hệ thống GSM là 200 KHz mà hệ thống GSM có 2 băng tần rộng 25 MHz bao gồm 25MHz / 200 = 125 kênh Trong đó kênh 0

là dãy bảo vệ, còn các kênh từ 1 – 124 được gọi là kênh tần số vô tuyến tuyệt đối Trong đó, Vinaphone được cấp phát kênh từ 1 – 41, Viettel từ kênh 42 – 83 và Mobifone từ kênh 84 -124

Tương tự, với dải băng tần 1800 MHz dùng cho đường lên từ 1710 – 1785 MHz vàđường xuống từ 1805 – 1880 MHz, Vinaphone được cấp dải kênh với tần số trong khoảng từ 1710.1 – 1723.5 MHz (Uplink) và 1805.1 – 1818.5 MHz (Downlink)

Do Vinaphone sử dụng hệ thống GSM nên về cơ bản sẽ có cấu trúc tương tự như cấu trúc chuẩn của hệ thống GSM do ETSI quy định Cấu trúc hệ thống thông tin di động GSM được phân chia thành các thành phần cơ bản dưới đây:

Nó bao gồm các bộ phận điều khiển và quản lý toàn bộ hệ thống để đạt được hiệu quả cao đồng thời phải đảm bảo tuyệt đối về an ninh và an toàn

HLR (Home Location Register): Bộ ghi định vị thưởng trú

Bộ ghi định vị thường trú có chức năng quản lý toàn bộ dữ liệu thuê bao Nó là

cơ sở dữ liệu thuê bao để quản lý nhận thực, cấp phát, hủy, quản lý các dịch vụ người dùng

VLR (Visitor Location Register): Bộ ghi định vị tạm trú

Trang 39

Bộ ghi định vị tạm trú thường nằm kết hợp trong MSC Trong thời gian máy di động cập nhật vị trí, dữ liệu thuê bao được chuyển từ HLR tới VLR hiện tại Dữ liệu này được lưu trữ trong VLR trong suốt thời gian mà MS di chuyển trong vùng này VLR sẽ cung cấp dữ liệu cho thuê bao bất kỳ lúc bào nó cần cho việc xử lý cuộc gọi Khi MS di động sang một vùng phục vụ của MSC mới, MSC/VLR cũ sẽ thông báo cho HLR và HLR lại tiếp tục ấn định cho MSC/VLR mới quản lý thuê bao đang di động trên

 AUC (Authencation Centre): Trung tâm nhận thực

Khi một thuê bao muốn truy nhập mạng, VLR đang quản lý sẽ kiểm tra thông tin yêu cầu của thuê bao có được chấp nhận hay không, nghĩa là nó thực hiện một sự nhận thực VLR sử dụng những thông số nhận thực được gọi là những bộ ba, nó được tạo ra một cách liên tục và riêng biệt cho mỗi thuê bao di động được cung cấp bởi trung tâm nhận thực AUC Thông thường, AUC được kết hợp với HLR

 EIR (Equipment Identification Register): Bộ ghi nhận dạng thiết bị

EIR kiểm tra tính hợp lệ của thuê bao dựa trên yêu cầu đặc tính thiết bị di động quốc tế theo số IMEI từ MS sau đó gửi nó tới bộ ghi nhận dạng thiết bị EIR Trong EIR, IMEI của toàn bộ thiết bị di động được sử dụng được phân chia thành các danh sách để quản lý: thiết bị di động được chấp nhận, theo dõi, không được chấp nhận (whitelist, greylist, blacklist) EIR kiểm tra IMEI của MS và đưa vào một trong các danh sách phân loại trên chuyển kết quả tới MSC

3.1.2 Hệ thống trạm gốc

Hệ thống trạm gốc bao gồm các khối chức năng chính là BSC và BTS:

BSC (Base Station Controller): Bộ điều khiển trạm gốc

Bộ điều khiển trạm gốc BSC cung cấp những chức năng thông minh điều khiển mọi hoạt động của hệ thống con vô tuyến Một BSC có thể điều khiển nhiều BTS Nó phân phối sự kết nối các kênh lưu lượng (Traffic channel) kèm báo hiệu từ hệ thống chuyển mạch tới các cell vô tuyến BTS, ngoài ra nó còn thực hiện quá trình chuyển giao cùng với MSC

BTS (Base Transceiver Station): Trạm thu phát gốc

Trạm thu phát gốc BTS bao gồm các thiết bị thu phát, anten và xử lý tín hiệu đặc thù cho giao diện vô tuyến BTS được thiết lập tại tâm của mỗi tâm của mỗi tế bào, nó thông tin đến các MS thông qua giao diện vô tuyến Um, có nhiệm vụ cung cấp những kết nối vô tuyến giữa MS và BTS để MS có thể thực hiện được các dịch vụ

Một bộ phận quan trọng của BTS là TRAU là khối chuyển đổi mã hóa và tốc độ

 TRAU (Transcoder/Adapter Rate Unit)

Trang 40

Khối chuyển đổi mã hóa thoại và tốc độ TRAU gồm bộ chuyển đổi mã hóa TC (Transcoder) và bộ tương thích tốc độ RA (Rate Adaptor) thực hiện chuyển đổi luồng

64 kbit/s thoại và dữ liệu tương ứng từ MSC thành luồng thoại, dữ liệu có tốc độ thấp dùng cho giao diện vô tuyến tại BTS là 16 kbit/s

TRAU là một bộ phận của BTS nhưng cũng có thể đặt nó cách xa BTS và thậm chí trong nhiều trường hợp nó được đặt giữa MSC &BSC Hình 3-2 mô tả các vị trí có thể đặt TRAU Đối với các nhà khai thác như Vinaphone, Mobifone, TRAU thường được đặt gần MSC để tiết kiệm đường truyền dẫn đến BSC qua luồng E1 PCM30

Hình 3-2: Cấu trúc ghép nối TRAU tại BTS, BSC, MSC

3.1.3 Hệ thống hỗ trợ giám sát OSS

Tất cả mọi sự hoạt động, sự kiểm tra và sự bảo trì cho tất cả những thành phần mạng SS, BSS (BSC, BTS, TRAU) có thể được thực hiện ở trung tâm OMC, gọi là trung tâm vận hành và bảo dưỡng OMC được liên kết với những phần tử SS và BSS thông qua một mạng dữ liệu gói X25

Hệ thống OMC bao gồm một hoặc nhiều OMC Đối với riêng hệ thống hỗ trợ giám sát mạng GSM thì được phân ra là OMC – R, OMC – S tương ứng với việc quản

lý phần vô tuyến, phần chuyển mạch Khi thêm các thành phần mạng gói như GPRS thì sẽ có thêm thành phần OMC– G, điều này được thể hiện trong hình vẽ các kết nối giữa thành phần mạng lõiGSM/GPRS/EDGE của Vinaphone

Như ta thấy trên hình vẽ (hình 3-3), ngoài các thành phần cơ bản trong cấu trúc

hệ thống GSM theo chuẩn 3GPP đã trình bày, còn có rất nhiều các thành phần khác nhằm duy trì các dịch vụ người dùng ví dụ như hệ thống IN để quản lý các thuê bao trả trước, hệ thống SMSC để thực hiện các dịch vụ liên quan đến hệ thống nhắn tin, các điểm tập trung báo hiệu STP… Các kết nối giữa các thành phần MSC, TSC, STP, HLR được thực hiện trên nhiều giao diện E1, STM1 tùy theo dung lượng hướng kết nối Trong đó luồng PCM 2Mbit/s là giao diện vật lý truyền thống mang các kênh

Ngày đăng: 25/03/2015, 11:08

HÌNH ẢNH LIÊN QUAN

Hình 1-1: Kiến trúc Android - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 1 1: Kiến trúc Android (Trang 16)
Hình 1-11: Lưu trạng thái Activity - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 1 11: Lưu trạng thái Activity (Trang 26)
Hình 2-1: Giao thức TCP/IP - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 2 1: Giao thức TCP/IP (Trang 30)
Hình 2-7: Vòng đời của tin nhắn - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 2 7: Vòng đời của tin nhắn (Trang 36)
Hình 4-4: Mô hình Package của phần mềm điều khiển - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 4 4: Mô hình Package của phần mềm điều khiển (Trang 51)
Hình 4-9: Intent xử lý sự kiện nhận SMS trong ServiceManager class - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 4 9: Intent xử lý sự kiện nhận SMS trong ServiceManager class (Trang 54)
Hình 4-10: Biểu đồ hoạt động hàm processMessage() trong ServiceManage class - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 4 10: Biểu đồ hoạt động hàm processMessage() trong ServiceManage class (Trang 55)
Hình 4-11: Biểu đồ hoạt động hàm checkPhoneExist() của ServiceManager class - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 4 11: Biểu đồ hoạt động hàm checkPhoneExist() của ServiceManager class (Trang 55)
Hình 4-12: Biểu đồ hoạt động hàm storeSMSContent của ServiceManager class - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 4 12: Biểu đồ hoạt động hàm storeSMSContent của ServiceManager class (Trang 56)
Hình 4-16: Biểu đồ class của DeviceManager - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 4 16: Biểu đồ class của DeviceManager (Trang 58)
Hình 4-21: Biểu đồ hoạt động hàm onCreateDialog của AddDeviceActivity class - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 4 21: Biểu đồ hoạt động hàm onCreateDialog của AddDeviceActivity class (Trang 61)
Hình 4-25: Biểu đồ hoạt động hàm updatePhoneDescription() - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 4 25: Biểu đồ hoạt động hàm updatePhoneDescription() (Trang 63)
Hình 4-35: Biểu đồ hoạt động hàm onOptionsItemSelected() - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 4 35: Biểu đồ hoạt động hàm onOptionsItemSelected() (Trang 68)
Hình 4-36: Biểu đồ hoạt động hàm isExistPhone() của AddDeviceActivity class - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 4 36: Biểu đồ hoạt động hàm isExistPhone() của AddDeviceActivity class (Trang 68)
Hình 4-38: Biểu đồ class của DeviceCommand - Quản lý, giám sát và điều khiển thiết bị bằng phần mềm trên Android thông qua mạng điện thoại di động
Hình 4 38: Biểu đồ class của DeviceCommand (Trang 70)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w