Tải bản đầy đủ (.docx) (125 trang)

ỨNG DỤNG RASPBERRY PI TRONG VIỆC THIẾT KẾ CHẾ TẠO BỘ ĐÓNG NGẮT THIẾT BỊ ĐIỆN ĐƯỢC ĐIỀU KHIỂN TỪ XA QUA THIẾT BỊ ANDROID TRONG MÔI TRƯỜNG INTERNET

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.61 MB, 125 trang )

TRƯỜNG ĐẠI HỌC TIỀN GIANG

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

ỨNG DỤNG RASPBERRY PI TRONG VIỆC
THIẾT KẾ CHẾ TẠO BỘ ĐÓNG NGẮT THIẾT BỊ ĐIỆN
ĐƯỢC ĐIỀU KHIỂN TỪ XA QUA THIẾT BỊ ANDROID
TRONG MÔI TRƯỜNG INTERNET

Thuộc nhóm ngành khoa học: Kỹ thuật và Công nghệ

Tiền Giang, tháng 06 năm 2015


TRƯỜNG ĐẠI HỌC TIỀN GIANG

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

ỨNG DỤNG RASPBERRY PI TRONG VIỆC
THIẾT KẾ CHẾ TẠO BỘ ĐÓNG NGẮT THIẾT BỊ ĐIỆN
ĐƯỢC ĐIỀU KHIỂN TỪ XA QUA THIẾT BỊ ANDROID
TRONG MÔI TRƯỜNG INTERNET
Thuộc nhóm ngành khoa học: Kỹ thuật và Công nghệ

Sinh viên thực hiện: TRẦN THANH TÒNG
Nam, Nữ: Nam
Dân tộc: Kinh
Lớp: CĐ CNKT Đ-ĐT 12A Khoa: KTCN Năm thứ: 3 Số năm đào tạo: 3
Ngành học: CNKT Điện-Điện tử


Người hướng dẫn: Ths. HOÀNG HỮU DUY

Tiền Giang, tháng 06 năm 2015


LỜI CẢM ƠN
Em xin chân thành cảm ơn quý thầy cô Trường ĐH Tiền Giang nói chung và các
thầy cô trong Khoa Kỹ Thuật Công Nghiệp nói riêng đã dạy bảo, tận tình truyền đạt kiến
thức cho em trong suốt quá trình học. Đặc biệt là thầy Hoàng Hữu Duy đã tận tình chỉ dẫn
cho em trong quá trình làm và hoàn thành đề tài này.
Đồng cảm ơn Ban giám hiệu nhà trường đã tạo điều kiện cho em học tập và trau dồi
kiến thức. Xin cảm ơn các bạn cùng lớp đã có ý kiến đóng góp trong quá trình tìm hiểu và
làm đề tài.
Do thời gian và trình độ có hạn nên đề tài không tránh khỏi những thiếu sót, mong
nhận được ý kiến đóng góp của quý thầy cô và các bạn để đề tài được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Sinh viên

Trần Thanh Tòng


MỤC LỤC
MỤC LỤC....................................................................................................................i
DANH MỤC HÌNH ẢNH...........................................................................................v
DANH MỤC BẢNG BIỂU........................................................................................vi
A. MỞ ĐẦU................................................................................................................1
1. Tổng quan tình hình nghiên cứu...................................................................................2
2. Lý do chọn đề tài..........................................................................................................2
3. Mục tiêu đề tài..............................................................................................................2
4. Phương pháp nghiên cứu..............................................................................................3

4. Khách thể nghiên cứu...................................................................................................3
5. Đối tượng và phạm vi nghiên cứu.................................................................................3
6. Giả thuyết nghiên cứu...................................................................................................3

B. NỘI DUNG.............................................................................................................4
CHƯƠNG 1. TỔNG QUAN CÁC HÌNH THỨC ĐIỀU KHIỂN XA..............................5
1.1. Điều khiển từ xa bằng tia hồng ngoại....................................................................5
1.1.1. Khái niệm.......................................................................................................5
1.1.2. Ứng dụng........................................................................................................5
1.2. Điều khiển từ xa bằng sóng vô tuyến.....................................................................5
1.2.1. Khái niệm.......................................................................................................5
1.2.2. Ứng dụng........................................................................................................5
1.3. Điều khiển từ xa bằng Bluetooth...........................................................................6
1.3.1. Khái niệm.......................................................................................................6
1.3.2. Ứng dụng........................................................................................................6
1.4. Điều khiển xa bằng Internet...................................................................................6
1.4.1. Khái niệm Internet..........................................................................................6
1.4.2. Lịch sử phát triển............................................................................................6
1.4.3. Kết nối qua quay số........................................................................................7
--


1.4.4. Kết nối qua ADSL..........................................................................................7
1.4.5. Địa chỉ IP........................................................................................................8
1.4.6. Tên miền.........................................................................................................8
1.4.7. ISP.................................................................................................................. 8
1.4.8. World Wide Web.............................................................................................9
1.4.9. HTML............................................................................................................. 9
1.4.10. Ứng dụng của Internet................................................................................10
CHƯƠNG 2. THIẾT KẾ VÀ LẬP TRÌNH GIAO DIỆN ĐIỀU KHIỂN CHO THIẾT

