Báo cáo đồ án tốt nghiệp KếT nối Thiết bị và Trao đổi dữ liệu sử dụng giao thức MTP Giới thiệu đề tài. Tổng quan giao thức MTP. Các chức năng của phần mềm. Demo phần mềm. Cấu trúc của phần mềm Kết luận và hướng phát triển tiếp theo.
Trang 1BÁO CÁO ĐỒ ÁN TỐT
NGHIỆP
KẾT NỐI THIẾT BỊ VÀ TRAO ĐỔI DỮ LIỆU
SỬ DỤNG GIAO THỨC MTP
Sinh viên: Nguyễn Tiến Đạt
Giảng viên hướng dẫn: TS Phạm Văn Tiến
Hà Nội, ngày 24/6/2014 1
Trang 2NỘI DUNG TRÌNH BÀY
Trang 31 GIỚI THIỆU ĐỀ TÀI
dụng giao thức MTP”
dùng tương tác với các thiết bị cầm tay hỗ trợ giao
thức MTP
3
Trang 42 TỔNG QUAN GIAO THỨC MTP (1/2)
PTP (Picture Transfer Protocol)
Cho phép máy tính kết nối và trao đổi dữ liệu với
nhiều loại thiết bị cầm tay.
Cho phép máy tính cá nhân điều khiển và kiểm soát
các thiết bị cầm tay.
trên nền các giao thức: USB, TCP/IP, Bluetooth
Trang 52 TỔNG QUAN GIAO THỨC MTP (2/2)
(1) Request (2) Data transfer (3) Response
5
Trang 63 PHẦN MỀM CÓ THỂ LÀM ĐƯỢC
GÌ?
Device Explorer
Trang 74 DEMO PHẦN MỀM
7
Trang 85 CẤU TRÚC PHẦN MỀM (1/5)
thành phần chính:
Phần giao diện.
Phần xử lý truyền
thông.
Trang 9CMyListCtrl CMyListBox CMyTreeCtrl CMyMenu
DevicePropertiesDlg
MusicPropertiesDlg
VideoPropertiesDlg
ImagePropertiesDlg ProgressDlg
CExplorerDeviceDlg
Manager
Device
Object
MusicObject VideoObject ImageObject
5 CẤU TRÚC PHẦN MỀM (2/5)
do lớp
CExplorerDevice
Dlg điều phối
(Interface
Manager)
truyền thông do
lớp Manager điều
phối (Background
Manager)
9
Trang 105 CẤU TRÚC PHẦN MỀM (3/5)
Lớp CExplorerDeviceDlg (Interface Manager):
Tiếp nhận các sự kiện từ đối tượng của các lớp CMyMenu,
CMyListCtrl, CMyListBox, CMyTreeCtrl.
Yêu cầu đối tượng của lớp Manager làm một số công việc như
push, pull, delete, open, disconnect,…
Trả lại thông tin cho người dùng khi Manager hoàn thành công việc qua các lớp CMyListCtrl, CMyListBox, CMyTreeCtrl.
CExplorerDeviceDlg
-m_cMenuBar: CMyMenu
-m_cPopupMenu: CMyMenu
-m_cTreeExplorer: CMyTreeCtrl
-m_cListContent: CMyListCtrl
-m_cListDetail: CMyListBox
-deviceManager: Manager
+DeleteObjectRequest(Index: Integer)
+PullObjectRequest(FullPathReceiver: String, Index: Integer)
+PushObjectRequest(FullPathSender: String)
+OpenObjectRequest(Index: Integer)
+DisconnectToDeviceRequest()
+GetObjectRequest()
Trang 115 CẤU TRÚC PHẦN MỀM (4/5)
Lớp Manager (Background Manager):
Manager yêu cầu
Interface Manager
11
Manager
-listDevice: Device
-StatusRegister: Boolean
-ControlResgister: Boolean
+GetDeviceIndication()
+LookUpDeviceChange()
+GetObjectIndication()
+PushObjectIndication(FullPathSender: String, ParentObjectReceiver: String)
+PullObjectIndication(FullPathReceiver: String, IdObject: String)
+OpenObjectIndication(IdObject: String)
+DeleteObjectIndication(IdObject: String)
+DisconnectToDeviceIndication()
+OnProcessEventFromDevice()
Trang 125 CẤU TRÚC PHẦN MỀM (5/5)
Interface Manager và
Background Manager
để đáp ứng một yêu
cầu của người dùng
Trang 13KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
TIẾP THEO (1/3)
mềm hỗ trợ người dùng tương tác với các thiết bị
cầm tay hỗ trợ MTP
vào hệ thống
13
Trang 14Hạn chế Giải pháp
Khi thiết bị kết nối vào máy tính,
phần mềm không tự liệt kê nội dung
trên thiết bị mà phải chờ người dùng
thao tác
Tạo một luồng phụ để liệt kê nội dung trên thiết bị ngay khi phát hiện thiết
bị đó kết nối
Tại một thời điểm phần mềm chỉ cho
phép tương tác với một thiết bị
Tạo nhiều luồng song song Mỗi luồng chịu trách nhiệm tương tác với một thiết bị.
Phần mềm đôi khi bị đổ vỡ trong một
số điều kiện khắc nghiệt, ví dụ thiết bị
đang tiến hành sao chép từ máy tính
xuống thiết bị mà người dùng rút thiết
bị ra
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
TIẾP THEO (2/3)
14
Trang 15KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
TIẾP THEO (3/3)
Hướng phát triển tiếp theo:
bằng phần mềm
thiết bị trên nền giao thức MTP/Blutetooth và
MTP/TCP
khác như Ubuntu, Mac OS
15
Trang 16Thanks for listening!