XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN TỪ XA TRÊN NÊN ANDROID

79 1 0
XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN  TỪ XA TRÊN NÊN ANDROID

Đ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

TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN TỪ XA TRÊN NỀN ANDROID Người hướng dẫn: ThS PHẠM MINH THỦY Người thực hiện: NGUYỄN HỮU TÍNH Lớp : 10040002 Khố : THÀNH PHỐ HỒ CHÍ MINH, NĂM 2015 14 TỔNG LIÊN ĐỒN LAO ĐỘNG VIỆT NAM TRƯỜNG ĐẠI HỌC TƠN ĐỨC THẮNG KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN TỪ XA TRÊN NỀN ANDROID Người hướng dẫn : ThS PHẠM MINH THỦY Người thực : NGUYỄN HỮU TÍNH Lớp: Khố : THÀNH PHỐ HỒ CHÍ MINH, NĂM 2015 10040002 14 LỜI CẢM ƠN Em xin chân thành cảm ơn nhà trường tạo điều kiện tốt cho em để hoàn thành đồ án tốt nghiệp Cảm ơn thầy cô khoa Điện – Điện tử dạy cho em kiến thức tảng điện, điện tử kiến thức chuyên ngành lĩnh vực viễn thông để em áp dụng kiến thức vào đồ án tốt nghiệp phát triển nghiệp sau Đặc biệt, em xin gởi lời cảm ơn chân thành đến thầy Phạm Minh Thủy Thầy người trực tiếp hướng dẫn em hoàn thành đồ án tốt nghiệp Thầy bảo em nhiều, em bước thực để hoàn thành đồ án em cách giải khó khăn gặp phải q trình thực TP Hồ Chí Minh, ngày tháng năm Sinh viên Nguyễn Hữu Tính CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC TƠN ĐỨC THẮNG Tơi xin cam đoan cơng trình nghiên cứu riêng hướng dẫn khoa học ThS Phạm Minh Thủy Các nội dung nghiên cứu, kết đề tài trung thực chưa công bố hình thức trước Những số liệu bảng biểu phục vụ cho việc phân tích, nhận xét, đánh giá tác giả thu thập từ nguồn khác có ghi rõ phần tài liệu tham khảo Ngoài ra, luận văn sử dụng số nhận xét, đánh số liệu tác giả khác, quan tổ chức khác có trích dẫn thích nguồn gốc Nếu phát có gian lận tơi xin hồn tồn chịu trách nhiệm nội dung luận văn Trường đại học Tôn Đức Thắng không liên quan đến vi phạm tác quyền, quyền gây trình thực (nếu có) TP Hồ Chí Minh, ngày 03 tháng 01 năm 2015 Sinh viên (ký tên ghi rõ họ tên) Nguyễn Hữu Tính MỤC LỤC DANH MỤC HÌNH VẼ VII DANH MỤC BẢNG BIỂU IX DANH MỤC TỪ VIẾT TẮT X CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1.1 TỔNG QUAN 1.2 MỤC ĐÍCH: 1.3 HƯỚNG THỰC HIỆN 1.3.1 Tìm hiểu Android viết ứng dụng Android 1.3.2 Tìm hiểu module sử dụng 1.3.3 Thực phần cứng điều khiển thiết bị kết nối module CHƯƠNG 2: TỔNG QUAN VỀ GSM VÀ MODULE SIM900A 2.1 TỔNG QUAN VỀ GSM 2.1.1 Cấu trúc mạng GSM 2.1.2 Hệ thống GSM 2.2 MODULE SIM900A 2.2.1 Giới thiệu Module SIM900A 2.2.2 Thông số kỹ thuật SIM900A 2.2.3 Tập lệnh AT 11 2.3 KẾT NỐI MODULE SIM900A VÀ BOARD ARDUINO 13 2.3.1 Board Arduino 13 2.3.2 Giao tiếp với Module SIM900A 18 CHƯƠNG 3: TÌM HIỀU VỀ BLUETOOTH VÀ MODULE HC-05 23 3.1 TÌM HIỂU VỀ BLUETOOTH 23 3.2 CÁCH THỨC HOẠT ĐỘNG CỦA BLUETOOTH 23 3.2.1 Trạng thái thiết bị Bluetooth: 23 3.2.2 Các chế độ kết nối 24 3.2.3 Cơ chế truyền sửa lỗi 24 3.3 MODULE HC-05 26 3.4 KẾT NỐI MODULE HC-05 VÀ ARDUINO 27 CHƯƠNG 4: SƠ LƯỢC VỀ ETHERNET VÀ MODULE ETHERNET SHIELD 28 4.1 SƠ LƯỢC VỀ ETHERNET 28 4.1.1 Khái niệm 28 4.1.2 Các thành phần cấu hình hệ thống mạng 29 4.1.3 Kiến trúc cấu trúc mạng 29 v 4.1.4 Phương thức CSMA/CD 30 4.1.5 Mạng Ethernet không dây: 31 4.1.6 Giao thức TCP/IP 33 4.2 MODULE ETHERNET SHIELD 35 4.2.1 Ethernet Shield 35 4.2.2 Chip W5100 36 4.3 KẾT NỐI MODULE ETHERNET SHIELD VÀ BOARD ARDUINO 38 CHƯƠNG 5: HỆ ĐIỀU HÀNH ANDROID 41 5.1 KHÁI QUÁT 41 5.2 KIẾN TRÚC NỀN TẢNG CỦA ANDROID 41 5.2.1 Hệ điều hành 42 5.2.2 Thư viện 42 5.2.3 Khung ứng dụng 45 5.2.4 Ứng dụng 46 5.3 THÀNH PHẦN CỦA ỨNG ANDROID 46 5.3.1 Hoạt động ( Activity) 47 5.3.2 Service 49 5.3.3 Bộ nhận quảng bá (Broadcast receivers) 51 5.3.4 Content Provider 51 5.3.5 Các thành phần kích hoạt (các Intent) 51 5.4 CÔNG CỤ ANDROID SDK 53 5.5 CƠNG CỤ HỖ TRỢ LẬP TRÌNH: APP INVENTOR 54 CHƯƠNG 6: GIẢI THUẬT VÀ KẾT QUẢ THỰC NGHIỆM 56 6.1 ỨNG DỤNG ĐIỀU KHIỂN TRÊN ANDROID 56 6.2 ĐIỀU KHIỂN THIẾT BỊ TỪ ỨNG DỤNG 58 6.2.1 Điều khiển qua SMS 59 6.2.2 Điều khiển qua Bluetooth 61 6.2.3 Điều khiển qua Ethernet 63 CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65 7.1 7.2 KẾT LUẬN 65 HƯỚNG PHÁT TRIỂN 65 TÀI LIỆU THAM KHÁO 66 vi DANH MỤC HÌNH VẼ Hình 1.1: Sơ đồ khối điều khiển qua SMS Hình 1.2: Sơ đồ khối điều khiển qua Bluetooth Hình 1.3: Sơ đồ khối điều khiển qua Ethernet Hình 2.1: Cấu trúc mạng GSM Hình 2.2: Module SIM900A Hình 2.3: Breakout SIM900 Hình 2.4: Board Arduino Uno 13 Hình 2.5: Vi điều khiển board Arduino 14 Hình 2.6: Sơ đồ chân vi điều khiển ATMEGA328P 15 Hình 2.7: Các cổng vào/ board Arduino Uno 17 Hình 2.8: Kết nối module SIM900A board Arduino 19 Hình 2.9: Tính hiệu truyền kí tự ‘A’ 21 Hình 2.10: Đầu nối DB9 22 Hình 3.1: Module Bluetooth HC-05 26 Hình 3.2: Kết nối module HC-05 Board Arduino 27 Hình 4.1: Liên kết điểm điểm 29 Hình 4.2: Kiểu liên kết đường trục, đường nhánh 30 Hình 4.3: Cấu trúc hình 30 Hình 4.4: Cổng truy nhập dịch vụ TCP 34 Hình 4.5: Module Ethernet Shield 35 Hình 4.6: Sơ đồ khối chip W5100 37 Hình 4.7: Sơ đồ chân W5100 38 Hình 4.8: Kết nối module Ethernet board Arduino 39 Hình 5.1: Nhân Linux Android 42 Hình 5.2: Thư viện lập trình ứng dụng Android 42 Hình 5.3: Khung ứng dụng Android 45 vii Hình 5.4: Các ứng dụng Android 46 Hình 5.5: Vịng đời hoạt động 48 Hình 5.6: Sơ đồ chuyển trạng thái Service .50 Hình 5.7: Trang chủ website http://appinventor.mit.edu 54 Hình 5.8: Phần tạo giao diện ứng dụng 55 Hình 5.9: Phần code ứng dụng 55 Hình 6.1: Ứng dụng cài đặt 56 Hình 6.2: Trang chủ ứng dụng 56 Hình 6.3: Điều khiển qua Bluetooth 57 Hình 6.4: Điều khiển qua SMS 57 Hình 6.5: Điều khiển qua Ethernet 57 Hình 6.6: Quản lí Mật 57 Hình 6.7: Trang giới thiệu vể ứng dụng 58 Hình 6.8: Kết nối thiết bị điều khiển qua SMS 60 Hình 6.9: Kết nối thiết bị điều khiển qua Bluetooth 62 Hình 6.10: Kết nối thiết bị điều khiển qua Ethernet 64 viii ĐỒ ÁN TỐT NGHIỆP 52 truyền tải yêu cầu cho hoạt động hiển thị ảnh cho người dùng hay cho phép người dùng sửa văn Với nhận quảng bá, đối tượng Intent gọi tên hành động thông báo Ví dụ, nhận quảng bá thơng báo phần quan tâm nút chụp ảnh bấm Có vài phương thức cho việc kích hoạt thành phần:  Một hoạt động khởi chạy thông qua đối tượng Intent Context.startActivity() hay Activity.startActivityForResult() Hoạt động đáp lại theo dõi intent tạo phương thức getIntent() cập nhật thơng qua phương thức setIntent(Intent) Android gọi phương thức onNewIntent() để bỏ qua intent đến trước  Một hoạt động thường bắt đầu hoạt động khác Nếu muốn trả lại kết hoạt động khởi chạy, gọi phương thức startActivityForResult() thay cho phương thức startActivity() Ví dụ, khởi chạy hoạt động mà cho phép người dùng lấy ảnh, muốn lấy kết ảnh chọn Kết trả đối tượng Intent thông qua phương thức onActivityResult()  Một dịch vụ bắt đầu thông qua đối tượng Intent Context.startService() Android gọi phương thức onStart() dịch vụ thông qua đối tượng Intent  Tương tự, intent thơng qua Context.bindService() để thiết lập kết nối liên tục thành phần dịch vụ đích Dịch vụ nhận đối tượng Intent qua lời gọi onBind() (nếu dịch vụ chưa chạy, bindService() chọn bắt đầu nó) Cho ví dụ, hoạt động thiết lập kết nối với dịch vụ chơi nhạc đề cập phần trước để cung cấp cho người dùng giao diện sử dụng để điều khiển chơi lại Hoạt động gọi bindService để thiết lập kết nối sau Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 53 gọi phương thức định nghĩa dịch vụ để áp dụng chơi lại ca khúc  Một ứng dụng khởi tạo quảng bá thông qua đối tượng Intent phương thức Context.setOrderedBroadcast() Context.setBroadcast(), Context.sendStickyBroadcast() Android chuyển intent tới tất nhận quảng bá quan tâm việc gọi phương thức onReceive() 5.4 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 tảng Android Thành phần quan trọng công cụ trình giả lập Android plug-in phát triển ứng dụng Android Eclipse ADT, bên cạnh SDK bao gồm cơng cụ khác cho việc gỡ rối, đóng gói cài đặt ứng dụng trình giả lập thiết bị  Trình giả lập Android: Thực chất chương trình mơ thiết bị di động ảo máy tính Chúng ta sử dụng giả lập để thiết kế gỡ rối kiểm tra ứng dụng thiết bị trước đưa chương trình vào thiết bị thật  Android Development Tools Plugin (cho Eclipse): viết tắt ADT, Plugin hỗ trợ cho việc tạo gỡ rối ứng dụng sử dụng mơi trường phát triển tích hợp Eclipse trở nên dễ dàng  Trình gỡ rối Dalvik Debug Monitor Service (DDMS): giúp quản lý tiến trình giả lập thiết bị trợ giúp việc gỡ rối ứng dụng Có thể sử dụng cơng cụ để hủy tiến trình, chọn tiến trình cụ thể để gỡ rối, sinh liệu truy vết, xem nhớ heap thông tin luồng, chụp ảnh hình trình giả lập  Android Debug Bridge (adb): Công cụ cho phép cài đặt tập tin apk giả lập thiết bị, đồng thời hỗ trợ truy cập hai đối tượng từ cửa sổ dòng lệnh Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 54  Android Asset Packaging Tool (aapt): Công cụ để tạo tập tin apk chứa mã nhị phân tài nguyên ứng dụng Android  Sqlite3: Đây công cụ để truy cập tập tin liệu SQLite tạo sử dụng ứng dụng Android  Dx: Đây công cụ biên dịch tập tin class thành mã bytecode chạy máy ảo Dalvik (lưu trữ dạng tập tin dex)  Mksdcard: Giúp tạo tập tin ảnh lưu trữ liệu mà ta sử dụng giả lập, để mơ có mặt thẻ nhớ (như thẻ SD)  Android Virtual Devices (AVD): Cho phép tạo cấu hình thiết bị ảo, mô đặc điểm giả lập Android Với cấu hình, ta xác định tảng cho chạy, tùy chỉnh phần cứng hay giao diện sử dụng Mỗi tùy chỉnh AVD thiết bị độc lập với liệu lưu trữ nó, thẻ nhớ SD, v.v… 5.5 Cơng cụ hỗ trợ lập trình: App Inventor App Inventor cơng cụ hỗ trợ lập trình ứng dụng Android website Chỉ cần truy cập vào trang chủ App Inventor (http://appinventor.mit.edu) tạo tài khoản ( nhấn vào Create) để bắt đầu sử dụng cơng cụ Hình 5.7: Trang chủ website http://appinventor.mit.edu Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 55 Với App Inventor, việc tạo nên ứng dụng Android đơn giản cho người bắt đầu làm quen với Android Các dòng code truyền thống chuyển sang dạng block giúp quản lí chương trình tốt đỡ bị rối, việc chỉnh sửa nhanh chóng Việc tạo chỉnh sửa giao diện cho ứng dụng đơn giản với đối tượng phân thành khối cụ thể Hình 5.8: Phần tạo giao diện ứng dụng Hình 5.9: Phần code cho ứng dụng Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 56 CHƯƠNG 6: GIẢI THUẬT VÀ KẾT QUẢ THỰC NGHIỆM 6.1 Ứng dụng Android Ứng dụng xây dựng App Inventor web, website appinventor.mit.edu Ứng dụng điều khiển Android sau hồn thành: ReMoCo Hình 6.1: Ứng dụng cài đặt Hình 6.2: Trang chủ ứng dụng Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 57 Hình 6.3: Điều khiển qua Bluetooth Hình 6.4: Điều khiển qua SMS Hình 6.5: Điều khiển qua Ethernet Hình 6.6: Quản lí Mật Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 58 Hình 6.7: Trang giới thiệu ứng dụng 6.2 Điều khiển thiết bị từ ứng dụng Để bắt đầu điều khiển thiết bị, cần phải nhập mật Nếu mật chức điều khiển cho phép Quy trình xử lí mật khẩu: Nhập Mật Kiểm tra Y N Bắt đầu trình điều khiển Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 59 6.2.1 Điều khiển qua SMS  Giải thuật xử lý Bắt đầu Nhận liệu? N Y Xử lý chuỗi liệu, tìm lệnh điều khiển N So sánh lệnh điều khiển Y Điều khiển khối Relay Gửi phản hồi sim Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 60  Kết nối thiết bị MODULE SIM900A RX 11 IN1 TX 10 IN2 IN3 IN4 V GND VCC ON GND GND ARDUINO KHỐI RELAY GND Hình 6.8: Kết nối thiết bị điều khiển qua SMS Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 61 6.2.2 Điều khiển qua Bluetooth  Giải thuật xử lí Bắt đầu Nhận liệu? N Y Xử lý chuỗi liệu, tìm lệnh điều khiển N Lệnh điều khiển đúng? Y Điều khiển khối Relay Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 62  Kết nối thiết bị RX MODULE BLUETOOTH TX ARDUINO VCC 3.3V GND GND IN1 IN2 IN3 IN4 V GND VCC KHỐI RELAY GND Hình 6.9: Kết nối thiết bị điều khiển qua Bluetooth Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 63 6.2.3 Điều khiển qua Ethernet  Giải thuật xử lí Bắt đầu Nhận liệu? N Y Xử lý chuỗi liệu, tìm lệnh điều khiển N Lệnh điều khiển đúng? Y Điều khiển khối Relay Gửi phản hồi điện thoại Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 64  Kết nối thiết bị MODULE ETHERNET 10 11 12 13 ARDUINO 3.3V GND IN1 IN2 IN3 IN4 5V VCC GND GND KHỐI RELAY Hình 6.10: Kết nối thiết bị điều khiển qua Ethernet Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 65 CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 7.1 Kết luận Đề tài “ Xây dựng hệ thống điều khiển từ xa Android” hoàn thành tiến độ nhà trường quy định, hoàn thành mục tiêu đặt Kết đạt được:  Hoàn thành ứng dụng điều khiển Andoird với giao diện đơn giản, trực quan, dễ sử dụng  Có thể điều khiển thiết bị từ thiết bị Android thông qua ba phương thức: tin nhắn SMS, Bluetooth Ethernet  Điều khiển qua Bluetooth: bật/ tắt thiết bị nhanh chóng xác, phản hồi lên trình điều khiển sau thực lệnh  Điều khiển qua tin nhắn SMS: điều khiển thiết bị dễ dàng, xác phản hồi cách gửi tin nhắn điện thoại điều khiển  Điều khiển qua Ethernet Internet: kết nối thiết bị Android board điều khiển Arduino qua mạng LAN truyền qua Internet, điều khiển thiết bị bật/ tắt dễ dàng, cập nhật trạng thái thiết bị thường xuyên 7.2 Hướng phát triển  Kết hợp thêm với IC cảm biến dòng để giám sát hoạt động thiết bị xác  Kết hợp với Camera để giám sát an ninh truyền hình ảnh trực tiếp thơng qua Internet Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính ĐỒ ÁN TỐT NGHIỆP 66 TÀI LIỆU THAM KHÁO Tài liệu Tiếng Việt [1] Tài liệu Tổng quan viễn thông – Học viện công nghệ bưu viễn thơng [2] Hướng dẫn test SIM900: http://at-sky.com.vn/nghien-cuu/gsm-gprs-gps/26- huong-dan-test-breakout-sim900.html#prettyPhoto [3] Tài liệu mạng Ethernet: http://doc.edu.vn/tai-lieu/mang-ethernet-59729/ [4] Học lập trình Arduino: http://arduino.vn/ [5] Tra cứu thuật ngữ: http://vi.wikipedia.org/ Tài liệu Tiếng Anh [6] Android Application Developement For Dummies – Donn Felker [7] Arduino Workshop – John Boxall [8] AT Commands Set (SIM 900) – SIM Com [9] ATmega48A/PA/88A/PA/168A/PA/328/P DATASHEET SUMMARY – Atmel [10] W5100 Datasheet (Version 1.2.5) – WIZnet [11] http://appinventor.mit.edu/explore/library.html [12] https://groups.google.com/forum/#!forum/mitappinventortest Xây dựng hệ thống điều khiển từ xa Adroid SVTH: Nguyễn Hữu Tính

Ngày đăng: 30/10/2022, 16:16

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan