[2] Tại nước ta, cũng đã có rất nhiều nghiên cứu, thiết kế, cụ thể trong số đó chính là những Đồ Án Tốt Nghiệp được thực hiện, tạo ra những mô hình thực tế như năm 2018, Nguyễn Văn Lập –
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
-ĐỒ ÁN TỐT NGHIỆP
NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ TÀI:
NGHIÊN CỨU VÀ THIẾT KẾ MÔ HÌNH
XE ROBOT GIÁM SÁT AN NINH HỘ GIA
ĐÌNH
GVHD: ThS Nguyễn Đình Phú SVTH: Hồ Hoài Linh
MSSV: 16141193 SVTH: Ngô Đức Huy MSSV: 16141166
Trang 2KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
NGHIÊN CỨU VÀ THIẾT KẾ MÔ HÌNH
XE ROBOT GIÁM SÁT AN NINH HỘ GIA
ĐÌNH
GVHD: ThS Nguyễn Đình Phú SVTH: Hồ Hoài Linh
MSSV: 16141193 SVTH: Ngô Đức Huy MSSV: 16141166
Tp Hồ Chí Minh - 03/2020
Trang 3TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Chuyên ngành: Điện tử công nghiệp Mã ngành: 01
I TÊN ĐỀ TÀI: NGHIÊN CỨU VÀ THIẾT KẾ MÔ HÌNH XE ROBOT
GIÁM SÁT AN NINH HỘ GIA ĐÌNH
II NHIỆM VỤ
1 Các số liệu ban đầu:
- Tìm hiểu về các mô hình xe robot, các hệ thống giám sát an ninh ngoài thực tế
- Tìm hiểu về các dòng vi xử lý và các phương pháp lập trình vi xử lý
- Tìm hiểu phương pháp livestream video
- Tìm hiểu về các loại camera
- Các thiết bị ngoại vi như động cơ DC, servo,
- Các cảm biến như PIR, DHT11, khí ga, ánh sáng,
- Tìm hiểu về web server, app android
- Tìm hiểu về machine learning, thuật toán nhận dạng khuôn mặt
2 Nội dung thực hiện:
- Tham quan, tìm hiểu các hệ thống giám sát an ninh, các mô hình xe robot thực tế
- Thiết kế sơ đồ khối cho toàn bộ hệ thống
- Thiết kế, tính toán, lựa chọn linh kiện cho từng khối đã thiết kế
- Vẽ lưu đồ giải thuật để lập trình cho xe robot có thể di chuyển, quan sát tùy ý và giao tiếp với các cảm biến, ngoại vi khác
- Thiết kế web server, app android đơn giản
- Livestream video lên web server
- Điều khiển mô hình xe robot từ xa
- Ứng dụng thuật toán nhận dạng khuôn mặt để nhận dạng mặt người từ camera và gửi cảnh báo hình ảnh nhận dạng về mail để thông báo
- Chỉnh sửa, hoàn thiện và tiến hành đóng gói mô hình xe robot
- Viết báo cáo
III NGÀY GIAO NHIỆM VỤ: 09/03/2020
Trang 4IV NGÀY HOÀN THÀNH NHIỆM VỤ: 03/07/2020
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Đình Phú
Trang 5TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH
KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ
CÔNG NGHIỆP – Y SINH
CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÖC
Tuần 7 Vẽ lưu đồ giải thuật để lập trình cho xe robot có
(20/4 -26/4) thể di chuyển, quan sát tùy ý và giao tiếp với các
Trang 6Tuần 10 Livestream video lên web server.
(11/5 – 17/5)
Tuần 11 Điều khiển mô hình xe robot từ xa
(18/5 – 24/5)
Tuần 12 Ứng dụng thuật toán nhận dạng khuôn mặt để
(25/5 – 31/5) nhận dạng mặt người từ camera và gửi cảnh báo
hình ảnh nhận dạng về mail để thông báo
Tuần 13 Viết hoàn chỉnh lại chương trình, demo mô hình
Trang 7LỜI CAM ĐOAN
Đề tài này là do chúng tôi tự thực hiện dựa vào một số tài liệu trước đó và không sao chép từ tài liệu hay công trình đã có trước đó
Người thực hiện đề tài
Hồ Hoài Linh – Ngô Đức Huy
Trang 8LỜI CẢM ƠN
Chúng tôi xin gởi lời cảm ơn sâu sắc đến Thầy Nguyễn Đình Phú - Giảng viên
bộ môn Điện tử công nghiệp đã trực tiếp hướng dẫn và tận tình giúp đỡ tạo điều kiện
để nhóm hoàn thành tốt đề tài
Chúng tôi xin gởi lời cảm ơn chân thành các thầy cô trong Khoa Điện-Điện
Tử đã tạo những điều kiện tốt nhất cho nhóm hoàn thành đề tài
Chúng tôi cũng gửi lời đồng cảm ơn đến các bạn lớp 16141DT2B đã chia sẻtrao đổi kiến thức cũng như những kinh nghiệm quý báu trong thời gian thực hiện đềtài
Và đặc biệt, xin chân thành cảm ơn cha mẹ đã tạo điều kiện cả về vật chấn lẫntinh thần để chúng tôi hoàn thành tốt đề tài này
Xin chân thành cảm ơn!
Người thực hiện đề tài
Hồ Hoài Linh – Ngô Đức Huy
Trang 9MỤC LỤC
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP iii
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP v
LỜI CAM ĐOAN vii
LỜI CẢM ƠN viii
MỤC LỤC ix
LIỆT KÊ HÌNH VẼ xii
LIỆT KÊ BẢNG xv
DANH MỤC CÁC TỪ VIẾT TẮT xvi
TÓM TẮT xviii
Chương 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 2
1.3 NỘI DUNG NGHIÊN CỨU 2
1.4 GIỚI HẠN 2
1.5 BỐ CỤC 3
Chương 2 CƠ SỞ LÝ THUYẾT 4
2.1 GIỚI THIỆU 4
2.2 TÌM HIỂU VỀ MACHINE LEARNING VÀ PHƯƠNG PHÁP NHẬN DẠNG ĐỐI TƯỢNG VỚI BỘ PHÂN LOẠI XẾP TẦNG 4
2.2.1 Machine learning 4
2.2.2 Bộ phân loại xếp tầng (cascade classifiers) 5
2.3 GIỚI THIỆU VỀ WEB SERVER VÀ NGÔN NGỮ HTML 8
2.3.1 Web Server 8
2.3.2 Ngôn ngữ HTML 9
2.4 WIFI VÀ CÁC CHUẨN GIAO TIẾP 10
2.4.1 Giới thiệu 10
2.4.2 Đặc điểm 10
2.4.3 Các chuẩn wifi 11
2.5 TÌM HIỂU VỀ CLOUD SERVER 11
2.5.1 Giới thiệu về cloud server 11
2.5.2 Đặc điểm 11
2.6 APP ANDROID VÀ PHƯƠNG PHÁP LẬP TRÌNH KÉO THẢ 11
2.6.1 App android 12
Trang 102.6.2 Lập trình kéo thả 12
2.7 TỔNG QUAN VỀ HỆ THỐNG HTTP LIVESTREAM VIDEO 12
2.7.1 Giới thiệu 12
2.7.2 Một số giao thức chính sử dụng trong streaming 13
2.8 PORT FORWARDING 13
2.8.1 Tổng quan 13
2.8.2 Ứng dụng 13
Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 15
3.1 GIỚI THIỆU 15
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 15
3.2.1 Thiết kế mô hình xe robot 15
3.2.2 Thiết kế sơ đồ khối hệ thống 18
3.2.3 Tính toán, lựa chọn, thiết kế mạch 18
3.2.4 Sơ đồ nguyên lý của toàn mạch 36
Chương 4 THI CÔNG HỆ THỐNG 38
4.1 GIỚI THIỆU 38
4.2 THI CÔNG HỆ THỐNG 38
4.2.1 Thi công PCB 38
4.2.2 Lắp ráp và kiểm tra 38
4.3 LẬP TRÌNH HỆ THỐNG 40
4.3.1 Lưu đồ giải thuật 40
4.3.2 Phần mềm lập trình cho vi điều khiển 44
4.3.3 Phần mềm lập trình web server, app android 46
4.4 MỘT SỐ CÀI ĐẶT CHO DỰ ÁN 48
4.4.1 Cài đặt hệ điều hành Raspbian cho Raspberry Pi 3 Model B 48
4.4.2 Truy cập vào raspbian bằng VNC Viewer 49
4.4.3 Cài đặt thư viện opencv cho Pi 51
4.4.4 Cài đặt một số thư viện cần thiết cho dự án 53
4.4.5 Điều khiển raspberry từ xa với remote.it 55
4.5.6 Điều khiển Esp8266 từ xa 56
4.6 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 57
4.6.1 Tài liệu hướng dẫn sử dụng 57
4.6.2 Quy trình thao tác 58
Chương 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 59
Trang 115.1 KẾT QUẢ 59
5.1.1 Kết quả thi công phần cứng 59
5.1.2 Kết quả livestream video(thêm ảnh livestream lúc trời tối) 60
5.1.3 Kết quả điều khiển xe 61
5.1.4 Kết quả nhận dạng 61
5.1.5 Kết quả gửi mail cảnh báo 63
5.1.6 Kết quả giao tiếp với các cảm biến 64
5.1.7 Tính bảo mật 65
5.2 NHẬN XÉT VÀ ĐÁNH GIÁ 65
Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 67
6.1 KẾT LUẬN 67
6.2 HƯỚNG PHÁT TRIỂN 67
TÀI LIỆU THAM KHẢO 68
PHỤ LỤC 69
Trang 12LIỆT KÊ HÌNH VẼ
Hình 2.1 Giai đoạn 1- Haar Feature Selection 6
Hình 2.2 Hình ảnh ví dụ về các tính năng Haar 6
Hình 2.3 Quá trình phân loại của bộ phân loại xếp tầng cascade 7
Hình 2.4 Các quá trình trong từng giai đoạn của bộ phân loại cascade 8
Hình 2.5 Cấu trúc tổng quan HTTP Streaming 13
Hình 3.1 Sơ đồ bố trí linh kiện (1) 15
Hình 3.2 Sơ đồ bố trí linh kiện (2) 16
Hình 3.3 Thiết kế khung xe robot với creo 17
Hình 3.4 Mặt trên (trái) và mặt dưới (phải) khung xe robot 17
Hình 3.5 Mặt trước (trái) và mặt hông (phải) khung xe robot 17
Hình 3.6 Khung xe robot sau khi in 3d 17
Hình 3.7 Sơ đồ khối hệ thống 18
Hình 3.8 Sơ đồ chân Raspberry Pi 3 Model B 19
Hình 3.9 Mặt trên của Raspberry Pi 3 Model B 19
Hình 3.10 Thanh led 12V 20
Hình 3.11 Sơ đồ nguyên lý module relay 5V 1 kênh 20
Hình 3.12 Module Relay 1 kênh 5V 21
Hình 3.13 Sơ đồ nguyên lý khối điều khiển trung tâm 21
Hình 3.14 Sơ đồ chân NodeMCU Esp8266 22
Hình 3.15 NodeMCU Esp8266 22
Hình 3.16 Module Camera Raspbrry Rev V1.3 23
Hình 3.17 Cảm biến PIR 23
Hình 3.18 Sơ đồ nguyên lý mạch cảm biến chuyển động PIR 24
Hình 3.19 Cảm biến DHT11 24
Hình 3.20 Sơ đồ nguyên lý mạch cảm biến nhiệt độ, độ ẩm DHT11 25
Hình 3.21 Gửi tín hiệu “start” từ vi xử lý 25
Hình 3.22 Quá trình đọc giá trị trên DHT11 26
Hình 3.23 Cảm biến MQ2 26
Hình 3.24 Sơ đồ nguyên lý mạch cảm biến khí gas MQ2 26
Hình 3.25 Module Buzzer 27
Trang 13Hình 3.26 Sơ đồ nguyên lý khối giám sát 28
Hình 3.27 Mô tả lực ma sát trượt trên bánh xe 29
Hình 3.28 Động cơ giảm tốc V1 + bánh xe 30
Hình 3.29 Bánh xe đa hướng 31
Hình 3.30 Module điều khiển động cơ L298N 31
Hình 3.31 Điện áp trung bình thay đổi theo sự thay đổi của chy kỳ xung 32
Hình 3.32 Mạch cầu H 32
Hình 3.33 Sơ đồ nguyên lý khối động cơ 33
Hình 3.34 Sơ đồ chân Servo SG90 34
Hình 3.35 Cơ cấu Pan Tilt 34
Hình 3.36 Sơ đồ nguyên lý khối điều chỉnh góc quay 34
Hình 3.37 Sạc dự phòng AVA 35
Hình 3.38 Pin sạc Li-18650 4.2V 36
Hình 3.39 Sơ đồ nguyên lý toàn mạch 36
Hình 4.1 PCB Esp8266 và các cảm biến 38
Hình 4.2 Mô hình xe robot sau khi hoàn thiện 39
Hình 4.3 Lưu đồ chính 40
Hình 4.4 Lưu đồ con livestream video 41
Hình 4.5 Lưu đồ con xe chạy 41
Hình 4.6 Lưu đồ con camera quay 42
Hình 4.7 Lưu đồ chương trình con đèn sáng, buzzer kêu 42
Hình 4.8 Lưu đồ con chương trình nhận dạng khuôn mặt 43
Hình 4.9 Lưu đồ giao tiếp các cảm biến với Esp8266 43
Hình 4.10 Giao diện khá đơn giản của Thonny 44
Hình 4.11 Giao diện Arduino IDE 45
Hình 4.12 Giao diện làm việc chính của Notepad++ 46
Hình 4.13 Giao diện web server 47
Hình 4.14 Giao diện làm việc với mit app inventor 47
Hình 4.15 Giao diện app 48
Hình 4.16 Tải xuống Raspbian cho Pi từ trang chủ 48
Hình 4.17 Format thẻ nhớ với SD Card Formatter 49
Hình 4.18 Chép raspbian vào thẻ SD 49
Hình 4.19 Enable cho VNC 50
Trang 14Hình 4.20 Tìm ip của Pi bằng Advanced IP Scanner 50
Hình 4.21 Truy cập Pi bằng VNC Viewer 50
Hình 4.22 Thiết lập ip tĩnh cho raspberry pi 51
Hình 4.23 Tạo môi trường ảo cho python thành công 52
Hình 4.24 Opencv đã được import vào Python 53
Hình 4.25 Thư viện wiringpi 53
Hình 4.26 Cài đặt thư viện ServoBlaster 54
Hình 4.27 Trang quản lý tài khoản google mail 54
Hình 4.28 Chọn “Bật” ứng dụng kém an toàn 54
Hình 4.29 Cài đặt remote.it trên terminal của Pi 55
Hình 4.30 Chọn 1 để sang bước kế tiếp 55
Hình 4.31 Chọn các loại điều khiển từ xa muốn sử dụng 56
Hình 4.32 Copy link trên cửa sổ hiện ra và dán vào vnc để truy cập vào Pi 56
Hình 4.33 Kết hợp Firebase, Esp và Mit App Inventor 57
Hình 4.34 Chạy chương trình trên Pi 57
Hình 4.35 Lưu đồ quy trình thao tác 58
Hình 5.1 Kết quả thi công phần cứng 59
Hình 5.2 Kết quả livestream với camera rev1.3 60
Hình 5.3 Kết quả test ping wifi cục bộ ( trái) và từ xa ( phải) 60
Hình 5.4 Bật đèn và buzzer 61
Hình 5.5 Thông tin liên lạc, góp ý về dự án 61
Hình 5.6 Thông báo gửi mail hoàn tất trên terminal 61
Hình 5.7 Một số hình ảnh khuôn mặt nhận dạng được 62
Hình 5.8 Kết quả cảnh báo qua mail 63
Hình 5.9 Nội dung mail cảnh báo 63
Hình 5.10 Dữ liệu từ các cảm biến trên app (trái) và firebase (phải) 64
Hình 5.11 Nhiệt độ và độ ẩm từ cảm biến (trái) và trên thực tế (phải) 64
Hình 5.12 Kết quả gửi thông báo khi khí gas vượt ngưỡng 64
Hình 5.13 Kết quả gửi thông báo khi phát hiện có chuyển động 65
Hình 5.14 Đăng nhập vào web server 65
Trang 15LIỆT KÊ BẢNG
Bảng 3.1 Thông số kĩ thuật module relay 1 kênh 5V 21
Bảng 3.2 Hệ số ma sát trƣợt của một số vật liệu 29
Bảng 3.3 Tổng khối lƣợng xe(gram) 30
Bảng 3.4 Thông số áp, dòng hoạt động ổn định của các thiết bị trong mạch 35
Bảng 4.1: Danh sách các linh kiện 38
Bảng 5.1: Kết quả nhận dạng khuôn mặt với 100 bức ảnh thu đƣợc từ mail 63
Trang 16HTTP HyperText Transfer Protocol
TCP Transmission Control Protocol
IEEE Institute of Electrical and Electronics Engineers
OFDM Orthogonal Frequency-Division Multiplexing
OpenGL Open Graphics Library
GFLOPS Giga FLoating-point Operations Per Second
LPDDR Low-Power Double Data Rate Synchronous Dynamic
Random Access Memory
HDMI High-Definition Multimedia Interface
NTSC National Teltevision System Committee
GPIO General-Purpose input/output
DSI Display Serial Interface
SDIO Secure Digital Input/Output
Trang 17FPS Frame Per Second
TTL Transistor-Transistor Logic
VCC Voltage Colector to Colector
UART Universal Asynchronous Receiver – Transmitter
I2C Inter-Integrated Circuit
SPI Serial Peripheral Interface
OLED Organic Light-Emiting Diode
MOSFET Metal-Oxide Semiconductor Field-Effect Transistor
DHT Digital Humidity and Temperature sensor
Trang 18TÓM TẮT
Với sự phát triển nhanh chóng của công nghệ, thế giới đã gần như không còn khoảng cách Chỉ cần một lần nhấn nút, mọi thiết bị đều có thể được điều khiển ở bất cứ đâu Máy móc, robot dần được ứng dụng nhiều hơn trong các lĩnh vực khác nhau Chính vì thế nhóm quyết định thực hiện đề tài “ Nghiên cứu và thiết kế mô hình xe robot giám sát an ninh hộ gia đình”, đề tài xuất phát từ một thực tiễn rằng phần lớn thành viên trong các gia đình đi làm
từ sáng sớm tới chiều tối, các ngôi nhà, khu vườn, hay nhà kho không có ai trông coi, giám sát, với mô hình này chúng ta có thể dễ dàng cập nhật, theo dõi các yếu tố bên trong ngôi nhà như nhiệt độ, độ ẩm, khí gas, bên cạnh đó là các yếu tố ngoại cảnh như cảnh báo khi có người gần nhà, chụp ảnh và gửi mail cho người dùng, có thể di chuyển linh hoạt nhờ xe và trên hết là có thể điều khiển được từ xa Khái quát quá trình hoạt động của mô hình:
- Người dùng sẽ điều khiển mô hình xe robot để quan sát các hoạt động diễn ra xung quanh, trong và bên ngoài ngôi nhà Bạn có thể dùng còi, đèn để chiếu sáng, đuổi chuột, gián,
- Các thông số nhiệt độ, độ ẩm, khí gas sẽ được cập nhật liên tục, chỉ cần truy cập web, app để xem thông tin, nếu có bất thường về chập điện, cháy, chúng ta có thể gọi điện thông báo cho người thân gần nhất hay hàng xóm để nhờ giúp đỡ.
- Xe còn có chức năng như một người “ bảo vệ” khi được đặt trước cửa,
nó sẽ nhận biết chuyển động và hú còi để cảnh báo Khi có người trong tầm hoạt động của camera, camera sẽ nhận dạng được và chụp ảnh người đó đồng thời gửi mail thông báo cho người dùng.
Trang 19Chương 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Xã hội ngày càng phát triển, kéo theo đó là sự tiến bộ vượt bậc của cácngành khoa học – kĩ thuật nói chung và lĩnh vực cơ, điện tử nói riêng Nhu cầu ứngdụng các thiết bị điện tử, công nghệ vào cuộc sống để phục vụ cho các mục đích cólợi của các cá nhân, gia đình, doanh nghiệp đang ngày một tăng nhanh và lan rộng.Những thiết bị này không chỉ đem lại tiện lợi cho người sử dụng mà còn góp phầnphục vụ vào sự phát triển, công nghiệp hóa nông nghiệp, y tế, giao thông vận tải,giáo dục, Cùng với sự phát triển đó, công nghệ chế tạo robot cũng có sự chuyểnmình đáng kể Robot ngày càng đa dạng hơn về hình dáng, kích thước cũng nhưchức năng, giá cả, chẳng hạn như robot lau nhà, robot dò bom, mìn, robot làm bánh,robot vận chuyển, robot tưới tiêu,
An ninh cũng là một trong những lĩnh vực phát triển mạnh trong cuộc cáchmạng công nghệ này Chúng ta giờ đây có thể dễ dàng bắt gặp các camera ở mọingỏ ngách, nẻo đường, các ổ khóa điện tử thông minh, các thiết bị, robot, xe giámsát an ninh tuần tra quanh các doanh trại, trụ sở, Thật vậy, do thiếu nhân công,nhiều doanh nghiệp và công ty vận tải của Nhật Bản đã sử dụng robot hỗ trợ côngtác bảo đảm an ninh và giám sát Với thiết kế cao 1,2m, mỗi robot an ninh đượctrang bị một loạt công nghệ bảo đảm an ninh như camera với góc quay 360 độ, thiết
bị cảm biến nhiệt, máy dò kim loại Mỗi cặp robot sẽ làm nhiệm vụ tuần tra an ninhtại cảng hàng không số 1 và số 2 của sân bay Narita nằm ở tỉnh Chiba, giáp thủ đôTokyo [1] Còn tại ga tàu điện ngầm Ang Mo Kio ở Singapore, hai robot có tên làOB1FORC3 và K3NOBI vẫn đều đặn làm nhiệm vụ giám sát, chúng được trang bịcamera thông minh và cảm biến K3NOBI có chiều cao 1,9m với khả năng quan sát
360 độ Trong khi đó, OB1FORC3 nhỏ hơn nhưng lại có thể phóng đại hình ảnh ởkhoảng cách 200m Cả hai đều được cài đặt công nghệ nhận diện khuôn mặt và cóthể đảm đương nhiệm vụ thông báo khi cần thiết [2]
Tại nước ta, cũng đã có rất nhiều nghiên cứu, thiết kế, cụ thể trong số đó chính
là những Đồ Án Tốt Nghiệp được thực hiện, tạo ra những mô hình thực tế như năm
2018, Nguyễn Văn Lập – Hà Đăng Lộc với đề tài: “Thiết kế xe điều khiển từ xa cóLivestream Camera” [3], đề tài đã sử dụng vi điều khiển để điều khiển mô hình xe dichuyển và livestream video lên web server Hay tiếp theo là của Nguyễn Tiến Hòa vàNgô Minh Hiệp, năm 2019, với đề tài “Thiết kế và thi công mô hình xe thăm dò môitrường” [4], đề tài này đã sử dụng thêm hàng loại các cảm biến kết hợp với quá trìnhquan sát môi trường để gửi và cập nhật dữ liệu về độ ẩm, nhiệt độ,
lên webserver
Tóm lại, điều khiển và giám sát an ninh là tích hợp các hệ thống camera giámsát, hệ thống báo cháy, hệ thống cảnh báo rò rỉ khí gas, hệ thống phát hiện chuyểnđộng, hệ thống cảnh báo bằng loa, còi, hệ thống chiếu sáng, hệ thống đo thân nhiệt,
dò tìm kim loại, hệ thống theo dõi, hiển thị các thông số như nhiệt độ, độ ẩm, khóibụi, tia uv, nồng độ cacbon trong môi trường hoạt động, làm việc,… thành một thểthống nhất Hệ thống này thường yêu cầu khả năng tự vận hành hoặc dưới
Trang 20sự điều khiển của người dùng thông qua công cụ hỗ trợ như web, app Người sửdụng có thể truy cập từ xa để kiểm tra, cập nhật, theo dõi và điều khiển mô hình.
Từ những khảo sát trên, cùng với các kiến thức đã được trang bị, nhóm làm
đề tài kiến nghị thực hiện việc thiết kế và thi công một mô hình xe robot kết hợpđiều khiển quan sát hình ảnh, nhận dạng người lạ, chuyển động khác thường để gởicảnh báo cho người sử dụng, cảnh báo khi có khí gas, hỗ trợ chiếu sáng, cập nhậtgiá trị nhiệt độ, độ ẩm lên app điện thoại, cảnh báo bằng còi buzzer, có thể điềukhiển, theo dõi từ xa, ứng dụng trong các gia đình, nhà kho, Hệ thống có tên là
“Thiết kế và thi công mô hình xe robot giám sát an ninh hộ gia đình”.
1.2 MỤC TIÊU
Đề tài “Thiết kế và thi công mô hình xe robot giám sát an ninh hộ giađình” hướng đến mục tiêu hỗ trợ người dùng kiểm soát, cập nhật tình hình bêntrong, bên ngoài ngôi nhà, khu vườn, kho hàng của mình từ xa với các mục tiêuđược đề ra:
- Xe robot có thể hoạt động, di chuyển ổn định khi được điều khiển
- Camera quan sát được ở nhiều vị trí, nhiều góc độ khác nhau
- Có thể được điều khiển từ xa
- Có khả năng chiếu sáng
- Các dữ liệu nhiệt độ, độ ẩm, khí gas được cập nhật chính xác
- Nhận biết chuyển động, người lạ, chụp lại hình, gửi mail cảnh báo và hú còi để báo động
1.3 NỘI DUNG NGHIÊN CỨU
• NỘI DUNG 1: Tìm hiểu các mô hình xe robot, các hệ thống giám sát
an ninh thực tế
• NỘI DUNG 2: Tìm hiểu phương pháp livestream video
• NỘI DUNG 3: Tìm hiểu về web server, app android
• NỘI DUNG 4: Tìm hiểu về machine learning, thuật toán nhận dạng
khuôn mặt
• NỘI DUNG 5: Tính toán, lựa chọn các linh kiện cần thiết cho mô hình
xe robot
• NỘI DUNG 6: Lập trình cho hệ thống vi điều khiển
• NỘI DUNG 7: Thiết kế và thi công mô hình xe robot
Trang 211.5. BỐ CỤC
• Chương 1: Tổng Quan
Chương này trình bày tổng quan về các mô hình robot nói chung cũng nhưcác mô hình xe robot giám sát an ninh nói riêng Từ đó, đi đến làm rõ mụctiêu, nội dung nghiên cứu, giới hạn đề tài
• Chương 2: Cơ Sở Lý Thuyết
Chương này trình bày về các cơ sở lý thuyết được sử dụng trong mô hình xe robot
• Chương 3: Tính toán và Thiết Kế
Chương này trình bày các yêu cầu chi tiết về kỹ thuật từ đó tính toán, lựa chọn linh kiện phù hợp cho mô hình xe robot
• Chương 4: Thi công hệ thống
Chương này trình bày các giải thuật để lập trình cho hệ thống và quá trình thicông phần cứng mô hình xe robot
• Chương 5: Kết quả - nhận xét – đánh giá
Chương này trình bày kết quả đạt được, nhận xét và đánh giá về mô hình xe robot
• Chương 6: Kết luận và hướng phát triển
Chương này trình bày những kết luận về quá trình nghiên cứu và khả năng
Trang 22Chương 2 CƠ SỞ LÝ THUYẾT
2.1 GIỚI THIỆU
Chương này trình bày các cơ sở lý thuyết được sử dụng trong đề tài “Thiết kế vàthi công mô hình xe robot giám sát an ninh hộ gia đình” Các cơ sở lý thuyết này phảiphù hợp với các yêu cầu đã được đặt ra của mô hình như có khả năng livestream video,nhận dạng khuôn mặt người lạ để gửi cảnh báo về gmail, có giao diện web server đểđiều khiển chuyển động xe robot, góc quay camera, đèn, còi, có app điện thoại để cậpnhật, hiển thị các giá trị của cảm biến, có thể điều khiển từ xa qua wifi, internet,
2.2 TÌM HIỂU VỀ MACHINE LEARNING VÀ PHƯƠNG PHÁP
NHẬN DẠNG ĐỐI TƯỢNG VỚI BỘ PHÂN LOẠI XẾP TẦNG
2.2.1 Machine learning
2.2.1.1 Tổng quan
Machine learning (thuật toán máy học) là một lĩnh vực con của trí tuệ nhân tạo(Artificial Intelligence) sử dụng các thuật toán cho phép máy tính có thể học từ dữ liệu
để thực hiện các công việc thay vì được lập trình một cách rõ ràng [5]
Machine learning trên thực tế đã được ứng dụng khá rộng rãi, đặc biệt là trong xử
lý ảnh Bài toán xử lý ảnh (Image Processing) giải quyết các vấn đề phân tích thông tin
từ hình ảnh hay thực hiện một số phép biến đổi Một số ví dụ điển hình như:
- Gắn thẻ hình ảnh (Image Tagging), giống như Facebook, một thuật toán tựđộng phát hiện khuôn mặt của bạn và bạn bè trên những bức ảnh Về cơ bản,thuật toán này học từ những bức ảnh mà bạn tự gắn thẻ cho mình trước đó
- Nhận dạng ký tự (Optical Character Recognition), là một thuật toán chuyển dữliệu trên giấy tờ, văn bản thành dữ liệu số hóa Thuật toán phải học cách nhậnbiết ảnh chụp của một ký tự là ký tự nào
- Ô tô tự lái (Self-driving cars), một phần cơ chế sử dụng ở đây là xử lý ảnh.Một thuật toán machine learning giúp phát hiện các mép đường, biển báo haycác chướng ngại vật bằng cách xem xét từng khung hình video từ camera.Làm sao thuật toán có thể thể đưa ra đầu ra mong muốn từ tập dữ liệu đầu vào?
Nó cần một quá trình training sử dụng các dữ liệu training Một tập dữ liệu training baogồm nhiều mẫu training Mỗi mẫu training sẽ là một bài toán (có đầu vào và lời giải).Machine learning sẽ học từ các bài toán đó để tìm ra lời giải phù hợp với từng đầu vàomới Giống như bạn dạy 1 đứa trẻ cách ném quả bóng, bạn sẽ ném quả bóng vài lần chođứa trẻ quan sát, sau đó đứa trẻ sẽ bắt đầu học để tự ném quả bóng [5]
Các ví dụ trong tập training thường có một tập thuộc tính/ đặc trưng cố định Đó
là những thể hiện để mô tả về đối tượng đó Lựa chọn các đặc trưng thích hợp là mộtnhiệm vụ quan trọng trong machine learning [5]
2.2.1.2. Phân loại thuật toán machine learning
Trang 23Do vậy, mọi mẫu dữ liệu training trong tập dữ liệu training cần phải biết trướclabel của nó Học có giám sát bao gồm 2 loại nhỏ: classification (phân loại) vàregression (hồi quy) Học có giám sát là thuật toán phổ biến nhất trong các thuậttoán machine learning Hạn chế khi sử dụng thuật toán này là chúng ta cần cungcấp dữ liệu có gán nhãn Trong nhiều trường hợp, để có được dữ liệu gán nhãnnày tốn rất nhiều thời gian và công sức [5]
Học không giám sát
Các mẫu dữ liệu trong học không giám sát chỉ cần input mà không cần label Nóđược sử dụng nhiều trong việc khám phá cấu trúc và mối quan hệ của dữ liệu.Một thuật toán điển hình là bài toán phân cụm (clustering algorithm) Một sốthuật toán phân cụm như K-means học cách phân cụm chỉ từ tập dữ liệu đầu vào.[5]
2.2.2 Bộ phân loại xếp tầng (cascade classifiers)
Để hiểu rõ về cascade classifiers trước hết chúng ta cần tìm hiểu về một thuậttoán máy học có tên là Haar Cascade
Haar Cascade là một thuật toán máy học được sử dụng để xác định các đốitượng, vật thể trong các hình ảnh hoặc video được đề xuất và phát triển bởi Paul Viola
và Michael Jones trong tập sách có tên "Rapid Object Detection using a BoostedCascade of Simple Features" vào năm 2001 [6]
Haar Cascade là một thuật toán mà trong đó chức năng xếp tầng được training từrất nhiều dữ liệu hình ảnh khác nhau Sau đó, nó được sử dụng để phát hiện các đốitượng trong các hình ảnh khác Thuật toán có 4 giai đoạn:
Haar Feature Selection
Creating Integral Images
Adaboost Training
Cascading Classifiers
Thuật toán này nổi tiếng vì có thể phát hiện khuôn mặt và các bộ phận cơ thểtrong một hình ảnh, ngoài ra chúng ta có thể training thêm cho thuật toán để xác địnhhầu hết mọi đối tượng [6]
Lấy một ví dụ đơn giản về nhận diện khuôn mặt Ban đầu, thuật toán sẽ cần rấtnhiều hình ảnh về các khuôn mặt để tạo tiền đề cho việc training bộ phân loại [6]
Bước thứ nhất là chọn lựa các tính năng Haar (Haar Feature Selection) Một tínhnăng Haar được đặc trưng bởi các vùng hình chữ nhật liền kề tại một vị trí cụ thể trongcửa sổ nhận dạng, lấy tổng cường độ điểm ảnh ở mỗi vùng này và tính toán sự khácbiệt giữa các tổng Hình ảnh tích hợp (integral images) được dùng để làm việc tính toánnày nhanh hơn [6]
Trang 24Hình 2.1 Giai đoạn 1- Haar Feature Selection
Nhưng đôi lúc tất cả các tính năng đã được tính toán, hầu hết chúng đều khôngliên quan Ví dụ, hãy xem xét các hình ảnh ví dụ dưới đây Hàng trên cho thấy hai tínhnăng tốt Đặc điểm đầu tiên là các tính năng này khi tập trung vào vùng mắt thường tốihơn vùng mũi và má Đặc điểm thứ hai là khu vùng mắt và trán tối hơn ở sống mũi.Nhưng ở các cửa sổ tương tự áp dụng trên má hoặc vị trí khác lại không liên quan [6]
Hình 2.2 Hình ảnh ví dụ về các tính năng Haar
Vậy làm thế nào để chúng ta chọn các tính năng tốt nhất trong số vô vàn tínhnăng? Điều này được thực hiện bằng cách sử dụng một thuật toán có tên Adaboost,thuật toán này chọn các tính năng tốt nhất và huấn luyện các trình phân loại sử dụngchúng Adaboost xây dựng một trình phân loại mạnh mẽ với sự kết hợp tuyến tính củacác trình phân loại yếu hơn Quá trình này như sau [6]
Trong giai đoạn phát hiện, một cửa sổ nhỏ có khả năng target mục tiêu được dichuyển khắp theo hình ảnh đầu vào Sau đó các điểm ảnh trong vùng target được sosánh với một ngưỡng đã định để tìm ra sự khác biệt, từ đó phân tách các đối tượngkhông phải là đối tượng Bởi vì mỗi tính năng Haar chỉ là một "bộ phân loại yếu" (chấtlượng nhận dạng của nó tốt hơn một chút so với đoán ngẫu nhiên), nên cần một sốlượng lớn các tính năng Haar để có đủ độ chính xác Chính sự tổ chức, sắp xếp của các
bộ phân loại yếu thành các tầng phân loại đã tạo nên một bộ phân loại mạnh Bộ phânloại “mạnh” đó chính là cascade classifiers [6]
Cascade classifiers
Trang 25Hình 2.3 Quá trình phân loại của bộ phân loại xếp tầng cascade Cascade
classifiers bao gồm một tập hợp các giai đoạn, trong đó mỗi giai đoạn là
một nhóm gồm những weak learners Weak learners là các bộ phân loại đơn giản Mỗigiai đoạn được training bằng cách sử dụng một kỹ thuật gọi là boosting Boosting cungcấp khả năng training một bộ phân loại với độ chính xác cao bằng cách lấy trung bình
dữ liệu training của các bộ phân loại đơn giản từ những weak learners [6]
Mỗi giai đoạn trong quá trình phân loại sẽ gắn nhãn vùng được xác định bởi vịtrí hiện tại của cửa sổ target là dương hoặc âm Dương chỉ ra rằng đối tượng đã đượctìm thấy và âm chỉ ra không có đối tượng Nếu nhãn âm tính, việc phân loại tại vùngnày hoàn tất và cửa sổ target sẽ trượt sang vị trí tiếp theo Nếu nhãn là dương, bộ phânloại sẽ chuyển vùng sang giai đoạn tiếp theo Quá trình này diễn ra cho đến khi cửa sổtrượt đến vùng cuối bức ảnh [6]
Các giai đoạn được thiết kế để bỏ qua các mẫu âm tính càng nhanh càng tốt.Ngược lại, các mẫu dương tính phải được xem xét kĩ lưỡng
Một dương tính được xem là đúng khi các mẫu dương tính được phân loại chính xác
Một dương tính được xem là sai khi một mẫu âm tính được phân loại nhầm
Trang 26Hình 2.4 Các quá trình trong từng giai đoạn của bộ phân loại cascade
Trong đề tài này nhóm sẽ dùng bộ phân loại cascade được cài đặt sẵn trong thưviện opencv để nhận dạng khuôn mặt người, qua đó gửi mail cảnh báo người dùng Các gói nhận dạng này đều đã được training sẵn và nhóm sẽ trực tiếp sử dụng
2.3 GIỚI THIỆU VỀ WEB SERVER VÀ NGÔN NGỮ HTML
2.3.1 Web Server
2.3.1.1 Giới thiệu
Web server nghĩa là máy chủ Web server là máy tính lớn được kết nối với tậphợp mạng máy tính mở rộng Đây là một dạng máy chủ trên internet, mỗi máy chủ làmột IP khác nhau và có thể đọc các ngôn ngữ như file *.htm và *.html… Tóm lại máychủ là kho để chứa toàn bộ dữ liệu hoạt động trên internet mà nó được giao quyền quản
lý [7]
Web server phải là một máy tính có dung lượng lớn, tốc độ rất cao để có thể lưutrữ vận hành tốt một kho dữ liệu trên internet Các web server này phải đảm bảo hoạtđộng liên tục không ngừng nghỉ để duy trì cung cấp dữ liệu cho mạng lưới máy tính củamình [7]
2.3.1.2 Đặc điểm
Web server có thể xử lý dữ liệu và cung cấp thông tin đến máy khác thông quacác máy tính cá nhân trên môi trường Internet qua giao thức HTTP, giao thức được thiết
kế để gửi các file đến trình duyệt web và các giao thức khác [7]
Web server có thể là phần cứng hoặc phần mềm, hoặc cả hai Ở khía cạnh phầncứng, một web server là một máy tính lưu trữ các file thành phần của một website (vídụ: các tài liệu HTML, các file ảnh, CSS và các file JavaScript) và có thể phân phátchúng tới thiết bị của người dùng Ở khía cạnh phần mềm, một web server bao gồm một
số phần để điều khiển cách người sử dụng web truy cập tới các file được lưu trữ trênmột HTTP server (máy chủ HTTP) Một HTTP server là một phần mềm hiểu được cácURL (các địa chỉ web) và HTTP (giao thức trình duyệt của bạn sử dụng để xem cáctrang web) [7]
2.3.1.3 Các giao thức sử dụng của web server
Giao thức HTTP
Trang 27HTTP là giao thức cơ bản mà World Wide Web sử dụng để xác định cách cácthông điệp được định dạng và truyền tải ra sao, những hành động nào mà các web server
và các trình duyệt web phải làm để đáp ứng các lệnh [8]
Chẳng hạn, khi gõ một địa chỉ web URL vào trình duyệt web, một lệnh HTTP sẽđược gửi tới web server để ra lệnh và hướng dẫn tìm đúng trang web được yêu cầu vàkéo về mở trên trình duyệt web Nói cách khác, HTTP là giao thức truyền tải các file từmột web server vào một trình duyệt web để có thể xem một trang web đang hiện diệntrên internet HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP Có một tiêuchuẩn chính khác cũng điều khiển cách thức World Wide Web làm việc là HTML, cóchức năng quản lý cách thức mà các trang web được định dạng và hiển thị Người ta gọiHTTP là một giao thức phi trạng thái bởi vì mỗi lệnh đều được thực thi một cách độclập, lệnh sau không biết bất cứ điều gì về các lệnh đã đến trước Đây chính là một hạnchế khiếm khuyết của HTTP và nguyên nhân chính của tình trạng rất khó thực thi cáctrang web có khả năng phản ứng thông minh đối với lệnh được nạp vào [8]
Giao thức FTP
FTP là một giao thức dùng để tải lên các file từ một trạm làm việc hay máy tính
cá nhân tới một FTP server hoặc tải xuống các file từ một máy chủ FTP về một trạmlàm việc Đây là cách thức đơn giản nhất để truyền tải các file giữa các máy tính trêninternet FTP hiện được dùng phổ biến để upload các trang web từ nhà thiết kế web lênmột máy chủ host trên internet, truyền tải các file dữ liệu qua lại giữa các máy tính trêninternet, cũng như để tải các chương trình và các file từ các máy chủ khác về máy tính
2.3.2.2 Cấu trúc HTML
Cấu trúc của HTML với bố cục từ trên xuống dưới và từ trái qua phải với 2 phầnchính là head và body Các website viết bằng HTML đều tuân theo cấu trúc cơ bản nhưsau:
- Mọi trang HTML đều phải khai báo doctype (định nghĩa chuẩn văn bản) ngay từ dòng đầu tiên
- Thẻ <HTML> cho trình duyệt biết mở đầu và kết thúc của trang HTML
- Thẻ <head> chứa tiêu đề và các thông tin khai báo, các thông tin ẩn khác
- Thẻ <body> sẽ hiển thị nội dung của trang web
- Mọi kí tự nằm giữa dấu <!– và –> sẽ được xem là thẻ comment và sẽ bị trình duyệt bỏ qua, không xử lý và không hiển thị
<HTML>
<head>
Trang 28<title>Đây là thẻ đánh dấu tiêu đề trang web</title>
<! Comment: Các thông tin khai báo, các thông tin ẩn >
- Bên cạnh đó, HTML còn hỗ trợ rất nhiều thẻ khác nhằm tạo điều kiện cho người dùng
dễ dàng thiết kế như thẻ ngắt, thẻ thuộc tính, thẻ đề mục, thẻ danh sách,
Mặc dù HTML cũng có những thuộc tính giúp chúng ta định dạng màu sắc, kíchthước của một số thành phần trên web nhưng khi chúng ta muốn tùy chỉnh vị trí củamột phần tử hoặc tạo hiệu ứng cho phần tử thì HTML không thể làm được Lúc nàychúng ta sẽ cần sử dụng đến CSS, hay nói cách khác là kết hợp CSS với HTML để hoànthiện web [9]
*** Giới thiệu về CSS
CSS viết tắt của từ Cascading Style Sheets Với CSS chúng ta có thể thỏa sứcsáng tạo trong thiết kế website bằng cách tùy chỉnh vị trí các phần tử, màu sắc, màu nền,font chữ, thứ tự sắp xếp của các phần tử, hiệu ứng (đổ bóng, bo góc, xoay ) những điều
mà HTML gần như không thể làm được Thông thường CSS được nhúng vào webthông qua thẻ <style></style>
CSS gồm 3 phần: CSS selector (chọn phần tử HTML sẽ áp dụng hiệu ứng), property (thuộc tính CSS), value (giá trị CSS)
2.4 WIFI VÀ CÁC CHUẨN GIAO TIẾP
2.4.1 Giới thiệu
Wifi là từ viết tắt của Wireless Fidelity, nó là một hệ thống hoạt động dựa trênsóng vô tuyến không dây, hay còn được gọi là mạng IEEE 802.11 Wifi cho phép truycập mạng internet ở một khoảng cách xác định mà không cần kết nối vật lý Có 6 chuẩnwifi thông dụng hiện nay đó là a, b, g, n, ac, ad Trong đó chuẩn ac được sử dụng rộngrãi nhất trên điện thoại, máy tính và những thiết bị thông minh khác [10]
2.4.2 Đặc điểm
Sóng wifi ngày nay được sử dụng rộng rãi phục vụ đời sống con người, đặc điểmcủa sóng wifi là thu phát ở tần số từ 2.4 GHz đến 5 GHz, cao hơn so với sóng vô tuyếntruyền hình, sóng điện thoại và radio nên khá an toàn trong vấn đề bảo toàn thông tin khitruyền và nhận dữ liệu [10]
Ưu điểm của kết nối wifi là tính tiện dụng, đơn giản và gọn nhẹ so với kết nốitrực tiếp bằng cable truyền thống qua cổng RJ45 Người sử dụng có thể truy cập ở bất
cứ vị trí nào trong vùng bán kính phủ sóng mà tại đó router wifi làm trung tâm Ưu điểmthứ hai của mạng sử dụng wifi là dễ dàng sửa đổi và nâng cấp, người sử dụng có thểtăng băng thông truy cập, tăng số lượng người sử dụng mà không cần nâng cấp thêmrouter hay dây cắm như các kết nối bằng dây vật lý Thêm nữa, wifi có tính thuận tiện,người truy cập có thể duy trì kết nối kể cả khi đang di chuyển Bên cạnh đó, tính bảomật của mạng wifi tương đối cao [10]
Để một thiết bị có khả năng sử dụng wifi có thể kết nối internet, trước tiên nóphải được trang bị một bộ thu phát wifi Bộ thu thực chất là một thiết bị có khả năng thusóng wifi và chuyển sang tín hiệu sóng vô tuyến và truyền đi bằng một ăng-ten Các
Trang 29router đóng vai trò vừa là bộ thu vừa là bộ phát, nó nhận sóng vô tuyến là dữ liệu yêucầu được gửi đi từ thiết bị yêu cầu, sau đó chuyển đổi thành dữ liệu để truyền đi qua kếtnối vật lý [10]
Khi tìm thấy dữ liệu yêu cầu của thiết bị, các router mã hóa chúng thành sóng vôtuyến và gửi lại thông tin cho thiết bị gửi Trên máy tính, điện thoại và các thiết bị thôngminh khác thiết bị thu phát wifi được gọi là card mạng hay card wifi Một router có thểkết nối với nhiều thiết bị khác nhau để truyền tải dữ liệu yêu cầu [10]
2.4.3 Các chuẩn wifi
Chuẩn 802.11 b : thu phát ở tần số 2.4 GHz và có tốc độ truyền nhận dữ liệu lên
đến 11 megabit/s, sử dụng mã CCk để xử lý
Chuẩn 802.11 g : cùng đặc điểm với chuẩn b là tần số phát ở 2.4 GHz, nhưng nhờ
sử dụng mã OFDM nên tốc độ truyền nhận dữ liệu tăng lên đáng kể, đạt 54megabit/s
Chuẩn 802.11 a : chuẩn wifi này hoạt động ở tần số 5 GHz và có tốc độ truyền tương tự nhưchuẩn g với 54 megabit/s.
Chuẩn 802.11 n : công nghệ wifi mới phát triển trực tiếp trên chuẩn g do đó tần số hoạt độngvẫn dữ nguyên là 2.4 GHz nhưng tốc độ truyền tăng lên đáng kể, lên
đến 300 megabit/s
Chuẩn 802.11 ac : hoạt động trên băng tần 5 GHz là một trong số những chuẩn wifi có số thiết bị được tích hợp rộng lớn nhất hiện nay [10]
2.5 TÌM HIỂU VỀ CLOUD SERVER
2.5.1 Giới thiệu về cloud server
Cloud server (hay còn gọi là máy chủ đám mây) là cơ sở hạ tầng ảo được xâydựng để thực hiện việc lưu trữ xử lý thông tin và ứng dụng Cloud server là một sảnphẩm máy chủ tương tự như một chiếc máy chủ ảo nhưng được thiết lập thêm côngnghệ cloud computing (công nghệ điện toán đám mây) Trong đề tài này, nhóm sẽ gửi dữliệu các cảm biến lên firebase, một nền tảng đám mây miễn phí, firebase sẽ là cầu nốigiữa esp8266 và app android [11]
Cấu hình cao và chuyên dụng
Cloud server sử dụng hệ thống server chuyên dụng của các hãng sản xuất hàng đầu như Cisco, Dell, với cấu hình cao và nền tảng network vững chắc [11]
2.6. APP ANDROID VÀ PHƯƠNG PHÁP LẬP TRÌNH KÉO THẢ
Trang 302.6.1 App android
App android là các ứng dụng chỉ có thể được viết bằng một vài ngôn ngữ đặctrưng, có thể kể đến như C++, C#, Javacript, LUA, Python,…dành riêng cho nền tảngandroid của thiết bị di động App android cho phép bạn duyệt web, chụp và chỉnh sửaảnh, nghe nhạc, gọi điện thoại miễn phí, truy cập tài khoản Gmail, nhận chỉ đường bằngGoogle Maps… Vậy làm thế nào để lập trình android? [12]
Lập trình là thiết kế và xây dựng, bảo trì các chương trình phần mềm trên máytính từ việc sử dụng các đoạn mã từ các ngôn ngữ lập trình khác nhau để tạo ra các ứngdụng, phần mềm như mong muốn Lập trình android nghĩa là sử dụng các ngôn ngữ lậptrình để viết và phát triển các phần mềm chạy trên nền tảng android Các ngôn ngữthường được dùng để lập trình ứng dụng android bao gồm Java, SQL, SDK, XML, [12]
2.6.2 Lập trình kéo thả
Lập trình “kéo – thả” là một kỹ năng cơ bản cho phép bạn dựng code bằng cáchkéo và thả các khối hoặc các gợi ý trực quan thay vì tự viết các code dạng text Kỹ năngnày giúp người học dễ hiểu về các kiến thức lập trình cơ bản hơn mà không bị vướngvào việc tỉ mỉ sắp xếp các ký tự Phương pháp này thường được sử dụng trên các phầnmềm kéo thả chuyên dụng Phần mềm thiết kế web kéo thả không cần code là một phầnmềm cung cấp sẵn những tính năng tiện lợi cho người dùng Bạn hoàn toàn tạo đượcmột website, một ứng dụng cho riêng mình mà không cần đến những kiến thức chuyênsâu về lập trình, không cần mất thời gian viết mã code [12]
Lợi ích của phương pháp lập trình này là tiện lợi, dễ sử dụng và tiết kiệm rấtnhiều thời gian, công sức Nó phù hợp cho tất cả mọi người, từ những cá nhân, doanhnghiệp, người không chuyên đến ngay cả các lập trình viên cũng có thể sử dụng Chỉ cầnthao tác chuột click, kéo thả, lựa chọn từ tài nguyên sẵn có Thay vì mất hàng giờ đồng
hồ vật lộn cùng lượng kiến thức khổng lồ liên quan đến code, chưa kể đến rủi ro lỗitrong quá trình lập trình, các phần mềm này tiết kiệm thời gian hơn hẳn Ngay cả các lậptrình viên chuyên nghiệp cũng lựa chọn sử dụng trong nhiều trường hợp vì tính nhanhgọn của nó [12]
2.7 TỔNG QUAN VỀ HỆ THỐNG HTTP LIVESTREAM VIDEO
2.7.1 Giới thiệu
Livestream video là một thuật ngữ nói về việc các nội dung, các dữ liệu mediađược thu lại, xử lý rồi truyền tải trực tiếp qua mạng Internet tới người dùng trong cùngmột thời điểm Vì là một kỹ thuật được thực hiện theo thời gian thực, nên tùy vào từngtrường hợp, từng hệ thống server mà khi nhận được dữ liệu, video chạy trên thiết bị củangười dùng sẽ có độ trễ nhất định so với các tình huống thực tế đang xảy ra [13]
Livestream video hoạt động bằng cách chia nhỏ các file media thành từng frame,sau đó gửi những frame này vào bộ nhớ đệm của máy tính và hiển thị nội dung lần lượtcủa từng fame Trong khi người dùng đang sử dụng dữ liệu của những tập tin này thìframe của những tập tin khác vẫn tiếp tục được tải về Server sẽ yêu cầu một phươngthức để mã hóa các dữ liệu media đầu vào, sau đó sẽ phân đoạn các dữ liệu đó thành cácsegment và lưu chúng dưới dạng file.[13]
Trang 31Hình 2.5 Cấu trúc tổng quan HTTP Streaming
2.7.2 Một số giao thức chính sử dụng trong streaming
TCP/IP
RTP (Real Time Transport Protocol)
Giao thức vận chuyển thời gian thực RTP đặc tả một tiêu chuẩn định dạng gói tin dùng để truyền âm thanh và hình ảnh qua internet
RTSP (Real Time Streaming Protocol)
RTSP là một giao thức ở tầng ứng dụng trong bộ các giao thức Internet (InternetProtocol Suite) để kiểm soát việc truyền dữ liệu theo thời gian thực RTSP cungcấp một nền tảng mở rộng cho phép kiểm soát, truyền theo yêu cầu của dữ liệuthời gian thực, chẳng hạn như âm thanh và video
RTMP (Real Time Messaging Protocol)
RTMP là giao thức không công khai do Adobe phát triển và giữ bản quyền, đượcthiết kế cho ứng dụng thời gian thực, cho phép truyền video và âm thanh với tốc
độ nhanh, hạn chế bị giật hình hoặc méo tiếng [13]
Về cơ bản, Port Forwarding cho phép máy tính bên ngoài kết nối đến máy tínhbên trong mạng nội bộ Thông thường, router/server mở sẵn một số port, chẳng hạn port
21 cho dịch vụ chia sẻ tập tin qua FTP, port 80 cho các máy chủ dịch vụ web (webserver) Để quản lý Port Forwarding, các hệ điều hành sẽ được cài đặt sẵn cách dịch vụtương ứng trong nhân (kernel), tường lửa ip (ipfirewall) [14]
2.8.2 Ứng dụng
Trang 32Port Forwarding được sử dụng rộng rãi, đặc biệt là trong các văn phòng, trườnghọc và gia đình có nhiều máy tính kết nối Internet Chẳng hạn, trong mạng nội bộ tạinhà, các máy tính sẽ kết nối đến router thông qua cáp hay không dây (Wi-Fi) Trongtrường hợp này, router sẽ giống như "nhà ngoại giao" cho tất cả các máy tính kết nốiđến nó Ngoài mạng Internet này ra, các máy tính ko thể truy cập đến nhau được Lúcnày, máy tính cần có Port Forwarding để gửi các yêu cầu đến router, sau đó, router mớichuyển tiếp các yêu cầu đến đúng địa chỉ thông qua Internet [14]
Port Forwarding cũng được sử dụng phổ biến ở các hệ điều hành Unix, trong đóport 1024 chỉ người quản trị cao nhất (root admin) mới có quyền truy cập Khi chạy vớiquyền user, người dùng thường chuyển đến port thấp hay cao hơn port 1024 Chẳnghạn, các admin thường hay chuyển hướng lưu lượng truy cập từ cổng 80 (cổng bị giớihạn) vào một cổng an toàn hơn như 8080 Điều này được thực hiện thông qua một hoặc
cả hai giao thức TCP và UDP [14]
Trang 33Chương 3 TÍNH TOÁN VÀ THIẾT KẾ
3.1 GIỚI THIỆU
Đề tài “nghiên cứu và thiết kế mô hình xe robot giám sát an ninh hộ gia đình” củanhóm sẽ tập trung vào nhiệm vụ xây dựng, thiết kế một mô hình xe robot có cấu tạokhông quá phức tạp, thay vào đó sẽ đơn giản và gần gũi với người sử dụng, bên cạnh đósản phẩm vẫn đáp ứng được các yêu cầu ban đầu đã đề ra như có khả năng di chuyểnlinh hoạt xung quanh nhà, camera tùy chỉnh với các góc quay linh động, cập nhật các giátrị của cảm biến, nhận dạng người lạ và gửi cảnh báo đến mail cá nhân hay dễ dàng kếtnối và điều khiển từ xa qua wifi
Mô hình cần được thiết kế với các hệ thống như:
Hệ thống xe robot : thiết kế phần cứng gồm khung xe, bánh xe,
Hệ thống điều khiển trung tâm : sử dụng các vi xử lý.
Hệ thống điều khiển động cơ : sử dụng động cơ và mạch điều khiển động cơ
Hệ thống điều khiển vị trí camera : sử dụng servo.
Hệ thống giám sát : phục vụ chức năng chính của mô hình là hỗ trợ cảnh báo, giám sát thông qua camera, cảm biến.
Hệ thống web server và app android: sử dụng giao diện web để livestream video kết hợp điều khiển xe và sử dụng app để theo dõi các giá trị cảm biến.
Hệ thống nguồn : cấp nguồn cho toàn hệ thống.
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.2.1 Thiết kế mô hình xe robot
Trước khi thiết kế mô hình xe robot, nhóm sẽ lập một vài bản vẽ, sơ đồ bố trí linhkiện, các khối cần thiết của toàn hệ thống để ước lượng, khái quát, định hình kiểu dáng,kích thước khung xe robot
Trang 34Hình 3.1 Sơ đồ bố trí linh kiện (1)
Hình 3.2 Sơ đồ bố trí linh kiện (2)
Kích thước khung xe robot nhóm ước lượng rơi vào khoảng 25 x 15 x 15cm (dài
x rộng x cao), căn cứ vào sự sắp xếp, bố trí khoảng cách giữa các phần tử linh kiện xerobot Với kích thước này, xe robot có thể không quá lớn nhưng đủ vừa vặn để đặt tất cảlinh kiện lên Bên cạnh đó, trọng lượng của mô hình xe robot tỉ lệ nghịch với tốc độ xerobot, nếu trọng lượng xe robot lớn, xe robot sẽ chạy chậm hơn Tốc độ xe robot quánhanh, hay quá chậm phụ thuộc một phần lớn vào trọng lượng xe robot, chính là trọnglượng khung xe robot và các linh kiện đặt trên xe robot Với chức năng giám sát thì tốc
độ xe robot nên được giữ ở mức thấp và ổn định Ngoài ra khung xe robot sẽ phải đượcthiết kế gồm 2 phần có thể ghép nối lại với nhau và cố định bằng ốc vít, để dễ dàng tháo
mở, lắp đặt, chỉnh sửa, sạc pin
Tiếp đến, nhóm bắt tay vào thiết kế khung xe robot bằng phần mềm chuyên dụng.Khung xe robot này sẽ được vẽ và in 3d ra thành phẩm, chất liệu khung xe robot là nhựa.Phần mềm nhóm dùng mang tên Creo Parametric
*** Giới thiệu về Creo Parametric
Creo Parametric là một trong những phần mềm CAD/CAM nổi tiếng của công tyParametric Technology Corporation Phần mềm này chuyên dùng trong lĩnh vực thiết kế
và gia công khuôn mẫu Ưu điểm:
Creo Parametric hỗ trợ người dùng lên kích thước tự động, giúp gia tăng năng suất thiết kế gấp nhiều lần
Phần mềm có công cụ biến dạng bề mặt chi tiết, thiết kế các chi tiết có hình dạng phức tạp với thao tác rất đơn giản
Dễ dàng thao tác sử dụng
Các chi tiết thiết kế đều tồn tại dưới dạng tham số nên dễ thay đổi và chỉnh sửa
Hỗ trợ hiển thị chi tiết ở nhiều dạng,…
Trang 35Hình 3.3 Thiết kế khung xe robot với creo
Hình 3.4 Mặt trên (trái) và mặt dưới (phải) khung xe robot
Hình 3.5 Mặt trước (trái) và mặt hông (phải) khung xe robot
Thông số khung xe thiết kế:
o Kích thước : 20 x 15 x
10cm o Trọng lượng : 250g
Hình 3.6 Khung xe robot sau khi in 3d
Trang 363.2.2 Thiết kế sơ đồ khối hệ thống
Hình 3.7 Sơ đồ khối hệ thống
Chức năng từng khối :
Khối nguồn: Cấp nguồn cho toàn bộ hệ thống
Khối vi xử lý trung tâm: Sử dụng bo Raspberry Pi 3 để điều khiển, tiếp nhận cáctín hiệu hồi tiếp từ các khối còn lại Thêm vào đó là dùng Esp8266 để giao tiếpvới các cảm biến
Khối giám sát, thu thập hình ảnh: Thu thập hình ảnh bằng camera, truyền về khối
vi xử lý trung tâm để xử lý Ngoài ra khối này còn có chức năng nhận dạng người
lạ bằng các thuật toán nhận dạng sau đó gửi mail cho người dùng để nhắc nhở,cảnh báo Khối này còn có các cảm biến với các chức năng khác nhau như PIR đểphát hiện chuyển động và báo động, DHT11 để đo nhiệt độ, độ ẩm, MQ2 để kiểmtra khí gas Các giá trị này đều sẽ được cập nhật lên app android
Khối động cơ: Nhận tín hiệu từ khối vi xử lý trung tâm để điều khiển động cơ được gắn nối với các bánh xe phục vụ mục đích di chuyển.
Khối điều chỉnh góc quay: Nhận tín hiệu điều khiển từ khối vi xử lý trung tâm đểđiều khiển các servo được ghép nối lại với nhau thành một cơ cấu đơn giản, giúpthay đổi các góc nhìn cho camera
3.2.3 Tính toán, lựa chọn, thiết kế mạch
a Lựa chọn, thiết kế khối vi xử lý trung tâm
Chức năng của khối
Điều khiển, tiếp nhận các tín hiệu hồi tiếp từ các khối khác Bên cạnh đó khốicần có khả năng giao tiếp với camera để livestream video, giao tiếp với nhiều
Trang 37ngoại vi cần thiết như relay, servo, động cơ DC, Ngoài ra khối phải kết nốiđược với wifi để truyền dữ liệu video thu được từ camera lên web server cũngnhư thông qua web để nhận tín hiệu về điều khiển xe.
Phân tích lựa chọn linh kiện
Để đáp ứng các chức năng trên ta có thể dùng bo ESP32, Raspberry Pi Zero,ESP8266, Arduino, Arm, tuy nhiên Raspberry Pi 3 vẫn là lựa chọn số 1, dù giáthành cao hơn nhưng đáp ứng tốt các yêu cầu đề ra, có khả năng mở rộng, tốc độ
xử lý nhanh và mạnh Raspberry Pi 3 có nhiều dòng, nhiều mẫu, nhóm quyết địnhchọn Raspberry Pi 3 Model B để làm vi xử lý trung tâm
Raspberry Pi 3 Model B
Hình 3.8 Sơ đồ chân Raspberry Pi 3 Model B
Hình 3.9 Mặt trên của Raspberry Pi 3 Model B
Thông số kỹ thuật
Bộ xử lý
BCM2387 Broadcom chipset
1.2GHz Quad-Core ARM Cortex-A53 (64Bit)
Hỗ trợ kết nối Wifi theo các chuẩn 802.11 b/g/n và Bluetooth
4.1 GPU (Graphics Processing Unit)
Gồm bộ đồng xử lý đa phương tiện lõi kép Video Core IV® Hỗ trợ OpenGL ES 2.0, Open VG giúp tăng tốc phần cứng và độ nét tương đối cao, lên tới
Trang 38 Ngõ ra video : HDMI (rev 1.3 & 1.4), RCA( PAL & NTSC)
Ngõ ra audio : Jack 3.5mm, HDMI, USB
GPIO : 40 chân chia thành 2 dãy, gồm 27 chân GPIO và các chân khác nhƣ
+3.3V, +5V, GND
Kết nối camera : theo giao thức CSI-2( Camera Serial Interface)
Kết nối hiển thị : theo giao thức DSI ( Display Serial Interface)
Khe gắn thẻ nhớ : Push/ Pull Micro SDIO
Relay
Relay đƣợc sử dụng để gián tiếp bật tắt hệ thống chiếu sáng cho mô hình xerobot Vì hệ thống có sẵn nguồn 12V cấp cho động cơ nên nhóm quyết định dùngled 12V siêu sáng
Hình 3.11 Sơ đồ nguyên lý module relay 5V 1 kênh
Nguyên lý hoạt động mạch relay 1 kênh : dùng tín hiệu từ chân ngõ ra vi xử lý đểkích cho transistor dẫn, khi đó sẽ có dòng điện đi qua cuộn dây bên trong relay, nhờ
đó relay đƣợc điều khiển để đóng hoặc mở, led xanh lá để báo hiệu quá trình điềukhiển, led đỏ là led nguồn Diode mắc song song với cuộn dây là diode
Trang 39flyback, được dùng để loại bỏ dòng điện cảm ứng sinh ra khi đóng ngắt tiếp điểm.
Ở một số mạch, người ta còn dùng thêm opto để cách ly phần tải với phần điều khiển
Hình 3.12 Module Relay 1 kênh 5V Bảng 3.1 Thông số kĩ thuật module relay 1 kênh 5V
Điện áp tải tối đa AC 250V-10A / DC 30V-10AĐiện áp điều khiển 5 VDC
Dòng kích Relay 5mATrạng thái kích Mức thấp (0V)Trọng lượng 17 g
Kích thước 50 * 26 * 18.5 mm
Sơ đồ nguyên lý khối điều khiển trung tâm
Hình 3.13 Sơ đồ nguyên lý khối điều khiển trung tâm
Giải thích sơ đồ nguyên lý
Trang 40Pi sau khi được cấp nguồn sẽ đi giao tiếp, điều khiển các ngoại vi như
camera, relay, buzzer, l298n, servo,
NodeMCU Esp8266
Ở khối này, nhóm còn dùng thêm NodeMCU Esp8266 để giao tiếp với cáccảm biến Esp8266 nhỏ, gọn, có khả năng kết nối wifi, rất phù hợp với yêu cầucủa hệ thống
Hình 3.14 Sơ đồ chân NodeMCU Esp8266
Số chân I/O: 11 (tất cả các chân I/O đều có Interrupt/PWM/I2C/One-wire, trừ chân D0)
Số chân Analog Input: 1
b Lựa chọn, thiết kế khối giám sát, thu thập hình ảnh
Chức năng của khối
Thu thập hình ảnh, livestream video bằng camera, truyền về khối vi xử lýtrung tâm để xử lý Nhận dạng người lạ bằng các thuật toán nhận dạng sau đó gửimail cho người dùng để nhắc nhở, cảnh báo Bên cạnh đó, khối cần có thêm chứcnăng phát hiện chuyển động, cũng như kiểm soát các yếu tố nhiệt độ, độ ẩm, khígas, trong nhà