BỊ ANDROID................................................................................................................. 11
2.1. Tổng quan về phần mềm lập trình ứng dụng Android..........................................11
2.1.1. Lịch sử phát triển Eclipse.............................................................................11
2.1.2. Các bước tạo môi trường lập trình Android..................................................11
2.1.3. Android Virtual Device (AVD).....................................................................12
2.2. Cấu trúc bên trong của một ứng dụng..................................................................12
2.2.1. Tập tin Activity_main.xml............................................................................13
2.2.2. Tập tin MainActivity.java.............................................................................14
2.2.3. Thư mục Package Explorer...........................................................................15
2.3. Các đối tượng cơ bản trong ứng dụng..................................................................16
2.3.1. Layout........................................................................................................... 16
2.3.2. TextView.......................................................................................................18
2.3.3. EditText........................................................................................................19
2.3.4. Button...........................................................................................................19
2.4. Các thành phần cơ bản và vòng đời của một ứng dụng.......................................19
2.4.1. Applications..................................................................................................19
2.4.2. Activity.........................................................................................................19
2.4.3. Vòng đời của một ứng dụng.........................................................................19
2.5. Các hàm và các lệnh cơ bản trong Java Android.................................................21
2.6. Thiết kế giao diện điều khiển...............................................................................22
2.6.1. Khai báo giao diện........................................................................................22
2.6.2. Canh chỉnh giao diện người dùng.................................................................22
2.7. Gửi dữ liệu lên WebServer..................................................................................23
2.7.1. Phương thức gửi...........................................................................................23
--


2.7.2. Quy ước dữ liệu gửi......................................................................................24
2.7.3. Thuật toán mã hóa dữ liệu gửi......................................................................25
2.7.4. Thuật toán gửi dữ liệu...................................................................................25

2.7.5. Tiến trình gửi dữ liệu....................................................................................26
2.8. Nhận dữ liệu từ WebServer..................................................................................27
2.8.1. Phương thức nhận.........................................................................................27
2.8.2. Quy ước dữ liệu nhận...................................................................................27
2.8.3. Thuật toán giải mã dữ liệu nhận....................................................................27
2.8.4. Thuật toán nhận dữ liệu................................................................................29
2.8.5. Tiến trình nhận dữ liệu..................................................................................29
2.9. Đồng bộ dữ liệu...................................................................................................30
2.9.1. Phương thức đồng bộ....................................................................................30
2.9.2. Thuật toán đồng bộ.......................................................................................30
2.10. Đọc dữ liệu theo chu kỳ.....................................................................................31
2.10.1. Khai báo Timer...........................................................................................31
2.10.2. Giải thuật đọc dữ liệu theo chu kì...............................................................32
2.11. Khởi động ứng dụng..........................................................................................32
2.11.1. Hàm onCreate()..........................................................................................32
2.11.2. Hàm onResume()........................................................................................34
2.11.3. Hàm onPause()............................................................................................35
2.12. Hiển thị thông báo.............................................................................................36
CHƯƠNG 3 THIẾT KẾ VÀ LẬP TRÌNH WEBSERVER............................................39
3.1. Tổng quan về WebServer.....................................................................................39
3.1.1. Các đối tượng gửi nhận dữ liệu của WebServer............................................39
3.1.2. Các đối tượng lưu trữ trên WebServer..........................................................39
3.1.3. Cấu trúc dữ liệu của bản tin HTML..............................................................40
3.2. Lập trình WebServer............................................................................................40
3.2.1. Các hàm xử lý chuỗi.....................................................................................40
3.2.2. Lệnh rẽ nhánh...............................................................................................40
3.3. Xây dựng WebServer truyền nhận dữ liệu...........................................................41
3.3.1. Tổng quan quá trình gửi nhận dữ liệu...........................................................41
3.3.2. Giải mã và ghi nhận dữ liệu..........................................................................42
--



3.3.4. Truy xuất dữ liệu..........................................................................................44
3.3.5. Thuật toán gửi/nhận dữ liệu từ Board Raspberry..........................................45
3.3.6. Thuật toán gửi/nhận dữ liệu từ thiết bị Android............................................47
CHƯƠNG 4. LẬP TRÌNH VÀ XÂY DỰNG PHẦN CỨNG CHO BOARD MẠCH
RASPBERRY PI............................................................................................................. 48
4.1. Kết cấu cổng GPIO của Raspberry Pi..................................................................48
4.2. Các lệnh cơ bản trong Linux Shell......................................................................49
4.2.1. Cấu trúc thư mục..........................................................................................49
4.2.2. Tập lệnh cơ bản............................................................................................50
4.3. Hệ điều hành trên board mạch Raspberry Pi........................................................51
4.3.1. Giao diện người dùng...................................................................................51
4.3.2. Quản lý tập tin..............................................................................................51
4.3.3. LxTerminal...................................................................................................52
4.4. Ngôn ngữ lập trình Python..................................................................................53
4.4.1. Cấu trúc chương trình Python.......................................................................53
4.4.2. Biến và kiểu dữ liệu......................................................................................54
4.4.3. Cấu trúc rẽ nhánh và vòng lặp......................................................................55
4.4.4. Xây dựng hàm..............................................................................................56
4.5. Tổng quan về PyQt4............................................................................................56
4.5.1. Đối tượng Push Button.................................................................................56
4.5.2. Đối tượng Radio Button...............................................................................56
4.5.3. Đối tượng Label............................................................................................57
4.5.4. Đối tượng Frame...........................................................................................57
4.5.5. Tạo sự kiện cho các đối tượng......................................................................58
4.5.6. Biên dịch mã nguồn Python..........................................................................58
4.5.7. Xử lý sự kiện người dùng trên giao diện.......................................................59
4.5.8. Thay đổi thuộc tính các đối tượng giao diện.................................................60
4.6. Xây dựng chương trình điều khiển đóng ngắt......................................................60

