Thiết kế hệ thống giao tiếp giữa điện thoại androi với arduino thông qua module bluetooth ,Thiết kế hệ thống giao tiếp giữa điện thoại androi với arduino thông qua module bluetooth ,Thiết kế hệ thống giao tiếp giữa điện thoại androi với arduino thông qua module bluetooth ,Thiết kế hệ thống giao tiếp giữa điện thoại androi với arduino thông qua module bluetooth
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
BỘ MÔN CÔNG NGHỆ Ô TÔ VÀ HỆ THỐNG CẢM BIẾN
BÁO CÁO KẾT THÚC MÔN HỌCTHIẾT KẾ HỆ VI XỬ LÝ NHÚNG
Đề tài: THIẾT KẾ HỆ THỐNG GIAO TIẾP GIỮA ĐIỆN THOẠI
ANDROID VỚI ARDUINO THÔNG QUA BLUETOOTH
Sinh viên thực hiện: Phạm Thế Duyệt Phạm Ngọc Hùng
Vũ Văn Linh
Hoàng Văn Nam
Lê Văn Thanh
Lớp : KTĐ-ĐT K12B
THÁI NGUYÊN 12/ 2016
Trang 2LỜI CẢM ƠN
Trước tiên em xin được gửi lời cảm ơn tới Thầy Phạm Quốc Thịnh đã tạo điều kiện cho nhóm em làm đề tài này Sau thời tìm hiểu và nghiên cứu đề tài nhóm em đến nay cơ bản đã hoàn thành Có được thành quả đó, ngoài sự cố gắng nỗ lực của cả nhóm còn phải kể đến sự giúp đỡ rất lớn từ thầy giáo Phạm Quốc Thịnh người đã trực tiếp hướng dẫn, chỉ bảo tận tình và cung cấp tài liệu, kiến thức cũng như kinh nghiệm quý báu cho nhóm em trong suốt thời gian làm đề tài Qua đây em xin được bày tỏ
lòng biết ơn sâu sắc, kính chúc thầy luôn mạnh khoẻ và công tác tốt
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
MỤC LỤC 2
DANH MỤC HÌNH ẢNH 3
CHƯƠNG 1 GIỚI THIỆU 4
1.1 Tổng quan về đề tài 4
1.1.1 Giới thiệu 4
1.1.2 Mục tiêu 4
1.1.3 Ý nghĩa thực tiễn 4
1.2 Công nghệ blutelooth và module bluetooth 4
1.2.1 Công nghệ bluetooth 4
1.2.2 Module Bluetooth HC05 7
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 9
2.1 Phân tích hệ thống 9
2.1.1 Phương pháp nghiên cứu 9
2.1.2 Phân tích yêu cầu 9
2.2 Thiết kế hệ thống 11
2.2.1 Mô tả hệ thống 11
2.2.2 Thiết kế phần cứng 11
2.2.3 Thết kế phần mềm 14
CHƯƠNG 3 KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 18
3.1 Kết quả thu được 18
3.2 Kiểm nghiệm hoặt động của hệ thống 19
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 21
TÀI LIỆU THAM KHẢO 22
PHỤC LỤC 23
Trang 4DANH MỤC HÌNH ẢN
Hình 1.1 Ứng dụng của công nghệ Bluetooth 7Y
Hình 2.1 Hình ảnh thực tế module bluetooth HC-05 10
Hình 2.2 Mô tả hệ thống 11
Hình 2.3 Sơ đồ khối của hệ thống 12
Hình 2.4 Hình ảnh nguyên lý 13
Hình 2.5 Lưu đồ thuật toán của phần mềm điều khiển trên điện thoại 14
Hình 2.6 Lưu đồ thuật toán của mạch điều khiển 15
Hình 2.7 Hình ảnh trên giao diện app inventor 1 16
Hình 2.8 Hình ảnh giao diện app inventor 2 16
Hình 2.9 Hình ảnh sau khi hoàn thành giao diện 1 Hình 3.1 Mạch phần cứng sau khi hoàn thành 18
Hình 3.2 Phần mềm điều khiển thiết bị trên điện thoại android 1 Hình 4.1 Các khối lệnh appinventor viết cho chương trình điện thoại trên 25
Hình 4.2 Hình ảnh mạch in 26
Trang 5CHƯƠNG 1 GIỚI THIỆU1.1 Tổng quan về đề tài
1.1.1 Giới thiệu
Hiện nay điện thoại thông minh ngày càng phổ biến, hệ điều hành Android đượcxây dựng và phát triển liên tục với các chia sẻ về mã nguồn mở, việc sử dụngSmartPhone để điều khiển, giám sát thiết bị đang là một xu hướng Chúng em quyếtđịnh thực hiện đề tài: “Thiết kế hệ thống giao tiếp giữa điện thoại android với arduinothông qua bluetooth”
Chúng em nghiên cứu về hệ điều hành Android, cách thức giao tiếp, điều khiển
và thu thập dữ liệu từ các thiết bị qua Bluetooth Từ đó chúng em đi xây dựng phầnmềm điều khiển chạy trên điện thoại Android Chúng em cũng thiết kế một phần cứng
là một bộ điều khiển có thể điều khiển thiết bị điện 220VAC khác nhau Kết quả của
đề tài là một hệ thống hoàn thiện gồm phần mềm và phần cứng có thể sử dụng trongcác hộ gia đình, các phòng nghiên cứu, nhà thông minh
1.1.2 Mục tiêu
Mục tiêu của đề tài trước hết là làm quen với việc điều khiển thiết bị từ xa cơ bản
là giao tiếp giữa điện thoại android với Arduino thông qua Bluetooth, từ đó có thế cảitiến xây dựng các hệ thống điều khiển phức tạp hơn bằng cách thức khác
1.1.3 Ý nghĩa thực tiễn
Giúp nhóm em làm quen với lĩnh vục điều khiển thiết bị từ xa làm quen vớiBluetooth, đồng thời có thể góp những thành quả nghiên cứu của đề tài này để tạo nềntảng cho sự phát triển sâu hơn
1.2 Công nghệ blutelooth và module bluetooth
1.2.1 Công nghệ bluetooth
1.2.1.1 Khái niệm
Bluetooth là một đặc tả công nghiệp cho truyền thông không dây tầm gần giữa cácthiết bị điện tử Công nghệ này hỗ trợ việc truyền dữ liệu qua các khoảng cách ngắn
Trang 6giữa các thiết bị di động và cố định, tạo nên các mạng cá nhân không dây (WirelessPersonal Area Network-PANs).
Công nghệ Bluetooth là một công nghệ dựa trên tần số vô tuyến và bất cứ mộtthiết bị nào có tích hợp bên trong công nghệ này đều có thể truyền thông với các thiết
bị khác với một khoảng cách nhất định về cự ly để đảm bảo công suất cho việc phát vànhận sóng Công nghệ này thường được sử dụng để truyền thông giữa hai loại thiết bịkhác nhau Ví dụ: Bạn có thể hoạt động trên máy tính với một bàn phím không dây, sửdụng bộ tai nghe không dây để nói chuyện trên điện thoại di động của bạn hoặc bổsung thêm một cuộc hẹn vào lịch biểu PDA của một người bạn từ PDA của bạn
Bluetooth có thể đạt được tốc độ truyền dữ liệu 1Mb/s Bluetooth hỗ trợ tốc độtruyền tải dữ liệu lên tới 720 Kbps trong phạm vi 10 m–100 m Khác với kết nối hồng
ngoại (IrDA), kết nối Bluetooth là vô hướng và sử dụng giải tần 2,4 GHz
1.2.1.2 Lịch sử phát triển
Bluetooth được phát triển đầu tiên bởi Ericsson (hiện nay là Sony Ericsson vàEricsson Mobile Platforms), và sau đó được chuẩn hoá bởi Bluetooth Special InterestGroup (SIG) Chuẩn được phát hành vào ngày 20 tháng 5 năm 1999 Ngày nay đượccông nhận bởi hơn 1800 công ty trên toàn thế giới Được thành lập đầu tiên bởi SonyEricsson, IBM, Intel, Toshiba và Nokia, sau đó cùng có sự tham gia của nhiều công tykhác với tư cách cộng tác hay hỗ trợ Bluetooth có chuẩn là IEEE 802.15.1
1.2.1.3 Ưu nhược điểm
Ưu điểm:
- Tiêu thụ năng lượng thấp
- Cho phép ứng dụng được nhiều loại thiết bị bao gồm các thiết bị cầm tay và điệnthoại di động
- Giá thành ngày một giảm
- Khoảng cách giao tiếp cho phép giữa hai thiết bị kết nối có thể lên đến 100m
- Bluetooth sử dụng băng tần 2.4GHz, tốc độ truyền dữ liệu có thể đạt tới mức tới đa1Mbps mà các thiết bị không cần phải trực tiếp thấy nhau
- Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một ứng dụng này với mộtứng dụng khác thông qua chuẩn Bluetooth, do đó có thể độc lập về phần cứng cũngnhư hệ điều hành sử dụng
Trang 7- Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phần mềm hỗtrợ.
Nhược điểm:
- Khoảng cách kết nối còn ngắn
- Số lượng kết nối còn hạn chế
- Tốc độ truyền của Bluetooth không cao
- Bị nhiễu bởi một số thiết bị sử dụng sóng radio khác
b Ứng dụng
Bluetooth cho phép kết nối và trao đổi thông tin giữa các thiết bị như điện thoại
di động, điện thoại cố định, máy tính xách tay, PC, máy in, thiết bị định vị dùngGPS, máy ảnh số, và video game console
Các ứng dụng nổi bật của Bluetooth gồm:
Điều khiển và giao tiếp không dây giữa một điện thoại di động và tainghe không dây
Mạng không dây giữa các máy tính cá nhân trong một không gian hẹp đòi hỏi ítbăng thông
Giao tiếp không dây với các thiết bị vào ra của máy tính, chẳng hạnnhư chuột, bàn phím và máy in
Truyền dữ liệu giữa các thiết bị dùng giao thức OBEX
Trang 8 Thay thế các giao tiếp nối tiếp dùng dây truyền thống giữa các thiết bị đo, thiết
bị định vị dùng GPS, thiết bị y tế, máy quét mã vạch, và các thiết bị điều khiểngiao thông
Thay thế các điều khiển dùng tia hồng ngoại
Gửi các mẩu quảng cáo nhỏ từ các pa-nô quảng cáo tới các thiết bị dùngBluetooth khác
Điều khiển từ xa cho các thiết bị trò chơi điện tử như Wii - Máy chơi trò chơiđiện tử thế hệ 7 của Nintendo[1] và PlayStation 3 của Sony
Kết nối Internet cho PC hoặc PDA bằng cách dùng điện thoại di độngthay modem
Hình 1 1 Ứng dụng của công nghệ Bluetooth
module sau đó pair với mã PIN là 1234 Sau khi pair thành công, bạn đã có 1 cổngserial từ xa hoạt động ở baud rate 9600
Trang 9Chế độ MASTER: module sẽ tự động dò tìm thiết bị bluetooth khác (1 modulebluetooth HC-06, usb bluetooth, bluetooth của laptop ) và tiến hành pair chủ động màkhông cần thiết lập gì từ máy tính hoặc smartphone.
+ Tập lệnh AT:
AT: Lệnh test, nó sẽ trả về OK nếu module đã hoạt động ở Command Mode
AT+VERSION: trả về firmware hiện tại của module
AT+UART=9600, 0, 0 (thiết lập baudrate 9600, 1 bit stop, no parity)
1.2.2.2 Các lệnh ở chế độ Master
AT+RMAAD: ngắt kết nối với các thiết bị đã ghép
AT+ROLE=1: đặt là module ở master
AT+RESET: reset lại thiết bị
AT+CMODE=0: Cho phép kết nối với bất kì địa chỉ nào
AT+INQM=0,5,5: Dừng tìm kiếm thiết bị khi đã tìm được 5 thiết bị hoặc sau 5s
AT+PSWD=1234 Set Pin cho thiết bị
AT+INQ: Bắt đầu tìm kiếm thiết bị để ghép nối
AT+PAIR=<address>, <timeout>: Đặt timeout(s) khi kết nối với 1 địa chỉ slave
AT+LINK=<address> Kết nối với slave
1.2.2.3 Các lệnh ở chế độ Slave
AT+ORGL: Reset lại cài đặt mặc định
AT+RMAAD: Xóa mọi thiết bị đã ghép nối
AT+ROLE=0: Đặt là chế độ SLAVE
AT+ADDR: Hiển thị địa chỉ của SLAVE
Trang 10CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 Phân tích hệ thống
2.1.1 Phương pháp nghiên cứu
- Tham khảo tài liệu: các đề tài liên quan, tìm kiếm thông tin trên Internet
- Tự thiết kế phần cứng và viết phần mềm điều khiển theo các yêu cầu đặt ra (dựavào nhu cầu sử dụng các thiết bị điện thông thường của một hộ gia đình bìnhthường)
- Kiểm tra phần cứng và phần mềm sau đó điều chỉnh các thông số cho phù hợpvới điều kiện thực tế
2.1.2 Phân tích yêu cầu
2.1.2.1 Ứng dụng BlueControl trên điện thoại
- Tìm kiếm, cập nhật các bộ điều khiển nằm trong phạm vi tìm kiếm của thiết bị
sử dụng hệ điều Andorid ngay khi mở ứng dụng
- Có chế độ bảo mật khi muốn kết nối với bộ điều khiển
- Giao diện đẹp, bắt mắt, trực quan và thân thiện với người dùng đồng thời hỗ trợ
Tiếng Việt [4]
2.1.2.2 Bộ điều khiển
- Thiết kế nhỏ gọn, thẩm mỹ
- Giao tiếp với ứng dụng trên thoại qua Bluetooth (truyền nhận dữ liệu)
- Điều khiển ngõ ra bằng nút nhấn trên bộ điều khiển hoặc bằng ứng dụng trênđiện thoại
- Ngõ ra nối với các thiết bị cần điều khiển có điện áp 220VAC, công suất tối đa1000W
2.1.2.3 Ngõ ra
Dùng điện áp 220VAC để cung cấp cho thiết bị Để điều khiển thiết bị có nhiềuphương án thực hiện như relay, Solid State Relay, MOC + Triac, …, tuy nhiên 2phương án được sử dụng nhiều nhất hiện nay là dùng relay và MOC + Triac Trongmạch em sử dụng relay vì có các ưu điểm như: giá thành rẻ, không phát sinh tia lửađiện, không cần nguồn nuôi riêng, tốc độ đáp ứng nhanh, tuổi thọ lớn
Trang 112.1.2.4 Khối module Bluetooth
Trên thị trường hiện nay có khá nhiều module Bluetooth hỗ trợ vi điều khiểugiao tiếp với thiết bị khác thông qua kết nối Bluetooth, một số module Bluetooththường được sử dụng trong thực tế như: module Bluetooth HC-05, module BluetoothHC-06, Bluetooth Smart Module, CC2560-PAN1315 (Bluetooth v2.1 + EDRTransceiver Texas Isntruments), WT11i Bluetooth Class 1 Module,… Tuy nhiên,module Bluetooth HC-05 là lựa chọn tối ưu cho đè tài vì: giá thành rẻ hơn so với cácModule khác, tốc độ hoạt động phù hợp với truyền dữ liệu điều khiển thiết bị, đượcnhiều người sử dụng và đánh giá là rất ổn định [1]
Hình 2.1 Hình ảnh thực tế module bluetooth HC-05
Thông số kỹ thuật:
Điện thế hoạt động của UART 3.3 - 5V
Dòng điện khi hoạt động: khi Pairing 30 mA, sau khi pairing hoạt động truyềnnhận bình thường 8 mA
Baudrate UART có thể chọn được: 1200, 2400, 4800, 9600, 19200, 38400,
Trang 122.2 Thiết kế hệ thống
2.2.1 Mô tả hệ thống
Hệ thống điều khiển gồm bộ điều khiển với ngõ ra công suất và ứng dụngBlueControl trên điện thoại thông minh nền tảng Android Ứng dụng BlueControl sẽkết nối với bộ điều khiển thông qua Bluetooth để điều khiển thiết bị
Trang 132.2.2.2 Sơ đồ khối của hệ thống
Hình 2.3 Sơ đồ khối của hệ thống
Sơ đồ khối của hệ thống gồm:
Khối nguồn: cấp nguồn cho khối điều khiển trung tâm, khối nút nhấn, khối bluetooth, cảm biến nhiệt độ, khối relay và đèn
Khối điều khiển trung tâm: đọc giá trị của cảm biến nhiệt độ sau đó xử lý và gửilên điện thoại Đồng thời đọc giá trị mức từ nút nhấn và nhận dữ liệu từ điện thoại để bật đèn
Khối bluetooth: nhận tín hiệu từ điện thoại, truyền giá trị nhiệt độ lên điện thoại
Khối cảm biến: Đo giá trị nhiệt độ (bẳng cảm biến LM35)
Khối nút nhấn: Thực hiện bật tắt thiết bị
Trang 142.2.2.3 Sơ đồ nguyên lý
Hình 2.4 Hình ảnh nguyên lýTham khảo thêm phần mạch in ở phần phụ lục [3]
Trang 16Hình 2.6 Lưu đồ thuật toán của mạch điều khiển
2.2.3.2 Thiết kế giao diện điện thoại:
- App Inventor là một ứng dụng trên nền web giúp bạn có thể tạo ứng dụng Android Ban đầu được cung cấp bởi Google, hiện tại được duy trì bởi Viện Công nghệ Massachusetts (MIT) [3]
- Sử dụng các khối câu lệnh kéo thả để lập trình cho các đối tượng
Trang 17Hình 2.7 Hình ảnh trên giao diện app inventor 1
+ Cột thứ nhất là các đối tượng mà bạn sẽ chọn để đưa vào ứng dụng của bạn Nhiệm
vụ các bạn là lựa chọn đối tượng phù hợp rồi kéo sang vùng số 2
+ Cột thứ 2 là cột hiển thị trực quan, là nơi tiếp nhận đối tượng từ mục 1
+ Cột thứ 3 chứa danh sách những đối tượng mà bạn đã dùng
+ Cột thứ 4 là mục thuộc tính của từng đối tượng
Để lập trình tính năng cho các đối tượng các bạn chuyển qua thẻ block nó có giao diện như sau:
Hình 2.8 Hình ảnh giao diện app inventor 2
Trang 18- Sau khi hoàn thành viết xong phần mềm điều khiển trên điện thoại ta có được giao diện sau:
Hình 2.9 Hình ảnh sau khi hoàn thành giao diện
- Tham khảo các khối lệnh app inventor viết cho phần mềm trên điện thoại và code cho mạch điều khiển ở phần phụ lục [2], [1]
Trang 19
CHƯƠNG 3 KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ 3.1 Kết quả thu được
Hình 3 1 Mạch phần cứng sau khi hoàn thành
Trang 20Hình 3.2 Phần mềm điều khiển thiết bị trên điện thoại android
3.2 Kiểm nghiệm hoặt động của hệ thống
a Bộ điều khiển.
Ưu điểm:
Kích thước nhỏ gọn, trọng lượng nhẹ;
Ngõ ra để kết nối với thiết bị, rất an toàn cho người sử dụng;
Sau thời gian chạy thử, bộ điều khiển hoạt động khá tốt
Khuyết điểm
Do chất lượng linh kiện không đảm bảo đúng thông số trong Datasheet nên
có một số lỗi nhỏ như thời gian chưa hoạt động chính xác
Sản phẩm chưa được thử nghiệm với thời gian dài trong nhiều môi trường
khác nhau nên chưa đánh giá chính xác được độ ổn định
Trang 21b Phần mềm điều khiển trên điện thoại Androi.
Ưu điểm
Dung lượng nhỏ, dễ dàng cài đặt trên các điện thoài chạy hệ điều hànhAndroid
Giao diện điều khiển ứng dụng khá đơn giản
Phần mềm ứng dụng viết trên điện thoại Android hoạt động tốt, và ổn định
Khuyết điểm
Ứng dụng đôi khi vẫn còn bị treo
Trang 22KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1 Trong quá trình thực hiện đề tà nhóm em đã thu được kết quả sau: hiểu được
công nghệ Bluetooth xây dựng thành công hệ thống điều khiển các thiết bị sử dụngđiện thoại Android thông qua module Bluetooth hoạt động hiệu quả Hệ thống có thể
dễ dàng điều khiển bằng tay hoặc bằng phần mềm
2 Định hướng phát triển của đề tài: do hạn chế về thời gian thực hiện nên đề tài
thực hiện chỉ đáp ứng được một phần nhỏ của hệ thống do đó để đề tài được ứng dụngnhiều hơn trong thực tế thì đề tài cần thêm những yêu cầu sau: bộ điều khiển sẽ tíchhợp được nhiều thiết bị như cảm biến nồng độ, độ ẩm, pH và phản hồi được các
sự cố về thiết bị cầm tay, phục vụ các ứng dụng trong đời sống Hy vọng vớihướng phát triển trên sẽ sớm được ứng dụng