1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế và thi công mô hình xe robot giám sát an ninh hộ gia đình

96 66 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 96
Dung lượng 7,43 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

[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 1

TRƯỜ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 2

KHOA Đ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 3

TRƯỜ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 4

IV 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 5

TRƯỜ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 6

Tuầ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 7

LỜ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 8

LỜ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 9

MỤ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 10

2.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 11

5.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 12

LIỆ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 13

Hì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 14

Hì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 15

LIỆ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 16

HTTP 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 17

FPS 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 18

TÓ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 19

Chươ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 20

sự đ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 21

1.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 22

Chươ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 23

Do 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 24

Hì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 25

Hì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 26

Hì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 27

HTTP 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 29

router đó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 30

2.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 31

Hì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 32

Port 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 33

Chươ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 34

Hì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 35

Hì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 36

3.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 37

ngoạ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 39

flyback, đượ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 40

Pi 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à

Ngày đăng: 26/05/2021, 10:41

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w