4.6.1. Xây dựng giao diện điều khiển.....................................................................60
4.6.2. Thiết lập thuộc tính các đối tượng trong giao diện........................................61
4.6.3. Giải thuật điều khiển đóng ngắt....................................................................62
4.6.4. Khai báo biến quản lý trạng thái toàn cục.....................................................63
--


4.6.5. Khai báo thông số cố định............................................................................64
4.6.6. Khai báo ngõ vào ngõ ra trên GPIO..............................................................65
4.6.7. Khai báo biến quản lý cài đặt........................................................................65
4.6.8. Đa tiến trình..................................................................................................66
4.7. Đồng bộ dữ liệu giữa board mạch và WebServer.................................................66
4.7.1. Quy ước mã và giãi mã.................................................................................66
4.7.2. Mở file và đóng file......................................................................................66
4.7.3. Thư viện URL trong Python.........................................................................67
4.8. Gửi dữ liệu lên Web Server.................................................................................68
4.9. Chế độ điều khiển bằng tay.................................................................................68
4.9.1. Thư viện GPIO.............................................................................................68
4.9.2. Thuật toán thực hiện.....................................................................................69
4.10. Phát triển Module công suất..............................................................................70
4.10.1. Điện áp và dòng điện ngõ ra GPIO.............................................................70
4.10.2. Sơ đồ khối mạch công suất.........................................................................71
4.10.3. Khối ổn áp nguồn.......................................................................................72
4.10.4. Khối tăng dòng...........................................................................................73
4.10.5. Khối giao tiếp người dùng..........................................................................73
4.10.6. Khối đóng ngắt công suất...........................................................................74
4.10.7. Các cổng giao tiếp mạch công suất.............................................................75
4.10.8. Sơ đồ mạch công suất.................................................................................75
CHƯƠNG 5. THỰC NGHIỆM VÀ KẾT QUẢ.............................................................76
5.1. Chế tạo phần cứng...............................................................................................76

5.2. Thiết lập chương trình điều khiển........................................................................77
5.2.1. Đăng ký máy chủ..........................................................................................77
5.2.2. Cập nhật dữ liệu cho máy chủ.......................................................................78
5.2.3. Các thiết lập trên chương trình quản lý.........................................................78
5.2.4. Cài đặt ứng dụng lên thiết bị Android...........................................................79
5.3 Kết quả thực nghiệm và đánh giá.........................................................................79
5.3.1. Kết quả thực nghiệm.....................................................................................79
5.3.2. Đánh giá.......................................................................................................80

C. KẾT LUẬN VÀ KHUYẾN NGHỊ.......................................................................81
--


1. Kết luận...................................................................................................................... 82
2. Khuyến nghị...............................................................................................................82

TÀI LIỆU THAM KHẢO.........................................................................................83

--


DANH MỤC HÌNH ẢNH

Hình 1.1. Kết nối quay số qua mạng điện thoại..................................................................7
Hình 1.2. Kết nối qua ADSL...............................................................................................8
Hình 1.3. Mô hình hoạt động của một dịch vụ Web............................................................9
Hình 2.1. Giao diện máy ảo sau khi khởi động.................................................................12
Hình 2.2. Cấu trúc của một ứng dụng...............................................................................13
Hình 2.3. Phần Graphical Layout......................................................................................14
Hình 2.4. Phần MainActivity dùng để lập trình cho ứng dụng..........................................14

Hình 2.5. Phần Package Explorer.....................................................................................15
Hình 2.6. Cấu trúc bên trong của AndroidManifest.xml...................................................16
Hình 2.7. Ví dụ FrameLayout...........................................................................................17
Hình 2.8. Ví dụ LinearLayout...........................................................................................17
Hình 2.9. Ví dụ RelativeLayout........................................................................................18
Hình 2.10. Vòng đời của một ứng dụng............................................................................20
Hình 2.11. Hiển thị trạng thái điều khiển thiết bị..............................................................22
Hình 2.12. Giao diện người dùng ở 2 trạng thái đóng và mở............................................23
Hình 2.13. Thuật toán mã hóa dữ liệu gửi.........................................................................25
Hình 2.14. Giải thuật gửi dữ liệu lên WebServer..............................................................26
Hình 2.15. Tiến trình gửi dữ liệu.......................................................................................27
Hình 2.16. Thuật toán giải mã dữ liệu trạng thái...............................................................28
Hình 2.17. Thuật toán giải mã dữ liệu thiết bị 1................................................................28
Hình 2.18. Giải thuật nhận dữ liệu từ WebServer.............................................................29
Hình 2.19. Tiến trình nhận dữ liệu....................................................................................30
Hình 2.20. Thuật toán đồng bộ dữ liệu..............................................................................31
Hình 2.21. Thuật toán thực thi hàm đọc dữ liệu theo chu kỳ............................................32
Hình 2.22. Thuật toán khởi chạy onCreate().....................................................................33
Hình 2.23. Thuật toán khởi chạy onResume()...................................................................35
Hình 2.24. Thuật toán khởi chạy onPause()......................................................................35
Hình 2.25. Giải thuật hiển thị thông báo đồng bộ dữ liệu.................................................37
Hình 2.26. Giải thuật hiển thị thông báo gửi-nhận dữ liệu................................................38
--


