CHƯƠNG III: THIẾT KẾ, CHẾ TẠO HỆ THỐNG KHÓA CỬA TỰ ĐỘNG BẰNG NHẬN DẠNG KHUÔN MẶT ỨNG DỤNG DỊCH VỤ MICROSOFT COGNITIVE SERVICES TRÊN NỀN MÁY TÍNH RASPBERRY PI3
Tải bản đầy đủ - 0trang
- 1 bộ chng cửa
3.2 Thiết kế sơ đồ khối
Hình 3.1 Sơ đồ khối hệ thống
3.3 Thiết kế sơ đồ nguyên lý
3.3.1 Tổng quan về Raspberry
Raspberry Pi Foundation là một tổ chức giáo dục phi lợi nhuận (số đăng kí
1129409) cơ sở tại Anh. Mục tiêu của tổ chức là tạo ra các sản phẩm dùng trong
giáo dục áp dụng cho người lớn cũng như trẻ em. Các sản phẩm của Raspberry Pi
Foundation thường hướng đến các sản phẩm vi tính và Raspberry Pi là một trong
các sản phẩm đó.
Raspberry Pi như là một máy tính có kích thước nhỏ (chỉ bằng một chiếc thẻ
credit-card), có giá thành thấp. Raspberry Pi có thể kết nối với màn hình máy tính,
hoặc tivi, có thể kết nối với các thiết bị đầu vào như camera, bàn phím, chuột như
một chiếc máy vi tính thơng thường. Raspberry Pi thích hợp cho mọi người ở mọi
lứa tuổi để khám phá, tìm hiểu hoạt động của một máy tính và để học làm thế nào
tạo nên một chương trình bằng các ngơn ngữ như Python, Scratch. Với Raspberry
Pi, chúng ta có thể làm được mọi việc mà chúng ta mong muốn ở một chiếc máy
24
tính để bàn thực hiện, từ lướt web, nghe nhạc, xem phim với chất lượng cao, tạo
bảng tính, làm file word cũng như chơi game.
Ngồi ra, Raspberry còn có khả năng tương tác với các thiết bị ngoại vi khác
và đã được sử dụng trong các dự án phần cứng như máy nghe nhạc, thiết bị dự báo
thời tiết, thiết bị dò tìm cha mẹ, các dự án smarthouse với cảm biến hồng ngoại.
Hiện tại, Raspberry Pi đang được sử dụng khá phổ biến trên thế giới, với đối tượng
chủ yếu là các học sinh để tìm hiểu về lập trình cũng như cách thức làm việc của
máy tính.
Hình 3.2 Rasberry
3.3.1.1 Cấu trúc phần cứng Raspberry
Hình 3.3 Mơ hình kiến trúc phần cứng Raspberry
Mơ hình trên là mơ hình kiến trúc phần cứng của Raspberry Pi. Bao gồm bộ
vi xử lý, bộ nhớ trong RAM, cổng kết nối với các thiết bị nhập xuất, cổng kết nỗi
USB và đầu vào Ethernet. Tuy nhiên, ứng với mỗi model khác nhau của
Raspberry Pi sẽ có một kiến trúc khác nhau, thêm hoặc bớt các link kiện phần cứng.
Phiên bản Raspberry Pi đầu tiên là Raspberry Pi model A được phát hành vào
tháng 2 năm 2013. Tiếp theo đó là các model Raspberry Pi model A+, Raspberry Pi
25
model B, Raspberry Pi model B+. Và phiên bản mới nhất là Raspberry Pi 2 vừa
được phát hành vào tháng 2 năm 2015.
- Vi xử lý: Bộvi xử lý được sửdụng trong Raspberry Pi thếhệ đầu tiên tương
đương với bộ vi xử lý được dùng trong các smartphone cũ như (iPhone 3G,
iPhone 3GS). Raspberry Pi chạy dựa trên hệ thống Broadcom BCM2835. Bao gồm
vi xử lý 700 MHz ARM1176JZF-S, bộ xử lý độ họa VideoCore IV GPU và RAM.
Nó có bộ nhớ đệm Level 1 là 16Kb, Level 2 là 128Kb. Bộ nhớ đệm Level 2 được sử
dụng chủ yếu bởi GPU. RAM của Raspberry Pi nằm dưới chân của CPU.
-
RAM: Với phiên bản ban đầu của Raspberry Pi, RAM của nó là 256MBvới 128MB
được chia cho GPU và 128MB dành cho CPU. Với dung lượng bộ nhớ trong này,
Raspberry Pi có thể xử lý được video 1080p và 3D đơn giản. Tuy nhiên do nhu cầu
tăng cao, nên trong các model tiếp theo, dung lượng bộ nhớ trong đã được nhà cung
cấp tăng lên thành 512MB (Model B, B+) và 1GB (Raspberry Pi 2).
-
Network: Trong phiên bản Raspberry Pi thếhệ đầu tiên (A, A+) nhà cungcấp
chưa tích hợp cổng Ethernet. Vì vậy nếu muốn kết nối internet người dùng
phải thông qua USB wifi adapter. Chỉ từ model B trở đi, nhà cung cấp
Raspberry Pi mới tích hợp cổng Ethernet 10/100 Mbit/s Ethernet(8P8C) vào
trong thiết bị của mình. Qua đó giúp người dùng có thể kết nối internet có
dây và khơng dây.
-
Thiết bị ngoại vi: Đối với Raspberry Pi, người dùng có thểkết nốikeyboard,
mouse như đối với một máy vi tính bình thường. Ngồi ra, Raspberry Pi còn
cho phép chúng ta kết nối với các thiết bị ngoại vi khác như camera, cảm
biển hồng ngoại cũng như các linh kiện phần cứng khác.
-
Video: Bộxửlý video của Raspberry Pi cho phép xử lý video độphân giảicao,
chạy được trên các tivi hiện đại hiện nay. Như HD, Full HD, các màn hình có
độ phân giải cao hơn hoặc thấp hơn và cả các dòng tivi có độ phân giải cũ.
Danh sách các độ phân giải như: 640×350 EGA, 640×480 VGA, 800×600
SVGA; 1024×768 XGA; 1280×720 720p HDTV, 1280×768 WXGA variant,
1280×800 WXGA, 1280×1024 SXGA; 1366×768 WXGA, 1400×1050
SXGA+; 1600×1200 UXGA, 1680×1050 WXGA+, 1920×1080 p HDTV;
1920×1200 WUXGA. Nó có thể giải mã tín hiệu video PAL-BGHID, PALM, PAL-N, NTSC và NTSC-J.
26
-
Đồng hồ thực: Raspberry Pi khơng có đồng hồ thực như trên máy vi
tínhthơng thường. Vì vậy nó khơng thể lưu giữ thời gian thực tế khi không
hoạt động. Đồng hồ thường được lấy dựa vào đồng hồ internet khi Raspberry
Pi được kết nối mạng.
a) Raspberry Pi model A và Raspberry Pi model A+ [2]
Hình 3.4. Raspberry Pi model A và Raspberry Pi model A+
Giá
Chip
CPU
Raspberry Pi
Raspberry Pi
model A
model A+
25$
20$
Broadcom BCM2835
700 MHz single-core ARM1176JZF-S
Broadcom VideoCore IV @ 250 MHz[35]
[36]
OpenGL ES 2.0 (24 GFLOPS) MPEG-2 and
GPU
VC-1
(with license), [37] 1080p30 H.264/MPEG-4
AVC
RAM
Cổng USB 2.0
high-profile decoder and encoder
256 MB (shared with GPU)
1 cổng
HDMI (rev 1.3 & 1.4), 14 HDMI độ phân
Ngõ ra video
Ngõ ra audio
Bộ nhớ trong
giải từ
640×350 tới 1920×1200
Qua 2 cổng analog 3.5mm và HDMI
Hỗ trợ các thẻ SD /
MicroSD slot
27
MMC/SDIO
Cổng network
enthernet
Khơng có
Bảng 2.1 - Bảng so sánh các thông số kĩ thuật giữa Raspberry Pi model A và
Raspberry Pi model A+
b) Raspberry Pi model B và Raspberry Pi model B+ [2]
Hình 3.5. Mạch Raspberry Pi model B và Raspberry Pi model B+
Giá
Chip
CPU
Raspberry Pi
Raspberry Pi
model B
model B+
35$
30$
Broadcom BCM2835
700 MHz single-core ARM1176JZF-S
Broadcom VideoCore IV @ 250 MHz[35]
[36]
OpenGL ES 2.0 (24 GFLOPS) MPEG-2 and
GPU
VC-1
(with license), [37] 1080p30 H.264/MPEG-4
AVC
RAM
Cổng USB 2.0
high-profile decoder and encoder
512 MB (shared with GPU)
2 cổng
HDMI (rev 1.3 & 1.4), 14 HDMI độ phân
Ngõ ra video
Ngõ ra audio
giải từ
640×350 tới 1920×1200
Qua 2 cổng analog 3.5mm và HDMI
28
Hỗ trợ các thẻ SD /
MMC/SDIO
Bộ nhớ trong
Cổng network
enthernet
MicroSD slot
10/100 Mbit/s Ethernet (8P8C)
Bảng 2.2 - Bảng so sánh các thông số kĩ thuật giữa Raspberry Pi model B và
Raspberry Pi model B+
3.3.1.2 Raspberry Pi3 moel B+
- Thông số kỹ thuật:
Raspberry Pi model B+
39$
Broadcom BCM2837 chipset running at 1.2
Giá
Chip
GHz
64-bit quad-core ARM Cortex-A53
Broadcom VideoCore IV @ 250 MHz[35]
CPU
[36]
OpenGL ES 2.0 (24 GFLOPS) MPEG-2 and
GPU
VC-1
(with license), [37] 1080p30 H.264/MPEG-4
AVC
high-profile decoder and encoder
1 GB LPDDR2 memory
2 cổng
HDMI (rev 1.3 & 1.4), 14 HDMI độ phân
RAM
Cổng USB 2.0
Ngõ ra video
giải từ 640×350 tới 1920×1200
Ngõ ra audio
Bộ nhớ trong
Cổng network
enthernet
RCA video/audio connector
Qua 2 cổng analog 3.5mm và HDMI
Hỗ trợ các thẻ SD /
MicroSD slot
MMC/SDIO
802.11 b/g/n Wireless LAN
Bảng 2.3 - Bảng các thông số kĩ thuật của Raspberry Pi 2
- Cấu trúc chung của phần cứng
29
Hình 3.6 Cấu trúc phần cứng Raspberry Pi 3
Thơng số cấu hình tổng quan Raspberry Pi 3 Model B
Raspberry Pi 3 Model B là thế hệ thứ 3 của board mạch Raspberry Pi, nó ra
đời vào tháng 2 năm 2016. So với thế hệ trước (Raspberry Pi 2), nó có những thay
đổi:
CPU 64 bit quad-core bộ vi xử lý ARM Cortex A53, tốc độ 1.2GHz gấp 10
lần so với thế hệ đầu tiên.
Tích hợp wireless chuẩn 802.11n.
Bluetooth 4.1 (sở hữu tính năng tiết kiệm năng lượng BLE).
Broadcom là nhà sản xuất chip (SoC) cho Raspberry Pi 3, với tên mã
BCM2837.
Bộ nhớ RAM 1Gb
4 cổng USB
Cổng HDMI, hỗ trợ Full HDMI
Cổng Ethernet (hay là cổng mạng LAN)
Jack cắm audio 3.5mm
Giao tiếp Camera qua CSI
Hỗ trợ hiển thị DSI
Khe gắn Micro SD card được hàn chết trên board theo kiểu Push-Pull (nghĩa
là bạn muốn gắn vào thì đẩy thẻ vào, lấy ra thì kéo ra), theo như hãng giải
thích sẽ tốt hơn kiểu Push-Push trước kia.
- Chân pin out của Raspberry Pi 3:
30
Hình 3.7 Chân pin out của Raspberry Pi 3
Chân pin trên Raspberry Pi 3 được đánh số từ 1 đến 40 theo thứ tự từ trái qua
phải, từ trên xuống dưới, bao gồm nhiều loại chân pin với các chức năng khác nhau:
-
Chân PWR(power) là chân cấp nguồn (+) bao gồm haichân có điện áp 3.3V
(chân số 1 và chân số 17, đủ cấp nguồn cho đèn LED hoạt động) và hai chân
có điện áp 5V (chân số 2 và chân số 4, thường dùng làm nguồn để kích hoạt
các mạch Arduinos, mạch RF,…).
-
Chân GND(Ground) là chân âm (-) dùng cho các kết nốiđể tạo thành mạch
điện kín. Các chân 6, 9, 14, 20, 25, 30, 34, 39 là các chân âm.
-
Chân GPIO:
31
GPIO là viết tắt của General Purpose Input Output. GPIO chính là cửa
ngõ để giao tiếp giữa vi điều khiển với “thế giới bên ngoài”.
Ngoài ra chân GPIO còn có một số chức năng đặc biệt khác như chân
giao tiếp UART, ngõ vào timer, bus địa chỉ, ngõ vào ngắt ngoài…
Khi sử dụng một chân pin ta chỉ cần xuất mức logic (LOW – 0, HIGH –
1) ra tương ứng với chân đó.
Đầu tiên, sử dụng GpioController.GetDefault() để có được bộ điều khiển
GPIO:
var gpio = GpioController.GetDefault();
Nếu thiết bị khơng có bộ điều khiển GPIO thì hàm trên sẽ trả về null
Sau đó mở chân pin bằng các gọi hàm GpioController.OpenPin() với giá
trị LED_PIN
Khi ta có chân pin thì ta dùng hàm GpioPin.Write() để xét giá trị cho
chân pin GpioPinValue.High hoặc GpioPinValue.Low.
Cuối cùng, dùng hàm GpioPin.SetDriveMode() để xét trạng thái cho chân
pin, nếu đặt chân pin ở trạng thái output thì xét giá trị truyền vào là
GpioPinDriveMode.Output, nếu là input thì xét giá trị truyền vào
GpioPinDriveMode.In
Các chân pin khác: Ngồi các chân pin PWR, GND, GPIOnhư trên, thì hệ
thống chân pin còn có các chân pin khác với các chức năng khác nhau như chân
I2C1, SPI0, SPI1,…
32
Hình 3.8 Sơ đồ chân kết nối Raspberry Pi 3 [2]
3.3.1.3 Các hệ điều hành chạy trên Raspberry Pi
Raspberry Pi chủ yếu sử dụng hệ điều hành Linux. Chip của Raspberry Pi
đượcdựa trên phiên bản 6 của ARM. Các phiên bản cũ của Raspberry Pi không chạy
được hệ điều hành windows. Chỉ đến phiên bản Raspberry Pi 2, mới hỗ trợ
chạy được Windows 10 IoT Core.
Các hệ điều hành phổ biến trên Raspberry Pi bao gồm:
-
Raspbian:
Hình 3.9. Giao diện hệ điều hành Raspbian
33
Raspbian là phiên bản hệ điều hành phổ biến nhất trên Raspberry Pi. Đa
số người dùng sẽ được khuyên sử dụng phiên bản hệ điều hành này.
Nhưng tại sao?
Raspbian là một hệ điều hành dễ sử dụng và với sự hỗ trợ tốt của cộng
đồng trên thế giới. Hơn thế nữa, Raspbian là phiên bản khơng chính thức
của Debian Wheezy – một phiên bản Linux có tiếng. Raspbian rất đơn
giản và quen thuộc. Nó là nền tảng rất tốt cho những người mới bắt đầu
làm quen với Raspberry Pi nói riêng và Linux nói chung. Giống như một
chiếc máy tín Windows, Raspbian bao gồm các ứng dụng đa phương tiện
và đồ họa (xem ảnh, xem phim, soạn thảo notepad), và nếu chúng ta cần
nhiều hơn, chúng ta có thể cài thêm các gói phần mềm khác như trình
duyệt internet, nhắn tin, bộ phần mềm văn phòng,…
-
Ubuntu MATE:
Hình 3.10. Giao diện hệ điều hành Ubuntu MATE
Ubuntu MATE có một cộng đồng rất tích cực và làm việc chăm chỉ để phát
hành một phiên bản của Ubuntu MATE cho Raspberry Pi 2, đó làRaspbian là phiên
bản hệ điều hành phổ biến nhất trên Raspberry Pi. Đa số người dùng sẽ được
khuyên sử dụng phiên bản hệ điều hành này.
Raspbian là một hệ điều hành dễ sử dụng và với sự hỗ trợ tốt của cộng đồng
trên thế giới. Hơn thế nữa, Raspbian là phiên bản khơng chính thức của Debian
Wheezy – một phiên bản Linux có tiếng. Raspbian rất đơn giản và quen thuộc. Nó
là nền tảng rất tốt cho những người mới bắt đầu làm quen với Raspberry Pi nói
34