Luận văn Ứng dụng kit Raspberry Pi vào xử lý ảnh (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Ứng dụng kit Raspberry Pi vào xử lý ảnh (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
luan_van_ung_dung_kit_raspberry_pi_vao_xu_ly_anh_phan_1.pdf
Nội dung text: Luận văn Ứng dụng kit Raspberry Pi vào xử lý ảnh (Phần 1)
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH GVHD: ThS. NGUYỄN DUY THẢ O SVTH: LÊ ĐỨC THUẬN MSSV: 10101134 SVTH: VÕ VĂN HOÀNG MSSV: 10101045 S K L 0 0 4 2 8 5 Tp. Hồ Chí Minh, tháng 2/2016
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬTTP. HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP ĐỒ ÁN TỐT NGHIỆP HCMUTE Đề tài:ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN - ĐIỆN TỬ SVTH: LÊ ĐỨC THUẬN MSSV: 10101134 SVTH: VÕ VĂN HOÀNG MSSV: 10101045 GVHD: ThS. NGUYỄN DUY THẢ O Tp. Hồ Chí Minh, 2/2016
- TRƯỜNG ĐH. SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TP. HỒ CHÍ MINH ĐỘC LẬP - TỰ DO - HẠNH PHÚC KHOA ĐIỆN-ĐIỆN TỬ Tp. HCM, ngày 15 tháng 1 năm 2016 PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Võ Văn Hoàng MSSV: 10101045 Lê Đức Thuận MSSV: 10101134 Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 01 Hệ đào tạo: Đại học chính quy Mã hệ: 1 Khóa: 2010 Lớp: 101011 1. Thông tin đề tài Tên của đề tài: ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH Mục đích của đề tài: Đồ án tốt nghiệp được thực hiện tại: Bộ môn Điện Tử Công Nghiệp, Khoa Điện - Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh. Thời gian thực hiện: Từ ngày 10/10/2015 đến 15/01 /2016 2. Các nhiệm vụ cụ thể của đề tài - Tìm hiểu tổng quan về kit raspberry pi. - Tìm hiểu tổng quan về xử lý ảnh. - Xử lý ảnh trên kit Raspberry Pi. - Kết quả thực hiện. 3. Lời cam đoan của sinh viên Chúng tôi – Lê Đức Thuận và Võ Văn Hoàng cam đoan ĐATN là công trình nghiên cứu của bản thân chúng tôi dưới sự hướng dẫn của thạc sỹ Nguyễn Duy Thảo. Các kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công trình nào khác. Tp.HCM, ngày 15 tháng 01 năm 2016 SV thực hiện đồ án Lê Đức Thuận Võ Văn Hoàng Tp.HCM, ngày 15 tháng 01 năm 2016 Xác nhận của Bộ Môn Giáo viên hướng dẫn (Ký ghi rõ họ tên và học hàm học vị) xi
- TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Khoa Điện - Điện Tử Độc lập - Tự do - Hạnh phúc Bộ Môn Điện Tử Công Nghiệp Tp. Hồ Chí Minh, ngày 15 tháng 01 năm 2016 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Lê Đức Thuận Lớp: 101011A MSSV: 10101134 Họ tên sinh viên 2: Võ Văn Hoàng Lớp: 101011A MSSV: 10101045 Tên đề tài: ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH Xác nhận Tuần/ngày Nội dung GVHD Chuẩn bị kit Raspberry. 10/10-30/10 Tìm hiểu về kit Raspbery Pi. 30/10 – 10/11 Tìm hiểu về ngôn ngữ lập trình Python. 10/11 – 5/12 Tìm hiểu về lý thuyết xử lý ảnh. 5/12 – 25/12 Xử lý ảnh trên kit Raspberry Pi. 25/12 – 15/01 Hoàn Thiện Đồ Án GV HƯỚNG DẪN (Ký và ghi rõ họ và tên) xii
- LỜI CẢM ƠN Trong thời gian làm đồ án tốt nghiệp, chúng tôi đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè. Chúng tôi xin gửi lời cảm ơn chân thành đến Thạc sỹ Nguyễn Duy Thảo, giảng viên Bộ môn Điện Tử Công Nghiệp trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh người đã tận tình hướng dẫn, chỉ bảo chúng tôi trong suốt quá trình làm khoá luận. Chúng tôi cũng xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh nói chung, các thầy cô trong Bộ môn Điện Tử Công Nghiệp nói riêng đã dạy dỗ cho chúng tôi kiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp chúng tôi có được cơ sở lý thuyết vững vàng và tạo điều kiện cho chúng tôi trong quá trình học tập. Cuối cùng, chúng tôi xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên chúng tôi trong suốt quá trình học tập và hoàn thành khoá luận tốt nghiệp. Tp.HCM, ngày 15 tháng 01 năm 2016 Sinh Viên Thực Hiện Lê Đức Thuận Võ Văn Hoàng i
- MỤC LỤC PHẦN A: GIỚI THIỆU Danh mục hình vi Các từ viết tắt ix PHẦN B: NỘI DUNG CHƯƠNG 1:GIỚI THIỆU YÊU CẦU – GIỚI HẠN CỦA ĐỀ TÀI 1 1.1 Giới thiệu 1 1.2 Mục tiêu 1 CHƯƠNG 2. KIT RASPBERRY PI 2 2.1 Kit Raspberry Pi 2 2.1.1 Giới thiệu tổng quan 2 2.1.2 Các phiên bản hiện tại của kit Raspberry Pi 3 2.1.3 Các kết nối với Raspberry Pi 2 4 2.1.4 Hệ điều hành – phần mềm. 5 2.1.5 Cài đặt phần mềm cho kit Raspberry Pi 5 2.2 Ngôn ngữ lập trình Python 7 2.2.1 Giới thiệu Python 7 2.2.2 Đặc điểm của ngôn ngữ Python 7 CHƯƠNG 3. TỔNG QUAN VỀ XỬ LÝ ẢNH 9 3.1 Giới thiệu 9 3.1.1 Hệ thống xử lý ảnh 9 3.1.2 Các thành phần trong một hệ thống xử lý ảnh 10 3.2 Các khái niệm cơ bản. 10 3.2.1 Ảnh và điểm ảnh 10 3.2.2 Phân loại ảnh 11 3.2.3 Độ phân giải 11 3.2.4 Điểm ảnh lân cận 11 3.3 Không gian màu 12 3.3.1 Không gian màu RGB 12 3.3.2 Không gian màu CMYK 13 ii
- 3.3.3 Không gian màu HSV 13 3.4 Phóng to, thu nhỏ và xoay ảnh 14 3.4.1 Biến đổi Affine 14 3.5 Xử lý hình thái học trên ảnh 15 3.5.1 Phần tử cấu trúc 15 3.5.2 Phép toán co (Erosion) 17 3.5.3 Phép toán giãn nở (Dialtion) 18 3.5.4 Phép toán mở (opening) và đóng (closing) 18 3.6 Tách biên ảnh 19 3.6.1 Tách biên theo đạo hàm bậc 1 21 3.6.2 Phát hiện biên theo đạo hàm bậc 2 21 3.6.3 Bộ tách biên Canny 23 3.7 Chuyển đổi Hough cho đường thẳng, đường tròn 23 3.7.1 Chuyển đồi Hough cho đường thẳng 23 3.7.2 Chuyển đồi hough cho đường tròn 24 3.8 Xử lý điểm 24 3.8.1 Xử lý lược đồ (Histogram) 25 3.8.2 Cân bằng Histogram 25 CHƯƠNG 4. ỨNG DỤNG KIT RASPBERRY PI VÀO XỬ LÝ ẢNH 29 4.1 Chuyển đổi giữa các không gian màu 29 4.1.1 Chuyển đổi RGB sang CMYK và ngược lại 29 4.1.2 Chuyển đổi RGB sang HSV và ngược lại 29 4.1.3 Lưu đồ giải thuật 30 4.1.4 Code lập trình trên kit Raspberry Pi 32 4.1.5 Kết quả 33 4.2 Phóng to, thu nhỏ và xoay ảnh 34 4.2.1 Lưu đồ giải thuật 34 4.2.2 Code lập trình trên kit Raspberry Pi 35 4.2.3 Kết quả 35 4.3 Pha trộn hình ảnh 35 4.3.1 Lưu đồ giải thuật 36 4.3.2 Code lập trình trên kit Raspberry Pi 37 iii
- 4.3.3 Kết quả 37 4.4 Xử lý hình thái học trên ảnh 38 4.4.1 Các bước thực hiện phép co ảnh trên ảnh nhị phân 38 4.4.2 Các bước thực hiện phép giãn nở ảnh trên ảnh nhị phân 38 4.4.3 Các bước thực hiện phép mở ảnh và đóng ảnh 38 4.4.4 Lưu đồ giải thuật 39 4.4.5 Code lập trình trên kit Raspberry Pi 41 4.4.6 Kết quả thực hiện trên ảnh nhị phân 42 4.5 Bộ tách biên Canny 43 4.5.1 Các bước tìm biên dùng phương pháp Canny 43 4.5.2 Lưu đồ giải thuật 46 4.5.3 Code lập trình trên kit Raspberry Pi 47 4.5.4 Kết quả 47 4.6 Chuyển đồi Hough, phát hiện đường thẳng, đường tròn trong ảnh 48 4.6.1 Chuyển đổi Hough cho đường thẳng 48 4.6.2 Chuyển đổi Hough cho đường tròn 48 4.6.3 Lưu đồ giải thuật 49 4.6.4 Code lập trình trên kit Raspberry Pi 50 4.6.5 Kết quả 52 4.7 So khớp mẫu 53 4.7.1 Lưu đồ giải thuật 55 4.7.2 Code lập trình trên kit Raspberry Pi 56 4.7.3 Kết quả 57 4.8 Xử lý lược đồ 58 4.8.1 Vẽ Histogram của một ảnh 58 4.8.2 Cân bằng histogram 58 4.8.3 Lưu đồ giải thuật 59 4.8.4 Code lập trình trên kit Raspberry Pi 61 4.8.5 Kết quả 62 CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 63 5.1 Kết luận 63 5.2 Hướng phát triển 63 iv
- TÀI LIỆU THAM KHẢO 64 PHỤ LỤC x v
- DANH MỤC HÌNH Hình 2.1 Kit Raspberry Pi 2 Hình 2.2 Sơ đồ GPIO 4 Hình 2.3 Các cổng giao tiếp ngoại vi 4 Hình 2.4 Ghi phần mềm vào thẻ nhớ 6 Hình 3.1 Các lĩnh vực nghiên cứu chính trong xử lý ảnh số 9 Hình 3.2 Các thành phần cơ bản trong hệ thống xử lý ảnh đa dụng 10 Hình 3.3 Ảnh với các độ phân giải khác nhau 11 Hình 3.4 Các dạng lân cận cơ bản 12 Hình 3.5 Mô hình hệ màu RGB 12 Hình 3.6 Mô hình hệ màu CMYK 13 Hình 3.7 Không gian màu HSV 14 Hình 3.8 Hình tròn biểu diễn màu sắc (Hue) 14 Hình 3.9 Mô tả phép biến đổi phóng to ảnh 2 lần 15 Hình 3.10 Mô tả phép quay ảnh với góc 휃 15 Hình 3.11 Một số hình dáng của phần tử cấu trúc phẳng 16 Hình 3.12 Một mặt nạ xác định hàng xóm của phần tử cấu trúc không phẳng 16 Hình 3.13 Ma trận giá trị thực tương ứng với hàng xóm trong phần tử cấu trúc không phẳng 16 Hình 3.14 Một số cấu trúc phần tử ảnh 17 Hình 3.15 Ví dụ về phép co ảnh 17 Hình 3.16 Ví dụ về phép giãn ảnh 18 Hình 3.17 Các mô hình biên 19 Hình 3.18 Biên được xét theo hai chiều 20 Hình 3.19 Mô hình biên bước và biên dốc 20 Hình 3.20 Thực hiện chuyển vị phẳng với cửa sổ trung bình 2x2 20 Hình 3.21 Gradient theo hàng và cột của ảnh 21 Hình 3.22 biểu diễn đường thẳng trong tọa độ cực 24 Hình 3.23 Histogram của một ảnh được cho là thiếu sáng 25 Hình 3.24 Hàm biến đổi tăng đơn điệu với hiện tượng nhiều giá trị mức xám 26 Hình 3.25 Hàm PDF và kết quả khi chuyển đổi trong biểu thức (3.22) 27 vi
- Hình 4.1 Lưu đồ chuyển đổi RGB sang CMYK 30 Hình 4.2 Lưu đồ chuyển đổi RGB sang HSV 31 Hình 4.3 Lưu đồ chuyển đổi HSV sang RGB 32 Hình 4.4 Ảnh RGB 33 Hình 4.5 Ảnh CMYK 33 Hình 4.6 Ảnh HSV 33 Hình 4.7 Lưu đồ phóng to, thu nhỏ và xoay ảnh 34 Hình 4.8 Ảnh gốc 35 Hình 4.9 Ảnh sau khi xoay 45o và thu nhỏ 20% 35 Hình 4.10 Lưu đồ hòa trộn hình ảnh 36 Hình 4.11 Ảnh thứ nhất 37 Hình 4.12 Ảnh thứ hai 37 Hình 4.13 Kết quả 37 Hình 4.14 lưu đồ giải thuật phép co ảnh 39 Hình 4.15 lưu đồ giải thuật phép giãn ảnh 40 Hình 4.16 lưu đồ giải thuật phép mở ảnh 41 Hình 4.17 lưu đồ giải thuật phép đóng ảnh 41 Hình 4.18 Ảnh trước khi co 42 Hình 4.19 Ảnh sau khi co 42 Hình 4.20 Ảnh trước khi giãn nở 42 Hình 4.21 Ảnh sau khi giãn nở 42 Hình 4.22 Ảnh trước khi mở 43 Hình 4.23 Ảnh sau khi mở 43 Hình 4.24 Ảnh trước khi đóng 43 Hình 4.25 Ảnh sau khi đóng 43 Hình 4.26 Lưu đồ giải thuật phương pháp tách biên Canny 46 Hình 4.27 Kết quả tách biên Canny 47 Hình 4.28 giao điểm của các đường cong khác nhau thuộc về một đường thẳng 48 Hình 4.29 Lưu đồ giải thuật chuyển đổi Hough tìm đường thẳng trong ảnh 49 Hình 4.30 Lưu đồ giải thuật chuyển đổi Hough tìm đường tròn trong ảnh 50 Hình 4.31 Ảnh ban đầu 52 Hình 4.32 Kết quả sau khi tìm đường thẳng 52 vii
- Hình 4.33 Ảnh ban đầu 52 Hình 4.34 Ảnh sau khi tìm đường tròn 52 Hình 4.35 Sử dụng mẫu để nhận dạng các đối tượng 53 Hình 4.36 So sánh hình với mẫu 53 Hình 4.37 Lưu đồ giải thuật so khớp mẫu 55 Hình 4.38 Hình ảnh ban đầu 57 Hình 4.39 Ảnh mẫu 57 Hình 4.40 Kết quả sau khi tìm kiếm 57 Hình 4.41 lưu đồ giải thuật vẽ histogram 59 Hình 4.42 Lưu đồ giải thuật cân bằng histogram 60 Hình 4.43 Ảnh ban đầu 62 Hình 4.45 Ảnh sau khi cân bằng histogram 62 Hình 4.46 Biểu đồ histogram của ảnh xám 62 Hình 4.47 Biểu đồ histogram sau khi cân bằng 62 viii
- CÁC TỪ VIẾT TẮT GPIO: là viết tắt của General Purpose Input Output. GPIO chính là cửa ngõ để giao tiếp giữa kit raspberry pi với các thiết bị ngoại vi. SoC: là viết tắt của từ Socket. Nhân xử lý của kit raspberry pi. CPU: là viết tắt của chữ Central Processing Unit. Là bộ xử lí trung tâm của kit. GPU: là viết tắt của Graphics Processing Unit là một bộ vi xử lý chuyên dụng nhận nhiệm vụ tăng tốc, xử lý đồ họa cho bộ vi xử lý trung tâm CPU. HĐH : Hệ điều hành. OEM: viết tắt của Original Equipment Manufacturer. Nhà sản xuất phụ tùng gốc. Rpi: Raspberry pi ix
- TÓM TẮT Cùng với sự phát triển ngày càng mạnh mẽ của khoa học kĩ thuật trong một vài thập kỷ gần đây, xử lý ảnh tuy là một ngành khoa học còn tương đối mới mẻ so với nhiều ngành khoa học khác nhưng hiện nay nó đang là một trong những lĩnh vực phát triển rất nhanh và thu hút sự quan tâm đặc biệt từ các nhà khoa học, thúc đẩy các trung tâm nghiên cứu, ứng dụng về lĩnh vực hấp dẫn này. Xử lý ảnh đóng vai trò quan trọng trong nhiều ứng dụng thực tế về khoa học kĩ thuật cũng như trong cuộc sống thường ngày như: sản xuất và kiểm tra chất lượng, sự di chuyển của Robot, các phương tiện đi lại tự trị, công cụ hướng dẫn cho người mù, an ninh và giám sát, nhận dạng đối tượng, nhận dạng mặt, các ứng dụng trong y học, sản xuất, hiệu chỉnh video, Kit raspberry pi hiện đang là loại Kit có độ ứng dụng cao trong khoa học kỹ thuật vì sự nhỏ gọn và mạnh mẽ của nó. Nhận thấy điều này, nhóm chúng em quyết định chọn đề tài “Ứng Dụng Kit Raspberry Pi Vào Xử Lý Ảnh ” nhằm đưa ra một số giải pháp xử lý ảnh để áp dụng vào đời sống. Đề tài bao gồm những phần như sau : Chương 1: Dẫn nhập vào đề tài, đặt vấn đề, lý do tới đối tượng nghiên cứu. Chương 2: Giới thiệu tổng quan về kit raspberry pi, cấu hình cơ bản của kit Raspberry Pi và môi trường làm việc trên Python. Chương 3: Giới thiệu về xử lý ảnh, những kiến thức về ảnh và những toán tử liên quan cho xử lý ảnh được trình bày trong phần này. Chương 4: Cuối cùng chúng ta sẽ giải một số bài toán xử lý ảnh trên kit Raspberry Pi từ xây dựng lưu đồ giải thuật đến lập trình trên Kit. x
- ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 1: GIỚI THIỆU YÊU CẦU – GIỚI HẠN CỦA ĐỀ TÀI 1.1 GIỚI THIỆU Cùng với sự phát triển ngày càng mạnh mẽ của khoa học kĩ thuật trong một vài thập kỷ gần đây, xử lý ảnh tuy là một ngành khoa học còn tương đối mới mẻ so với nhiều ngành khoa học khác nhưng hiện nay nó đang là một trong những lĩnh vực phát triển rất nhanh và thu hút sự quan tâm đặc biệt từ các nhà khoa học, thúc đẩy các trung tâm nghiên cứu, ứng dụng về lĩnh vực hấp dẫn này. Xử lý ảnh đóng vai trò quan trọng trong nhiều ứng dụng thực tế về khoa học kĩ thuật cũng như trong cuộc sống thường ngày như: sản xuất và kiểm tra chất lượng, sự di chuyển của Robot, các phương tiện đi lại tự trị, công cụ hướng dẫn cho người mù, an ninh và giám sát, nhận dạng đối tượng, nhận dạng mặt, các ứng dụng trong y học, sản xuất, hiệu chỉnh video, Hiện nay môn Xử Lý Ảnh đang được giảng dạy trong rất nhiều trường đại học, tuy nhiên mức độ thực hành trên một Board mạch nào đó vẫn còn rất hạn chế. Nhận thấy điều này nhóm chúng tôi quyết định thực hiện đề tài “ Ứng dụng kit Raspberry Pi vào xử lý ảnh ” nhằm làm phong phú hơn cho môn Xử Lý Ảnh cũng như làm tài liệu tham khảo cho các bạn sinh viên khóa sau và các bạn đam mê môn Xử Lý Ảnh có thể tham khảo. 1.2 MỤC TIÊU Do hạn chế về thời gian do đó chúng tôi chỉ tập trung xử lý các bài toán xử lý ảnh đơn giản và phố biến trên kit Raspberry Pi. Kết quả của đề tài chỉ giới hạn trong phạm vi là tài liệu hướng dẫn thực hành trên kit raspberry pi chứ chưa áp dụng thực tiễn vào đời sống. CHƯƠNG 1: GIỚI THIỆU YÊU CẦU – GIỚI HẠN CỦA ĐỀ TÀI 1
- ĐỒ ÁN TỐT NGHIỆP CHƯƠNG 2: KIT RASPBERRY PI 2.1 Kit Raspberry Pi [6] 2.1.1 Giới thiệu tổng quan Raspberry Pi là cái máy tính giá 35USD kích cỡ như thẻ ATM và chạy HĐH Linux. Với mục tiêu chính của chương trình là giảng dạy máy tính cho trẻ em. Được phát triển bởi Raspberry Pi Foundation – là tổ chức phi lợi nhuận với tiêu chí xây dựng hệ thống mà nhiều người có thể sử dụng được trong những công việc tùy biến khác nhau. Raspberry Pi sản xuất bởi 3 OEM: Sony, Qsida, Egoman. Và được phân phối chính bởi Element14, RS Components và Egoman. Raspberry Pi ban đầu là một thẻ card được cắm trên bo mạch máy tính được phát triển bởi các nhà phát triển ở Anh. Sau đó Raspberry Pi đã được phát triển thành một bo mạch đơn có chức năng như một máy tính mini dùng để giảng dạy trong môn khoa học máy tính ở các trường trung học. Raspberry Pi được phát triển đầu tiên vào năm 2012 . Hình 2.1 Kit Raspberry Pi CHƯƠNG 2: KIT RASPBERRY PI 2
- ĐỒ ÁN TỐT NGHIỆP 2.1.2 Các phiên bản hiện tại của kit raspberry pi Loại thẻ Version CPU Tốc độ RAM GPIO nhớ 26 chân ,1 USB, 1 HDMI Model SD-Card ARM1176JZF-S 700 Mhz 256MB Camera/ display socket A 1 jack audio, 1 jack video ARM1176JZF-S 40 chân,1 USB,1 HDMI Model Micro SoC: Bộ xử lý 700 MHz 256MB Camera/ display socket A+ SD-Card BCM28365 1 jack audio/ video 26 chân,2 USB,1 HDMI ARM1176JZF-S Model 1 LAN SD-Card SoC: Bộ xử lý 700 MHz 512MB B Camera/ display socket BCM28365 1 jack audio,1 jack video 40 chân, 4 USB,1 HDMI ARM1176JZF-S Model Micro 1 LAN,1 micro USB SoC: Bộ xử lý 700 MHz 512MB B+ SD-Card Camera/ display socket BCM28365 1 jack audio/video ARM Cortex 40 chân,4 USB,1 HDMI Model Micro A7(32 bit) 1 LAN,1 micro USB 900 Mhz 1GB Pi 2 SD-Card SoC: Bộ xử lý Camera/display socket BCM2836 1 jack audio/ video Nhân ARM11 Model Micro 40 chân,1 HDMI SoC:Broadcom 1GHz 512MB Pi Zero SD-Card 2 microUSB BCM2835 CHƯƠNG 2: KIT RASPBERRY PI 3
- ĐỒ ÁN TỐT NGHIỆP 2.1.3 Các kết nối với Raspberry Pi 2 Hình 2.2 Sơ đồ GPIO Hình 2.3 Các cổng giao tiếp ngoại vi CHƯƠNG 2: KIT RASPBERRY PI 4
- ĐỒ ÁN TỐT NGHIỆP 2.1.4 Hệ điều hành – phần mềm [5] Có 5 phiên bản hệ điều hành được cung cấp chính thức cho Raspberry Pi: Raspian "wheezy" (khuyên dùng) : Đây là distro dựa trên Debian wheezy, sử dụng hard-float ABI (tính toán dấu chấm động bằng phần cứng) cho thời gian chạy các ứng dụng nhanh hơn. Có sẵn giao diện đồ họa. Phù hợp với người mới bắt đầu tiếp cận Linux vì tính dễ sử dụng và trực quan. Soft-float "wheezy": Vẫn được xây dựng dựa trên Debian wheezy nhưng việc xử lý dấu chấm động được thực hiện bằng phần mềm. Việc này giúp bạn có thể sử dụng máy ảo Java (Oracle JVM) trên Raspberry. Arch Linux: Phiên bản giành cho ARM. Đảm bảo thời gian khởi động trong vòng 10 giây. Chỉ khởi động và load các gói cần thiết. Để sử dụng được Arch Linux bạn cần có kiến thức cơ bản về Linux. Pidora: Là phiên bản của Fedora được tối ưu cho RPi, có sẵn giao diện đồ họa. Giành cho những ai đã quen xài Fedora. RISC OS: Là hệ điều hành do nhóm phát triển ARM thiết kế riêng. Đây không phải là một phiên bản Linux, do vậy bạn cần làm quen với cấu trúc và câu lệnh đặc trưng cho hệ điều hành này. Ngoài ra còn nhiều hệ điều hành khác bạn có thể cài đặt: Raspbmc, Android 2.1.5 Cài đặt phần mềm cho kit Raspberry Pi [5] Chuẩn bị: Board mạch Raspberry Pi với bộ nguồn khoảng 700mA trở lên. Hệ điều hành: Bạn có thể download bất kỳ hệ điều hành nào từ trang chủ Raspberry Pi. Ở đây tôi sẽ sử dụng Raspbian Weezy. Thẻ nhớ: Theo khuyến cáo là 4GB. Màn hình hỗ trợ HDMI hoặc RCA. Bàn phím USB. Phần mềm Win32DiskImager (chạy trên windows). CHƯƠNG 2: KIT RASPBERRY PI 5
- ĐỒ ÁN TỐT NGHIỆP Ti ến hành: Đầu tiên bạn nối thẻ nhớ với máy tính sau đó dùng phần mềm Win32DiskImager để ghi ảnh hệ điều hành xuống. Hình 2.4 Ghi phần mềm vào thẻ nhớ Chỉ cần chọn file ảnh hệ điều hành (giải nén từ file nén download ở trên.), chú ý chọn đúng ổ USB, nhấn Write và chờ đợi. Sau khi ảnh hệ điều hành đã được ghi xuống thẻ nhớ, bạn cắm thẻ nhớ vào Raspberry Pi, kết nối bàn phím, màn hình và nối nguồn. Như vậy là ta đã hoàn thành cài hệ điều hành cho Pi. Sau khi đã kết nối màn hình và bàn phím, cấp nguồn và hệ thống sẽ tự động boot, để đăng nhập, bạn dùng username và password mặc định là: pi/raspberry. Hệ thống đã được cài sẵn giao diện XDE, bạn có thể bật giao diện này bằng lệnh startx. CHƯƠNG 2: KIT RASPBERRY PI 6
- ĐỒ ÁN TỐT NGHIỆP 2.2 Ngôn ngữ lập trình Python 2.2.1 Giới thiệu Python Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ra năm 1990. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động, do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý. Theo đánh giá của Eric S. Raymond, Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu, như nhận định của chính Guido van Rossum trong một bài phỏng vấn ông. Ban đầu, Python được phát triển để chạy trên nền Unix. Nhưng rồi theo thời gian, nó đã “bành trướng” sang mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python. Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển của Python. 2.2.2 Đặc điểm của ngôn ngữ Python Python được thiết kế để trở thành một ngôn ngữ dễ học, mã nguồn dễ đọc, bố cục trực quan, dễ hiểu, thể hiện qua các điểm sau: Từ Khóa: Python tăng cường sử dụng từ khóa tiếng Anh, hạn chế các kí hiệu và cấu trúc cú pháp so với các ngôn ngữ khác. Python là một ngôn ngữ phân biệt kiểu chữ HOA, chữ thường. Như C/C++, các từ khóa của Python đều ở dạng chữ thường. Khối lệnh: Trong các ngôn ngữ khác, khối lệnh thường được đánh dấu bằng cặp kí hiệu hoặc từ khóa. Ví dụ, trong C/C++, cặp ngoặc nhọn { } được dùng để bao bọc một khối lệnh.Trái lại Python có một cách rất đặc biệt để tạo khối lệnh, đó là thụt các câu lệnh trong khối vào sâu hơn (về bên phải) so với các câu lệnh của khối lệnh cha chứa nó. Ta có thể sử dụng dấu tab hoặc khoảng trống để thụt các câu lệnh vào. Khả năng mở rộng: Python có thể được mở rộng: nếu ta biết sử dụng C, ta có thể dễ dàng viết và tích hợp vào Python nhiều hàm tùy theo nhu cầu. Các hàm này sẽ trở thành hàm xây dựng sẵn (built-in) của Python. Ta cũng có thể mở rộng chức năng của trình thông dịch, hoặc liên kết các chương trình Python với các thư viện chỉ ở dạng CHƯƠNG 2: KIT RASPBERRY PI 7
- S K L 0 0 2 1 5 4