Hình 3.1. Mô hình hoạt động của WebServer...................................................................42
Hình 3.2. Thuật toán gửi dữ liệu từ Module......................................................................46
Hình 3.3. Thuật toán nhận dữ liệu từ Module...................................................................46
Hình 3.4. Thuật toán gửi dữ liệu.......................................................................................47
Hình 3.5. Thuật toán nhận dữ liệu từ thiết bị Android......................................................47

Hình 4.1. Kết cấu Port 1 cổng GPIO.................................................................................48
Hình 4.2. Kết cấu Port 5 cổng GPIO.................................................................................49
Hình 4.3. Kết cấu Port 6 cổng GPIO.................................................................................49
Hình 4.4. Giao diện đồ họa Raspberry..............................................................................51
Hình 4.5. Chương trình quản lý file Raspberry.................................................................52
Hình 4.6. Cửa sổ Lxterminal.............................................................................................53
Hình 4.7. Cấu trúc cơ bản của ngôn ngữ Python...............................................................54
Hình 4.8. Giao diện thiết kế giám sát................................................................................61
Hình 4.9. Thuật toán điều khiển đóng ngắt.......................................................................63
Hình 4.10. Thuật toán gửi dữ liệu lên Web Server............................................................68
Hình 4.11. Thuật toán quét phím.......................................................................................70
Hình 4.12. Kết cấu khối công suất....................................................................................72
Hình 2.13. Sơ đồ chân IC ổn áp LM2576.........................................................................72
Hình 4.14. Sơ đồ chân và kiến trúc IC ULN2803.............................................................73
Hình 4.15. Điện trở nối lên và điện trở nối xuống............................................................74
Hình 4.16. Kết nối ngõ ra GPIO.......................................................................................74
Hình 4.17. Sơ đồ mạch công suất......................................................................................75
Hình 5.1. Mặt trước của sản phẩm....................................................................................76
Hình 5.2. Mặt sau của sản phẩm.......................................................................................77
Hình 5.3. Mặt bên phải của sản phẩm...............................................................................77
Hình 5.4. Giao diện giám sát trên board mạch Raspberry Pi............................................78
Hình5.5. Biểu tượng của chương trình điều khiển trên thiết bị Android...........................79

--


DANH MỤC BẢNG BIỂU

Bảng 2.1. Các hàm và lệnh trong Java Android................................................................21
Bảng 2.2. Khai báo thuộc tính đối tượng Imagebutton đối với thiết bị 1..........................22

Bảng 2.3. Khai báo thuộc tính đối tượng Imagebutton từ thiết bị 2 đến thiết bị 8.............22
Bảng 2.4. Khai báo thuộc tính cho đối tượng LinearLayout.............................................23
Bảng 2.5. Quy ước mã hóa trạng thái thiết bị được điều khiển.........................................24
Bảng 2.6. Quy ước mã hóa thiết bị được điều khiển.........................................................24
Bảng 2.7. Khai báo tiến trình............................................................................................26
Bảng 2.8. Mã hóa dữ liệu gửi............................................................................................30
Bảng 2.9. Cấu trúc Timer..................................................................................................31
Bảng 2.10. Biến dùng trong hàm onCreate().....................................................................33
Bảng 3.1. Các hàm xử lý chuỗi trên WebServer................................................................40
Bảng 3.2. Các Webpage xử lý...........................................................................................41
Bảng 3.3. Quy ước mã hóa trạng thái thiết bị được điều khiển.........................................43
Bảng 3.4. Quy ước mã hóa thiết bị được điều khiển.........................................................43
Bảng 3.5. Quy ước ghi nhận dữ liệu từ board mạch Raspberry tại WebServer.................44
Bảng 3.6. Truy xuất biến toàn cục trên WebServer...........................................................45
Bảng 4.1. Cấu trúc thư mục Linux....................................................................................49
Bảng 4.2. Các lệnh trong Linux Shell...............................................................................50
Bảng 4.3. Thư mục chương trình của Raspberry...............................................................52
Bảng 4.4. Các phép toán trong Python..............................................................................54
Bảng 4.5. Các lệnh chức năng trong Python.....................................................................55
Bảng 4.6. Cấu trúc rẽ nhánh và vòng lặp..........................................................................55
Bảng 4.7. Thuộc tính Push Button....................................................................................56
Bảng 4.8. Thuộc tính Radio Button...................................................................................56
Bảng 4.9. Thuộc tính Label...............................................................................................57
Bảng 4.10. Thuộc tính Frame............................................................................................57
Bảng 4.11. Các sự kiện trong PyQt...................................................................................58
Bảng 4.12. Các hàm tác động sự kiện...............................................................................58
Bảng 4.13. Quy ước biến và hàm trong Class...................................................................59
-9-



Bảng 4.14. Điều khiển đối tượng QtGui...........................................................................60
Bảng 4.15. Các thuộc tính trong giao diện giám sát..........................................................61
Bảng 4.16. Quản lý biến trạng thái..................................................................................64
Bảng 4.17. Quản lý hằng số..............................................................................................64
Bảng 4.18. Quản lý thứ tự chân ngõ ra GPIO...................................................................65
Bảng 4.19. Quản lý thứ tự chân ngõ vào GPIO.................................................................65
Bảng 4.20. Quản lý cài đặt................................................................................................66
Bảng 4.21. Mã hóa file dự phòng......................................................................................67
Bảng 4.22. Hàm điều khiển GPIO....................................................................................69
Bảng 4.23. Điện áp và dòng điện GPIO............................................................................70
Bảng 4.24. Thông số của relay..........................................................................................74
Bảng 5.1. Các tính năng của Host được sử dụng...............................................................77
Bảng 5.2. Hệ thống tập tin máy chủ..................................................................................78
Bảng 5.3. Kết quả thực nghiệm nhận dữ liệu từ thiết bị Android......................................79
Bảng 5.4. Kết quả thực nghiệm nhận dữ liệu từ thiết bị Android......................................80

