BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP
NGHIÊN CỨU, THIẾT KẾ, CHẾ TẠO XE TỰ HÀNH
NGÀNH: KỸ THUẬT ĐIỆN - ĐIỆN TỬ
GIẢNG VIÊN HƯỚNG DẪN: TH.S PHẠM QUỐC PHƯƠNG
Sinh viên thực hiện:
MSSV:
Lớp:
Nguyễn Hồng Anh
1711020248
17DDCA2
Nguyễn Hồng Thiện
1711040123
17DDCB1
Đỗ Đăng Khoa
1711020024
17DDCB1
Tp. Hồ Chí Minh, tháng 09/2021
BM01/QT05/ĐT-KT
VIỆN KỸ THUẬT HUTECH
PHIẾU ĐĂNG KÝ
ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP
Hệ: Chính Quy
1. Họ và tên sinh viên/ nhóm sinh viên đăng ký đề tài (sĩ số trong nhóm: 3)
1. Họ và tên : Nguyễn Hoàng Anh
Điện thoại: 0797383094
2. Họ và tên: Đỗ Đăng khoa
Điện thoại: 0969409862
3. Họ và tên: Nguyễn Hoàng Thiện
Điện thoại: 0377131354
MSSV: 1711020248
Lớp: 17DDCA2
Email:
MSSV: 1711020024
Lớp: 17DDCB1
Email:
MSSV: 1711040123
Lớp: 17DDCB1
Email:
Ngành : Kỹ Thuật Điện.
Chuyên ngành : Điện – Điện tử.
2. Tên đề tài đăng ký: Nghiên cứu, thiết kế, chế tạo xe tự hành
Sinh viên đã hiểu rõ yêu cầu của đề tài và cam kết thực hiện đề tài theo tiến độ và
hoàn thành đúng thời hạn.
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)
TP. HCM, ngày 01 tháng 9 năm 2021
Sinh viên đăng ký
(Ký và ghi rõ họ tên)
LỜI CẢM ƠN
Ngày nay, nền khoa học kỹ thuật đang phát triển như vũ bão, rất nhiều các phát
minh, sản phẩm công nghệ mới ra đời. Các robot tự động đang là xu hướng cơng nghệ
tương lai vì sự tiện dụng, khả năng hoạt động chính xác trong các điều khiện khắc nghiệt
với con người. Một yêu cầu cơ bản của các robot tự động là khả năng hoạt động theo
chức năng mong muốn mà không cần sự can thiệp của con người trong quá trình làm
việc. Đây là cơ hội, cũng là thách thức cho các sinh viên kỹ thuật nói chung và sinh viên
trường Đại học Cơng Nghệ TPHCM nói riêng. Để chuẩn bị kiến thức và kỹ năng cần
thiết trong bối cảnh nói trên, mơn học Đồ án tốt nghiệp được đưa vào chương trình đào
tạo kỹ sư Điện - Điện tử để cho sinh viên môi trường làm việc sáng tạo, thực hiện các ý
tưởng kỹ thuật. Trong môn học này, duới sự hướng dẫn của Th.S Phạm Quốc Phương,
nhóm chúng em thực hiện đề tài Nghiên cứu, thiết kế, chế tạo xe tự hành.
Chúng em xin cảm ơn sự hướng dẫn, chia sẻ tận tình của Th.S Phạm Quốc
Phương giúp chúng em hoàn thành để tài này. Trong thời lượng hạn chể của môn học,
với kỹ năng và kinh nghiệm ít ỏi, chúng em khơng thể tránh khỏi những sai sót, rất mong
được sự góp ý của thầy và các bạn để để tài được hoàn thiện hơn.
Xin chân thành cảm ơn!
ii
MỤC LỤC
LỜI CAM ĐOAN………………………………………………………………………i
LỜI CẢM ƠN…………………………………………………………………………..ii
MỤC LỤC ...................................................................................................................... iii
DANH SÁCH CÁC HÌNH .............................................................................................vi
DANH SÁCH CÁC BẢNG ...........................................................................................vii
LỜI MỞ ĐẦU .................................................................................................................. 1
Chương 1 GIỚI THIỆU ................................................................................................... 2
1.1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI ....................................................................... 2
1.2. TÌNH HÌNH NGHIÊN CỨU……………………………………………………2
1.3. MỤC ĐÍCH NGHIÊN CỨU………………………...……………………….....3
1.4. NHIỆM VỤ NGHIÊN CỨU ................................................................................ 4
1.5. PHƯƠNG PHÁP NGHIÊN CỨU........................................................................ 4
1.6. CÁC KẾT QUẢ ĐẠT ĐƯỢC CỦA ĐỀ TÀI ...................................................... 4
1.7. KẾT CẤU CỦA ĐỀ TÀI………..……………...……………………………….5
Chương 2 TỔNG QUAN GIẢI PHÁP………………………………………………….6
2.1. SƠ LƯỢC VỀ KIT RASPBERRY VÀ CAMERA PI .......................................... 6
2.1.1 Raspberry là gì?............................................................................................... 6
2.1.2. Ứng dụng của Raspberry Pi…………………………………………………7
2.1.3 Cấu trúc phần cứng Raspberry Pi 4………………………………………….9
2.1.4. Giới thiệu về camera Pi ................................................................................ 12
2.1.5. Các hệ điều hành .......................................................................................... 13
2.2. TÌM HIỂU VỀ HỆ ĐIỀU HÀNH RASPBIAN .................................................. 16
2.2.1. Lịch sử phát triển ......................................................................................... 17
2.2.2. Hướng dẫn cài đặt hệ điều hành Raspbian cho Raspberri Pi 4 .................... 17
2.3. TÌM HIỂU VỀ NGƠN NGỮ PYTHON ............................................................. 19
iii
2.3.1. Lịch sự phát triển ......................................................................................... 19
2.3.2. Phiên bản ...................................................................................................... 20
2.3.3. Một số điểm khác biện giữa phiên bản 3x và 2x ......................................... 20
2.3.4. Đặc điểm của Python ................................................................................... 22
Chương 3 PHƯƠNG PHÁP GIẢI QUYẾT................................................................... 23
3.1. SƠ LƯỢC VỀ XỬ LÝ ẢNH .............................................................................. 23
3.1.1 Tìm hiểu về xử lý ảnh .................................................................................. 23
3.1.2. Các bước cơ bản xử lý ảnh ........................................................................... 30
3.1.3. Ứng dụng nhận diện làn đường cho xe tự hành ........................................... 33
3.2. TÌM HIỂU VỀ THƯ VIỆN OPENCV............................................................... 39
Chương 4. QUY TRÌNH THIẾT KẾ………………………………………….......…..44
4.1. CÁC YÊU CẦU KỸ THUẬT KHI THIẾT KẾ MƠ HÌNH ............................... 43
4.1.1. u cầu kỹ thuật…………………………………………………………...44
4.1.2. Yêu cầu kinh tế............................................................................................. 43
4.2. KẾT NỐI CÁC THIẾT BỊ NGOẠI VI CHO HỆ THỐNG MÁY TÍNH
NHÚNG RASPBERRY…………………...…………………………………………..44
4.2.1. Sơ đồ kết nối và khởi động Raspberry ......................................................... 43
4.2.2. Cài đặt gói thư viện OpenCV và các gói thư viện bổ trợ ............................. 45
Chương 5 THI CÔNG, MÔ PHỎNG............................................................................. 54
5.1 THIẾT KẾ MƠ HÌNH VÀ LẬP TRÌNH HỆ THỐNG ....................................... 54
5.1.1. Thiết kế mơ hình .......................................................................................... 54
5.1.2. Lập trình cho hệ thống ................................................................................. 55
5.2. MỘT SỐ HÌNH ẢNH TRONG QUÁ TRÌNH THI CƠNG…………………..70
Chương 6 ĐÁNH GIÁ KẾT QUẢ, KẾT LUẬN……………………………………...71
6.1. ĐÁNH GIÁ KẾT QUẢ………………………………………………………...71
6.2. KẾT LUẬN ......................................................................................................... 72
6.2.1. Kết quả đạt được.......................................................................................... 73
iv
6.2.2 Điểm mới của đề tài………………………………………………………..73
6.2.3. Những mặt hạn chế...................................................................................... 74
6.3. HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI NGHIÊN CỨU .................................... 74
TÀI LIỆU THAM KHẢO .............................................................................................. 75
PHỤC LỤC……………………………………………………………………………76
v
DANH SÁCH CÁC HÌNH
Hình 1. 1: Mẫu xe tự hành thơng minh đầu tiên ở Việt Nam…………………………..3
Hình 2. 1: Raspberry Pi 4 Module B .............................................................................. 10
Hình 2. 2: Sơ đồ các chân GPIO của Raspberry Pi 4 Module B ................................... 11
Hình 2. 3: Camera PI v1.3 .............................................................................................. 12
Hình 3. 1: Lân cân 4 và lân cận 8 ................................................................................... 25
Hình 3. 2: Sơ đồ khối các bước cơ bản xử lý ảnh .......................................................... 31
Hình 3. 3: Lưu đồ các bước ứng dụng xử lý ảnh nhận dạng làn đường ........................ 34
Hình 3. 4: Bộ lọc Gaussian ............................................................................................ 36
Hình 3. 5: Xác định biên ................................................................................................ 37
Hình 3. 6: Sơ đồ khối tổ chức thư viên OpenCV ........................................................... 40
Hình 4. 1: Sơ đồ kết nối các thiết bị ngoại vi cho Raspberry ........................................ 44
Hình 4. 2: Giao diện của hệ điều hành Raspbian ........................................................... 46
Hình 5. 1: Sơ đơ khối mơ hình ....................................................................................... 54
Hình 5. 2: Sơ đồ kết nối mơ hình ................................................................................... 55
Hình 5. 3: Lưu đồ chính của mơ hình ............................................................................ 56
Hình 5. 4: Lưu đồ các bước tiền xử lý và tách biên ....................................................... 58
Hình 5. 5: Chương trình chuyển đổi ảnh xám ................................................................ 59
Hình 5. 6: Ảnh trước và sau khi chuyển đổi ảnh xám.................................................... 60
Hình 5. 7: Chương trình lọc nhiểu Blur ......................................................................... 60
Hình 5. 8: Ảnh xám trước và sau khi lọc nhiễu ............................................................. 61
Hình 5. 9: Chương trình phát hiện cạnh Canny ............................................................. 61
Hình 5. 10: Ảnh được xử lý lấy cạnh sau khi lọc nhiễu................................................. 62
Hình 5. 11: Chương trình cắt lấy vùng ROI ................................................................... 63
Hình 5. 12: Lưu đồ nhận diện làn đường và xuất tín hiệu điều khiển ........................... 64
Hình 5. 13: Chương trình xác định 2 đường phân cách trái phải của làn đường ........... 65
Hình 5. 14: Chương trình xác định góc lái ..................................................................... 66
Hình 5. 15: Chương trình tính độ lệch của góc lái so với 900 ........................................ 67
Hình 5. 16: Thêm thư viện và chương trình cấu hình các chân IO của Raspberry ........ 68
Hình 5. 17: Chương trình xuất tín hiệu điều khiển 2 động cơ dựa vào độ lệch ............. 69
Hình 5. 18: Ảnh kết nối Rasperry với máy tính thực tế…………………...…………..69
Hình 5. 19: Ảnh thực tế làn đường tại đoạn đường thẳng.............................................. 69
Hình 5. 20: Ảnh làn đường tài đoạn đường thằng.......................................................... 70
VI
DANH SÁCH CÁC BẢNG
Bảng 2. 1: Các phiên bản của Python ............................................................................ 20
Bảng 6. 1: Bảng kết quả thực nghiệm 10 lần ................................................................. 67
vii
LỜI MỞ ĐẦU
Theo dự đốn thì sau cuộc cách mạng lớn về internet sẽ là cuộc cách mạng về lĩnh
vực robot. Các Robot được ứng dụng trong đời sống ngày càng nhiều như robot vận
chuyển hàng hóa, robot kiểm tra nguy hiểm, robot xe lăn cho người khuyết tật, robot
phục vụ sinh hoạt gia đình…
Cùng với sự phát triển của khoa học kỹ thuật và nhu câu đi lại ngày càng tăng, số
lượng phương tiện giao thông trên đường ngày càng đông đúc. Với số lượng phương tiện
giao thông lớn và không ngừng tăng như vậy nảy sinh nhiều vấn đề trong việc lưu thơng
cũng như an tồn khi tham gia giao thông. Để giải quyết những vấn đề này nhu cầu đặt
ra là áp dụng các hệ thống tự động nhằm hỗ trợ các tài xế.
Nhằm từng bước tiếp cận và tạo nền tảng cho quá trình nghiên cứu ứng dụng các
công nghệ vào các sản phẩm phù hợp thực thế, nhóm đồ án chúng em đã chọn đề tài:
“Nghiên cứu, thiết kế, chế tạo xe tự hành” từ hình ảnh, video được thu về từ Camera và
các thiết bị ghi hình kỹ thuật số. Nhằm trợ giúp cho các phương tiện lưu thơng trên đường
một cách an tồn hơn, tránh được việc bị chệch làn đường dẫn đến những va chạm giao
thông.
1
Chương 1
GIỚI THIỆU
1.1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Ngày nay, cơng nghệ xử lý ảnh chiếm vị trí cực kỳ quan trọng trọng guồng máy
vận hành của nhiều lĩnh vực như kinh tế, tài chính, giải trí, du lịch, giao thơng vận tải.
Nó được coi là xu hướng cơng nghệ thế giới và nhiều người cho rằng đó là cuộc cách
mạng cơng nghiệp 4.0.
Trong đó các nghiên cứ về khả năng tự hành cho một hệ thống trợ lý lái xe tiên
tiến (ADAS) đã nhận được nhiều sự chú ý lớn. Một trong những mục tiêu chính của lĩnh
vực nghiên cứu này là cung cấp chức năng thông minh và an toàn hơn cho người lái xe
bằng cách sử dụng công nghệ thông tin và điện tử. Trong điều kiện đường xá đặc thù thì
khả năng nhận biết và phát hiện các biển báo, làn đường và đèn giao thông là rất quan
trọng và đóng vai trị quan trọng đối với hệ thống ADAS.
Nhận thấy tầm quan trọng và tính ứng dụng của xe tự hành. Trong đồ án này
chúng em sẽ tìm hiểu về ngơn ngữ Python, thư viện OpenCV và đặc trưng nhận diện
biên ảnh để xây dựng ứng dụng thiết kế xe tự hành.
1.2. TÌNH HÌNH NGHIÊN CỨU
Xuất hiện lần đầu tiên vào năm 1939, với sự tài trợ của General Motors, tại hội
chợ xe ô tô thế giới, xe tự lái chủ yếu phục vụ các mục đích nghiên cứu khoa học. Tuy
nhiên, đến năm 2011, những nghiên cứu về xe tự hành được rẽ sang hướng khác với mục
tiêu giúp chất lượng cuộc sống con người ngày một tốt hơn.
Một số hãng xe lớn như: General Motors, Audi, Volvo, BMW… đã bắt đầu chạy
đua, cho ra mắt những "đứa con tinh thần" của mình. Các nước bắt đầu xem xét cho phép
2
việc thực nghiệm xe tự lái trên đường phố của mình. Vào tháng 10/2017, lần đầu tiên
Singapore đã cho chạy thử loại xe này.
Tại Việt Nam, Người Việt phát triển xe tự hành cấp độ 4 đầu tiên (gần như tự lái
hồn tồn, tài xế khơng cần can thiệp, nhưng vẫn phải để ý). Xe do nhóm nghiên cứu
thuộc Tập đoàn Phenikaa chế tạo, chạy bằng điện, đạt 100 km một ngày với vận tốc trung
bình 20 km/h, pin sạc đầy sau 7 tiếng.
Khơng ít người vẫn lo ngại về độ an toàn của những chiếc xe này. Tuy
nhiên, các nhà nghiên cứu chế tạo luôn khẳng định xe hoạt động rất hiệu quả.
Hình 1.1: Mẫu xe tự hành thơng minh đầu tiên ở Việt Nam
1.3. MỤC ĐÍCH NGHIÊN CỨU
Mục đích của đề tài là áp dụng cơng nghệ thơng tin để nghiên cứu, tạo ra xe tự
hanh có khả năng nhận diện và tự di chuyển theo làn đường. Tạo tiền đề cho sự góp
3
mặt của các phương tiện tự lái trên đường cao tốc hay những đoạn đường tắc
nhằm giảm bớt gánh nặng đặt lên người điều khiển xe.
1.4. NHIỆM VỤ NGHIÊN CỨU
Nghiên cứu tìm hiểu về:
-
Ứng dụng Kit Raspberry
-
Hệ điều hành Linux
-
Ngơn ngữ Python
-
Thư viện đồ họa OpenCV
-
Lập trình xuất tín hiệu điều khiển cho các chân IO của Raspberry
Từ những nghiên cứu tìm hiểu trên ta đi lập trình khi đưa vào hình ảnh từ Camera
hoặc Video có thể sử dụng đặc trưng nhận diện biên ảnh xác định làn đường và xuất tín
hiệu điều khiển cho xe tự lái.
1.5. PHƯƠNG PHÁP NGHIÊN CỨU
-
Thu thập các tài liệu liên quan đến đề tài cần nghiên cứu. Tìm kiếm các tài liệu
liên quan đến đề tài, các bài báo cáo khoa học, các tạp chí khoa học, các cơng
trình nghiên cứu và các dự án.
-
Nghiên cứu các cơ sơ lý thuyết liên quan đến đề tài. Đọc và tìm hiểu các thơng
tin cần thiết làm cơ sở lý thuyết cho đề tài.
-
Phương pháp khảo sát thực tiễn.
-
Phương pháp tính tốn, phân tích, so sánh đánh giá kết quả đạt được.
-
Phương pháp thực nghiệm.
1.6. CÁC KẾT QUẢ ĐẠT ĐƯỢC CỦA ĐỀ TÀI
-
Xây dựng được mơ hình, mơ phỏng xe tự hành
-
Cải tiến, đánh giá, phát triển xe tự hành
4
-
Ứng dụng xử lý ảnh thay thế cho các cảm biến (dị line,…) dễ xảy ra nhiễu, hoạt
động khơng thực sự chính xác.
-
Ứng dụng được vào giao thơng thực tế ở Việt Nam nhằm giúp việc lưu thông trên
đường an tồn hơn, giảm rủi ro tai nạn giao thơng khơng mong muốn.
1.7. KẾT CẤU CỦA ĐỀ TÀI
Để thực hiện nghiên cứu, thiết kế, chế tạo xe tự hành, đề tài được chia làm 6 chương
-
Chương 1. Giới thiệu: Tổng quan về xe tự hành
-
Chương 2. Tổng quan về mơ hình xe tự hành
-
Chương 3. Phương pháp giải quyết
-
Chương 4. Quy trình thiết kế sản phẩm xe tự hành
-
Chương 5. Thi công, mô phỏng
-
Chương 6. Đánh giá kết quả, kết luận về mơ hình xe tự hành
5
Chương 2:
TỔNG QUAN GIẢI PHÁP
2.1. SƠ LƯỢC VỀ KIT RASPBERRY VÀ CAMERA PI
2.1.1 Raspberry là gì?
Raspberry Pi là từ để chỉ các máy tính chỉ có một board mạch (hay cịn gọi là
máy tính nhúng) kích thước chỉ bẳng một thẻ tín dụng, được phát triển tại Anh bởi
Raspberry Pi Foundation với mục đích ban đầu là thúc đẩy việc giảng dạy về khoa học
máy tính cơ bản trong các trường học và các nước đang phát triển.
Raspberry Pi gốc và Raspberry Pi gốc 2 được sản xuất theo nhiều cấu hình khác
nhau thơng qua các thỏa thuận cấp phép sản xuất với Newark element14 (Premier
Farnell), RS Components và Egoman. Các công ty này bán Raspberry Pi trực tuyến.
Egoman sản xuất một phiên bản phân phối duy nhất tại Đài Loan, có thể được phân biệt
với các bản Pi khác bởi màu đỏ của chúng và thiếu dấu FCC/CE. Phần cứng là như nhau
đối với tất cả các nhà sản xuất.
Raspberry Pi ban đầu được dựa trên hệ thống trên một vi mạch (SoC) BCM2835
của Broadcom, bao gồm một vi xử lý ARM1176JZF-S 700 MHz, VideoCore IV GPU,
và ban đầu được xuất xưởng với 256 MB RAM, sau đó được nâng cấp (model B và B +)
lên đến 512 MB. Board này cũng có socket Secure Digital (SD) (model A và B) hoặc
MicroSD (model A + và B +) dùng làm thiết bị khởi động và bộ lưu trữ liên tục.
Trong năm 2014, Raspberry Pi Foundation đã phát hành Mô-đun Compute, đóng
gói một BCM2835 với 512 MB RAM và một flash chip eMMC vào một module để sử
dụng như một phần của hệ thống nhúng.
Tổ chức này cung cấp Debian và Arch Linux ARM để người dùng tải về. Các
công cụ có sẵn cho Python như là ngơn ngữ lập trình chính, hỗ trợ cho BBC BASIC
6
(thông qua RISC OS image hoặc Brandy Basic clone cho Linux), C, C++, Java, Perl và
Ruby.
Tính đến ngày 08/06/2015, khoảng 5 - 6.000.000 mạch Raspberry Pi đã được
bán. Khi đã trở thành máy tính cá nhân bán chạy nhanh nhất của Anh, Raspberry Pi là
thiết bị được giao nhiều thứ hai sau Amstrad PCW, "Personal Computer Wordprocessor", bán được 8 triệu chiếc.
Vào đầu tháng 2 năm 2015, thế hệ tiếp theo của Raspberry Pi, Raspberry Pi 2, đã
được phát hành. Board máy tính mới này đầu tiên chỉ có một cấu hình (model B) và trang
bị SoC Broadcom BCM2836, với một nhân ARM Cortex-A7 CPU 4 lõi và một
VideoCore IV dual-core GPU; 1 GB bộ nhớ RAM với thông số kỹ thuật còn lại tương
tự như của các thế hệ model B+ trước đó. Raspberry Pi 2 vẫn giữ nguyên giá $35 so với
model B, với model A+ giá $20 vẫn còn được bán.
Hầu hết các mạch Pi được sản xuất tại một nhà máy Sony tại Pencoed, Wales,
một số được sản xuất tại Trung Quốc hoặc Nhật Bản.
2.1.2. Ứng dụng của Raspberry Pi
❖ Raspnerry Pi có thể được dùng như máy tính để bàn.
Ngồi Raspberry Pi ta cần có thẻ microSD, nguồn cung cấp điện và cáp HDMI
cùng màn hình hiển thị phù hợp. Thêm vào đó để có thể sử dụng như một máy tính ta
cần có bàn phím và chuột. Với các phiên bản Raspberry 3 đã được tích hợp sẵn tính
năng Wifi, Bluetooth và cổng Ethernet để đáp ứng tối đa nhu cầu người sử dụng.
❖ Bộ điều khiển robot
Bạn có thể sử dụng một gói robot dành riêng cho máy Pi, sử dụng pin và được
dùng để giao tiếp và điều khiển robot. Hoặc bạn có thể tự thiết kế, xây dựng từ các thành
7
phần đã có. Với robot thì ta chỉ có thể chọn Pi Zero W bởi nó có tính năng kết nối khơng
dây lí tưởng cho các robot nhẹ.
❖ Các ứng dụng cho máy in
Với những chiếc máy in cũ kĩ bạn hồn tồn vẫn có thể giúp nó kết nối không dây
thông qua việc sử dụng Raspberry Pi cùng với một số phần mềm máy chủ in cơ bản.
Thậm chí với việc kết hợp này bạn cịn có thể thêm tính năng AirPrint cho máy in để hỗ
trợ được nhiều thiết bị khác như máy tính bảng hay smart phone.
❖ Các tiện ích với camera.
Chỉ với một module máy ảnh chuyện dụng kết hợp với Raspberry Pi bạn hồn
tồn có thể tạo ra các video stop motion, xu thế đang rất phổ biến trên mạng xã hội hiện
nay. Hơn thế nữa nếu như bạn kết hợp thêm chúng với một script khác chúng ta hồn
tồn có thể tạo các video time lapse. Người dùng có thể thực hiện quay bất cứ thứ gì như
hoa trong vườn, trái cây trong bát, người đi ngang đường, đám mây trên bầu trời hoặc
thời tiết thay đổi, tất cả tùy thuộc vào sức sáng tạo của bạn.
❖ Raspberry Pi và game
Với những game thủ hay những người đam mê các trị chơi thì Raspberry Pi thật
sự có nhiều ý nghĩa trong lĩnh vực này. Raspberry Pi hồn tồn có thể trở thành một
chiếc máy chơi game với sự gọn nhẹ và mạnh mẽ đáp ứng các mục đích sử dụng khác
nhau. Khơng đơn giản là máy trò chơi những game đơn giản, Raspberry Pi với raspbian
có thể được sử dụng như một máy chủ game.
❖ Hệ thống an ninh, giám sát mạng
Với module camera được đính kèm trong Raspberry Pi Camera hoặc một webcam
USB thơng thường, bạn có thể xây dựng hệ thống an ninh chuyển động để biết được ai
đang đột nhập vào nhà của bạn. Những thẻ nhớ dung lượng cao sẽ được sử dụng để có
8
thể lưu trữ mọi cảnh quay từ thiết bị. Thậm chí ta cũng có thể thiết lập để hệ thống an
ninh gửi cảnh báo qua email.
Bên cạnh đó Raspberry Pi góp phần tích cực trong việc xây dựng các giải pháp
giám sát mạng. Bạn có thể giám sát thời gian, xem hình ảnh của các thiết bị trên mạng.
❖ Những chiếc Smart TV
Hồn toan có thể biến những chiếc TV cũ của nhà mình thành những smart TV.
Để TV trở nên "thơng minh", nó có thể phát các phương tiện từ thiết bị lưu trữ USB hoặc
flash, phát trực tuyến từ Netflix, YouTube, các trang web tương tự và cung cấp điều
khiển từ xa. Smart TV cũng cung cấp tin tức và thời tiết và hỗ trợ PVR, mà một
Raspberry Pi có thể quản lý nhờ thẻ USB TV.
Ngồi những ứng dụng tiêu biểu kể trên Raspberry Pi cịn có rất nhiều các ứng
dụng khác như: làm máy chủ Web, giúp tự làm hộp NAS, xây dựng hệ thống tự động
hóa giá đình, xây dựng máy thu AirPlay,
2.1.3 Cấu trúc phần cứng Raspberry Pi 4
-
Raspberry Pi có nhiều phiên bản. Model B như hình trên thơng dụng hơn cả. Model
B bao gồm những phần cứng và những cổng giao diện.
-
CPU: “Trái tim” của board mạch. Raspberry Pi 4 sử dụng vi xử lí Broadcom
BCM2711. Đây là lỗi chịp SoC (system on chip) tức là trên chip này tích hợp cùng
lúc.
-
GPU: Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz.
-
Khe cắm thể micro SD: Có thể nhận thấy sẽ khơng có ổ cứng trên Raspberry Pi và
thay vào đó là thẻ nhớ SD. Tất cả dữ liệu sẽ được lưu trữ trên thẻ nhớ này. Cần dung
it nhất thẻ nhớ 32GB class 10
9
-
Cổng USB: Raspberry Pi 4 có 2 cổng USB 2.0 và 2 cổng USB 3.0. Đủ để kết nối
các thiết bị ngoại vi như chuột, bàn phím,…
-
Cổng Ethernet: cổng Ethernet chuẩn RJ45
-
Cổng HDMI: có 2 cổng micro HDMI cho phép xuất hình ảnh 4K.
Hình 2. 1: Raspberry Pi 4 Module B
10
-
Ngõ ra Audio-Video: Ngõ ra này là giắc cắm chuẩn 3.5mm, hỗ trợ cho người dung
khơng có màn hình hỗ trợ HDMI: Âm thanh và hình ảnh lấy ra từ cổng này có chất
lượng kém hơn một chút so với cổng HDMI.
-
Cổng cấp nguồn USB Type C: Một trong những điều đầu tiên có thể nhận thấy là
Raspberry Pi khơng có nút nguồn. USB Type C được chọn làm cổng cấp nguồn.
Nguồn cấp cho Raspberry Pi là 5V điện áp (bắt buộc) và dòng nên lớn hơn 3A. Cấp
nguồn quá 5V sẽ rất dễ làm cháy board mạch.
-
Cổng DSI (Display Serial interface): Cổng này dùng để kết nối với LCD hoặc màn
hình OLED.
-
Cổng CSI (Camera Serial Interface): Cổng này dung để kết nối với module camera
riêng của Raspberry Pi. Module này thu được hình ảnh chất lượng lên đến 1080p.
-
GPIO (General Purpose Input and Output): Giống như các chân của vi điều khiển,
các IO này của Raspberry Pi cũng được sử dụng để xuất tín hiện ra led, thiết bị, hoặc
đọc tín hiệu vào từ, các nút nhấn, cơng tắc, cảm biến… Ngồi ra cịn có các Io tích
hợp các chuẩn truyền dữ liệu UART, I2C và SPI. Sợ đồ chân GPIO Raspberry Pi.
Hình 2. 2: Sơ đồ các chân GPIO của Raspberry Pi 4 Module B
11
Trong 40 chân GPIO bao gồm:
-
26 chân GPIO. Khi thiết lập là input, GPIO có thể được sử dụng như chân interrupt,
-
2 UART, 4 I2C, 4SPI, 3PWM
-
2 chân 5V, 2 chân 3.3V, 7 chân GND.
2.1.4. Giới thiệu về camera Pi
Giới thiệu
Hình 2. 3: Camera PI v1.3
Raspberry Pi Camera là Module camera được chính Raspberry Pi Foundation
thiết kế và đưa vào sản xuất đại trà từ tháng 5/2013. Camera module ra đời đã làm thỏa
lịng rất nhiều tín đồ u thích Raspberry. Trước khi xuất hiện camera, điều duy nhất bạn
12
có thể làm để thêm khả năng nhận biết hình ảnh, quay phim, chụp hình cho Rpi là sử
dụng 1 webcam cắm vào cổng USB. Với các webcam Logitech tích hợp sẵn định dạng
xuất mjpeg sẽ giúp Raspberry xử lý nhanh hơn. Nhưng các webcam Logitech lại có giá
thành khá cao, nhất là các webcam có độ phân giải lớn. Bạn khơng tốn thêm cổng USB
nào cho Camera vì Camera được gắn chắc chắn vào socket CSI. Điều này giúp hạn chế
tình trạng nghẽn băng thơng cho chip xử lí USB trên mạch Raspberry. Chiều dài cáp nối
camera đã được tính toaans cản thận khi vừa đạt được độ dài cần thiết trong khi vẫn đảm
bảo tốc độ truyền hình ảnh từ Module về Rpi.
Camera Module có thể được sử dụng để quay video độ nét cao, cũng như chụp
hình ảnh tĩnh. Nó khả dễ dàng để sử dụng cho người mới bắt đầu, nhưng cũng có rất
nhiêu giải pháp mở rộng để cung cấp cho người dùng yêu cầu cao. Có rất nhiều demo
của người dùng về cơng dụng của Camera Module như chụp hình Time Lapse, Show –
Motion và rất nhiều ứng dụng khác.
Raspberry Pi Camera V1.3 là một cải tiến khá tốt về chất lượt hình ảnh, màu sắc
trung thực và hiệu suất ánh sáng thấp. đặc biệt hỗ trợ video lên dến 1080p30, 720p60 và
640x480p90. Nó có thể tương thích với hầu hết các phiên bản của Raspberry.
❖ Thơng số cấu hình Camera Pi v1.3
-
Ống kính tiêu cự cố định
-
Cảm biến độ phân giải 5 megapixel
-
Hỗ trợ video: 1080p30, 720p60, 640x480p90
-
Kích thước: 25mm x 23mm x 9mm
-
Trọng lượng: 3g
-
Kết nối với Raspberry Pi thông qua cáp ribbon đi kèm dài 15cm
-
Camera Module được hỗ trợ với phiên bản mới nhất của Raspberry (Raspberry Pi
4)
2.1.5. Các hệ điều hành
13
Raspberry Pi chủ yếu sử dụng các hệ điều hành dựa trên nhân Linux.
Chip ARM11 tại trung tâm của Pi (mơ hình thế hệ đầu tiên) được dựa trên phiên
bản 6 của ARM. Các phiên bản hiện tại của một số phân nhánh phổ biến của Linux, bao
gồm Ubuntu, sẽ không chạy trên ARM11. Không thể chạy Windows trên Raspberry Pi
gốc, mặc dù Raspberry Pi 2 mới có thể chạy trên hệ điều hành Windows 10 IoT
Core. Raspberry Pi 2 hiện tại chỉ hỗ trợ Ubuntu Snappy Core, Raspbian, OpenELEC và
RISC OS.
Trình quản lý cài đặt cho Raspberry Pi là NOOBS. Các hệ điều hành đi kèm với
NOOOBS là:
-
Arch Linux ARM
-
OpenELEC
-
Pidora (biến thể của Fedora)
-
Puppy Linux
-
Raspbmc và trung tâm truyền thông số mã nguồn mở XBMC[37]
-
RISC OS – là hệ điều hành của máy tính dựa trên nền tảng ARM đầu tiên.
-
Raspbian (được đề xuất dùng cho Raspberry Pi 1) – được bảo trì độc lập bởi the
Foundation, dựa trên cổng kiến trúc Debian ARM hard-float (armhf) được thiết
kế ban đầu cho ARMv7 và các bộ xử lý kế tiếp (với Jazelle RCT/ThumbEE
và VFPv3), biên dịch cho các tập lệnh hạn chế hơn ARMv6 của Raspberry Pi 1.
Một thẻ SD có kích thước tối thiểu là 4 GB là cần thiết cho những Raspbian image
được cung cấp bởi Raspberry Pi Foundation. Có một Pi Store (Kho) dùng để trao
đổi chương trình.
-
Raspbian Server Edition là một phiên bản rút gọn với các gói phần mềm đi kèm
ít hơn so với phiên bản Raspbian dành cho máy tính để bàn thơng thường.
14
-
Giao thức máy chủ hiển thị Wayland cho phép sử dụng hiệu quả GPU để tăng tốc
phần cứng chức năng vẽ GUI. Vào ngay 16 Tháng 4 năm 2014, một GUI shell
dành cho Weston gọi Maynard đã được phát hành.
-
PiBang Linux – là một biến thể từ Raspbian.
-
Raspbian for Robots – là một biến thể của Raspbian dành cho các dự án robot với
LEGO, Grove, và Arduino.[47]
❖ Các hệ điều hành khác
-
Q4os
-
Xbian – sử dụng Kodi (mã cũ là XBMC)
-
openSUSE
-
Raspberry Pi Fedora Remix
-
Slackware ARM – kể từ phiên bản 13.37 trở đi chạy trên Raspberry Pi mà cần
phải không sửa đổi. 128-496 MB bộ nhớ có sẵn trên Raspberry Pi ít nhất phải
bằng hai lần yêu cầu tối thiểu là 64 MB cần thiết để chạy Slackware Linux trên
ARM hoặc hệ thống i386. (Trong khi phần chính của các hệ thống Linux boot
vào một giao diện đồ họa người dùng, Slackware theo mặc định lại sử dụng mơi
trường shell/dịng lệnh.) Trình quản lý cửa sổ Fluxbox chạy dưới X Window
System yêu cầu bổ sung thêm 48 MB RAM.
-
FreeBSD và NetBSD là các hệ điều hành nền (general).
-
Moebius – là một bản phân phối rút gọn củaARM HF dựa trên Debian. Nó sử
dụng Raspbian repository, nhưng được chứa trong một thẻ nhớ SD Card 128 MB.
Nó chỉ có các dịch vụ tối thiểu và bộ nhớ được tối ưu hóa để giảm thiểu kích
thước của thiết bị.
-
OpenWrt – chủ yếu được sử dụng trên các thiết bị nhúng để định tuyến lưu lượng
mạng.
15
-
Kali Linux – là một biến thể của Debian-được thiết kế cho phân tích mã nguồn
và kiểm tra bảo mật.
-
Pardus ARM – một hệ điều hành dựa trên nền tảng Debian, là một phiên bản rút
gọn của Pardus (hệ điều hành).
-
Instant WebKiosk – một hệ điều hành dùng cho mục đích hiển thị kỹ thuật số
(web và media).
-
Ark OS – được thiết kế để lập website và hòm thư điện tử.
-
Minepion – là một hệ điều hành dành riêng cho "đào" tiền mã hóa (giống
như bitcoin).
-
Nard SDK – là một kit phát triển phần mềm (SDK) dùng cho các hệ thống
nhúng công nghiệp.
-
Sailfish OS trên Raspberry Pi 2 (do sử dụng ARM Cortex-A7 CPU; Raspberry Pi
1 sử dụng kiến trúc ARMv6 khác và Sailfish yêu cầu ARMv7.)
-
Tiny Core Linux – một bản Linux tối giản nhằm tạo nền tảng cơ sở với BusyBox
và FLTK, được thiết kế để chạy chủ yếu trên RAM.
-
"Windows 10 IoT Core" – Microsoft cung cấp một bản Windows 10 miễn phí,
cịn có tên Windows 10 IoT Core, chạy trực tiếp trên Raspberry Pi 2.
-
WTware fo Raspberry Pi 2 – một hệ điều hành miễn phí để tạo client Windows
nhẹ từ Pi 2.
-
IPFire – là một bản phân phối chuyên dùng cho firewall/router để bảo vệ một
SOHO LAN, chỉ chạy trên Raspberry Pi 1, hiện tại họ khơng có kế hoạch thiết kế
sang Raspberry Pi 2.
-
Xv6 – là một phiên bản hiện đại của hệ điều hành Unix Sixth Edition dành cho
mục đích giảng dạy, nó được chuyển sang Raspberry Pi từ MIT xv6, cổng xv6
này có thể khởi động từ NOOBS.
2.2. TÌM HIỂU VỀ HỆ ĐIỀU HÀNH RASPBIAN
16
2.2.1. Lịch sử phát triển
Raspbian là một hệ điều hành máy tính dựa trên Debian cho Raspberry. Có một
số phiên bản của Raspbian bao gồm Raspbian Stretch và Raspbian Jessie. Từ năm 2015,
nó đã được Raspberry Pi Foundation chính thức cung cấp như là hệ điều hành chính cho
gia đình máy tính bảng đơn Raspberry Pi.
Raspbian được tạo ra bởi Mike Thompson và Peter Green như một dự án độc lập.
Bản dựng ban đầu được hoàn thành vào tháng 6 năm 2012. Hệ điều hành vẫn đang được
phát triển tích cực. Raspbian được tối ưu hóa cao cho các CPU ARM hiệu suất thấp của
dòng Raspberry Pi.
Raspbian sử dụng PIXEL, Pi I đã xác nhận X – Window Enviroment, Lightweight
là mơi trường máy tính để bàn chính của nó kể từ bản cập nhật mới nhất. Nó bao gồm
một mơi trường máy tính để bàn LXDE được sửa đổi và trình quản lý cửa sổ xếp chồng
Openbox với một chủ đề mới và một vài thay đổi khác. Sự phân bố được xuất xưởng với
một bản sao của chương trình máy tính đại số Mathematica và một phiên bản
của Minecraft gọi Minecraft Pi cũng như một phiên bản nhẹ của Chromium như của
phiên bản mới nhất.
2.2.2. Hướng dẫn cài đặt hệ điều hành Raspbian cho Raspberri Pi 4
❖ Chuẩn bị:
-
Raspberry Pi4
-
Thẻ nhở 64G – class 10
-
Phần mềm Format thẻ nhớ (SDFormatter)
-
Phần mềm ghi file chưa hệ điều hành vào thẻ (Win32DiskImager)
-
Hệ điều hành Raspbian
❖ Tiến hành cài đặt:
17