-10-


UBND TỈNH TIỀN GIANG
TRƯỜNG ĐẠI HỌC TIỀN GIANG
THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI
1. Thông tin chung:
- Tên đề tài: Ứng dụng Raspberry Pi trong việc thiết kế chế tạo bộ đóng ngắt thiết bị điện
được điều khiển từ xa qua thiết bị Android trong môi trường Internet.
- Lớp:CĐ CNKT Điện, Điện tử 12 Khoa: KTNCN

Năm thứ: 03

Số năm đào tạo: 03


- Người hướng dẫn: Ths. Hoàng Hữu Duy
2. Mục tiêu đề tài:
Tạo bộ đóng ngắt thiết bị điện được điều khiển từ xa qua thiết bị Android trong môi
trường Internet
3. Tính mới và sáng tạo:
Sản phẩm có những tính mới và tính sáng tạo sau:
- Tính mới:
+ Sử dụng board mạch raspberry pi xữ lý trung tâm.
+ Phát triển trên môi trường internet.
- Sáng tạo:
+ Sử dụng WebServer làm trung gian truyền nhận dữ liệu điều khiển.
+ Giao tiếp trực quan với người dùng thông qua thiết bị android.
4. Kết quả nghiên cứu:
- Sản phẩm hoạt động tốt, điều khiển tối đa 8 thiết bị điện với công suất tối đa cho mỗi
thiết bị điện là 1KW.
- Chương trình trên thiết bị Android tương thích với phiên bản 4.0 và cao hơn.
5. Đóng góp về mặt kinh tế - xã hội, giáo dục và đào tạo, an ninh, quốc phòng và khả
năng áp dụng của đề tài:
Đề tài có khả năng áp dụng:
- Cho văn phòng, nhà ở với mục đích tiết kiệm điện.
- Tài liệu học tập, tham khảo trong lập trình android, linux, asp.net.
6. Công bố khoa học của sinh viên từ kết quả nghiên cứu của đề tài (ghi rõ tên tạp chí
nếu có) hoặc nhận xét, đánh giá của cơ sở đã áp dụng các kết quả nghiên cứu (nếu có):
Ngày
tháng
năm
Sinh viên chịu trách nhiệm chính
thực hiện đề tài
(ký, họ và tên)


Nhận xét của người hướng dẫn về những đóng góp khoa học của sinh viên thực hiện
đề tài (phần này do người hướng dẫn ghi):


- Đề tài có sự kế thừa và phát triển của đề tài trước đó, đồng thời cũng mở ra một số
hướng phát triển mới.
- Sản phẩm có thể áp dụng được ngây trên thực tế với các thao tác cài đặt đơn giản.
- Thuyết minh của sản phẩm có thể làm tài liệu để phát triển ứng dụng điều khiển trên các
loại thiết bị di động khác như: WindowsPhone, Iphone.

Xác nhận của đơn vị
(ký tên và đóng dấu)

Ngày
tháng
năm
Người hướng dẫn
(ký, họ và tên)


TRƯỜNG ĐẠI HỌC TIỀN GIANG
THÔNG TIN VỀ SINH VIÊN
CHỊU TRÁCH NHIỆM CHÍNH THỰC HIỆN ĐỀ TÀI
I. SƠ LƯỢC VỀ SINH VIÊN:
- Họ và tên: Trần Thanh Tòng
- Sinh ngày: 19 tháng 09 năm 1994
- Nơi sinh: Ấp Bắc, Mỹ Tho, Tiền Giang
- Lớp: CĐ CNKT Điện, Điện tử 12 Khóa: K12
- Khoa: Kỹ thuật Công nghiệp

- Địa chỉ liên hệ: Ấp Bắc, Mỹ Tho, Tiền Giang
- Điện thoại: 016260810000
II. QUÁ TRÌNH HỌC TẬP (kê khai thành tích của sinh viên từ năm thứ 1 đến năm
đang học):
* Năm thứ 1:
Ngành học: CNKT Điện, Điện tử

Khoa: Kỹ thuật Công nghiệp

Kết quả xếp loại học tập: Khá
Sơ lược thành tích:…………………………………………………………
* Năm thứ 2:
Ngành học: CNKT Điện, Điện tử

Khoa: Kỹ thuật Công nghiệp

Kết quả xếp loại học tập Khá
Sơ lược thành tích: Nghiên cứu thành công đề tài “Xây dựng ứng dụng đóng ngắt thiết
bị điện bằng Web sử dụng board mạch raspberry pi”
* Năm thứ 3:
Ngành học: CNKT Điện, Điện tử

Khoa: Kỹ thuật Công nghiệp

Kết quả xếp loại học tập Khá
Sơ lược thành tích: Nghiên cứu thành công đề tài “Ứng dụng Raspberry Pi trong việc
thiết kế chế tạo bộ đóng ngắt thiết bị điện được điều khiển từ xa qua thiết bị Android
trong môi trường Internet”
Xác nhận của Trưởng Khoa……..
(ký tên và đóng dấu)


Tiền Giang, ngày
tháng
năm
Sinh viên chịu trách nhiệm chính
thực hiện đề tài
(ký, họ và tên)



Trần Thanh Tòng

NCKH

A. MỞ ĐẦU

-1-


Trần Thanh Tòng

NCKH

1. Tổng quan tình hình nghiên cứu
Trong nước: Nhà thông minh BKAV phối hợp với Phú Mỹ Hưng đặt tại dự án Green
Valley (quận 7, TP. Hồ Chí Minh), người dùng điều khiển thiết bị trong gia đình ở bất cứ
đâu thông qua thiết bị thông minh Smartphone. Tuy nhiên, giá thành của các sản phẩm
này khá cao, khả năng áp dụng phổ biến trong cộng đồng là hạn chế.
Ngoài nước: Điều khiển đóng ngắt thiết bị được tích hợp trong hệ thống
SmartHouse như hệ thống Wiser – một sản phẩm mới trong họ sản phẩm Clipsal C-Bus,

điều khiển thiết bị gia dụng từ xa trên màn hình cảm ứng thông qua từng thao tác trên ứng
dụng.
Sản phẩm từ đề tài “Xây dựng ứng dụng điều khiển đóng-ngắt thiết bị điện qua Web
trên board mạch Raspberry Pi” là module điều khiển có 8 ngõ ra và một trang Web điều
khiển. Hệ thống này tạo ra sự thuận lợi trong điều khiển xa. Đó là khả năng truy vấn trạng
thái và thay đổi trạng thái điều khiển ở bất cứ nơi nào chỉ cần có trình duyệt Web. Tuy
nhiên, hệ thống này chỉ phù hợp cho máy tính cá nhân hoặc các thiết bị di động có cấu
hình cao.
2. Lý do chọn đề tài
Cùng với sự phát triển của ngành công nghệ thông tin, phương thức điều khiển xa
cũng trở nên đa dạng và phong phú. Điều khiển xa có thể sử dụng qua hệ thống không
dây như: wifi, bluetooth, RF…; qua hệ thống có dây với khoảng cách gần như: USB,
UART, IEEE1394… và khoảng cách xa như: Ethernet, Internet, line điện thoại. Hiện nay,
điều khiển qua Internet đang dần trở nên phổ biến do tốc độ đường truyền nhanh và sự đa
dạng hóa các thiết bị điện tử hiện đại.
Viết ứng dụng cho hệ điều hành Android đang là mối quan tâm của đông đảo lập
trình viên, nhà tuyển dụng và các bạn sinh viên hiện nay. Với ưu thế về giá thành ngày
càng thấp, tốc độ xử lý cao, và mức độ phổ biển rộng, thiết bị sử dụng hệ điều hành
Android (thiết bị Android) là sự lựa chọn tốt cho việc học tập, nghiên cứu và phát triển
ứng dụng trong lĩnh vực này.
Đề tài “Ứng dụng Raspberry Pi trong việc thiết kế chế tạo bộ đóng ngắt thiết bị
điện được điều khiển từ xa qua thiết bị Android trong môi trường Internet” được thực
hiện nhằm khắc phục mặt hạn chế trên, đồng thời tiếp cận được với xu thế hiện nay, đáp
ứng được nhu cầu hiện đại hóa các thiết bị thông dụng và mang lại một sự tiện nghi cho
người dùng. Đề tài được thực hiện cũng là cơ hội để tiếp cận nghiên cứu công nghệ mới.
3. Mục tiêu đề tài
Đề tài được thực hiện gồm các mục tiêu sau:
+ Nghiên cứu giải pháp truyền nhận dữ liệu trạng thái thiết bị qua mạng Internet.
+ Xây dựng được WebServer làm trung gian nhận gửi dữ liệu điều khiển.
+ Viết chương trình trên board mạch Raspberry Pi có khả năng xử lý dữ liệu trạng

thái điều khiển từ xa và đưa ra tín hiệu điện tương ứng.
-2-


Trần Thanh Tòng

NCKH

+ Viết chương trình trên thiết bị Android có khả năng giao tiếp với người dùng và
gửi dữ liệu điều khiển về cơ cấu chấp hành.
+ Thiết kế board mạch có chức năng chuyển đổi công suất cho board mạch
Raspberry Pi.
4. Phương pháp nghiên cứu
Phương pháp nghiên cứu lý thuyết: tra cứu, tham khảo tài liệu sách báo.
Phương pháp mô hình hóa:
+ Sử dụng phần mềm Protues 8 để mô phỏng mạch.
+ Sử dụng phần mềm Microsoft Visual Web Developer 2005 để mô phỏng Host.
+ Sử dụng phần mềm Eclipse để mô phỏng thiết bị Android.
+ Sử dụng phần mềm Putty để mô phỏng chương trình điều khiển Raspberry Pi.
Thực nghiệm khoa học:
+ Sử dụng host miễn phí để vận hành phần mềm (Script) truyền nhận dữ liệu.
+ Sử dụng điện thoại Android để kiểm tra phần mềm điều khiển.
+ Sử dụng VOM, máy dao động ký để đo điện áp ngõ ra.
4. Khách thể nghiên cứu
Khách thể nghiên cứu: Môi trường truyền dẫn Internet.
5. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Bộ đóng ngắt thiết bị điện được điều khiển từ xa qua thiết bị
Android.
Phạm vi nghiên cứu:
+ Module điều khiển có 8 kênh ngõ ra với công suất mỗi kênh là 1KW.

+ Phiên bản hệ điều hành Android là 4.0.
+ WebServer hỗ trợ là ASP.Net.
Đề tài không đi sâu vào nghiên cứu:
+ Cấu trúc phần cứng của board mạch Raspberry Pi.
+ Nhân hệ điều hành Debian, Android.
6. Giả thuyết nghiên cứu
Nếu người dùng sử dụng phần mềm điều khiển trên thiết bị Android và có kết nối
mạng Internet thì có thể điều khiển thiết bị điện ở bất cứ nơi nào.

-3-


Trần Thanh Tòng

NCKH

B. NỘI DUNG

-4-


Trần Thanh Tòng

NCKH

CHƯƠNG 1.
TỔNG QUAN CÁC HÌNH THỨC ĐIỀU KHIỂN XA
1.1. Điều khiển từ xa bằng tia hồng ngoại
1.1.1. Khái niệm
Tia hồng ngoại là ánh sáng không thể nhìn thấy được bằng mắt thường. Bước sóng

của ánh sáng này nằm trong khoảng 0,8m-0,9µm. Với bước sóng này, dữ liệu với tốc độ
lên đến 3Mbps. Tia hồng ngoại ngoại có những đặc điểm sau:
+ Dễ bị hấp thụ, khả năng xuyên thấu kém.
+ Tầm hoạt động thấp (nhỏ hơn 10m).
+ Không thể truyền qua các bức tường hoặc vòng qua các góc.
+ Dễ bị nhiễu sóng do nguồn ánh sáng hồng ngoại có ở khắp nơi.
1.1.2. Ứng dụng
Tia hồng ngoại thường được sử dụng vào những mục đích sau:
+ Dùng làm công tắc điều khiển bằng hồng ngoại.
+ Làm cảm biến trong nhiều hệ thống tự động hóa, bảo vệ, báo động…
1.2. Điều khiển từ xa bằng sóng vô tuyến
1.2.1. Khái niệm
Điều khiển bằng sóng vô tuyến là hình thức điều khiển từ xa xuất hiện đầu tiên và
đến nay vẫn giữ một vai trò quan trọng và phổ biến trong đời sống. Hình thức điều khiển
này có những đặc điểm sau:
+ Khoảng cách truyền xa hơn tia hồng ngoại.
+ Có thể điều khiển xuyên tường, kính.
+ Dễ bị nhiễu sóng do tín hiệu vô tuyến có mặt khắp nơi trong không gian…
Tần số vô tuyến dùng được cho nhiều vật dụng bên ngoài như, hệ thống báo hiệu
cho xem các loại đồ chơi điện tử từ xa thậm chí kiểm soát vệ tinh và các hệ thống máy
tính xách tay và điện thoại thông minh…
1.2.2. Ứng dụng
Tần số vô tuyến được ứng dụng trong các hoạt động điều khiển sau:
+ Làm thiết bị điều khiển mở cửa gara xe, điều khiển hệ thống báo hiệu, các thiết bị
điện gia dụng trong gia đình…
+ Điều khiển máy tính xách tay và điện thoại thông minh.
-5-


Trần Thanh Tòng


NCKH

+ Dùng làm công tắc điều khiển từ xa.
1.3. Điều khiển từ xa bằng Bluetooth
1.3.1. Khái niệm
Bluetooth là công nghệ không dây cho phép các thiết bị điện, điện tử giao tiếp với
nhau trong khoảng cách ngắn thông qua sóng vô tuyến với băng tần 2.40-2.48 GHz. Đây
là dãy băng tần không cần đăng ký được dành riêng cho các thiết bị không dây trong công
nghiệp, khoa học, y tế. Bluetooth có những đặc điểm sau:
+ Tiêu thụ năng lượng thấp.
+ Giao tiếp được với nhiều thiết bị cầm tay khác nhau.
+ Giá thành thấp.
+ Tốc độ truyền dữ liệu có thể đạt đến 1Mbps (do sử dụng tần số cao) mà các thiết
bị không cần thấy trực tiếp nhau.
1.3.2. Ứng dụng
Sử dụng truyền dữ liệu giữa các thiết bị thông minh, truyền thanh, thiết bị truyền dữ
liệu điều khiển như chuột, bàn phím…
Các ứng dụng nhúng điều khiển nguồn năng lượng trong xe hơi, các loại nhạc cụ,
trong công nghiệp, y tế.
1.4. Điều khiển xa bằng Internet
1.4.1. Khái niệm Internet
Internet là một liên mạng máy tính toàn cầu được hình thành từ các mạng nhỏ hơn,
liên kết hàng triệu máy tính trên thế giới thông qua cơ sở hạ tầng nhằm mục đích chia sẻ
thông tin, dữ liệu với nhau. Đặc điểm của Internet:
Các thiết bị trong được điều khiển như bóng đèn, máy giặt, tivi, lò vi sóng... sẽ được
kết nối đến các đầu ra của bộ điều khiển. Bộ điều khiển kết nối với Internet. Người dùng,
với phần mềm được cài trên thiết bị Android khi kết nối với Internet có thể truy cập vào
hệ thống và tương tác điều khiển các thiết bị một cách dễ dàng. Việc điều khiển ở đây là
hai chiều, trong đó, người dùng không chỉ đơn thuần gửi lệnh điều khiển đóng ngắt mà

còn có thể giám sát được thiết bị nhờ thông tin phản hồi từ các thiết bị về trạng thái làm
việc hiện tại.
1.4.2. Lịch sử phát triển
Mốc lịch sử quan trọng của Internet được chọn vào giữa thập kỷ 1980, khi Quỹ khoa
học quốc gia Mỹ thành lập mạng liên kết các trung tâm máy tính lớn với nhau gọi là
NSFNET. Mạng này chính là mạng Internet. Điểm quan trọng của NSFNET là cho phép
mọi người cùng sử dụng. Trước NSFNET, chỉ các nhà khoa học, chuyên gia máy tính và
nhân viên các cơ quan Chính phủ được kết nối Internet.

-6-


Trần Thanh Tòng

NCKH

Ngày nay, mạng Internet phát triển mạnh mẽ hơn các phương tiện truyền thông
truyền thống khác như phát thanh và truyền hình, do sự cải tiến và phát triển không
ngừng. Các công nghệ đang áp dụng trên Internet giúp cho Internet trở thành mạng liên
kết vô số kho thông tin toàn cầu, có dịch vụ phong phú về nội dung và hình thức.
1.4.3. Kết nối qua quay số
Trong phương thức kết nối này, người dùng kết nối với Internet thông qua mạng
điện thoại. Để kết nối, người dùng cần có một đường điện thoại và một thiết bị kết nối có
tên modem. Máy tính của người dùng kết nối với modem và modem được kết nối tới
đường điện thoại.

Hình 1.1. Kết nối quay số qua mạng điện thoại
Hiện nay, dịch vụ kết nối này đều được các nhà cung cấp dịch vụ Viễn thông cung
cấp. Khi người sử dụng đăng ký, nhà cung cấp sẽ cấp cho họ một tài khoản để truy nhập
và số điện thoại cần gọi. Kết nối kiểu này không luôn thường trực. Khi muốn sử dụng

dịch vụ, người dùng phải quay số đến số điện thoại do nhà cung cấp dịch vụ cấp. Sau đó,
nhập tên truy nhập và mật khẩu để đăng nhập. Kiểu kết nối này thường được người dùng
cá nhân sử dụng vì giá thành rẻ và dễ lắp đặt.
1.4.4. Kết nối qua ADSL
Kết nối Internet qua ADSL là một dịch vụ mới và đang rất phổ biến. ADSL là công
nghệ truy nhập bất đối xứng, tốc độ đường xuống lớn hơn tốc độ đường lên. Đặc điểm
này rất phù hợp với truy nhập Internet vì người dùng thường lấy thông tin từ Internet
xuống nhiều hơn gửi thông tin lên Internet. Người dùng có thể đăng ký dịch vụ này
ngay trên đường dây điện thoại sẵn có của mình chứ không nhất thiết phải mắc thêm
một đường dây mới. Để sử dụng, người dùng cần có ADSL modem. Máy tính của người
dùng kết nối tới ADSL modem và modem này được kết nối với đường dây điện thoại đã
đăng ký dịch vụ ADSL.

-7-


Trần Thanh Tòng

NCKH

Hình 1.2. Kết nối qua ADSL
Đặc điểm của phương thức này là kết nối mạng cũng luôn thường trực (sau khi kết
nối được tự động thực hiện) nhưng người dùng chỉ phải trả tiền cho những thời gian sử
dụng. Cụ thể, các nhà cung cấp dịch vụ hiện nay đều tính cước dựa trên dung lượng thông
tin người dùng tải xuống và tải lên Internet.
1.4.5. Địa chỉ IP
Các máy tính trên Internet giao tiếp với nhau sử dụng bộ giao thức TCP/IP. Để các
máy tính có thể liên lạc với nhau, mỗi máy tính cần có một địa chỉ liên lạc và địa chỉ này
phải là duy nhất. Điều này cũng giống như các thuê bao trong mạng điện thoại di động
phải có một số hiệu thuê bao (số máy) và số thuê bao này phải là duy nhất trong mạng.

1.4.6. Tên miền
Mỗi máy tính khi kết nối vào mạng Internet thì được gán cho một địa chỉ IP xác
định. Địa chỉ IP của mỗi máy là duy nhất. Hệ thống DNS ra đời nhằm giúp chuyển đổi từ
địa chỉ IP khó nhớ mà máy sử dụng sang một tên dễ nhớ cho người sử dụng, đồng thời
giúp hệ thống Internet ngày càng phát triển.
Hệ thống DNS sử dụng hệ thống cơ sở dữ liệu phân tán và phân cấp hình cây. Vì
vậy, việc quản lý sẽ dễ dàng và thuận tiện cho việc chuyển đổi từ tên miền sang địa chỉ IP
và ngược lại. Hệ thống DNS giống như mô hình quản lý công dân của một nước. Mỗi
công dân sẽ có một tên xác định đồng thời cũng có địa chỉ chứng minh thư để giúp quản
lý con người một cách dễ dàng hơn.
1.4.7. ISP
ISP (Internet Service Provider) là nhà cung cấp dịch vụ Internet. Nhà cung cấp dịch
vụ Internet cấp quyền truy cập Internet qua mạng viễn thông và các dịch vụ như: Email,
Web, FTP, Telnet, Chat. Để có thể truy nhập và sử dụng các dịch vụ của Internet, người sử
dụng phải đ ăng ký với nhà cung cấp dịch vụ này.

1.4.8. World Wide Web
-8-


×