SlideShare a Scribd company logo
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH
KHOA KỸ THUẬT ĐIỆN TỬ 2
_____________
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài:
GƯƠNG THÔNG MINH BẬT TẮT THIẾT
BỊ QUA WEBSERVER MINI
Mã số đề tài: 18 – N13DCDT090
Sinh viên thực hiện: ĐẶNG TRANG NHẬT TẢO
MSSV: N13DCDT090
Lớp: D13CQKD02-N
Giáo viên hướng dẫn: TS. CHUNG TẤN LÂM
TP.HCM – 2017
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
MỤC LỤC
LỜI NÓI ĐẦU ............................................................................................................... 1
CHƯƠNG 1 : TỔNG QUAN VỀ ĐỒ ÁN ................................................................... 2
1. Tổng quan ............................................................................................................... 2
2. Nguyên lý ............................................................................................................... 2
3. Ứng dụng ................................................................................................................ 2
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG............. 3
1. RASPBERRY PI .................................................................................................... 3
1.1. Giới thiệu RASPBERRY PI............................................................................... 3
1.2. PHẦN CỨNG .................................................................................................... 4
1.3 HỆ ĐIỀU HÀNH ............................................................................................. 16
1.3.1. Cài đặt hệ điều hành Raspbian: ................................................................. 17
1.4 Python (ngôn ngữ lập trình): ............................................................................ 19
1.5 Các mô đun được sử dụng:............................................................................... 32
2. STM8S003F3P6 ................................................................................................... 34
2.1. Giới thiệu vi điều khiển STM8 ........................................................................ 34
2.2. Trình biên dịch (compiler) và debugger:.......................................................... 36
CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG ...................................... 41
3.1 Sơ đồ nguyên lý: .............................................................................................. 41
3.2 Mạch in PCB: ................................................................................................... 41
CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH............................................... 42
1. THIẾT KẾ WEBSERVER ................................................................................... 42
1.1. Webserver .................................................................................................. 42
1.2. Tiến hành tạo Webserver ........................................................................... 43
1.3. Điều khiển RASPBERRY PI với FLASK................................................. 45
2. Truyền nhận Serial trên STM8S ........................................................................... 48
3. Code Thực Tế đã thực hiện .................................................................................. 49
3.1. Code python............................................................................................... 49
3.2. Code UART ............................................................................................... 52
3.3. Ứng dụng gương thông minh (MagicMirror):............................................. 56
i
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 5: KẾT QUẢ & HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ........................... 57
1. ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN ĐỀ TÀI.................................................................. 57
2. HƯỚNG PHÁT TRIỂN................................................................................................................ 57
TÀI LIỆU THAM KHẢO ................................................................................................................... 58
ii
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
DANH MỤC HÌNH
Hình 2.1: Bo mạch Raspberry Pi..................................................................................... 3
Hình 2.2: Sơ đồ cấu tạo Raspberry Pi ............................................................................. 4
Hình 2.3: Nguyên hộp máy tính Raspberry Pi ................................................................ 5
Hình 2.4: Raspberry Pi đang được sử dụng .................................................................... 5
Hình 2.5: Vị trí của các kết nối và các IC chính trên Raspberry Pi 1 model A+ phiên
bản 1.1 ............................................................................................................................. 8
Hình 2.6: Vị trí của các kết nối và các IC chính trên Raspberry Pi 1 model B phiên bản 2
.......................................................................................................................................9
Hình 2.7: Vị trí của các kết nối và các IC chính trên Raspberry Pi 1 model B+ phiên
bản 1.2, và Raspberry Pi 2 model.................................................................................... 9
Hình 2.8: Ảnh Raspberry Pi Model B ........................................................................... 15
Hình 2.9: Các hệ điều hành hỗ trợ Raspberry Pi........................................................... 16
Hình 2.10: Giao diện Raspbian ..................................................................................... 17
Hình 2.11: Format thẻ nhớ SDHC................................................................................. 18
Hình 2.12: Phần mềm Win32DiskImager ..................................................................... 18
Hình 2.13: Flask ............................................................................................................ 32
Hình 2.14. Chip STM8S................................................................................................ 34
Hình 2.15: Mạch nguyên lí kit STM8S103F3P6........................................................... 35
Hình 2.16: Kit STM8S103F3P6.................................................................................... 36
Hình 2.17: Biểu tượng trình biên dịch IAR................................................................... 36
Hình 2.18: Create New Workspace............................................................................... 37
Hình 2.19: Create New Project ..................................................................................... 37
Hình 2.20: Chọn main C ............................................................................................... 38
Hình 2.22: Chọn Option ................................................................................................ 39
Hình 3.1: Mạch nguyên lý của mô hình ........................................................................ 41
Hình 3.2: PCB của mô hình .......................................................................................... 41
Hình 4.1: Webserver ..................................................................................................... 42
Hình 4.2: Truy cập localhost ......................................................................................... 44
iii
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
LỜI NÓI ĐẦU
LỜI NÓI ĐẦU
Internet of Things ( IoT) đang là xu hướng hot nhất ở thời điểm hiện tại. Đây cũng
là động lực để em quyết định tìm hiểu về mảng điều khiển các thiết bị trong gia đình
thông qua một webserver mini, dựa trên cơ sở phần cứng là máy tính nhúng Raspberry
Pi 3. Mục đích của đề tài này là tìm hiểu cách một webserver hoạt động và cách nó
trao đổi thông tin giữa người sử dụng ( client) và máy tính nhúng (server) qua đó sử
dụng giao thức UART để điều khiển một vi điều khiển STM khác.
Chúng em xin cảm ơn sự giúp đỡ của thầy TS. Chung Tấn Lâm đã giúp chúng em
giải đáp các thắc mắc trong suốt quá trình thực hiện đề tài. Kinh chúc thầy sức khỏe và
thành công trong công việc.
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 1
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 1 : TỔNG QUAN VỀ ĐỒ ÁN
CHƯƠNG 1 : TỔNG QUAN VỀ ĐỒ ÁN
1. Tổng quan
Thiết kế phần mềm webserver để tiến hành gửi nhận thông tin giữa người dùng
(client) và máy tính nhúng (server) qua đó điều khiển máy tính nhúng trao đổi dữ liệu
với vi điều khiển STM qua giao tiếp UART.
2. Nguyên lý
Máy tính nhúng Raspberry sử dụng Flask python làm back-end để tạo một
webserver. Webserver này sẽ trả về một trang web dạng HTML khi có người truy cập
tới nó.
Khi máy tính nhúng nhận được các lệnh điều khiển từ webserver sẽ tiến hành chạy
các thư viện Javascript liên quan tới Serial Port để gửi tín hiệu tới vi điều khiển STM.
Qua đó điều khiển các ngoại vi có trên vi điều khiển STM này.
3. Ứng dụng
Đề tài này có thể sử áp dụng trực tiếp vào các mô hình smarthome, automation
home giúp người sử dụng có thể điều khiển các thiết bị trong nhà của mình ngay trên
máy tính hay điện thoại di động. Hay thậm chí có thể mở PORT FORWARDING để
điều khiển từ mạng internet.
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 2
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
1. RASPBERRY PI
1.1. Giới thiệu RASPBERRY PI
Raspberry Pi là một seri các máy tính chỉ có board mạch, 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 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.
Hình 2.1: Bo mạch Raspberry Pi
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 Pis khác bởi màu đỏ của chúng và thiếudấ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.
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 3
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
Trong năm 2014, Raspberry Pi Foundation đã phát hành Compute Module, đó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.
Foundation này cung cấp Debian và Arch Linux ARM để người dùng download
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 (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 Tháng Sáu năm 2015, khoảng 5-6.000.000 board Raspberry Pi
đã được bán. Trong khi đã trở thành máy tính cá nhân bán chạy nhanh nhất của Anh,
nó cũng đã được vận chuyển số lượng đơn vị lớn thứ hai phía sau Amstrad PCW,
"Personal Computer Word-processor", bán được tám 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 lõi tứ 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á US$35 so
với model B, với model A+ giá US$20 vẫn còn được bán.
1.2. PHẦN CỨNG
Phần cứng Raspberry Pi qua nhiều phiên bản được trang bị nhiều cấu hình khác
nhau, dung lượng bộ nhớ, thiết bị ngoại vi...
Hình 2.2: Sơ đồ cấu tạo Raspberry Pi
Sơ đồ khối trên mô tả model A, B, A+, B+ và. Model A và A+ thiếu cổng
Ethernet và USB. Bộ chuyển đổi Ethernet được kết nối với một cổng USB bổ sung.
Trong model A và A+ cổng USB được kết nối trực tiếp đến SoC. Trên model B+ chip
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 4
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
này có chứa một hub USB năm đầu ra, trong đó có bốn cổng có sẵn, trong khi model B
chỉ cung cấp có hai cổng mà thôi.
Hình 2.3: Nguyên hộp máy tính Raspberry Pi
Hình 2.4: Raspberry Pi đang được sử dụng
Bộ vi xử lý
SoC được sử dụng trong Raspberry Pi thế hệ đầu tiên hơi tương đương với chip
được sử dụng trong các điện thoại thông minh đời cũ (chẳng hạn như iPhone / 3G /
3GS). Raspberry Pi dựa trên SoC BCM2835 của Broadcom, trong đó bao gồm một bộ
xử lý ARM1176JZF-S 700 MHz, GPU VideoCore IV,và RAM. Nó có một bộ nhớ
cache cấp 1 16 KB và một bộ nhớ cache cấp 2 128 KB. Cache cấp 2 này được sử dụng
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 5
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
chủ yếu bởi GPU. SoC được xếp chồng lên nhau dưới chip RAM, vì vậy chỉ cạnh của
nó là nhìn thấy được.
Hiệu suất của các model thế hệ đầu tiên
Trong khi hoạt động tại 700 MHz theo mặc định, thế hệ đầu tiên của Raspberry
Pi cung cấp một hiệu suất thực tế tương đương với 0,041 GFLOPS. Ở cấp độ CPU
hiệu suất tương đương một Pentium II 300 MHz của những năm 1997-1999. GPU
cung cấp khả năng xử lý đồ họa 1 GPixel/s hoặc 1,5 Gtexel/s hoặc 24 GFLOPS của
hiệu suất máy tính mục đích chung. Khả năng đồ họa của Raspberry Pi là tương đương
với mức độ hoạt động của Xbox của năm 2001.
Kết quả benchmark tính toán đơn nút LINPACK trong một hiệu suất chính xác
đơn trung bình là 0.065 GFLOPS và một hiệu suất chính xác kép là 0,041 GFLOPS
cho một board Raspberry Pi Model-B. Một nhóm 64 máy tính Raspberry Pi Model-B,
có nhãn "Iridis-pi", đạt được một kết quả LINPACK HPLlà 1,14 GFLOPS (n =
10.240) tại 216 watt cho c. US $ 4,000.
Raspberry Pi 2 được dựa trên Broadcom BCM2836 SoC, trong đó bao gồm một
quad-core Cortex-A7 CPU chạy ở 900 MHz và 1 GB RAM. Nó được mô tả là mạnh
hơn từ 4-6 lần so với board tiền nhiệm trước nó. GPU là giống hệt nhau.
Ép xung
Thế con chip của Raspberry Pi hệ đầu tiên hoạt động ở 700 MHz theo mặc định
và không đủ nóng để cần một miếng tản nhiệt hoặc biện pháp làm mát đặc biệt nào
khác, trừ khi con chip này được ép xung. Thế hệ thứ hai chạy ở 900 MHz theo mặc
định, và cũng không đủ nóng để cần một miếng tản nhiệt hoặc biện pháp làm mát đặc
biệt. Một lần nữa ép xung có thể làm SoC này nóng lên nhiều hơn mức bình thường.
Hầu hết các chip Raspberry Pi có thể được ép xung tới 800 MHz và một số thậm
chí còn cao hơn đến 1000 MHz. Có những báo cáo là thế hệ thứ hai có thể được ép
xung cũng tương tự như vậy, thậm chí đến 1500 MHz (loại bỏ tất cả các tính năng an
toàn và vượt quá giới hạn điện áp). Trong Raspbian Linux distrocác tùy chọn ép xung
khi khởi độngcó thể được thực hiện bởi một lệnh phần mềm "sudo raspi-config" mà
không làm vô hiệu chế độ bảo hành. Trong những trường hợp Pi tự động tắt ép xung
xuống trong trường hợp chip đạt đến 85 °C (185 °F), nhưng nó có thể bỏ qua tự động
quá điện áp và các thiết lập ép xung (làm vô hiệu chế độ bảo hành). Trong trường hợp
đó, người ta có thể thử đặt một tản nhiệt có kích thước thích hợp vào nó để giữ cho các
chip không bị nóng lên đến quá 85 °C.
Phiên bản firmware mới hơn có chứa tùy chọn để lựa chọn giữa năm chế độ
overclock ("turbo") để khi bật lên sẽ thử để có được hiệu suất tối đa của SoC mà
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 6
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
không làm giảim tuổi thọ của Raspberry Pi. Điều này được thực hiện bằng cách theo
dõi nhiệt độ bên trong lõi của chip, và tải CPU, và điều chỉnh động tốc độ đồng hồ và
điện áp lõi. Khi nhu cầu trên CPU thấp, hoặc nó đang chạy quá nóng, hiệu suất sẽ
được can thiệp, nhưng nếu CPU có nhiều việc phải làm, và nhiệt độ của chip là chấp
nhận được, hiệu suất sẽ được tạm thời gia tăng, với tốc độ xung nhịp lên đến 1 GHz,
tùy thuộc vào từng loại board, và trên đó các thiết lập Turbo được sử dụng. Năm thiết
lập này là:
• không (none); 700 MHz ARM, 250 MHz core, 400 MHz SDRAM, 0 volt
quá áp,
• khiêm tốn (modest); 800 MHz ARM, 250 MHz core, 400 MHz SDRAM, 0
volt quá áp,
• trung bình (medium); 900 MHz ARM, 250 MHz core, 450 MHz SDRAM,
2 volt quá áp,
• cao (high); 950 MHz ARM, 250 MHz core, 450 MHz SDRAM, 6 volt quá áp,
• turbo; 1000 MHz ARM, 500 MHz core, 600 MHz SDRAM, 6 volt quá áp.
Trong chế độ cao nhất (turbo) xung SDRAM ban đầu 500 MHz, nhưng sau đó đã
được thay đổi đến 600 MHz vì 500 MHz đôi khi gây hư thẻ nhớ SD. Đồng thời trong
chế độ cao tốc độ xung lõi đã được hạ xuống 450-250 MHz, và ở chế độ trung bình
333-250 MHz.
RAM
Trên các board model B beta cũ, mặc định phân bổ 128 MB cho GPU, còn lại
128 MB cho CPU. Trên các board model B mới, 512 MB RAM được chia lần lượt 256
MB, 384 MB và 496 MB CPU RAM (tương ứng 256 MB, 128 MB và 16 MB video
RAM).
Mạng
Mặc dù model A và A+ không có cổng 8P8C ("RJ45") Ethernet, chúng có thể sử
dụng một bộ adapter USB Ethernet hoặc Wi-Fi ngoại vi do người dùng cung cấp để
kết nối với một mạng. Trên model B và B+ cổng Ethernet được cung cấp sẵn adapter
USB Ethernet.
Thiết bị ngoại vi
Raspberry Pi có thể hoạt động với bất kỳ bàn phím máy tính và chuột thông qua
kết nối USB.
Video
Bộ điều khiển video có khả năng phân giải chuẩn truyền hình hiện đại, chẳng hạn
như HD và Full HD, và các độ phân giải màn hình và cao hơn hoặc thấp hơn và độ
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 7
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
phân giải TV CRT chuẩn cũ hơn. Khi không có tùy chỉnh ép xung, nó có khả năng
phát: 640 × 350 EGA; 640 × 480 VGA; 800 × 600 SVGA; 1024 × 768 XGA; 1280 ×
720 720p HDTV; 1280 × 768 WXGA ; 1280 × 800 WXGA; 1280 × 1024 SXGA;
1366 × 768 WXGA; 1400 × 1050 SXGA +; 1600 × 1200 UXGA; 1680 × 1050
WXGA +; 1920 × 1080 1080p HDTV; 1920 × 1200 WUXGA. Nó có thể tạo ra các tín
hiệu video hỗn hợp 576i và 480i cho PAL-BGHID, PAL-M, PAL-N, NTSC và NTSC-
J.
Đồng hồ thời gian thực
Raspberry Pi không được trang bị đồng hồ thời gian thực, có nghĩa là nó không
thể theo dõi thời gian trong ngày, khi nó không hoạt động.
Thay vào đó, một chương trình chạy trên Pi có thể lấy thời gian từ một máy chủ
thời gian mạng hoặc do người dùng nhập vào lúc khởi động.
Một đồng hồ thời gian thực (như DS1307) với pin dự phòng có thể được thêm
vào (thường thông qua giao tiếp I²C).
Hình 2.5: Vị trí của các kết nối và các IC chính trên Raspberry Pi 1 model A+ phiên
bản 1.1
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 8
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
Hình 2.6: Vị trí của các kết nối và các IC chính trên Raspberry Pi 1 model B phiên
bản 2
Hình 2.7: Vị trí của các kết nối và các IC chính trên Raspberry Pi 1 model B+ phiên
bản 1.2, và Raspberry Pi 2 model
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 9
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
Cổng GPIO
RPi A+, B+ và 2B GPIO J8 có 40-chân pinout. Model A và B chỉ có 26 chân.
GPIO# Chức năng thứ 2 pin# pin# Chức năng thứ 2 GPIO#
N/A +3V3 1 2 +5V N/A
GPIO2 SDA1 (I2C) 3 4 +5V N/A
GPIO3 SCL1 (I2C) 5 6 GND N/A
GPIO4 GCLK 7 8 TXD0 (UART) GPIO14
N/A GND 9 10 RXD0 (UART) GPIO15
GPIO17 GEN0 11 12 GEN1 GPIO18
GPIO27 GEN2 13 14 GND N/A
GPIO22 GEN3 15 16 GEN4 GPIO23
N/A +3V3 17 18 GEN5 GPIO24
GPIO10 MOSI (SPI) 19 20 GND N/A
GPIO9 MISO (SPI) 21 22 GEN6 GPIO25
GPIO11 SCLK (SPI) 23 24 CE0_N (SPI) GPIO8
N/A GND 25 26 CE1_N (SPI) GPIO7
(Models A and B stop here)
EEPROM ID_SD 27 28 ID_SC EEPROM
GPIO5 N/A 29 30 GND N/A
GPIO6 N/A 31 32 - GPIO12
GPIO13 N/A 33 34 GND N/A
GPIO19 N/A 35 36 N/A GPIO16
GPIO26 N/A 37 38 Digital IN GPIO20
N/A GND 39 40 Digital OUT GPIO21
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 10
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
Chức năng chức năng thứ 2 chân# chân# Chức năng thứ 2 Chức năng
N/A +5V 1 2 +3V3 N/A
GPIO28 GPIO_GEN7 3 4 GPIO_GEN8 GPIO29
GPIO30 GPIO_GEN9 5 6 GPIO_GEN10 GPIO31
N/A GND 7 8 GND N/A
Model A và B quy định GPIO truy cập vào LED trạng thái ACT sử dụng GPIO
16. Model A+ và B+ và quy định GPIO truy cập vào các LED trạng thái ACT sử dụng
GPIO 47, và LED trạng thái nguồn sử dụng GPIO 35.
Phụ kiện
Camera - Ngày 14 tháng 5 năm 2013, the Foundation và các nhà phân phối RS
Components & Premier Farnell / Element 14 đã ra mắt board camera Raspberry Pi với
một bản cập nhật firmware kèm theo. Board camera được vận chuyển đi kèm với một
cáp phẳng linh hoạt để cắm vào đầu nối CSI nằm giữa cổng Ethernet và HDMI. Trong
Raspbian, ta kích hoạt hệ thống sử dụng board camera này bằng cách cài đặt hoặc nâng
cấp lên phiên bản mới nhất của hệ điều hành (OS) và sau đó chạy Raspi-config và
chọn tùy chọn camera. Giá của mô-đun camera này là €20 ở châu Âu (09 Tháng 9 năm
2013).
Gertboard – một thiết bị được Raspberry Pi Foundation khuyến khích, được thiết
kế cho mục đích giáo dục, nó sẽ giúp mở rộng các chân GPIO của Raspberry Pi để cho
phép giao tiếp với và điều khiển các đèn LED, tiếp điểm, tín hiệu analog, cảm biến và
các thiết bị khác. Nó cũng bao gồm một trình điều khiển tương thích với Arduino theo
tùy chọn để giao tiếp với Pi.
Infrared Camera – Vào tháng 10 năm 2013, tổ chức này đã tuyên bố rằng họ sẽ
bắt đầu sản xuất một module camera không có bộ lọc hồng ngoại, được gọi là Pi NoIR.
Các board mở rộng HAT (Hardware Attached on Top-Phần cứng đính kèm ở mặt
trên) – Cùng với model B+, được lấy cảm hứng bởi các board Arduino shield, giao
diện cho các board HAT được trang bị bởi Raspberry Pi Foundation. Mỗi board HAT
mang theo một EEPROM nhỏ (điển hình là một CAT24C32WI-GT3) chứa các chi tiết
có liên quan tới board này, do đó hệ điều hành của Raspberry Pi được sẽ được thông
báo về HAT, và chi tiết kỹ thuật của nó, liên quan tới hệ điều hành sử dụng HAT.
Board HAT có 4 lỗ định vị ở 4 góc hình chữ nhật của nó.
Các hệ điều hành
Raspberry Pi chủ yếu sử dụng các hệ điều hành dựa trên nhân Linux.
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 11
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
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
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.
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.
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
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 12
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
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).
Plan 9 from Bell Labs and Inferno (in beta)
Moebius – là một bản phân phối rút gọn của ARM 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.
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 – là 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 – là 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ế cho is website và email self-hosting.
Minepion – là một hệ điều hành dùng riêng cho "đào" tiền số (giống như bitcoin).
Kano OS.
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 với 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 hệ điều hành Linux nhỏ gọn sử dụng BusyBox và FLTK,
được thiết kế để chạy ưu tiên trên RAM.
"Windows 10 IoT Core" – Bản Windows 10 miễn phí do Microsoft phát hành,
chạy trên Raspberry Pi 2.
WTware fo Raspberry Pi 2.
IPFire – là một bản phân phối chuyên dùng cho firewall/router; 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.
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 13
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
Các hệ điều hành dự kiến
Haiku – là nhân bản mã nguồn mở BeOS nhắm vào Raspberry Pi và các board
ARM khác. Công việc bắt đầu vào năm 2011 cho model 1, nhưng chỉ model 2 mới
được hỗ trợ.
Arch Linux ARM
OpenELEC
Pidora (Fedora Remix)
Puppy Linux
Raspbmc và trung tâm đa phương tiện số mã nguồn mở XBMC
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 (khuyến cáo sử dụng cho Raspberry Pi 1) – Bảo trì độc lập bởi
Foundation; dựa trên kiến trúc Debian ARM hard-float (armhf) cổng được thiết kế ban
đầu cho ARMv7 và các bộ xử lý sau này (với Jazelle RCT/ThumbEE và VFPv3), được
biên dịch cho tập lệnh bị giới hạn nhiều hơn ARMv6 của Raspberry Pi 1. Yêu cầu ít
nhất 4 GB SD card cho các Raspbian image được cung cấp bởi Raspberry Pi
Foundation. Có một kho Pi Store dùng để trao đổi các chương trình với nhau.
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 các bản Raspbian dùng cho máy tính để bàn truyền thống.
Giao thức máy chủ hiển thị Wayland cho phép sử dụng hiệu quả GPU dành cho chức
năng tăng tốc phần cứng GUI. Vào 16 Tháng 4 năm 2014, một shell GUI dành cho
Weston được gọi là Maynard đã được phát hành. PiBang Linux được dẫn xuất từ
Raspbian.
Raspbian for Robots – là một nhánh của Raspbian dành cho các dự án robot với
LEGO, Grove, và Arduino.
Driver APIs
Phần mềm ứng dụng của bên thứ ba
AstroPrint – Kể từ tháng 8 năm 2014, phần mềm máy in 3D không dây
AstroPrint có thể chạy được trên Pi 2
Mathematica – Kể từ ngày 21 tháng 11 năm 2013, Raspbian bao gồm một cài đặt
đầy đủ của phần mềm độc quyền này cho dùng miễn phí. Tính đến ngày 24 tháng 8
năm 2015, là phiên bản Mathematica 10.2.
Minecraft – Phát hành 11 Tháng 2 năm 2013, một phiên bản dành cho Raspberry
Pi, trong đó bạn có thể thay đổi thế giới trò chơi với code.
UserGate Web Filter – Ngày 20 tháng 9 năm 2013, hãng bảo mật có trụ sở tại
Florida Entensys công bố UserGate Web Filter cho nền tảng Raspberry Pi.
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 14
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
Julia –Kể từ tháng 5 năm 2015, ngôn ngữ lập trình Julia biên dịch và chạy trên Pi
2, và bản gốc, trong trạng thái alpha (bản thử nghiệm).
R POS - Phát hành tháng 5 năm 2016, phần mềm bán hàng POS cho ngành Ăn
Uống và Bán Lẻ do Young POS phát triển.
Hình 2.8: Ảnh Raspberry Pi Model B
Đề tài sử dụng Raspberry Pi 3 model B, có thông số như sau:
• Quad Core 1.2GHz Broadcom BCM2837 64bit CPU.
• Vi xử lý hình ảnh VideoCore IV 3D.
• Tích hợp wireless LAN chuẩn 802.11 b / g / n.
• Tích hợp Bluetooth 4.1 (BLE - Bluetooth Low Energy).
• Ram 1GB LPDDR2.
• 1 cổng Ethernet.
• 1 cổng HDMI, hỗ trợ Full HDMI.
• 1 Jack cắm 3.5mm.
• 1 cổng kết nối camera qua CSI.
• 1 cổng kết nối màn hình cảm ứng qua DSI.
• 4 cổng USB 2.0
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 15
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
• 40 chân GPIO.
• Chip antena.
• Khe cắm thẻ nhớ microSD.
• Kích thước: 85 x 56 x 17 mm
• Đầu nối microUSB cho nguồn điện 2,5 A.
• Hỗ trợ tất cả các bản phân phối ARM GNU / Linux mới nhất và Windows 10 IoT.
1.3 HỆ ĐIỀU HÀNH
Về cơ bản, chỉ cần hệ điều hành hỗ trợ CPU ARM v6 là có thể chạy được trên
Raspberry Pi như: Ubuntu Mate, OSMC, RISC OS, Windows 10 IOT …
Hình 2.9: Các hệ điều hành hỗ trợ Raspberry
Pi Trong đề tài sử dụng hệ điều hành Raspbian.
Đây là hệ điều hành cơ bản, phổ biến nhất và do chính Raspberry Pi Foundation
cung cấp. Nó cũng được hãng khuyến cáo sử dụng, nhất là cho người mới bắt đầu làm
quen với Raspberry Pi (RPi).
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 16
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
Raspbian có dung lượng sau khi giải nén là khoảng gần 4GB, vì vậy cần tối thiểu
1 cái thẻ nhớ 4GB để có thể sử dụng Raspbian. Tuy nhiên, nên sử dụng thẻ tối thiểu
8GB bởi vì cần cài thêm các ứng dụng khác nữa. Để Raspbian hoạt động ổn định, tốc
độ nhanh, ta nên sử dụng thẻ nhớ Class 10.
Nhược điểm của Raspbian là giao diện đơn giản, cổ điển.
Hình 2.10: Giao diện Raspbian
Raspbian được hướng đến người dùng có mục đích:
• Sử dụng Raspberry Pi như máy tính văn phòng để lướt web, soạn văn bản,
check mail và thi thoảng nghe nhạc/xem phim.
• Nghiên cứu phát triển các thiết bị điều khiển tự động.
• Sử dụng như một máy chủ cung cấp các dịch vụ như web, file server, printer
server, …
1.3.1. Cài đặt hệ điều hành Raspbian:
Để cài đặt hệ điều hành cho Raspberry Pi, cần có:
• Phần mềm Win32 Disk Imager (WDI) để giải nén. Có thể download
tại: http://sourceforge.net/projects/win32diskimager/
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 17
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
• Một thẻ nhớ MicroSD tối thiểu 4GB. Khuyến cáo sử dụng thẻ 8GB class 10
trở lên để có dung lượng đảm bảo và tốc độ tốt nhất.
• File nén Raspbian, có thể download tại:
https://www.raspberrypi.org/downloads/raspbian/
Các bước thực hiện:
Bước 1: Ta tiến hành download SD Formatter 4.0 rồi làm theo từng bước để cài
đặt phần mềm này.
Sau đó, hãy bật SD Formater. Trong cửa sổ chương trình, lựa chọn ổ đĩa đang cần
format và bấm Format để chương trình thực hiện.
Hình 2.11: Format thẻ nhớ SDHC
Bước 2: Mở phần mềm Win32DiskImager, phần mềm này chỉ cần download về rồi
chạy mà không cần cài đặt.
Bước 3: Thông thường, hệ điều hành của RPi được nén dưới dạng .zip hoặc .tar.gz, …
Khi tải về cần giải nén nó ra để có file hệ điều hành dạng .img. Sau đó lựa chọn ổ thẻ
nhớ cần ghi. Cuối cùng bạn bấm Write và chờ đợi quá trình ghi hoàn tất.
Hình 2.12: Phần mềm Win32DiskImager
Một vài lưu ý:
• Sau khi giải nén, cắm thẻ nhớ vào Raspberry Pi và khởi động, sau đó dùng chuột và
bàn phím để cấu hình.
• Sau khi khởi động xong, gõ lệnh raspi-config để truy cập các phần cấu hình hệ
thống cho Raspbian. Tại đây có thể thiết lập rất nhiều thông số như ngày giờ, cấu
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 18
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
hình mạng, …
• Raspbian có user mặc định là: pi, password: raspberry.
• Cần chú ý bộ nguồn Raspberry Pi. Ta cần phân biệt nguồn và sạc, vì bộ nguồn sẽ
cung cấp điện ổn định 24/7 và ít nóng so với bộ sạc hơn. Chống chỉ định sạc tàu,
sạc lô, và dòng phải trên 1A. Điện áp phải trong biên độ 3% ở mức 5v (các bạn có
đồng hồ VOM cắm chân đen vào TP1 và chân đỏ vào TP2 là đo được).
• Nên mua thêm ít nhất 2 cái heatsink dán vào con SoC và LAN Controller. Thêm cái
quạt tản nhiệt thì càng tốt. Đừng để nhiệt độ quá
80*C. Một số ưu nhược điểm của Raspberry Pi. Ưu
điểm:
• Giá rẻ.
• Nhỏ gọn.
• Siêu tiết kiệm điện.
• GPU mạnh.
• Phục vụ cho nhiều mục đích.
• Khả năng hoạt động liên tục 24/7.
Nhược điểm:
• CPU cấu hình thấp .
• Lan 100.
• Yêu cầu phải có kiến thức cơ bản về Linux, điện tử.
1.4 Python (ngôn ngữ lập trình):
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
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 19
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
hướng phát triển của Python.
Lịch sử
Sự phát triển Python đến nay có thể chia làm các giai đoạn:
• Python 1: bao gồm các bản phát hành 1.x. Giai đoạn này, kéo dài từ đầu đến cuối
thập niên 1990. Từ năm 1990 đến 1995, Guido làm việc tại CWI(Centrum voor
Wiskunde en Informatica - Trung tâm Toán-Tin học tại Amsterdam, Hà Lan). Vì
vậy, các phiên bản Python đầu tiên đều do CWI phát hành. Phiên bản cuối cùng
phát hành tại CWI là 1.2.
• Vào năm 1995, Guido chuyển sang CNRI (Corporation for National Research
Initiatives) ở Reston, Virginia. Tại đây, ông phát hành một số phiên bản khác.
Python 1.6 là phiên bản cuối cùng phát hành tại CNRI.
• Sau bản phát hành 1.6, Guido rời bỏ CNRI để làm việc với các lập trình viên
chuyên viết phần mềm thương mại. Tại đây, ông có ý tưởng sử dụng Python
với các phần mềm tuân theo chuẩn GPL. Sau đó, CNRI và FSF (Free Software
Foundation - Tổ chức phần mềm tự do) đã cùng nhau hợp tác để làm bản quyền
Python phù hợp với GPL. Cùng năm đó, Guido được nhận Giải thưởng FSF vì
Sự phát triển Phần mềm tự do (Award for the Advancement of Free Software).
• Phiên bản 1.6.1 ra đời sau đó là phiên bản đầu tiên tuân theo bản quyền GPL.
Tuy nhiên, bản này hoàn toàn giống bản 1.6, trừ một số sửa lỗi cần thiết.
• Python 2: vào năm 2000, Guido và nhóm phát triển Python dời đến BeOpen.com
và thành lập BeOpen PythonLabs team. Phiên bản Python 2.0 được phát hành tại
đây. Sau khi phát hành Python 2.0, Guido và các thành viên PythonLabs gia nhập
Digital Creations.
• Python 2.1 ra đời kế thừa từ Python 1.6.1 và Python 2.0. Bản quyền của phiên
bản này được đổi thành Python Software Foundation License. Từ thời điểm này
trở đi, Python thuộc sở hữu của Python Software Foundation (PSF), một tổ
chức phi lợi nhuận được thành lập theo mẫu Apache Software Foundation.
• Python 3, còn gọi là Python 3000 hoặc Py3K: Dòng 3.x sẽ không hoàn toàn tương
thích với dòng 2.x, tuy vậy có công cụ hỗ trợ chuyển đổi từ các phiên bản
2.x sang 3.x. Nguyên tắc chủ đạo để phát triển Python 3.x là "bỏ cách làm việc cũ
nhằm hạn chế trùng lặp về mặt chức năng của Python". Trong PEP (Python
Enhancement Proposal) có mô tả chi tiết các thay đổi trong Python . Các đặc điểm
mới của Python 3.0 sẽ được trình bày phần cuối bài này.
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 20
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
Đặc điểm
Triết lý căn bản của ngôn ngữ Python được trình bày trong tài liệuThe Zen of
Python (PEP 20), có dạng thơ Haiku, tóm gọn như sau:
• Đẹp đẽ tốt hơn xấu xí
• Minh bạch tốt hơn che đậy
• Đơn giản tốt hơn phức tạp
• Phức tạp tốt hơn rắc rối
• Dễ đọc
Dễ học, dễ đọc
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.
and del for is raise
assert elif from lambda return
break else global not try
class except if or while
continue exec import pass yield
def finally in print
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.
Python, trái lại, 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ó. Ví dụ,
giả sử có đoạn mã sau trong C/C++:
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 21
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
1 #include <math.h>
2 //...
3 delta = b * b – 4 * a * c;
4 if (delta > 0)
5 {
6 // Khối lệnh mới bắt đầu từ ký tự { đến }
7 x1 = (- b + sqrt(delta)) / (2 * a);
8 x2 = (- b - sqrt(delta)) / (2 * a);
9 printf("Phuong trinh co hai nghiem phan biet:n");
10 printf("x1 = %f; x2 = %f", x1, x2);
11 }
Đoạn mã trên có thể được viết lại bằng Python như sau:
1 import math
2 #...
3 delta = b * b – 4 * a * c
4 if delta > 0:
5 # Khối lệnh mới, thụt vào đầu dòng
6 x1 = (- b + math.sqrt(delta)) / (2 * a)
7 x2 = (- b – math.sqrt(delta)) / (2 * a)
8 print "Phuong trinh co hai nghiem phan biet:"
9 print "x1 = ", x1, "; ", "x2 = ", x2
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.
Các bản hiện thực
Python được viết từ những ngôn ngữ khác, tạo ra những bản hiện thực khác nhau. Bản
hiện thực Python chính, còn gọi là CPython, được viết bằng C, và được phân phối
kèm một thư viện chuẩn lớn được viết hỗn hợp bằng C và Python. CPython có thể
chạy trên nhiều nền và khả chuyển trên nhiều nền khác. Dưới đây là các nền trên đó,
CPython có thể chạy.
• Các hệ điều hành họ Unix: AIX, Darwin, FreeBSD, Mac
OS X, NetBSD, Linux, OpenBSD, Solaris,…
• Các hệ điều hành dành cho máy desktop: Amiga, AROS, BeOS, Mac
OS 9, Microsoft Windows, OS/2, RISC OS.
• Các hệ thống nhúng và các hệ đặc biệt: GP2X, Máy ảo Java, Nokia 770 Internet
Tablet, Palm OS, PlayStation 2, PlayStation Portable, Psion, QNX, Sharp Zaurus,
Symbian OS, Windows CE/Pocket PC, Xbox/XBMC, VxWorks.
• Các hệ máy tính lớn và các hệ khác: AS/400, OS/390, Plan 9 from Bell Labs,
VMS, z/OS.
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 22
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
Ngoài CPython, còn có hai hiện thực Python khác: Jython cho môi trường Java và
IronPython cho môi trường .NET và Mono.
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 nhị phân (như các thư
viện đồ họa do nhà sản xuất thiết bị cung cấp). Hơn thế nữa, ta cũng có thể liên kết
trình thông dịch của Python với các ứng dụng viết từ C và sử dụng nó như là một mở
rộng hoặc một ngôn ngữ dòng lệnh phụ trợ cho ứng dụng đó.
Trình thông dịch
Python là một ngôn ngữ lập trình dạng thông dịch, do đó có ưu điểm tiết kiệm thời
gian phát triển ứng dụng vì không cần phải thực hiện biên dịch và liên kết. Trình thông
dịch có thể được sử dụng để chạy file script, hoặc cũng có thể được sử dụng theo cách
tương tác. Ở chế độ tương tác, trình thông dịch Python tương tự shell của các hệ điều
hành họ Unix, tại đó, ta có thể nhập vào từng biểu thức rồi gõ Enter , và kết quả thực
thi sẽ được hiển thị ngay lập tức. Đặc điểm này rất hữu ích cho người mới học, giúp họ
nghiên cứu tính năng của ngôn ngữ; hoặc để các lập trình viên chạy thử mã lệnh trong
suốt quá trình phát triển phần mềm. Ngoài ra, cũng có thể tận dụng đặc điểm này để
thực hiện các phép tính như với máy tính bỏ túi.
Lệnh và cấu trúc điều khiển
Mỗi câu lệnh trong Python nằm trên một dòng mã nguồn. Ta không cần phải kết thúc
câu lệnh bằng bất kì ký tự gì. Cũng như các ngôn ngữ khác, Python cũng có các cấu
trúc điều khiển. Chúng bao gồm:
• Cấu trúc rẽ nhánh: cấu trúc if (có thể sử dụng thêm elif hoặc else ), dùng
để thực thi có điều kiện một khối mã cụ thể.
• Cấu trúc lặp, bao gồm:
• Lệnh while : chạy một khối mã cụ thể cho đến khi điều kiện lặp có giá
trị false .
• Vòng lặp for : lặp qua từng phần tử của một dãy, mỗi phần tử sẽ được đưa
vào biến cục bộ để sử dụng với khối mã trong vòng lặp.
• Python cũng có từ khóa class dùng để khai báo lớp (sử dụng trong lập
trình hướng đối tượng) và lệnh def dùng để định nghĩa hàm.
Hệ thống kiểu dữ liệu
Python sử dụng hệ thống kiểu duck typing, còn gọi là latent typing (tự động xác
định kiểu). Có nghĩa là, Python không kiểm tra các ràng buộc về kiểu dữ liệu tại
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 23
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
thời điểm dịch, mà là tại thời điểm thực thi. Khi thực thi, nếu một thao tác trên một
đối tượng bị thất bại, thì có nghĩa là đối tượng đó không sử dụng một kiểu thích
hợp.
Python cũng là một ngôn ngữ định kiểu mạnh. Nó cấm mọi thao tác không hợp lệ,
ví dụ cộng một con số vào chuỗi ký tự.
Sử dụng Python, ta không cần phải khai báo biến. Biến được xem là đã khai báo
nếu nó được gán một giá trị lần đầu tiên. Căn cứ vào mỗi lần gán, Python sẽ tự
động xác định kiểu dữ liệu của biến. Python có một số kiểu dữ liệu thông dụng sau:
•
•
•
•
•
•
•
•
int , long : số nguyên (trong phiên bản 3.x long được nhập vào trong kiểu
int). Độ dài của kiểu số nguyên là tùy ý, chỉ bị giới hạn bởi bộ nhớ máy tính.
float : số thực
complex : số phức, chẳng hạn 5+4j
list : dãy trong đó các phần tử của nó có thể được thay đổi, chẳng hạn [8, 2,
'b', -1.5] . Kiểu dãy khác với kiểu mảng (array) thường gặp trong các ngôn
ngữ lập trình ở chỗ các phần tử của dãy không nhất thiết có kiểu giống nhau.
Ngoài ra phần tử của dãy còn có thể là một dãy khác.
tuple : dãy trong đó các phần tử của nó không thể thay đổi.
str : chuỗi ký tự. Từng ký tự trong chuỗi không thể thay đổi. Chuỗi ký tự
được đặt trong dấu nháy đơn, hoặc nháy kép.
dict : từ điển, còn gọi là "hashtable": là một cặp các dữ liệu được gắn theo
kiểu {từ khóa: giá trị}, trong đó các từ khóa trong một từ điển nhất thiết
phải khác nhau. Chẳng hạn {1: "Python", 2: "Pascal"}
set : một tập không xếp theo thứ tự, ở đó, mỗi phần tử chỉ xuất hiện một lần.
Ngoài ra, Python còn có nhiều kiểu dữ liệu khác. Xem thêm trong phần "Các
kiểu dữ liệu" bên dưới.
Module
Python cho phép chia chương trình thành các module để có thể sử dụng lại
trong các chương trình khác. Nó cũng cung cấp sẵn một tập hợp các modules
chuẩn mà lập trình viên có thể sử dụng lại trong chương trình của họ. Các
module này cung cấp nhiều chức năng hữu ích, như các hàm truy xuất tập tin,
các lời gọi hệ thống, trợ giúp lập trình mạng (socket),…
Đa năng
Python là một ngôn ngữ lập trình đơn giản nhưng rất hiệu quả.
• So với Unix shell, Python hỗ trợ các chương trình lớn hơn và cung cấp
nhiều cấu trúc hơn.
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 24
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
• So với C, Python cung cấp nhiều cơ chế kiểm tra lỗi hơn. Nó cũng có sẵn
nhiều kiểu dữ liệu cấp cao, ví dụ như các mảng (array) linh hoạt và từ điển
(dictionary) mà ta sẽ phải mất nhiều thời gian nếu viết bằng C.
Python là một ngôn ngữ lập trình cấp cao có thể đáp ứng phần lớn yêu cầu của
lập trình viên:
• Python thích hợp với các chương trình lớn hơn cả AWK và Perl.
• Python được sử dụng để lập trình Web. Nó có thể được sử dụng như một
ngôn ngữ kịch bản.
• Python được thiết kế để có thể nhúng và phục vụ như một ngôn ngữ kịch
bản để tuỳ biến và mở rộng các ứng dụng lớn hơn.
• Python được tích hợp sẵn nhiều công cụ và có một thư viện chuẩn phong
phú, Python cho phép người dùng dễ dàng tạo ra các dịch vụ Web, sử dụng
các thành phần COM hay CORBA, hỗ trợ các loại định dạng dữ liệu
Internet như email, HTML, XML và các ngôn ngữ đánh dấu khác. Python
cũng được cung cấp các thư viện xử lý các giao thức Internet thông dụng
như HTTP, FTP,…
• Python có khả năng giao tiếp đến hầu hết các loại cơ sở dữ liệu, có khả
năng xử lý văn bản, tài liệu hiệu quả, và có thể làm việc tốt với các công
nghệ Web khác.
• Python đặc biệt hiệu quả trong lập trình tính toán khoa học nhờ các
công cụ Python Imaging Library, pyVTK, MayaVi 3D Visualization
Toolkits, Numeric Python, ScientificPython,…
• Python có thể được sử dụng để phát triển các ứng dụng desktop. Lập
trình viên có thể dùng wxPython, PyQt, PyGtk để phát triển các ứng dụng
giao diện đồ họa (GUI) chất lượng cao. Python còn hỗ trợ các nền tảng
phát triển phần mềm khác
như MFC, Carbon, Delphi, X11, Motif, Tk, Fox, FLTK, …
• Python cũng có sẵn một unit testing framework để tạo ra các bộ test (test
suites).
Multiple paradigms (đa biến hóa)
Python là một ngôn ngữ đa biến hóa (multiple paradigms). Có nghĩa là, thay vì
ép buộc mọi người phải sử dụng duy nhất một phương pháp lập trình, Python
lại cho phép sử dụng nhiều phương pháp lập trình khác nhau: hướng đối tượng,
có cấu trúc, chức năng, hoặc chỉ hướng đến một khía cạnh. Python kiểu kiểu
động và sử dụng bộ thu gom rác để quản lý bộ nhớ. Một đặc điểm quan trọng
nữa của Python là giải pháp tên động, kết nối tên biến và tên phương thức lại
với nhau trong suốt thực thi của chương trình.
Sự tương đương giữa true và một giá trị khác 0
Cũng như C/C++, bất kì một giá trị khác 0 nào cũng tương đương với true và
ngược lại, một giá trị 0 tương đương với false . Như vậy:
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 25
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
if a != 0:
tương đương với
if a:
Cú pháp
Sau đây là cú pháp cơ bản nhất của ngôn ngữ Python:
Khối lệnh
Khác với đa số ngôn ngữ họ C sử dụng cặp ngoặc ngọn { } để phân chia
khối lệnh, Python sử dụng lùi đầu dòng (indentation) như dấu cách hay
tab để biểu thị khối lệnh. Các lệnh nằm cùng mức lùi đầu dòng sẽ cùng
thuộc một khối. Để biểu thị một khối rỗng Python có từ khoá "pass".
Toán tử
+ - * / // (chia làm tròn) % (phần dư) ** (lũy thừa)
~ (not) & (and) | (or) ^ (xor)
<< (left shift) >> (right shift)
== (bằng) <= >= != (khác)
Python sử dụng ký pháp trung tố thường gặp trong các ngôn ngữ lập
trình khác.
Các kiểu dữ liệu
• Kiểu số
• 1234585396326 (số nguyên dài vô hạn) -86.12 7.84E-04
• 2j 3 + 8j
• Kiểu chuỗi (string)
• Kiểu bộ (tuple)
• (1, 2.0, 3) (1,) ("Hello",1,())
• Kiểu danh sách (list)
• [4.8, -6] ['a','b']
• Kiểu từ điển (dictionary)
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 26
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
• {"Hanoi":"Vietnam", "Haiphong":"Vietnam",
"Hochiminh":"Vietnam",
"Netherlands":"Amsterdam", "France":"Paris"}
Chú thích
1 # dòng chú thích
1 "" " đa chú thích
2 đa chú thích
3 đa chú thích " ""
Lệnh gán
1 tên biến = biểu thức
2 x = 23.8
3 y = -x ** 2
4 z1 = z2 = x + y
5 loiChao = "Hello!"
6
7 i += 1 # tăng biến i thêm 1 đơn vị
In giá trị
1 print biểu thức
2 print (7 + 8) / 2.0
3 print (2 + 3j) * (4 - 6j)
Nội suy chuỗi (string interpolation)
1 print "Hello %s" %("world!")
2 print "i = %d" %i
3 print "a = %.2f and b = %.3f" %(a,b)
Cấu trúc rẽ nhánh
• Dạng 1:
• if biểu_thức_điều_kiện:
• # lệnh...
• Dạng 2:
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 27
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
• if biểu_thức_điều_kiện:
• # lệnh...
• else:
• # lệnh...
• Dạng 3:
• if biểu_thức_điều_kiện_1:
• # lệnh... (được thực hiện nếu biểu_thức_điều_kiện_1 là đúng/true)
• elif biểu_thức_điều_kiện_2:
• # lệnh... (được thực hiện nếu biểu_thức_điều_kiện_1 là sai/false,
nhưng biểu_thức_điều_kiện_2 là đúng/true)
• else:
• # lệnh... (được thực hiện nếu tất cả các biểu thức điều kiện đi kèm
if và elif đều sai)
Cấu trúc lặp
1 while biểu_thức_đúng:
2 # lệnh...
1 for phần_tử in dãy:
2 # lệnh...
1 L = ["Ha Noi", "Hai Phong", "TP Ho Chi Minh"]
2 for thanhPho in L:
3 print thanhPho
4
5 for i in range(10):
6 print i
Hàm
1 def tên_hàm (tham_biến_1, tham_biến_2, tham_biến_n):
2 # lệnh...
3 return giá_trị_hàm
1 def binhPhuong(x):
2 return x*x
Hàm với tham số mặc định:
1 def luyThua(x, n=2):
2 """Lũy thừa với số mũ mặc định là 2"""
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 28
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
3 return x**n
4
5 print luyThua(3) # 9
6 print luyThua(2,3) # 8
Lớp
1 class Tên_Lớp_1:
2 #...
3
4 class Tên_Lớp_2(Tên_Lớp_1):
5 """Lớp 2 kế thừa lớp 1"""
6 x = 3 # biến thành viên của lớp
7 #
8 def phương_thức(self, tham_biến):
9 #...
10
11 # khởi tạo
12 a = Tên_Lớp_2()
13 print a.x
14 print a.phương_thức(m) # m là giá trị gán cho tham biến
List Comprehension
List Comprehension là dạng cú pháp đặc biệt (syntactic sugar) (mới có
từ Python 2.x) cho phép thao tác trên toàn bộ dãy (list) mà không cần
viết rõ vòng lặp. Chẳng hạn y là một dãy mà mỗi phần tử của nó bằng
bình phương của từng phần tử trong dãy x :
y = [xi**2 for xi in x]
Xử lý ngoại lệ
try:
câu_lệnh
except Loại_Lỗi:
thông báo lỗi
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 29
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
Tốc độ thực hiện
Là một ngôn ngữ thông dịch, Python có tốc độ thực hiện chậm hơn
nhiều lần so với các ngôn ngữ biên dịch như Fortran, C, v.v... Trong số
các ngôn ngữ thông dịch, Python được đánh giá nhanh hơn Ruby và
Tcl, nhưng chậm hơn Lua.
Các đặc điểm mới trong Python 3.x
Nội dung phần này được trích từ tài liệu của Guido van Rossum. Phần
này không liệt kê đầy đủ tất cả các đặc điểm; chi tiết xin xem tài liệu
nói trên.
Một số thay đổi cần lưu ý nhất
• Lệnh print trở thành hàm print() . Theo đó sau print() ta cần nhớ gõ
vào cặp ngoặc () :
• print("Hello")
• print(2+3)
• Trả lại kết quả không còn là list trong một số trường hợp.
• dict.keys(), dict.items(), dict.values() kết quả cho ra các "view"
thay vì list.
• map và filter trả lại các iterator.
• range bây giờ có tác dụng như xrange , và không trả lại list.
• So sánh
Không còn hàm cmp , và cmp(a, b) có thể được thay bằng (a > b) - (a
< b)
• Số nguyên
• Kiểu long được đổi tên thành int .
• 1/2 cho ta kết quả là số thực chứ không phải số nguyên.
• Không còn hằng số sys.maxint
• Kiểu bát phân được ký hiệu bằng 0o thay vì 0 , chẳng
hạn 0o26 .
• Phân biệt văn bản - dữ liệu nhị phân thay vì Unicode - chuỗi 8-bit
• Tất cả chuỗi văn bản đều dưới dạng Unicode, nhưng chuỗi
Unicode mã hóa lại là dạng dữ liệu nhị phân. Dạng mặc định
là UTF-8.
• Không thể viết u"a string" để biểu diễn chuỗi như trong các
phiên bản 2.x
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 30
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
Các thay đổi về cú pháp
Cú pháp mới
• Các tham biến chỉ chấp nhận keyword: Các tham biến phía
sau *args phải được gọi theo dạng keyword.
• Từ khóa mới nonlocal . Muốn khai báo một biến x với có phạm vi
ảnh hưởng rộng hơn, nhưng chưa đến mức toàn cục, ta
dùng nonlocal x .
• Gán giá trị vào các phần tử tuple một cách thông minh, chẳng hạn
có thể viết (a, *rest, b) = range(5) để có được a = 0; b = [1,2,3]; c =
4 .
• Dictionary comprehension, chẳng hạn {k: v for k, v in stuff} thay
vì dict(stuff) .
• Kiểu nhị phân, chẳng hạn b110001 .
Cú pháp được thay đổi
• raise [biểu_thức [from biểu_thức]]
• except lệnh as biến
• Sử dụng metaclass trong đối tượng:
• class C(metaclass=M):
• pass
Cách dùng biến __metaclass__ không còn được hỗ trợ.
Cú pháp bị loại bỏ
• Không còn dấu `` , thay vì đó, dùng repr .
• Không còn so sánh <> (dùng != ).
• Không còn các lớp kiểu classic.
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 31
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
1.5 Các mô đun được sử dụng:
FLASK
Hình 2.13: Flask
Website: flask.pocoo.org
Flask là một micro framework Python cho ứng dụng web, dựa trên 2 utility
libraries là Werkzeug, Jinja 2. Điểm mạnh của Flask là sự nhỏ gọn, và là một phần
mềm mã nguồn mở, dựa trên giấy phép BSD.
Flask rất thích hợp với những người mới bắt đầu tìm hiểu viết web app bằng ngôn
ngữ Python. Tại sao lại gọi đó là một "micro" framework? Trang chủ của Flask nói
rằng: "micro" ở đây không có nghĩa là toàn bộ code của ứng dụng mà bạn viết phải
nằm gọn trong một file Python duy nhất, "micro" cũng không có nghĩa là Flask thiếu
một vài tính năng nào đó.
"Micro" nghĩa là phần core của Flask rất gọn nhẹ, nhưng lại có khả năng mở rộng
tốt. Flask sẽ không ép buộc bạn dùng cái gì trong quá trình phát triển. Ví dụ bạn có thể
tùy ý chọn database nào mà bạn thích và quen dùng. Thứ duy nhất mà Flask chọn để
sử dụng mặc định cho bạn là Template Engine, tuy nhiên bạn vẫn có thể dùng một
template engine khác một cách dễ dàng.
BlueZ
Tính năng:
BlueZ hỗ trợ các lớp và giao thức cho core Bluetooth raspberry. Nó linh hoạt,
hiệu quả và có một mô đun đầy đủ. Nó có các tính năng như:
• Complete modular implementation – Bộ mô đun hoàn chỉnh.
• Symmetric multi processing safe – Đa xử lý đối xứng (Là kiến trúc máy tính bao
gồm nhiều bộ vi xử lý cùng sử dụng chung bộ nhớ, một hệ điều hành, một phiên bản
của ứng dụng bất kỳ và chung một dữ liệu. Hệ điều hành có thể chia công việc ra
thành nhiều việc nhỏ và giao cho một bộ xử lý bất kỳ còn rỗi. Nhờ vậy tốc độ xử lý
dữ liệu tăng lên.)
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 32
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
• Multithreaded data processing – Xử lý dữ liệu đa luồng
• Support for multiple Bluetooth devices – Hỗ trợ nhiều thiết bị Bluetooth.
• Real hardware abstraction – tách biệt phần cứng.
• Standard socket interface to all layers – socket tiêu chuẩn cho các lớp.
• Device and service level security support – Hỗ trợ bảo mật.
Hiện tại BlueZ bao gồm các mô đun sau:
• Kernel Bluetooth.
• Kernel âm thanh L2CAP và SCO.
• Giao thức RFCOMM, BNEP, CMTP và HIDP.
• Trình điều khiển thiết bị ảo HCI UART, USB, PCMCIA.
• General Bluetooth and SDP libraries and daemons
• Các công cụ cấu hình và thử nghiệm khác.
• Các công cụ giãi mã và phân tích.
Nền tảng
Các công cụ, thư viện và mô đun BlueZ làm việc tốt với nhiều kiến trúc vi xử lý
có hỗ trợ Linux, bao gồm các nền tảng đơn và đa xử lý cũng như các hệ thống siêu
phân luồng:
• Intel and AMD x86
• AMD64 and EM64T (x86-64)
• SUN SPARC 32/64bit
• PowerPC 32/64bit
• Intel StrongARM and XScale
• Hitachi/Renesas SH processors
• Motorola DragonBall
Hỗ trợ
BlueZ có mặt và tương thích ở hầu hết các phiên bản Linux:
• Debian GNU/Linux
• Ubuntu Linux
• Fedora Core / Red Hat Linux
• OpenSuSE / SuSE Linux
• Mandrake Linux
• Gentoo Linux
• Chrome OS
Giải thưởng
• TuxMobil GNU/Linux Award 2005
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 33
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
2. STM8S003F3P6
2.1. Giới thiệu vi điều khiển STM8
STM8 là một nền tảng lõi vi điều khiển 8 bit mạch mẽ của ST với rất nhiều ngoại
vi phổ biến. Nó được sản xuất trên công nghệ 130 nm, được nhúng sẵn bộ nhớ để lưu
dữ liệu khi không cung cấp điện (non-volatile memory). Nền tảng STM8 có 4 dòng
chip như sau:
• STM8S là dòng vi điều khiển chính, đáp ứng với các nhu cầu thông dụng.
• STM8L là dòng vi điều khiển tiết kiệm năng lượng, thích hợp cho các ứng dụng dùng
PIN, IoT,...
• STM8AF và STM8AL là dòng vi điều khiển dành cho các ứng dụng trong ngành
công nghiệp ô tô. Mức độ ổn định cao nhất trong các dòng STM8.
Hình 2.14. Chip STM8S
Dòng vi điều khiển STM8 thông dụng ở Việt Nam là STM8S với các đại diện
tiêu biểu là các chip STM8S003F3P6, STM8S103K3T6,... Sở dĩ có điều đó bởi giá
thành của chúng rất thấp so với mặt bằng chung, nhưng sức mạnh lẫn như ngoại vi đều
không hề thua kém, hơn nữa hãng cũng hỗ trợ rất nhiều.
Ví dụ đối với STM8S103F3P6, thông số cấu hình cơ bản như sau:
- Dãy điện áp làm việc: 2.95v - 5.5v.
- STM8S103 là loại chíp theo chuẩn S của ST (S : standard) ,mỗi chu kỳ dao
động thực hiện được 1 lệnh 8 bit, gọi là vi điều khiển 8 bit.
- Hỗ trợ tốc độ đến 16MHz ; Mỗi giây thực hiện được 16 triệu phép tính, hỗ trợ dao
động thạch anh và dao động nội RC .
- Flash: 8KB.
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 34
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
- Ram: 1KB.
- EEPROM: 128 Byte ( đây là bộ nhớ Data, Data không bị mất sau khi mất điện).
- ADC: 10 bit ( bộ chuyển đổi tương tự sang số độ phân giả 10 bít).
- Timer: 3 ( timer 1, timer 2, timer 4).
- Bộ định thời giám sát watchdog timer.
- UART, SPI, I2C.
Hình 2.15: Mạch nguyên lí kit STM8S103F3P6
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 35
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
Hình 2.16: Kit STM8S103F3P6
2.2. Trình biên dịch (compiler) và debugger:
Hiện nay có hai trình biên dịch phổ biến cho dòng STM8 là Cosmic và IAR, đồ
án sử dụng trình biên dịch IAR.
IAR Embedded Workbench – là công cụ mạnh mẽ và thuận tiện cho lập trình vi
điều khiển. Đây là một phương tiện debug STM8 chạy trong Windows. Nó bao gồm
các trình biên soạn, biên dịch C, assembly, debug, với sự tương tác tốt với các chương
trình bên ngoài. Được xây dựng trong trình soạn thảo cấu hình đặc biệt với cú pháp C,
và các công cụ bổ sung.
Hướng dẫn sử dụng IAR tham khảo tại hocarm.net:
- Cài đặt IAR embedded Workbench. Tải phần mềm tại:
https://www.iar.com/iar-embedded-workbench/
- Kết nối USB STM8S vào máy tính.
- Mở IAR Embedded
Hình 2.17: Biểu tượng trình biên dịch IAR
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 36
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
- Tạo một dự án mới bằng cách đi vào File -> New -> Workspace
Hình 2.18: Create New Workspace
- Sau đó, Project -> Create New Project
Hình 2.19: Create New Project
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 37
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
- Chọn ngôn ngữ C rồi nhấn OK
Hình 2.20: Chọn main C
-Chọn nơi lưu Project rồi chờ một lát ta được như hình.
Hình 2.21: Chọn nơi lưu
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 38
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
-Chuột phải vào tên Project đã lưu, chọn Options
Hình 2.22: Chọn Option
-Chọn loại chip STM8 cần sử dụng
Hình 2.23: Chọn chip
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 39
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG
-Chọn như hình:
Hình 2.24: Cửa sổ Debugger
-Nhấn OK để hoàn tất quá trình thiết lập
Hình 2.25: Hoàn tất
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 40
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG
CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG
3.1Sơ đồ nguyên lý:
Hình 3.1: Mạch nguyên lý của mô hình
3.2 Mạch in PCB:
Hình 3.2: PCB của mô hình
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 41
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH
CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH
1. THIẾT KẾ WEBSERVER
1.1. Webserver
Hình 4.1: Webserver
Web Server là máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi người
ta cũng gọi chính phần mềm đó là Web Server. Tất cả các Web Server đều hiểu và
chạy được các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu
file chuyên biệt chẳng hạn như IIS của Microsoft dành cho *.asp, *.aspx...; Apache
dành cho *.php...; Sun Java System Web Server của SUN dành cho *p...
Đề tài sử dụng RPi để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những
website đã được thiết kế cùng với những thông tin liên quan khác như các mã Script,
các chương trình, và các file Multimedia…
Web Server có khả năng gửi đến máy khách những trang Web thông qua môi
trường Internet (hoặc Intranet) qua giao thức HTTP - giao thức được thiết kế để gửi
các file đến trình duyệt Web (Web Browser), và các giao thức khác.
Web Server trên RPi có một địa chỉ IP (ví dụ: 192.168.99.100:8000). Khi gõ vào
thanh Address trên trình duyệt dòng 192.168.99.100:8000, sau đó Enter. Server trên
RPi sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt máy khách.
Khi máy tính kết nối đến Web Server và gửi đến yêu cầu truy cập các thông tin từ
một trang Web dựng sẵn trên RPi, Web Server Software sẽ nhận yêu cầu và gửi lại
những thông tin cho máy khách.
Giống như những phần mềm khác, Web Server Software cũng chỉ là một ứng dụng
phần mềm. Nó được cài đặt và chạy trên máy tính nhúng RPi, nhờ có chương trình này
mà người sử dụng có thể truy cập đến các thông tin của trang Web trên RPi.
Cần lưu ý những điều sau:
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 42
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH
• Chỉ có khách được phép gửi request tới server và chỉ có server mới có
quyền trả lời các request của khách
• Khi yêu cầu một file thông qua HTTP, khách phải cung cấp url của file
• Web server phải trả lời mọi yêu cầu HTTP, ít nhất với thông báo lỗi.
Trên web server, máy chủ HTTP có trách nhiệm xử lý và trả lời các yêu cầu đến
• Khi nhận yêu cầu, máy chủ HTTP đầu tiên sẽ kiểm tra xem URL yêu cầu có khớp
với tệp hiện có hay không.
• Nếu vậy, máy chủ web gửi nội dung tệp tin về trình duyệt. Nếu không, máy chủ
ứng dụng sẽ tạo tệp cần thiết.
• Nếu không thể xử lý được, máy chủ web trả lại thông báo lỗi cho trình duyệt,
thông thường là "404 Not Found.
1.2. Tiến hành tạo Webserver
Đầu tiên, ta cần phải cài đặt Flask với trình quản lý gói pip:
Sudo pip install flask
Sau đó, tạo file hello.py và viết đoạn code sau:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8000, debug=True)
Mở terminal, chạy file hello.py bằng python, ta được:
pi@raspberrypi ~ $ sudo python hello-flask.py
* Running on http://0.0.0.0:8000/
* Restarting with reloader
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 43
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH
Truy cập vào địa chỉ: http://127.0.0.1:8000/ bằng trình duyệt trên RPi, hoặc dùng thiết
bị khác truy cập vào địa chỉ IP của RPi trong cùng mạng nội bộ, trên trình duyệt sẽ
xuất hiện dòng “Hello World” .
Hình 4.2: Truy cập localhost
Để render một template từ file HTML, ta sử dụng hàm render_template() của Flask, và
việc đầu tiên phải làm là import hàm này vào trong hello-flask.py.
from flask import Flask, render_template
Tiếp theo, tạo thư mục templates, bên trong sẽ chứa các file html muốn render, ví dụ
main.html.
<!DOCTYPE html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>Hello, World!</h1>
<h2>The date and time on the server is: {{ time }}</h2>
</body>
</html>
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 44
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH
Viết lại file hello-flask.py để render trang html vừa tạo:
from flask import Flask, render_template
import datetime
app = Flask(__name__)
@app.route("/")
def hello():
now = datetime.datetime.now()
timeString = now.strftime("%Y-%m-%d %H:%M")
templateData = {
'title' : 'HELLO!',
'time': timeString
}
return render_template('main.html', **templateData)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8000, debug=True)
Chạy file .py vừa tạo, mở trình duyệt trên RPi và truy cập địa chỉ
http://127.0.0.1:8000/ , trên trình duyệt sẽ xuất hiện dòng “Hello World” kèm theo thời
gian hiện tại trên RPi.
1.3. Điều khiển RASPBERRY PI với FLASK
Raspberry Pi là máy tính nhúng chạy hệ điều hành Raspian được nhà phát triển hỗ
trợ điều khiển các ngoại vi như (GPIO, PWM, I2C, UART,… ) qua ngôn ngữ Python.
Ta sẽ sử dụng thư viện RPi.GPIO của python kết hợp với Flask để điều khiển các
chân 23, 24, 25 của Raspberry Pi.
Tạo một file mới tên hello-gpio.py, để dùng được thư viện RPi.GPIO, cần phải
import nó:
import RPi.GPIO as GPIO
Toàn bộ file hello-gpio.py:
from flask import Flask, render_template
import datetime
import RPi.GPIO as GPIO
app = Flask(__name__)
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 45
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH
GPIO.setmode(GPIO.BCM)
@app.route("/")
def hello():
now = datetime.datetime.now()
timeString = now.strftime("%Y-%m-%d %H:%M")
templateData = {
'title' : 'HELLO!',
'time': timeString
}
return render_template('main.html', **templateData)
@app.route("/readPin/<pin>")
def readPin(pin):
try:
GPIO.setup(int(pin), GPIO.IN)
if GPIO.input(int(pin)) == True:
response = "Pin number " + pin + " is high!"
else:
response = "Pin number " + pin + " is low!"
except:
response = "There was an error reading pin " + pin + "."
Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập,
Assignment, Essay
Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net
SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 46
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI
ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI

More Related Content

Similar to ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI

ĐỒ ÁN GIẢI PHÁP HIGH AVAILABLE CHO TỔNG ĐÀI ASTERISK
ĐỒ ÁN GIẢI PHÁP HIGH AVAILABLE CHO TỔNG ĐÀI ASTERISKĐỒ ÁN GIẢI PHÁP HIGH AVAILABLE CHO TỔNG ĐÀI ASTERISK
ĐỒ ÁN GIẢI PHÁP HIGH AVAILABLE CHO TỔNG ĐÀI ASTERISK
lamluanvan.net Viết thuê luận văn
 
Đồ án Nghiên cứu về hệ thống giám sát mạng sử dụng phần mềm nguồn mở Zabbix
Đồ án Nghiên cứu về hệ thống giám sát mạng sử dụng phần mềm nguồn mở ZabbixĐồ án Nghiên cứu về hệ thống giám sát mạng sử dụng phần mềm nguồn mở Zabbix
Đồ án Nghiên cứu về hệ thống giám sát mạng sử dụng phần mềm nguồn mở Zabbix
lamluanvan.net Viết thuê luận văn
 
Đồ án Tìm hiểu về Hệ thống giám sát mạng và phát triển ứng dụng sử dụng phần ...
Đồ án Tìm hiểu về Hệ thống giám sát mạng và phát triển ứng dụng sử dụng phần ...Đồ án Tìm hiểu về Hệ thống giám sát mạng và phát triển ứng dụng sử dụng phần ...
Đồ án Tìm hiểu về Hệ thống giám sát mạng và phát triển ứng dụng sử dụng phần ...
lamluanvan.net Viết thuê luận văn
 
Đồ án Điều khiển hệ thống trộn liệu qua giao diện WinCC
Đồ án Điều khiển hệ thống trộn liệu qua giao diện WinCCĐồ án Điều khiển hệ thống trộn liệu qua giao diện WinCC
Đồ án Điều khiển hệ thống trộn liệu qua giao diện WinCC
lamluanvan.net Viết thuê luận văn
 
Lap trinhmangvoic sharp
Lap trinhmangvoic sharpLap trinhmangvoic sharp
Lap trinhmangvoic sharp
Nhớ Quá Khứ
 
ĐỒ ÁN NGHIÊN CỨU CÁC GIẢI PHÁP THIẾT KẾ NGÔI NHÀ THÔNG MINH
ĐỒ ÁN NGHIÊN CỨU CÁC GIẢI PHÁP THIẾT KẾ NGÔI NHÀ THÔNG MINHĐỒ ÁN NGHIÊN CỨU CÁC GIẢI PHÁP THIẾT KẾ NGÔI NHÀ THÔNG MINH
ĐỒ ÁN NGHIÊN CỨU CÁC GIẢI PHÁP THIẾT KẾ NGÔI NHÀ THÔNG MINH
lamluanvan.net Viết thuê luận văn
 
Đồ án Tính toán thiết kế chiếu sáng bằng đèn LED cho trường Mầm non quốc tế H...
Đồ án Tính toán thiết kế chiếu sáng bằng đèn LED cho trường Mầm non quốc tế H...Đồ án Tính toán thiết kế chiếu sáng bằng đèn LED cho trường Mầm non quốc tế H...
Đồ án Tính toán thiết kế chiếu sáng bằng đèn LED cho trường Mầm non quốc tế H...
lamluanvan.net Viết thuê luận văn
 
ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ MÔ HÌNH MÁY IN 3D
ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ MÔ HÌNH MÁY IN 3DĐỒ ÁN TỐT NGHIỆP THIẾT KẾ MÔ HÌNH MÁY IN 3D
ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ MÔ HÌNH MÁY IN 3D
lamluanvan.net Viết thuê luận văn
 
Đồ án Nghiên cứu và triển khai giải pháp nâng cao tính sẵn sàng cho hệ thống ...
Đồ án Nghiên cứu và triển khai giải pháp nâng cao tính sẵn sàng cho hệ thống ...Đồ án Nghiên cứu và triển khai giải pháp nâng cao tính sẵn sàng cho hệ thống ...
Đồ án Nghiên cứu và triển khai giải pháp nâng cao tính sẵn sàng cho hệ thống ...
lamluanvan.net Viết thuê luận văn
 
KHÓA LUẬN TỐT NGHIỆP ĐTCNK).docx
KHÓA LUẬN TỐT NGHIỆP ĐTCNK).docxKHÓA LUẬN TỐT NGHIỆP ĐTCNK).docx
KHÓA LUẬN TỐT NGHIỆP ĐTCNK).docx
kimpham15892
 
Khảo sát thiết kế và xây dựng mạng Lan cho phòng 303 nhà B.doc
Khảo sát thiết kế và xây dựng mạng Lan cho phòng 303 nhà B.docKhảo sát thiết kế và xây dựng mạng Lan cho phòng 303 nhà B.doc
Khảo sát thiết kế và xây dựng mạng Lan cho phòng 303 nhà B.doc
DV Viết Luận văn luanvanmaster.com ZALO 0973287149
 
ĐỒ ÁN ĐÁNH GIÁ HIỆU NĂNG BẢO MẬT CỦA MẠNG TRUYỀN THÔNG VÔ TUYẾN SỬ DỤNG KỸ TH...
ĐỒ ÁN ĐÁNH GIÁ HIỆU NĂNG BẢO MẬT CỦA MẠNG TRUYỀN THÔNG VÔ TUYẾN SỬ DỤNG KỸ TH...ĐỒ ÁN ĐÁNH GIÁ HIỆU NĂNG BẢO MẬT CỦA MẠNG TRUYỀN THÔNG VÔ TUYẾN SỬ DỤNG KỸ TH...
ĐỒ ÁN ĐÁNH GIÁ HIỆU NĂNG BẢO MẬT CỦA MẠNG TRUYỀN THÔNG VÔ TUYẾN SỬ DỤNG KỸ TH...
lamluanvan.net Viết thuê luận văn
 
Đồ án tốt nghiệp Bảo mật trong mạng GPON
Đồ án tốt nghiệp Bảo mật trong mạng GPONĐồ án tốt nghiệp Bảo mật trong mạng GPON
Đồ án tốt nghiệp Bảo mật trong mạng GPON
lamluanvan.net Viết thuê luận văn
 
ĐỒ ÁN NHẬN DẠNG VÂN TAY TẠI PHÒNG XUẤT NHẬP CẢNH, GỬI DỮ LIỆU QUA INTERNET
ĐỒ ÁN NHẬN DẠNG VÂN TAY TẠI PHÒNG XUẤT NHẬP CẢNH, GỬI DỮ LIỆU QUA INTERNETĐỒ ÁN NHẬN DẠNG VÂN TAY TẠI PHÒNG XUẤT NHẬP CẢNH, GỬI DỮ LIỆU QUA INTERNET
ĐỒ ÁN NHẬN DẠNG VÂN TAY TẠI PHÒNG XUẤT NHẬP CẢNH, GỬI DỮ LIỆU QUA INTERNET
lamluanvan.net Viết thuê luận văn
 
Đồ án Thiết kế, thi công và giám sát mô hình nhà thông minh qua Internet
Đồ án Thiết kế, thi công và giám sát mô hình nhà thông minh qua InternetĐồ án Thiết kế, thi công và giám sát mô hình nhà thông minh qua Internet
Đồ án Thiết kế, thi công và giám sát mô hình nhà thông minh qua Internet
lamluanvan.net Viết thuê luận văn
 
Luận văn: Xây dựng mạng truyền thông công nghiệp Modbus Rtu
Luận văn: Xây dựng mạng truyền thông công nghiệp Modbus RtuLuận văn: Xây dựng mạng truyền thông công nghiệp Modbus Rtu
Luận văn: Xây dựng mạng truyền thông công nghiệp Modbus Rtu
Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864
 
Luận Văn Nghiên Cứu Bảo Mật Web Service.doc
Luận Văn Nghiên Cứu Bảo Mật Web Service.docLuận Văn Nghiên Cứu Bảo Mật Web Service.doc
Luận Văn Nghiên Cứu Bảo Mật Web Service.doc
tcoco3199
 
Đồ án tốt nghiệp Thiết kế nhà máy sản xuất đồ hộp nước dứa năng suất 2 triệu ...
Đồ án tốt nghiệp Thiết kế nhà máy sản xuất đồ hộp nước dứa năng suất 2 triệu ...Đồ án tốt nghiệp Thiết kế nhà máy sản xuất đồ hộp nước dứa năng suất 2 triệu ...
Đồ án tốt nghiệp Thiết kế nhà máy sản xuất đồ hộp nước dứa năng suất 2 triệu ...
lamluanvan.net Viết thuê luận văn
 
Các giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdf
Các giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdfCác giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdf
Các giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdf
TieuNgocLy
 
Đồ Án Tốt Nghiệp Đại Học Hệ Chính Quy Tìm Hiểu Mạng Riêng Ảo Và Ứng Dụng.doc
Đồ Án Tốt Nghiệp Đại Học Hệ Chính Quy Tìm Hiểu Mạng Riêng Ảo Và Ứng Dụng.docĐồ Án Tốt Nghiệp Đại Học Hệ Chính Quy Tìm Hiểu Mạng Riêng Ảo Và Ứng Dụng.doc
Đồ Án Tốt Nghiệp Đại Học Hệ Chính Quy Tìm Hiểu Mạng Riêng Ảo Và Ứng Dụng.doc
sividocz
 

Similar to ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI (20)

ĐỒ ÁN GIẢI PHÁP HIGH AVAILABLE CHO TỔNG ĐÀI ASTERISK
ĐỒ ÁN GIẢI PHÁP HIGH AVAILABLE CHO TỔNG ĐÀI ASTERISKĐỒ ÁN GIẢI PHÁP HIGH AVAILABLE CHO TỔNG ĐÀI ASTERISK
ĐỒ ÁN GIẢI PHÁP HIGH AVAILABLE CHO TỔNG ĐÀI ASTERISK
 
Đồ án Nghiên cứu về hệ thống giám sát mạng sử dụng phần mềm nguồn mở Zabbix
Đồ án Nghiên cứu về hệ thống giám sát mạng sử dụng phần mềm nguồn mở ZabbixĐồ án Nghiên cứu về hệ thống giám sát mạng sử dụng phần mềm nguồn mở Zabbix
Đồ án Nghiên cứu về hệ thống giám sát mạng sử dụng phần mềm nguồn mở Zabbix
 
Đồ án Tìm hiểu về Hệ thống giám sát mạng và phát triển ứng dụng sử dụng phần ...
Đồ án Tìm hiểu về Hệ thống giám sát mạng và phát triển ứng dụng sử dụng phần ...Đồ án Tìm hiểu về Hệ thống giám sát mạng và phát triển ứng dụng sử dụng phần ...
Đồ án Tìm hiểu về Hệ thống giám sát mạng và phát triển ứng dụng sử dụng phần ...
 
Đồ án Điều khiển hệ thống trộn liệu qua giao diện WinCC
Đồ án Điều khiển hệ thống trộn liệu qua giao diện WinCCĐồ án Điều khiển hệ thống trộn liệu qua giao diện WinCC
Đồ án Điều khiển hệ thống trộn liệu qua giao diện WinCC
 
Lap trinhmangvoic sharp
Lap trinhmangvoic sharpLap trinhmangvoic sharp
Lap trinhmangvoic sharp
 
ĐỒ ÁN NGHIÊN CỨU CÁC GIẢI PHÁP THIẾT KẾ NGÔI NHÀ THÔNG MINH
ĐỒ ÁN NGHIÊN CỨU CÁC GIẢI PHÁP THIẾT KẾ NGÔI NHÀ THÔNG MINHĐỒ ÁN NGHIÊN CỨU CÁC GIẢI PHÁP THIẾT KẾ NGÔI NHÀ THÔNG MINH
ĐỒ ÁN NGHIÊN CỨU CÁC GIẢI PHÁP THIẾT KẾ NGÔI NHÀ THÔNG MINH
 
Đồ án Tính toán thiết kế chiếu sáng bằng đèn LED cho trường Mầm non quốc tế H...
Đồ án Tính toán thiết kế chiếu sáng bằng đèn LED cho trường Mầm non quốc tế H...Đồ án Tính toán thiết kế chiếu sáng bằng đèn LED cho trường Mầm non quốc tế H...
Đồ án Tính toán thiết kế chiếu sáng bằng đèn LED cho trường Mầm non quốc tế H...
 
ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ MÔ HÌNH MÁY IN 3D
ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ MÔ HÌNH MÁY IN 3DĐỒ ÁN TỐT NGHIỆP THIẾT KẾ MÔ HÌNH MÁY IN 3D
ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ MÔ HÌNH MÁY IN 3D
 
Đồ án Nghiên cứu và triển khai giải pháp nâng cao tính sẵn sàng cho hệ thống ...
Đồ án Nghiên cứu và triển khai giải pháp nâng cao tính sẵn sàng cho hệ thống ...Đồ án Nghiên cứu và triển khai giải pháp nâng cao tính sẵn sàng cho hệ thống ...
Đồ án Nghiên cứu và triển khai giải pháp nâng cao tính sẵn sàng cho hệ thống ...
 
KHÓA LUẬN TỐT NGHIỆP ĐTCNK).docx
KHÓA LUẬN TỐT NGHIỆP ĐTCNK).docxKHÓA LUẬN TỐT NGHIỆP ĐTCNK).docx
KHÓA LUẬN TỐT NGHIỆP ĐTCNK).docx
 
Khảo sát thiết kế và xây dựng mạng Lan cho phòng 303 nhà B.doc
Khảo sát thiết kế và xây dựng mạng Lan cho phòng 303 nhà B.docKhảo sát thiết kế và xây dựng mạng Lan cho phòng 303 nhà B.doc
Khảo sát thiết kế và xây dựng mạng Lan cho phòng 303 nhà B.doc
 
ĐỒ ÁN ĐÁNH GIÁ HIỆU NĂNG BẢO MẬT CỦA MẠNG TRUYỀN THÔNG VÔ TUYẾN SỬ DỤNG KỸ TH...
ĐỒ ÁN ĐÁNH GIÁ HIỆU NĂNG BẢO MẬT CỦA MẠNG TRUYỀN THÔNG VÔ TUYẾN SỬ DỤNG KỸ TH...ĐỒ ÁN ĐÁNH GIÁ HIỆU NĂNG BẢO MẬT CỦA MẠNG TRUYỀN THÔNG VÔ TUYẾN SỬ DỤNG KỸ TH...
ĐỒ ÁN ĐÁNH GIÁ HIỆU NĂNG BẢO MẬT CỦA MẠNG TRUYỀN THÔNG VÔ TUYẾN SỬ DỤNG KỸ TH...
 
Đồ án tốt nghiệp Bảo mật trong mạng GPON
Đồ án tốt nghiệp Bảo mật trong mạng GPONĐồ án tốt nghiệp Bảo mật trong mạng GPON
Đồ án tốt nghiệp Bảo mật trong mạng GPON
 
ĐỒ ÁN NHẬN DẠNG VÂN TAY TẠI PHÒNG XUẤT NHẬP CẢNH, GỬI DỮ LIỆU QUA INTERNET
ĐỒ ÁN NHẬN DẠNG VÂN TAY TẠI PHÒNG XUẤT NHẬP CẢNH, GỬI DỮ LIỆU QUA INTERNETĐỒ ÁN NHẬN DẠNG VÂN TAY TẠI PHÒNG XUẤT NHẬP CẢNH, GỬI DỮ LIỆU QUA INTERNET
ĐỒ ÁN NHẬN DẠNG VÂN TAY TẠI PHÒNG XUẤT NHẬP CẢNH, GỬI DỮ LIỆU QUA INTERNET
 
Đồ án Thiết kế, thi công và giám sát mô hình nhà thông minh qua Internet
Đồ án Thiết kế, thi công và giám sát mô hình nhà thông minh qua InternetĐồ án Thiết kế, thi công và giám sát mô hình nhà thông minh qua Internet
Đồ án Thiết kế, thi công và giám sát mô hình nhà thông minh qua Internet
 
Luận văn: Xây dựng mạng truyền thông công nghiệp Modbus Rtu
Luận văn: Xây dựng mạng truyền thông công nghiệp Modbus RtuLuận văn: Xây dựng mạng truyền thông công nghiệp Modbus Rtu
Luận văn: Xây dựng mạng truyền thông công nghiệp Modbus Rtu
 
Luận Văn Nghiên Cứu Bảo Mật Web Service.doc
Luận Văn Nghiên Cứu Bảo Mật Web Service.docLuận Văn Nghiên Cứu Bảo Mật Web Service.doc
Luận Văn Nghiên Cứu Bảo Mật Web Service.doc
 
Đồ án tốt nghiệp Thiết kế nhà máy sản xuất đồ hộp nước dứa năng suất 2 triệu ...
Đồ án tốt nghiệp Thiết kế nhà máy sản xuất đồ hộp nước dứa năng suất 2 triệu ...Đồ án tốt nghiệp Thiết kế nhà máy sản xuất đồ hộp nước dứa năng suất 2 triệu ...
Đồ án tốt nghiệp Thiết kế nhà máy sản xuất đồ hộp nước dứa năng suất 2 triệu ...
 
Các giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdf
Các giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdfCác giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdf
Các giải pháp cho mạng riêng ảo kiểu Site-to-Site dùng giao thức MPLS.pdf
 
Đồ Án Tốt Nghiệp Đại Học Hệ Chính Quy Tìm Hiểu Mạng Riêng Ảo Và Ứng Dụng.doc
Đồ Án Tốt Nghiệp Đại Học Hệ Chính Quy Tìm Hiểu Mạng Riêng Ảo Và Ứng Dụng.docĐồ Án Tốt Nghiệp Đại Học Hệ Chính Quy Tìm Hiểu Mạng Riêng Ảo Và Ứng Dụng.doc
Đồ Án Tốt Nghiệp Đại Học Hệ Chính Quy Tìm Hiểu Mạng Riêng Ảo Và Ứng Dụng.doc
 

More from lamluanvan.net Viết thuê luận văn

Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất thạch caramel tại Cô...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất thạch caramel tại Cô...Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất thạch caramel tại Cô...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất thạch caramel tại Cô...
lamluanvan.net Viết thuê luận văn
 
Báo cáo thực tập tại CÔNG TY CỔ PHẦN KINH DOANH VÀ DỊCH VỤ HÙNG ANH
Báo cáo thực tập tại CÔNG TY CỔ PHẦN KINH DOANH VÀ DỊCH VỤ HÙNG ANHBáo cáo thực tập tại CÔNG TY CỔ PHẦN KINH DOANH VÀ DỊCH VỤ HÙNG ANH
Báo cáo thực tập tại CÔNG TY CỔ PHẦN KINH DOANH VÀ DỊCH VỤ HÙNG ANH
lamluanvan.net Viết thuê luận văn
 
Báo cáo thực tập tại Công ty Cổ phần Đào tạo, Triển khai dịch vụ Công nghệ th...
Báo cáo thực tập tại Công ty Cổ phần Đào tạo, Triển khai dịch vụ Công nghệ th...Báo cáo thực tập tại Công ty Cổ phần Đào tạo, Triển khai dịch vụ Công nghệ th...
Báo cáo thực tập tại Công ty Cổ phần Đào tạo, Triển khai dịch vụ Công nghệ th...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất sản phẩm Sushi cá Hồ...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất sản phẩm Sushi cá Hồ...Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất sản phẩm Sushi cá Hồ...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất sản phẩm Sushi cá Hồ...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất chả giò xiên que tại...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất chả giò xiên que tại...Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất chả giò xiên que tại...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất chả giò xiên que tại...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất bánh snack jojo vị g...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất bánh snack jojo vị g...Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất bánh snack jojo vị g...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất bánh snack jojo vị g...
lamluanvan.net Viết thuê luận văn
 
BÁO CÁO KẾT THÚC HỌC PHẦN KỸ NĂNG THỰC HÀNH NĂNG LỰC NGHỀ NGHIỆP
BÁO CÁO KẾT THÚC HỌC PHẦN KỸ NĂNG THỰC HÀNH NĂNG LỰC NGHỀ NGHIỆPBÁO CÁO KẾT THÚC HỌC PHẦN KỸ NĂNG THỰC HÀNH NĂNG LỰC NGHỀ NGHIỆP
BÁO CÁO KẾT THÚC HỌC PHẦN KỸ NĂNG THỰC HÀNH NĂNG LỰC NGHỀ NGHIỆP
lamluanvan.net Viết thuê luận văn
 
This assessment plan proposal is to outline a structured approach to evaluati...
This assessment plan proposal is to outline a structured approach to evaluati...This assessment plan proposal is to outline a structured approach to evaluati...
This assessment plan proposal is to outline a structured approach to evaluati...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học Khảo sát quy trình công nghệ chế biến tôm Nobash...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình công nghệ chế biến tôm Nobash...Khoá luận tốt nghiệp Đại học Khảo sát quy trình công nghệ chế biến tôm Nobash...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình công nghệ chế biến tôm Nobash...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học Khảo sát quy trình bảo quản củ cải trắng tại Côn...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình bảo quản củ cải trắng tại Côn...Khoá luận tốt nghiệp Đại học Khảo sát quy trình bảo quản củ cải trắng tại Côn...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình bảo quản củ cải trắng tại Côn...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học Đánh giá thực trạng môi trường nước trên địa bàn...
Khoá luận tốt nghiệp Đại học Đánh giá thực trạng môi trường nước trên địa bàn...Khoá luận tốt nghiệp Đại học Đánh giá thực trạng môi trường nước trên địa bàn...
Khoá luận tốt nghiệp Đại học Đánh giá thực trạng môi trường nước trên địa bàn...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học Đánh giá nhận thức của người dân về công tác thu...
Khoá luận tốt nghiệp Đại học Đánh giá nhận thức của người dân về công tác thu...Khoá luận tốt nghiệp Đại học Đánh giá nhận thức của người dân về công tác thu...
Khoá luận tốt nghiệp Đại học Đánh giá nhận thức của người dân về công tác thu...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...
Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...
Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...
Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...
Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học đánh giá mối nguy ô nhiễm trong thịt quay, nướng...
Khoá luận tốt nghiệp Đại học đánh giá mối nguy ô nhiễm trong thịt quay, nướng...Khoá luận tốt nghiệp Đại học đánh giá mối nguy ô nhiễm trong thịt quay, nướng...
Khoá luận tốt nghiệp Đại học đánh giá mối nguy ô nhiễm trong thịt quay, nướng...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả sử dụng hầm Biogas trong xử lý...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả sử dụng hầm Biogas trong xử lý...Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả sử dụng hầm Biogas trong xử lý...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả sử dụng hầm Biogas trong xử lý...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của trạm xử lý nước thải Hầm l...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của trạm xử lý nước thải Hầm l...Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của trạm xử lý nước thải Hầm l...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của trạm xử lý nước thải Hầm l...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của hệ thống xử lý nước thải n...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của hệ thống xử lý nước thải n...Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của hệ thống xử lý nước thải n...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của hệ thống xử lý nước thải n...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học 1 Đánh giá hiệu quả các biện pháp xử lý chất thả...
Khoá luận tốt nghiệp Đại học 1 Đánh giá hiệu quả các biện pháp xử lý chất thả...Khoá luận tốt nghiệp Đại học 1 Đánh giá hiệu quả các biện pháp xử lý chất thả...
Khoá luận tốt nghiệp Đại học 1 Đánh giá hiệu quả các biện pháp xử lý chất thả...
lamluanvan.net Viết thuê luận văn
 
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả bể biogas plastic nổi trong xử...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả bể biogas plastic nổi trong xử...Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả bể biogas plastic nổi trong xử...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả bể biogas plastic nổi trong xử...
lamluanvan.net Viết thuê luận văn
 

More from lamluanvan.net Viết thuê luận văn (20)

Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất thạch caramel tại Cô...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất thạch caramel tại Cô...Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất thạch caramel tại Cô...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất thạch caramel tại Cô...
 
Báo cáo thực tập tại CÔNG TY CỔ PHẦN KINH DOANH VÀ DỊCH VỤ HÙNG ANH
Báo cáo thực tập tại CÔNG TY CỔ PHẦN KINH DOANH VÀ DỊCH VỤ HÙNG ANHBáo cáo thực tập tại CÔNG TY CỔ PHẦN KINH DOANH VÀ DỊCH VỤ HÙNG ANH
Báo cáo thực tập tại CÔNG TY CỔ PHẦN KINH DOANH VÀ DỊCH VỤ HÙNG ANH
 
Báo cáo thực tập tại Công ty Cổ phần Đào tạo, Triển khai dịch vụ Công nghệ th...
Báo cáo thực tập tại Công ty Cổ phần Đào tạo, Triển khai dịch vụ Công nghệ th...Báo cáo thực tập tại Công ty Cổ phần Đào tạo, Triển khai dịch vụ Công nghệ th...
Báo cáo thực tập tại Công ty Cổ phần Đào tạo, Triển khai dịch vụ Công nghệ th...
 
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất sản phẩm Sushi cá Hồ...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất sản phẩm Sushi cá Hồ...Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất sản phẩm Sushi cá Hồ...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất sản phẩm Sushi cá Hồ...
 
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất chả giò xiên que tại...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất chả giò xiên que tại...Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất chả giò xiên que tại...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất chả giò xiên que tại...
 
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất bánh snack jojo vị g...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất bánh snack jojo vị g...Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất bánh snack jojo vị g...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình sản xuất bánh snack jojo vị g...
 
BÁO CÁO KẾT THÚC HỌC PHẦN KỸ NĂNG THỰC HÀNH NĂNG LỰC NGHỀ NGHIỆP
BÁO CÁO KẾT THÚC HỌC PHẦN KỸ NĂNG THỰC HÀNH NĂNG LỰC NGHỀ NGHIỆPBÁO CÁO KẾT THÚC HỌC PHẦN KỸ NĂNG THỰC HÀNH NĂNG LỰC NGHỀ NGHIỆP
BÁO CÁO KẾT THÚC HỌC PHẦN KỸ NĂNG THỰC HÀNH NĂNG LỰC NGHỀ NGHIỆP
 
This assessment plan proposal is to outline a structured approach to evaluati...
This assessment plan proposal is to outline a structured approach to evaluati...This assessment plan proposal is to outline a structured approach to evaluati...
This assessment plan proposal is to outline a structured approach to evaluati...
 
Khoá luận tốt nghiệp Đại học Khảo sát quy trình công nghệ chế biến tôm Nobash...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình công nghệ chế biến tôm Nobash...Khoá luận tốt nghiệp Đại học Khảo sát quy trình công nghệ chế biến tôm Nobash...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình công nghệ chế biến tôm Nobash...
 
Khoá luận tốt nghiệp Đại học Khảo sát quy trình bảo quản củ cải trắng tại Côn...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình bảo quản củ cải trắng tại Côn...Khoá luận tốt nghiệp Đại học Khảo sát quy trình bảo quản củ cải trắng tại Côn...
Khoá luận tốt nghiệp Đại học Khảo sát quy trình bảo quản củ cải trắng tại Côn...
 
Khoá luận tốt nghiệp Đại học Đánh giá thực trạng môi trường nước trên địa bàn...
Khoá luận tốt nghiệp Đại học Đánh giá thực trạng môi trường nước trên địa bàn...Khoá luận tốt nghiệp Đại học Đánh giá thực trạng môi trường nước trên địa bàn...
Khoá luận tốt nghiệp Đại học Đánh giá thực trạng môi trường nước trên địa bàn...
 
Khoá luận tốt nghiệp Đại học Đánh giá nhận thức của người dân về công tác thu...
Khoá luận tốt nghiệp Đại học Đánh giá nhận thức của người dân về công tác thu...Khoá luận tốt nghiệp Đại học Đánh giá nhận thức của người dân về công tác thu...
Khoá luận tốt nghiệp Đại học Đánh giá nhận thức của người dân về công tác thu...
 
Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...
Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...
Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...
 
Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...
Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...
Khoá luận tốt nghiệp đại học Đánh giá mức độ ô nhiễm đất do tồn dư hóa chất b...
 
Khoá luận tốt nghiệp Đại học đánh giá mối nguy ô nhiễm trong thịt quay, nướng...
Khoá luận tốt nghiệp Đại học đánh giá mối nguy ô nhiễm trong thịt quay, nướng...Khoá luận tốt nghiệp Đại học đánh giá mối nguy ô nhiễm trong thịt quay, nướng...
Khoá luận tốt nghiệp Đại học đánh giá mối nguy ô nhiễm trong thịt quay, nướng...
 
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả sử dụng hầm Biogas trong xử lý...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả sử dụng hầm Biogas trong xử lý...Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả sử dụng hầm Biogas trong xử lý...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả sử dụng hầm Biogas trong xử lý...
 
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của trạm xử lý nước thải Hầm l...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của trạm xử lý nước thải Hầm l...Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của trạm xử lý nước thải Hầm l...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của trạm xử lý nước thải Hầm l...
 
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của hệ thống xử lý nước thải n...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của hệ thống xử lý nước thải n...Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của hệ thống xử lý nước thải n...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả của hệ thống xử lý nước thải n...
 
Khoá luận tốt nghiệp Đại học 1 Đánh giá hiệu quả các biện pháp xử lý chất thả...
Khoá luận tốt nghiệp Đại học 1 Đánh giá hiệu quả các biện pháp xử lý chất thả...Khoá luận tốt nghiệp Đại học 1 Đánh giá hiệu quả các biện pháp xử lý chất thả...
Khoá luận tốt nghiệp Đại học 1 Đánh giá hiệu quả các biện pháp xử lý chất thả...
 
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả bể biogas plastic nổi trong xử...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả bể biogas plastic nổi trong xử...Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả bể biogas plastic nổi trong xử...
Khoá luận tốt nghiệp Đại học Đánh giá hiệu quả bể biogas plastic nổi trong xử...
 

ĐỒ ÁN GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI

  • 1. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA KỸ THUẬT ĐIỆN TỬ 2 _____________ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: GƯƠNG THÔNG MINH BẬT TẮT THIẾT BỊ QUA WEBSERVER MINI Mã số đề tài: 18 – N13DCDT090 Sinh viên thực hiện: ĐẶNG TRANG NHẬT TẢO MSSV: N13DCDT090 Lớp: D13CQKD02-N Giáo viên hướng dẫn: TS. CHUNG TẤN LÂM TP.HCM – 2017
  • 2. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net MỤC LỤC LỜI NÓI ĐẦU ............................................................................................................... 1 CHƯƠNG 1 : TỔNG QUAN VỀ ĐỒ ÁN ................................................................... 2 1. Tổng quan ............................................................................................................... 2 2. Nguyên lý ............................................................................................................... 2 3. Ứng dụng ................................................................................................................ 2 CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG............. 3 1. RASPBERRY PI .................................................................................................... 3 1.1. Giới thiệu RASPBERRY PI............................................................................... 3 1.2. PHẦN CỨNG .................................................................................................... 4 1.3 HỆ ĐIỀU HÀNH ............................................................................................. 16 1.3.1. Cài đặt hệ điều hành Raspbian: ................................................................. 17 1.4 Python (ngôn ngữ lập trình): ............................................................................ 19 1.5 Các mô đun được sử dụng:............................................................................... 32 2. STM8S003F3P6 ................................................................................................... 34 2.1. Giới thiệu vi điều khiển STM8 ........................................................................ 34 2.2. Trình biên dịch (compiler) và debugger:.......................................................... 36 CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG ...................................... 41 3.1 Sơ đồ nguyên lý: .............................................................................................. 41 3.2 Mạch in PCB: ................................................................................................... 41 CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH............................................... 42 1. THIẾT KẾ WEBSERVER ................................................................................... 42 1.1. Webserver .................................................................................................. 42 1.2. Tiến hành tạo Webserver ........................................................................... 43 1.3. Điều khiển RASPBERRY PI với FLASK................................................. 45 2. Truyền nhận Serial trên STM8S ........................................................................... 48 3. Code Thực Tế đã thực hiện .................................................................................. 49 3.1. Code python............................................................................................... 49 3.2. Code UART ............................................................................................... 52 3.3. Ứng dụng gương thông minh (MagicMirror):............................................. 56 i
  • 3. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 5: KẾT QUẢ & HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ........................... 57 1. ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN ĐỀ TÀI.................................................................. 57 2. HƯỚNG PHÁT TRIỂN................................................................................................................ 57 TÀI LIỆU THAM KHẢO ................................................................................................................... 58 ii
  • 4. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net DANH MỤC HÌNH Hình 2.1: Bo mạch Raspberry Pi..................................................................................... 3 Hình 2.2: Sơ đồ cấu tạo Raspberry Pi ............................................................................. 4 Hình 2.3: Nguyên hộp máy tính Raspberry Pi ................................................................ 5 Hình 2.4: Raspberry Pi đang được sử dụng .................................................................... 5 Hình 2.5: Vị trí của các kết nối và các IC chính trên Raspberry Pi 1 model A+ phiên bản 1.1 ............................................................................................................................. 8 Hình 2.6: Vị trí của các kết nối và các IC chính trên Raspberry Pi 1 model B phiên bản 2 .......................................................................................................................................9 Hình 2.7: Vị trí của các kết nối và các IC chính trên Raspberry Pi 1 model B+ phiên bản 1.2, và Raspberry Pi 2 model.................................................................................... 9 Hình 2.8: Ảnh Raspberry Pi Model B ........................................................................... 15 Hình 2.9: Các hệ điều hành hỗ trợ Raspberry Pi........................................................... 16 Hình 2.10: Giao diện Raspbian ..................................................................................... 17 Hình 2.11: Format thẻ nhớ SDHC................................................................................. 18 Hình 2.12: Phần mềm Win32DiskImager ..................................................................... 18 Hình 2.13: Flask ............................................................................................................ 32 Hình 2.14. Chip STM8S................................................................................................ 34 Hình 2.15: Mạch nguyên lí kit STM8S103F3P6........................................................... 35 Hình 2.16: Kit STM8S103F3P6.................................................................................... 36 Hình 2.17: Biểu tượng trình biên dịch IAR................................................................... 36 Hình 2.18: Create New Workspace............................................................................... 37 Hình 2.19: Create New Project ..................................................................................... 37 Hình 2.20: Chọn main C ............................................................................................... 38 Hình 2.22: Chọn Option ................................................................................................ 39 Hình 3.1: Mạch nguyên lý của mô hình ........................................................................ 41 Hình 3.2: PCB của mô hình .......................................................................................... 41 Hình 4.1: Webserver ..................................................................................................... 42 Hình 4.2: Truy cập localhost ......................................................................................... 44 iii
  • 5. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net LỜI NÓI ĐẦU LỜI NÓI ĐẦU Internet of Things ( IoT) đang là xu hướng hot nhất ở thời điểm hiện tại. Đây cũng là động lực để em quyết định tìm hiểu về mảng điều khiển các thiết bị trong gia đình thông qua một webserver mini, dựa trên cơ sở phần cứng là máy tính nhúng Raspberry Pi 3. Mục đích của đề tài này là tìm hiểu cách một webserver hoạt động và cách nó trao đổi thông tin giữa người sử dụng ( client) và máy tính nhúng (server) qua đó sử dụng giao thức UART để điều khiển một vi điều khiển STM khác. Chúng em xin cảm ơn sự giúp đỡ của thầy TS. Chung Tấn Lâm đã giúp chúng em giải đáp các thắc mắc trong suốt quá trình thực hiện đề tài. Kinh chúc thầy sức khỏe và thành công trong công việc.
  • 6. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 1
  • 7. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 1 : TỔNG QUAN VỀ ĐỒ ÁN CHƯƠNG 1 : TỔNG QUAN VỀ ĐỒ ÁN 1. Tổng quan Thiết kế phần mềm webserver để tiến hành gửi nhận thông tin giữa người dùng (client) và máy tính nhúng (server) qua đó điều khiển máy tính nhúng trao đổi dữ liệu với vi điều khiển STM qua giao tiếp UART. 2. Nguyên lý Máy tính nhúng Raspberry sử dụng Flask python làm back-end để tạo một webserver. Webserver này sẽ trả về một trang web dạng HTML khi có người truy cập tới nó. Khi máy tính nhúng nhận được các lệnh điều khiển từ webserver sẽ tiến hành chạy các thư viện Javascript liên quan tới Serial Port để gửi tín hiệu tới vi điều khiển STM. Qua đó điều khiển các ngoại vi có trên vi điều khiển STM này. 3. Ứng dụng Đề tài này có thể sử áp dụng trực tiếp vào các mô hình smarthome, automation home giúp người sử dụng có thể điều khiển các thiết bị trong nhà của mình ngay trên máy tính hay điện thoại di động. Hay thậm chí có thể mở PORT FORWARDING để điều khiển từ mạng internet.
  • 8. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 2
  • 9. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG 1. RASPBERRY PI 1.1. Giới thiệu RASPBERRY PI Raspberry Pi là một seri các máy tính chỉ có board mạch, 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 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. Hình 2.1: Bo mạch Raspberry Pi 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 Pis khác bởi màu đỏ của chúng và thiếudấ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.
  • 10. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 3
  • 11. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG Trong năm 2014, Raspberry Pi Foundation đã phát hành Compute Module, đó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. Foundation này cung cấp Debian và Arch Linux ARM để người dùng download 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 (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 Tháng Sáu năm 2015, khoảng 5-6.000.000 board Raspberry Pi đã được bán. Trong khi đã trở thành máy tính cá nhân bán chạy nhanh nhất của Anh, nó cũng đã được vận chuyển số lượng đơn vị lớn thứ hai phía sau Amstrad PCW, "Personal Computer Word-processor", bán được tám 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 lõi tứ 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á US$35 so với model B, với model A+ giá US$20 vẫn còn được bán. 1.2. PHẦN CỨNG Phần cứng Raspberry Pi qua nhiều phiên bản được trang bị nhiều cấu hình khác nhau, dung lượng bộ nhớ, thiết bị ngoại vi... Hình 2.2: Sơ đồ cấu tạo Raspberry Pi Sơ đồ khối trên mô tả model A, B, A+, B+ và. Model A và A+ thiếu cổng Ethernet và USB. Bộ chuyển đổi Ethernet được kết nối với một cổng USB bổ sung. Trong model A và A+ cổng USB được kết nối trực tiếp đến SoC. Trên model B+ chip
  • 12. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 4
  • 13. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG này có chứa một hub USB năm đầu ra, trong đó có bốn cổng có sẵn, trong khi model B chỉ cung cấp có hai cổng mà thôi. Hình 2.3: Nguyên hộp máy tính Raspberry Pi Hình 2.4: Raspberry Pi đang được sử dụng Bộ vi xử lý SoC được sử dụng trong Raspberry Pi thế hệ đầu tiên hơi tương đương với chip được sử dụng trong các điện thoại thông minh đời cũ (chẳng hạn như iPhone / 3G / 3GS). Raspberry Pi dựa trên SoC BCM2835 của Broadcom, trong đó bao gồm một bộ xử lý ARM1176JZF-S 700 MHz, GPU VideoCore IV,và RAM. Nó có một bộ nhớ cache cấp 1 16 KB và một bộ nhớ cache cấp 2 128 KB. Cache cấp 2 này được sử dụng
  • 14. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 5
  • 15. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG chủ yếu bởi GPU. SoC được xếp chồng lên nhau dưới chip RAM, vì vậy chỉ cạnh của nó là nhìn thấy được. Hiệu suất của các model thế hệ đầu tiên Trong khi hoạt động tại 700 MHz theo mặc định, thế hệ đầu tiên của Raspberry Pi cung cấp một hiệu suất thực tế tương đương với 0,041 GFLOPS. Ở cấp độ CPU hiệu suất tương đương một Pentium II 300 MHz của những năm 1997-1999. GPU cung cấp khả năng xử lý đồ họa 1 GPixel/s hoặc 1,5 Gtexel/s hoặc 24 GFLOPS của hiệu suất máy tính mục đích chung. Khả năng đồ họa của Raspberry Pi là tương đương với mức độ hoạt động của Xbox của năm 2001. Kết quả benchmark tính toán đơn nút LINPACK trong một hiệu suất chính xác đơn trung bình là 0.065 GFLOPS và một hiệu suất chính xác kép là 0,041 GFLOPS cho một board Raspberry Pi Model-B. Một nhóm 64 máy tính Raspberry Pi Model-B, có nhãn "Iridis-pi", đạt được một kết quả LINPACK HPLlà 1,14 GFLOPS (n = 10.240) tại 216 watt cho c. US $ 4,000. Raspberry Pi 2 được dựa trên Broadcom BCM2836 SoC, trong đó bao gồm một quad-core Cortex-A7 CPU chạy ở 900 MHz và 1 GB RAM. Nó được mô tả là mạnh hơn từ 4-6 lần so với board tiền nhiệm trước nó. GPU là giống hệt nhau. Ép xung Thế con chip của Raspberry Pi hệ đầu tiên hoạt động ở 700 MHz theo mặc định và không đủ nóng để cần một miếng tản nhiệt hoặc biện pháp làm mát đặc biệt nào khác, trừ khi con chip này được ép xung. Thế hệ thứ hai chạy ở 900 MHz theo mặc định, và cũng không đủ nóng để cần một miếng tản nhiệt hoặc biện pháp làm mát đặc biệt. Một lần nữa ép xung có thể làm SoC này nóng lên nhiều hơn mức bình thường. Hầu hết các chip Raspberry Pi có thể được ép xung tới 800 MHz và một số thậm chí còn cao hơn đến 1000 MHz. Có những báo cáo là thế hệ thứ hai có thể được ép xung cũng tương tự như vậy, thậm chí đến 1500 MHz (loại bỏ tất cả các tính năng an toàn và vượt quá giới hạn điện áp). Trong Raspbian Linux distrocác tùy chọn ép xung khi khởi độngcó thể được thực hiện bởi một lệnh phần mềm "sudo raspi-config" mà không làm vô hiệu chế độ bảo hành. Trong những trường hợp Pi tự động tắt ép xung xuống trong trường hợp chip đạt đến 85 °C (185 °F), nhưng nó có thể bỏ qua tự động quá điện áp và các thiết lập ép xung (làm vô hiệu chế độ bảo hành). Trong trường hợp đó, người ta có thể thử đặt một tản nhiệt có kích thước thích hợp vào nó để giữ cho các chip không bị nóng lên đến quá 85 °C. Phiên bản firmware mới hơn có chứa tùy chọn để lựa chọn giữa năm chế độ overclock ("turbo") để khi bật lên sẽ thử để có được hiệu suất tối đa của SoC mà
  • 16. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 6
  • 17. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG không làm giảim tuổi thọ của Raspberry Pi. Điều này được thực hiện bằng cách theo dõi nhiệt độ bên trong lõi của chip, và tải CPU, và điều chỉnh động tốc độ đồng hồ và điện áp lõi. Khi nhu cầu trên CPU thấp, hoặc nó đang chạy quá nóng, hiệu suất sẽ được can thiệp, nhưng nếu CPU có nhiều việc phải làm, và nhiệt độ của chip là chấp nhận được, hiệu suất sẽ được tạm thời gia tăng, với tốc độ xung nhịp lên đến 1 GHz, tùy thuộc vào từng loại board, và trên đó các thiết lập Turbo được sử dụng. Năm thiết lập này là: • không (none); 700 MHz ARM, 250 MHz core, 400 MHz SDRAM, 0 volt quá áp, • khiêm tốn (modest); 800 MHz ARM, 250 MHz core, 400 MHz SDRAM, 0 volt quá áp, • trung bình (medium); 900 MHz ARM, 250 MHz core, 450 MHz SDRAM, 2 volt quá áp, • cao (high); 950 MHz ARM, 250 MHz core, 450 MHz SDRAM, 6 volt quá áp, • turbo; 1000 MHz ARM, 500 MHz core, 600 MHz SDRAM, 6 volt quá áp. Trong chế độ cao nhất (turbo) xung SDRAM ban đầu 500 MHz, nhưng sau đó đã được thay đổi đến 600 MHz vì 500 MHz đôi khi gây hư thẻ nhớ SD. Đồng thời trong chế độ cao tốc độ xung lõi đã được hạ xuống 450-250 MHz, và ở chế độ trung bình 333-250 MHz. RAM Trên các board model B beta cũ, mặc định phân bổ 128 MB cho GPU, còn lại 128 MB cho CPU. Trên các board model B mới, 512 MB RAM được chia lần lượt 256 MB, 384 MB và 496 MB CPU RAM (tương ứng 256 MB, 128 MB và 16 MB video RAM). Mạng Mặc dù model A và A+ không có cổng 8P8C ("RJ45") Ethernet, chúng có thể sử dụng một bộ adapter USB Ethernet hoặc Wi-Fi ngoại vi do người dùng cung cấp để kết nối với một mạng. Trên model B và B+ cổng Ethernet được cung cấp sẵn adapter USB Ethernet. Thiết bị ngoại vi Raspberry Pi có thể hoạt động với bất kỳ bàn phím máy tính và chuột thông qua kết nối USB. Video Bộ điều khiển video có khả năng phân giải chuẩn truyền hình hiện đại, chẳng hạn như HD và Full HD, và các độ phân giải màn hình và cao hơn hoặc thấp hơn và độ
  • 18. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 7
  • 19. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG phân giải TV CRT chuẩn cũ hơn. Khi không có tùy chỉnh ép xung, nó có khả năng phát: 640 × 350 EGA; 640 × 480 VGA; 800 × 600 SVGA; 1024 × 768 XGA; 1280 × 720 720p HDTV; 1280 × 768 WXGA ; 1280 × 800 WXGA; 1280 × 1024 SXGA; 1366 × 768 WXGA; 1400 × 1050 SXGA +; 1600 × 1200 UXGA; 1680 × 1050 WXGA +; 1920 × 1080 1080p HDTV; 1920 × 1200 WUXGA. Nó có thể tạo ra các tín hiệu video hỗn hợp 576i và 480i cho PAL-BGHID, PAL-M, PAL-N, NTSC và NTSC- J. Đồng hồ thời gian thực Raspberry Pi không được trang bị đồng hồ thời gian thực, có nghĩa là nó không thể theo dõi thời gian trong ngày, khi nó không hoạt động. Thay vào đó, một chương trình chạy trên Pi có thể lấy thời gian từ một máy chủ thời gian mạng hoặc do người dùng nhập vào lúc khởi động. Một đồng hồ thời gian thực (như DS1307) với pin dự phòng có thể được thêm vào (thường thông qua giao tiếp I²C). Hình 2.5: Vị trí của các kết nối và các IC chính trên Raspberry Pi 1 model A+ phiên bản 1.1
  • 20. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 8
  • 21. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG Hình 2.6: Vị trí của các kết nối và các IC chính trên Raspberry Pi 1 model B phiên bản 2 Hình 2.7: Vị trí của các kết nối và các IC chính trên Raspberry Pi 1 model B+ phiên bản 1.2, và Raspberry Pi 2 model
  • 22. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 9
  • 23. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG Cổng GPIO RPi A+, B+ và 2B GPIO J8 có 40-chân pinout. Model A và B chỉ có 26 chân. GPIO# Chức năng thứ 2 pin# pin# Chức năng thứ 2 GPIO# N/A +3V3 1 2 +5V N/A GPIO2 SDA1 (I2C) 3 4 +5V N/A GPIO3 SCL1 (I2C) 5 6 GND N/A GPIO4 GCLK 7 8 TXD0 (UART) GPIO14 N/A GND 9 10 RXD0 (UART) GPIO15 GPIO17 GEN0 11 12 GEN1 GPIO18 GPIO27 GEN2 13 14 GND N/A GPIO22 GEN3 15 16 GEN4 GPIO23 N/A +3V3 17 18 GEN5 GPIO24 GPIO10 MOSI (SPI) 19 20 GND N/A GPIO9 MISO (SPI) 21 22 GEN6 GPIO25 GPIO11 SCLK (SPI) 23 24 CE0_N (SPI) GPIO8 N/A GND 25 26 CE1_N (SPI) GPIO7 (Models A and B stop here) EEPROM ID_SD 27 28 ID_SC EEPROM GPIO5 N/A 29 30 GND N/A GPIO6 N/A 31 32 - GPIO12 GPIO13 N/A 33 34 GND N/A GPIO19 N/A 35 36 N/A GPIO16 GPIO26 N/A 37 38 Digital IN GPIO20 N/A GND 39 40 Digital OUT GPIO21
  • 24. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 10
  • 25. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG Chức năng chức năng thứ 2 chân# chân# Chức năng thứ 2 Chức năng N/A +5V 1 2 +3V3 N/A GPIO28 GPIO_GEN7 3 4 GPIO_GEN8 GPIO29 GPIO30 GPIO_GEN9 5 6 GPIO_GEN10 GPIO31 N/A GND 7 8 GND N/A Model A và B quy định GPIO truy cập vào LED trạng thái ACT sử dụng GPIO 16. Model A+ và B+ và quy định GPIO truy cập vào các LED trạng thái ACT sử dụng GPIO 47, và LED trạng thái nguồn sử dụng GPIO 35. Phụ kiện Camera - Ngày 14 tháng 5 năm 2013, the Foundation và các nhà phân phối RS Components & Premier Farnell / Element 14 đã ra mắt board camera Raspberry Pi với một bản cập nhật firmware kèm theo. Board camera được vận chuyển đi kèm với một cáp phẳng linh hoạt để cắm vào đầu nối CSI nằm giữa cổng Ethernet và HDMI. Trong Raspbian, ta kích hoạt hệ thống sử dụng board camera này bằng cách cài đặt hoặc nâng cấp lên phiên bản mới nhất của hệ điều hành (OS) và sau đó chạy Raspi-config và chọn tùy chọn camera. Giá của mô-đun camera này là €20 ở châu Âu (09 Tháng 9 năm 2013). Gertboard – một thiết bị được Raspberry Pi Foundation khuyến khích, được thiết kế cho mục đích giáo dục, nó sẽ giúp mở rộng các chân GPIO của Raspberry Pi để cho phép giao tiếp với và điều khiển các đèn LED, tiếp điểm, tín hiệu analog, cảm biến và các thiết bị khác. Nó cũng bao gồm một trình điều khiển tương thích với Arduino theo tùy chọn để giao tiếp với Pi. Infrared Camera – Vào tháng 10 năm 2013, tổ chức này đã tuyên bố rằng họ sẽ bắt đầu sản xuất một module camera không có bộ lọc hồng ngoại, được gọi là Pi NoIR. Các board mở rộng HAT (Hardware Attached on Top-Phần cứng đính kèm ở mặt trên) – Cùng với model B+, được lấy cảm hứng bởi các board Arduino shield, giao diện cho các board HAT được trang bị bởi Raspberry Pi Foundation. Mỗi board HAT mang theo một EEPROM nhỏ (điển hình là một CAT24C32WI-GT3) chứa các chi tiết có liên quan tới board này, do đó hệ điều hành của Raspberry Pi được sẽ được thông báo về HAT, và chi tiết kỹ thuật của nó, liên quan tới hệ điều hành sử dụng HAT. Board HAT có 4 lỗ định vị ở 4 góc hình chữ nhật của nó. Các hệ điều hành Raspberry Pi chủ yếu sử dụng các hệ điều hành dựa trên nhân Linux.
  • 26. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 11
  • 27. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG 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 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. 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. 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
  • 28. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 12
  • 29. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG 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). Plan 9 from Bell Labs and Inferno (in beta) Moebius – là một bản phân phối rút gọn của ARM 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. 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 – là 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 – là 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ế cho is website và email self-hosting. Minepion – là một hệ điều hành dùng riêng cho "đào" tiền số (giống như bitcoin). Kano OS. 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 với 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 hệ điều hành Linux nhỏ gọn sử dụng BusyBox và FLTK, được thiết kế để chạy ưu tiên trên RAM. "Windows 10 IoT Core" – Bản Windows 10 miễn phí do Microsoft phát hành, chạy trên Raspberry Pi 2. WTware fo Raspberry Pi 2. IPFire – là một bản phân phối chuyên dùng cho firewall/router; 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.
  • 30. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 13
  • 31. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG Các hệ điều hành dự kiến Haiku – là nhân bản mã nguồn mở BeOS nhắm vào Raspberry Pi và các board ARM khác. Công việc bắt đầu vào năm 2011 cho model 1, nhưng chỉ model 2 mới được hỗ trợ. Arch Linux ARM OpenELEC Pidora (Fedora Remix) Puppy Linux Raspbmc và trung tâm đa phương tiện số mã nguồn mở XBMC 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 (khuyến cáo sử dụng cho Raspberry Pi 1) – Bảo trì độc lập bởi Foundation; dựa trên kiến trúc Debian ARM hard-float (armhf) cổng được thiết kế ban đầu cho ARMv7 và các bộ xử lý sau này (với Jazelle RCT/ThumbEE và VFPv3), được biên dịch cho tập lệnh bị giới hạn nhiều hơn ARMv6 của Raspberry Pi 1. Yêu cầu ít nhất 4 GB SD card cho các Raspbian image được cung cấp bởi Raspberry Pi Foundation. Có một kho Pi Store dùng để trao đổi các chương trình với nhau. 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 các bản Raspbian dùng cho máy tính để bàn truyền thống. Giao thức máy chủ hiển thị Wayland cho phép sử dụng hiệu quả GPU dành cho chức năng tăng tốc phần cứng GUI. Vào 16 Tháng 4 năm 2014, một shell GUI dành cho Weston được gọi là Maynard đã được phát hành. PiBang Linux được dẫn xuất từ Raspbian. Raspbian for Robots – là một nhánh của Raspbian dành cho các dự án robot với LEGO, Grove, và Arduino. Driver APIs Phần mềm ứng dụng của bên thứ ba AstroPrint – Kể từ tháng 8 năm 2014, phần mềm máy in 3D không dây AstroPrint có thể chạy được trên Pi 2 Mathematica – Kể từ ngày 21 tháng 11 năm 2013, Raspbian bao gồm một cài đặt đầy đủ của phần mềm độc quyền này cho dùng miễn phí. Tính đến ngày 24 tháng 8 năm 2015, là phiên bản Mathematica 10.2. Minecraft – Phát hành 11 Tháng 2 năm 2013, một phiên bản dành cho Raspberry Pi, trong đó bạn có thể thay đổi thế giới trò chơi với code. UserGate Web Filter – Ngày 20 tháng 9 năm 2013, hãng bảo mật có trụ sở tại Florida Entensys công bố UserGate Web Filter cho nền tảng Raspberry Pi.
  • 32. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 14
  • 33. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG Julia –Kể từ tháng 5 năm 2015, ngôn ngữ lập trình Julia biên dịch và chạy trên Pi 2, và bản gốc, trong trạng thái alpha (bản thử nghiệm). R POS - Phát hành tháng 5 năm 2016, phần mềm bán hàng POS cho ngành Ăn Uống và Bán Lẻ do Young POS phát triển. Hình 2.8: Ảnh Raspberry Pi Model B Đề tài sử dụng Raspberry Pi 3 model B, có thông số như sau: • Quad Core 1.2GHz Broadcom BCM2837 64bit CPU. • Vi xử lý hình ảnh VideoCore IV 3D. • Tích hợp wireless LAN chuẩn 802.11 b / g / n. • Tích hợp Bluetooth 4.1 (BLE - Bluetooth Low Energy). • Ram 1GB LPDDR2. • 1 cổng Ethernet. • 1 cổng HDMI, hỗ trợ Full HDMI. • 1 Jack cắm 3.5mm. • 1 cổng kết nối camera qua CSI. • 1 cổng kết nối màn hình cảm ứng qua DSI. • 4 cổng USB 2.0
  • 34. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 15
  • 35. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG • 40 chân GPIO. • Chip antena. • Khe cắm thẻ nhớ microSD. • Kích thước: 85 x 56 x 17 mm • Đầu nối microUSB cho nguồn điện 2,5 A. • Hỗ trợ tất cả các bản phân phối ARM GNU / Linux mới nhất và Windows 10 IoT. 1.3 HỆ ĐIỀU HÀNH Về cơ bản, chỉ cần hệ điều hành hỗ trợ CPU ARM v6 là có thể chạy được trên Raspberry Pi như: Ubuntu Mate, OSMC, RISC OS, Windows 10 IOT … Hình 2.9: Các hệ điều hành hỗ trợ Raspberry Pi Trong đề tài sử dụng hệ điều hành Raspbian. Đây là hệ điều hành cơ bản, phổ biến nhất và do chính Raspberry Pi Foundation cung cấp. Nó cũng được hãng khuyến cáo sử dụng, nhất là cho người mới bắt đầu làm quen với Raspberry Pi (RPi).
  • 36. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 16
  • 37. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG Raspbian có dung lượng sau khi giải nén là khoảng gần 4GB, vì vậy cần tối thiểu 1 cái thẻ nhớ 4GB để có thể sử dụng Raspbian. Tuy nhiên, nên sử dụng thẻ tối thiểu 8GB bởi vì cần cài thêm các ứng dụng khác nữa. Để Raspbian hoạt động ổn định, tốc độ nhanh, ta nên sử dụng thẻ nhớ Class 10. Nhược điểm của Raspbian là giao diện đơn giản, cổ điển. Hình 2.10: Giao diện Raspbian Raspbian được hướng đến người dùng có mục đích: • Sử dụng Raspberry Pi như máy tính văn phòng để lướt web, soạn văn bản, check mail và thi thoảng nghe nhạc/xem phim. • Nghiên cứu phát triển các thiết bị điều khiển tự động. • Sử dụng như một máy chủ cung cấp các dịch vụ như web, file server, printer server, … 1.3.1. Cài đặt hệ điều hành Raspbian: Để cài đặt hệ điều hành cho Raspberry Pi, cần có: • Phần mềm Win32 Disk Imager (WDI) để giải nén. Có thể download tại: http://sourceforge.net/projects/win32diskimager/
  • 38. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 17
  • 39. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG • Một thẻ nhớ MicroSD tối thiểu 4GB. Khuyến cáo sử dụng thẻ 8GB class 10 trở lên để có dung lượng đảm bảo và tốc độ tốt nhất. • File nén Raspbian, có thể download tại: https://www.raspberrypi.org/downloads/raspbian/ Các bước thực hiện: Bước 1: Ta tiến hành download SD Formatter 4.0 rồi làm theo từng bước để cài đặt phần mềm này. Sau đó, hãy bật SD Formater. Trong cửa sổ chương trình, lựa chọn ổ đĩa đang cần format và bấm Format để chương trình thực hiện. Hình 2.11: Format thẻ nhớ SDHC Bước 2: Mở phần mềm Win32DiskImager, phần mềm này chỉ cần download về rồi chạy mà không cần cài đặt. Bước 3: Thông thường, hệ điều hành của RPi được nén dưới dạng .zip hoặc .tar.gz, … Khi tải về cần giải nén nó ra để có file hệ điều hành dạng .img. Sau đó lựa chọn ổ thẻ nhớ cần ghi. Cuối cùng bạn bấm Write và chờ đợi quá trình ghi hoàn tất. Hình 2.12: Phần mềm Win32DiskImager Một vài lưu ý: • Sau khi giải nén, cắm thẻ nhớ vào Raspberry Pi và khởi động, sau đó dùng chuột và bàn phím để cấu hình. • Sau khi khởi động xong, gõ lệnh raspi-config để truy cập các phần cấu hình hệ thống cho Raspbian. Tại đây có thể thiết lập rất nhiều thông số như ngày giờ, cấu
  • 40. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 18
  • 41. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG hình mạng, … • Raspbian có user mặc định là: pi, password: raspberry. • Cần chú ý bộ nguồn Raspberry Pi. Ta cần phân biệt nguồn và sạc, vì bộ nguồn sẽ cung cấp điện ổn định 24/7 và ít nóng so với bộ sạc hơn. Chống chỉ định sạc tàu, sạc lô, và dòng phải trên 1A. Điện áp phải trong biên độ 3% ở mức 5v (các bạn có đồng hồ VOM cắm chân đen vào TP1 và chân đỏ vào TP2 là đo được). • Nên mua thêm ít nhất 2 cái heatsink dán vào con SoC và LAN Controller. Thêm cái quạt tản nhiệt thì càng tốt. Đừng để nhiệt độ quá 80*C. Một số ưu nhược điểm của Raspberry Pi. Ưu điểm: • Giá rẻ. • Nhỏ gọn. • Siêu tiết kiệm điện. • GPU mạnh. • Phục vụ cho nhiều mục đích. • Khả năng hoạt động liên tục 24/7. Nhược điểm: • CPU cấu hình thấp . • Lan 100. • Yêu cầu phải có kiến thức cơ bản về Linux, điện tử. 1.4 Python (ngôn ngữ lập trình): 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
  • 42. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 19
  • 43. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG hướng phát triển của Python. Lịch sử Sự phát triển Python đến nay có thể chia làm các giai đoạn: • Python 1: bao gồm các bản phát hành 1.x. Giai đoạn này, kéo dài từ đầu đến cuối thập niên 1990. Từ năm 1990 đến 1995, Guido làm việc tại CWI(Centrum voor Wiskunde en Informatica - Trung tâm Toán-Tin học tại Amsterdam, Hà Lan). Vì vậy, các phiên bản Python đầu tiên đều do CWI phát hành. Phiên bản cuối cùng phát hành tại CWI là 1.2. • Vào năm 1995, Guido chuyển sang CNRI (Corporation for National Research Initiatives) ở Reston, Virginia. Tại đây, ông phát hành một số phiên bản khác. Python 1.6 là phiên bản cuối cùng phát hành tại CNRI. • Sau bản phát hành 1.6, Guido rời bỏ CNRI để làm việc với các lập trình viên chuyên viết phần mềm thương mại. Tại đây, ông có ý tưởng sử dụng Python với các phần mềm tuân theo chuẩn GPL. Sau đó, CNRI và FSF (Free Software Foundation - Tổ chức phần mềm tự do) đã cùng nhau hợp tác để làm bản quyền Python phù hợp với GPL. Cùng năm đó, Guido được nhận Giải thưởng FSF vì Sự phát triển Phần mềm tự do (Award for the Advancement of Free Software). • Phiên bản 1.6.1 ra đời sau đó là phiên bản đầu tiên tuân theo bản quyền GPL. Tuy nhiên, bản này hoàn toàn giống bản 1.6, trừ một số sửa lỗi cần thiết. • Python 2: vào năm 2000, Guido và nhóm phát triển Python dời đến BeOpen.com và thành lập BeOpen PythonLabs team. Phiên bản Python 2.0 được phát hành tại đây. Sau khi phát hành Python 2.0, Guido và các thành viên PythonLabs gia nhập Digital Creations. • Python 2.1 ra đời kế thừa từ Python 1.6.1 và Python 2.0. Bản quyền của phiên bản này được đổi thành Python Software Foundation License. Từ thời điểm này trở đi, Python thuộc sở hữu của Python Software Foundation (PSF), một tổ chức phi lợi nhuận được thành lập theo mẫu Apache Software Foundation. • Python 3, còn gọi là Python 3000 hoặc Py3K: Dòng 3.x sẽ không hoàn toàn tương thích với dòng 2.x, tuy vậy có công cụ hỗ trợ chuyển đổi từ các phiên bản 2.x sang 3.x. Nguyên tắc chủ đạo để phát triển Python 3.x là "bỏ cách làm việc cũ nhằm hạn chế trùng lặp về mặt chức năng của Python". Trong PEP (Python Enhancement Proposal) có mô tả chi tiết các thay đổi trong Python . Các đặc điểm mới của Python 3.0 sẽ được trình bày phần cuối bài này.
  • 44. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 20
  • 45. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG Đặc điểm Triết lý căn bản của ngôn ngữ Python được trình bày trong tài liệuThe Zen of Python (PEP 20), có dạng thơ Haiku, tóm gọn như sau: • Đẹp đẽ tốt hơn xấu xí • Minh bạch tốt hơn che đậy • Đơn giản tốt hơn phức tạp • Phức tạp tốt hơn rắc rối • Dễ đọc Dễ học, dễ đọc 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. and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print 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. Python, trái lại, 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ó. Ví dụ, giả sử có đoạn mã sau trong C/C++:
  • 46. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 21
  • 47. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG 1 #include <math.h> 2 //... 3 delta = b * b – 4 * a * c; 4 if (delta > 0) 5 { 6 // Khối lệnh mới bắt đầu từ ký tự { đến } 7 x1 = (- b + sqrt(delta)) / (2 * a); 8 x2 = (- b - sqrt(delta)) / (2 * a); 9 printf("Phuong trinh co hai nghiem phan biet:n"); 10 printf("x1 = %f; x2 = %f", x1, x2); 11 } Đoạn mã trên có thể được viết lại bằng Python như sau: 1 import math 2 #... 3 delta = b * b – 4 * a * c 4 if delta > 0: 5 # Khối lệnh mới, thụt vào đầu dòng 6 x1 = (- b + math.sqrt(delta)) / (2 * a) 7 x2 = (- b – math.sqrt(delta)) / (2 * a) 8 print "Phuong trinh co hai nghiem phan biet:" 9 print "x1 = ", x1, "; ", "x2 = ", x2 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. Các bản hiện thực Python được viết từ những ngôn ngữ khác, tạo ra những bản hiện thực khác nhau. Bản hiện thực Python chính, còn gọi là CPython, được viết bằng C, và được phân phối kèm một thư viện chuẩn lớn được viết hỗn hợp bằng C và Python. CPython có thể chạy trên nhiều nền và khả chuyển trên nhiều nền khác. Dưới đây là các nền trên đó, CPython có thể chạy. • Các hệ điều hành họ Unix: AIX, Darwin, FreeBSD, Mac OS X, NetBSD, Linux, OpenBSD, Solaris,… • Các hệ điều hành dành cho máy desktop: Amiga, AROS, BeOS, Mac OS 9, Microsoft Windows, OS/2, RISC OS. • Các hệ thống nhúng và các hệ đặc biệt: GP2X, Máy ảo Java, Nokia 770 Internet Tablet, Palm OS, PlayStation 2, PlayStation Portable, Psion, QNX, Sharp Zaurus, Symbian OS, Windows CE/Pocket PC, Xbox/XBMC, VxWorks. • Các hệ máy tính lớn và các hệ khác: AS/400, OS/390, Plan 9 from Bell Labs, VMS, z/OS.
  • 48. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 22
  • 49. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG Ngoài CPython, còn có hai hiện thực Python khác: Jython cho môi trường Java và IronPython cho môi trường .NET và Mono. 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 nhị phân (như các thư viện đồ họa do nhà sản xuất thiết bị cung cấp). Hơn thế nữa, ta cũng có thể liên kết trình thông dịch của Python với các ứng dụng viết từ C và sử dụng nó như là một mở rộng hoặc một ngôn ngữ dòng lệnh phụ trợ cho ứng dụng đó. Trình thông dịch Python là một ngôn ngữ lập trình dạng thông dịch, do đó có ưu điểm tiết kiệm thời gian phát triển ứng dụng vì không cần phải thực hiện biên dịch và liên kết. Trình thông dịch có thể được sử dụng để chạy file script, hoặc cũng có thể được sử dụng theo cách tương tác. Ở chế độ tương tác, trình thông dịch Python tương tự shell của các hệ điều hành họ Unix, tại đó, ta có thể nhập vào từng biểu thức rồi gõ Enter , và kết quả thực thi sẽ được hiển thị ngay lập tức. Đặc điểm này rất hữu ích cho người mới học, giúp họ nghiên cứu tính năng của ngôn ngữ; hoặc để các lập trình viên chạy thử mã lệnh trong suốt quá trình phát triển phần mềm. Ngoài ra, cũng có thể tận dụng đặc điểm này để thực hiện các phép tính như với máy tính bỏ túi. Lệnh và cấu trúc điều khiển Mỗi câu lệnh trong Python nằm trên một dòng mã nguồn. Ta không cần phải kết thúc câu lệnh bằng bất kì ký tự gì. Cũng như các ngôn ngữ khác, Python cũng có các cấu trúc điều khiển. Chúng bao gồm: • Cấu trúc rẽ nhánh: cấu trúc if (có thể sử dụng thêm elif hoặc else ), dùng để thực thi có điều kiện một khối mã cụ thể. • Cấu trúc lặp, bao gồm: • Lệnh while : chạy một khối mã cụ thể cho đến khi điều kiện lặp có giá trị false . • Vòng lặp for : lặp qua từng phần tử của một dãy, mỗi phần tử sẽ được đưa vào biến cục bộ để sử dụng với khối mã trong vòng lặp. • Python cũng có từ khóa class dùng để khai báo lớp (sử dụng trong lập trình hướng đối tượng) và lệnh def dùng để định nghĩa hàm. Hệ thống kiểu dữ liệu Python sử dụng hệ thống kiểu duck typing, còn gọi là latent typing (tự động xác định kiểu). Có nghĩa là, Python không kiểm tra các ràng buộc về kiểu dữ liệu tại
  • 50. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 23
  • 51. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG thời điểm dịch, mà là tại thời điểm thực thi. Khi thực thi, nếu một thao tác trên một đối tượng bị thất bại, thì có nghĩa là đối tượng đó không sử dụng một kiểu thích hợp. Python cũng là một ngôn ngữ định kiểu mạnh. Nó cấm mọi thao tác không hợp lệ, ví dụ cộng một con số vào chuỗi ký tự. Sử dụng Python, ta không cần phải khai báo biến. Biến được xem là đã khai báo nếu nó được gán một giá trị lần đầu tiên. Căn cứ vào mỗi lần gán, Python sẽ tự động xác định kiểu dữ liệu của biến. Python có một số kiểu dữ liệu thông dụng sau: • • • • • • • • int , long : số nguyên (trong phiên bản 3.x long được nhập vào trong kiểu int). Độ dài của kiểu số nguyên là tùy ý, chỉ bị giới hạn bởi bộ nhớ máy tính. float : số thực complex : số phức, chẳng hạn 5+4j list : dãy trong đó các phần tử của nó có thể được thay đổi, chẳng hạn [8, 2, 'b', -1.5] . Kiểu dãy khác với kiểu mảng (array) thường gặp trong các ngôn ngữ lập trình ở chỗ các phần tử của dãy không nhất thiết có kiểu giống nhau. Ngoài ra phần tử của dãy còn có thể là một dãy khác. tuple : dãy trong đó các phần tử của nó không thể thay đổi. str : chuỗi ký tự. Từng ký tự trong chuỗi không thể thay đổi. Chuỗi ký tự được đặt trong dấu nháy đơn, hoặc nháy kép. dict : từ điển, còn gọi là "hashtable": là một cặp các dữ liệu được gắn theo kiểu {từ khóa: giá trị}, trong đó các từ khóa trong một từ điển nhất thiết phải khác nhau. Chẳng hạn {1: "Python", 2: "Pascal"} set : một tập không xếp theo thứ tự, ở đó, mỗi phần tử chỉ xuất hiện một lần. Ngoài ra, Python còn có nhiều kiểu dữ liệu khác. Xem thêm trong phần "Các kiểu dữ liệu" bên dưới. Module Python cho phép chia chương trình thành các module để có thể sử dụng lại trong các chương trình khác. Nó cũng cung cấp sẵn một tập hợp các modules chuẩn mà lập trình viên có thể sử dụng lại trong chương trình của họ. Các module này cung cấp nhiều chức năng hữu ích, như các hàm truy xuất tập tin, các lời gọi hệ thống, trợ giúp lập trình mạng (socket),… Đa năng Python là một ngôn ngữ lập trình đơn giản nhưng rất hiệu quả. • So với Unix shell, Python hỗ trợ các chương trình lớn hơn và cung cấp nhiều cấu trúc hơn.
  • 52. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 24
  • 53. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG • So với C, Python cung cấp nhiều cơ chế kiểm tra lỗi hơn. Nó cũng có sẵn nhiều kiểu dữ liệu cấp cao, ví dụ như các mảng (array) linh hoạt và từ điển (dictionary) mà ta sẽ phải mất nhiều thời gian nếu viết bằng C. Python là một ngôn ngữ lập trình cấp cao có thể đáp ứng phần lớn yêu cầu của lập trình viên: • Python thích hợp với các chương trình lớn hơn cả AWK và Perl. • Python được sử dụng để lập trình Web. Nó có thể được sử dụng như một ngôn ngữ kịch bản. • Python được thiết kế để có thể nhúng và phục vụ như một ngôn ngữ kịch bản để tuỳ biến và mở rộng các ứng dụng lớn hơn. • Python được tích hợp sẵn nhiều công cụ và có một thư viện chuẩn phong phú, Python cho phép người dùng dễ dàng tạo ra các dịch vụ Web, sử dụng các thành phần COM hay CORBA, hỗ trợ các loại định dạng dữ liệu Internet như email, HTML, XML và các ngôn ngữ đánh dấu khác. Python cũng được cung cấp các thư viện xử lý các giao thức Internet thông dụng như HTTP, FTP,… • Python có khả năng giao tiếp đến hầu hết các loại cơ sở dữ liệu, có khả năng xử lý văn bản, tài liệu hiệu quả, và có thể làm việc tốt với các công nghệ Web khác. • Python đặc biệt hiệu quả trong lập trình tính toán khoa học nhờ các công cụ Python Imaging Library, pyVTK, MayaVi 3D Visualization Toolkits, Numeric Python, ScientificPython,… • Python có thể được sử dụng để phát triển các ứng dụng desktop. Lập trình viên có thể dùng wxPython, PyQt, PyGtk để phát triển các ứng dụng giao diện đồ họa (GUI) chất lượng cao. Python còn hỗ trợ các nền tảng phát triển phần mềm khác như MFC, Carbon, Delphi, X11, Motif, Tk, Fox, FLTK, … • Python cũng có sẵn một unit testing framework để tạo ra các bộ test (test suites). Multiple paradigms (đa biến hóa) Python là một ngôn ngữ đa biến hóa (multiple paradigms). Có nghĩa là, thay vì ép buộc mọi người phải sử dụng duy nhất một phương pháp lập trình, Python lại cho phép sử dụng nhiều phương pháp lập trình khác nhau: hướng đối tượng, có cấu trúc, chức năng, hoặc chỉ hướng đến một khía cạnh. Python kiểu kiểu động và sử dụng bộ thu gom rác để quản lý bộ nhớ. Một đặc điểm quan trọng nữa của Python là giải pháp tên động, kết nối tên biến và tên phương thức lại với nhau trong suốt thực thi của chương trình. Sự tương đương giữa true và một giá trị khác 0 Cũng như C/C++, bất kì một giá trị khác 0 nào cũng tương đương với true và ngược lại, một giá trị 0 tương đương với false . Như vậy:
  • 54. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 25
  • 55. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG if a != 0: tương đương với if a: Cú pháp Sau đây là cú pháp cơ bản nhất của ngôn ngữ Python: Khối lệnh Khác với đa số ngôn ngữ họ C sử dụng cặp ngoặc ngọn { } để phân chia khối lệnh, Python sử dụng lùi đầu dòng (indentation) như dấu cách hay tab để biểu thị khối lệnh. Các lệnh nằm cùng mức lùi đầu dòng sẽ cùng thuộc một khối. Để biểu thị một khối rỗng Python có từ khoá "pass". Toán tử + - * / // (chia làm tròn) % (phần dư) ** (lũy thừa) ~ (not) & (and) | (or) ^ (xor) << (left shift) >> (right shift) == (bằng) <= >= != (khác) Python sử dụng ký pháp trung tố thường gặp trong các ngôn ngữ lập trình khác. Các kiểu dữ liệu • Kiểu số • 1234585396326 (số nguyên dài vô hạn) -86.12 7.84E-04 • 2j 3 + 8j • Kiểu chuỗi (string) • Kiểu bộ (tuple) • (1, 2.0, 3) (1,) ("Hello",1,()) • Kiểu danh sách (list) • [4.8, -6] ['a','b'] • Kiểu từ điển (dictionary)
  • 56. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 26
  • 57. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG • {"Hanoi":"Vietnam", "Haiphong":"Vietnam", "Hochiminh":"Vietnam", "Netherlands":"Amsterdam", "France":"Paris"} Chú thích 1 # dòng chú thích 1 "" " đa chú thích 2 đa chú thích 3 đa chú thích " "" Lệnh gán 1 tên biến = biểu thức 2 x = 23.8 3 y = -x ** 2 4 z1 = z2 = x + y 5 loiChao = "Hello!" 6 7 i += 1 # tăng biến i thêm 1 đơn vị In giá trị 1 print biểu thức 2 print (7 + 8) / 2.0 3 print (2 + 3j) * (4 - 6j) Nội suy chuỗi (string interpolation) 1 print "Hello %s" %("world!") 2 print "i = %d" %i 3 print "a = %.2f and b = %.3f" %(a,b) Cấu trúc rẽ nhánh • Dạng 1: • if biểu_thức_điều_kiện: • # lệnh... • Dạng 2:
  • 58. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 27
  • 59. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG • if biểu_thức_điều_kiện: • # lệnh... • else: • # lệnh... • Dạng 3: • if biểu_thức_điều_kiện_1: • # lệnh... (được thực hiện nếu biểu_thức_điều_kiện_1 là đúng/true) • elif biểu_thức_điều_kiện_2: • # lệnh... (được thực hiện nếu biểu_thức_điều_kiện_1 là sai/false, nhưng biểu_thức_điều_kiện_2 là đúng/true) • else: • # lệnh... (được thực hiện nếu tất cả các biểu thức điều kiện đi kèm if và elif đều sai) Cấu trúc lặp 1 while biểu_thức_đúng: 2 # lệnh... 1 for phần_tử in dãy: 2 # lệnh... 1 L = ["Ha Noi", "Hai Phong", "TP Ho Chi Minh"] 2 for thanhPho in L: 3 print thanhPho 4 5 for i in range(10): 6 print i Hàm 1 def tên_hàm (tham_biến_1, tham_biến_2, tham_biến_n): 2 # lệnh... 3 return giá_trị_hàm 1 def binhPhuong(x): 2 return x*x Hàm với tham số mặc định: 1 def luyThua(x, n=2): 2 """Lũy thừa với số mũ mặc định là 2"""
  • 60. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 28
  • 61. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG 3 return x**n 4 5 print luyThua(3) # 9 6 print luyThua(2,3) # 8 Lớp 1 class Tên_Lớp_1: 2 #... 3 4 class Tên_Lớp_2(Tên_Lớp_1): 5 """Lớp 2 kế thừa lớp 1""" 6 x = 3 # biến thành viên của lớp 7 # 8 def phương_thức(self, tham_biến): 9 #... 10 11 # khởi tạo 12 a = Tên_Lớp_2() 13 print a.x 14 print a.phương_thức(m) # m là giá trị gán cho tham biến List Comprehension List Comprehension là dạng cú pháp đặc biệt (syntactic sugar) (mới có từ Python 2.x) cho phép thao tác trên toàn bộ dãy (list) mà không cần viết rõ vòng lặp. Chẳng hạn y là một dãy mà mỗi phần tử của nó bằng bình phương của từng phần tử trong dãy x : y = [xi**2 for xi in x] Xử lý ngoại lệ try: câu_lệnh except Loại_Lỗi: thông báo lỗi
  • 62. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 29
  • 63. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG Tốc độ thực hiện Là một ngôn ngữ thông dịch, Python có tốc độ thực hiện chậm hơn nhiều lần so với các ngôn ngữ biên dịch như Fortran, C, v.v... Trong số các ngôn ngữ thông dịch, Python được đánh giá nhanh hơn Ruby và Tcl, nhưng chậm hơn Lua. Các đặc điểm mới trong Python 3.x Nội dung phần này được trích từ tài liệu của Guido van Rossum. Phần này không liệt kê đầy đủ tất cả các đặc điểm; chi tiết xin xem tài liệu nói trên. Một số thay đổi cần lưu ý nhất • Lệnh print trở thành hàm print() . Theo đó sau print() ta cần nhớ gõ vào cặp ngoặc () : • print("Hello") • print(2+3) • Trả lại kết quả không còn là list trong một số trường hợp. • dict.keys(), dict.items(), dict.values() kết quả cho ra các "view" thay vì list. • map và filter trả lại các iterator. • range bây giờ có tác dụng như xrange , và không trả lại list. • So sánh Không còn hàm cmp , và cmp(a, b) có thể được thay bằng (a > b) - (a < b) • Số nguyên • Kiểu long được đổi tên thành int . • 1/2 cho ta kết quả là số thực chứ không phải số nguyên. • Không còn hằng số sys.maxint • Kiểu bát phân được ký hiệu bằng 0o thay vì 0 , chẳng hạn 0o26 . • Phân biệt văn bản - dữ liệu nhị phân thay vì Unicode - chuỗi 8-bit • Tất cả chuỗi văn bản đều dưới dạng Unicode, nhưng chuỗi Unicode mã hóa lại là dạng dữ liệu nhị phân. Dạng mặc định là UTF-8. • Không thể viết u"a string" để biểu diễn chuỗi như trong các phiên bản 2.x
  • 64. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 30
  • 65. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG Các thay đổi về cú pháp Cú pháp mới • Các tham biến chỉ chấp nhận keyword: Các tham biến phía sau *args phải được gọi theo dạng keyword. • Từ khóa mới nonlocal . Muốn khai báo một biến x với có phạm vi ảnh hưởng rộng hơn, nhưng chưa đến mức toàn cục, ta dùng nonlocal x . • Gán giá trị vào các phần tử tuple một cách thông minh, chẳng hạn có thể viết (a, *rest, b) = range(5) để có được a = 0; b = [1,2,3]; c = 4 . • Dictionary comprehension, chẳng hạn {k: v for k, v in stuff} thay vì dict(stuff) . • Kiểu nhị phân, chẳng hạn b110001 . Cú pháp được thay đổi • raise [biểu_thức [from biểu_thức]] • except lệnh as biến • Sử dụng metaclass trong đối tượng: • class C(metaclass=M): • pass Cách dùng biến __metaclass__ không còn được hỗ trợ. Cú pháp bị loại bỏ • Không còn dấu `` , thay vì đó, dùng repr . • Không còn so sánh <> (dùng != ). • Không còn các lớp kiểu classic.
  • 66. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 31
  • 67. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG 1.5 Các mô đun được sử dụng: FLASK Hình 2.13: Flask Website: flask.pocoo.org Flask là một micro framework Python cho ứng dụng web, dựa trên 2 utility libraries là Werkzeug, Jinja 2. Điểm mạnh của Flask là sự nhỏ gọn, và là một phần mềm mã nguồn mở, dựa trên giấy phép BSD. Flask rất thích hợp với những người mới bắt đầu tìm hiểu viết web app bằng ngôn ngữ Python. Tại sao lại gọi đó là một "micro" framework? Trang chủ của Flask nói rằng: "micro" ở đây không có nghĩa là toàn bộ code của ứng dụng mà bạn viết phải nằm gọn trong một file Python duy nhất, "micro" cũng không có nghĩa là Flask thiếu một vài tính năng nào đó. "Micro" nghĩa là phần core của Flask rất gọn nhẹ, nhưng lại có khả năng mở rộng tốt. Flask sẽ không ép buộc bạn dùng cái gì trong quá trình phát triển. Ví dụ bạn có thể tùy ý chọn database nào mà bạn thích và quen dùng. Thứ duy nhất mà Flask chọn để sử dụng mặc định cho bạn là Template Engine, tuy nhiên bạn vẫn có thể dùng một template engine khác một cách dễ dàng. BlueZ Tính năng: BlueZ hỗ trợ các lớp và giao thức cho core Bluetooth raspberry. Nó linh hoạt, hiệu quả và có một mô đun đầy đủ. Nó có các tính năng như: • Complete modular implementation – Bộ mô đun hoàn chỉnh. • Symmetric multi processing safe – Đa xử lý đối xứng (Là kiến trúc máy tính bao gồm nhiều bộ vi xử lý cùng sử dụng chung bộ nhớ, một hệ điều hành, một phiên bản của ứng dụng bất kỳ và chung một dữ liệu. Hệ điều hành có thể chia công việc ra thành nhiều việc nhỏ và giao cho một bộ xử lý bất kỳ còn rỗi. Nhờ vậy tốc độ xử lý dữ liệu tăng lên.)
  • 68. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 32
  • 69. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG • Multithreaded data processing – Xử lý dữ liệu đa luồng • Support for multiple Bluetooth devices – Hỗ trợ nhiều thiết bị Bluetooth. • Real hardware abstraction – tách biệt phần cứng. • Standard socket interface to all layers – socket tiêu chuẩn cho các lớp. • Device and service level security support – Hỗ trợ bảo mật. Hiện tại BlueZ bao gồm các mô đun sau: • Kernel Bluetooth. • Kernel âm thanh L2CAP và SCO. • Giao thức RFCOMM, BNEP, CMTP và HIDP. • Trình điều khiển thiết bị ảo HCI UART, USB, PCMCIA. • General Bluetooth and SDP libraries and daemons • Các công cụ cấu hình và thử nghiệm khác. • Các công cụ giãi mã và phân tích. Nền tảng Các công cụ, thư viện và mô đun BlueZ làm việc tốt với nhiều kiến trúc vi xử lý có hỗ trợ Linux, bao gồm các nền tảng đơn và đa xử lý cũng như các hệ thống siêu phân luồng: • Intel and AMD x86 • AMD64 and EM64T (x86-64) • SUN SPARC 32/64bit • PowerPC 32/64bit • Intel StrongARM and XScale • Hitachi/Renesas SH processors • Motorola DragonBall Hỗ trợ BlueZ có mặt và tương thích ở hầu hết các phiên bản Linux: • Debian GNU/Linux • Ubuntu Linux • Fedora Core / Red Hat Linux • OpenSuSE / SuSE Linux • Mandrake Linux • Gentoo Linux • Chrome OS Giải thưởng • TuxMobil GNU/Linux Award 2005
  • 70. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 33
  • 71. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG 2. STM8S003F3P6 2.1. Giới thiệu vi điều khiển STM8 STM8 là một nền tảng lõi vi điều khiển 8 bit mạch mẽ của ST với rất nhiều ngoại vi phổ biến. Nó được sản xuất trên công nghệ 130 nm, được nhúng sẵn bộ nhớ để lưu dữ liệu khi không cung cấp điện (non-volatile memory). Nền tảng STM8 có 4 dòng chip như sau: • STM8S là dòng vi điều khiển chính, đáp ứng với các nhu cầu thông dụng. • STM8L là dòng vi điều khiển tiết kiệm năng lượng, thích hợp cho các ứng dụng dùng PIN, IoT,... • STM8AF và STM8AL là dòng vi điều khiển dành cho các ứng dụng trong ngành công nghiệp ô tô. Mức độ ổn định cao nhất trong các dòng STM8. Hình 2.14. Chip STM8S Dòng vi điều khiển STM8 thông dụng ở Việt Nam là STM8S với các đại diện tiêu biểu là các chip STM8S003F3P6, STM8S103K3T6,... Sở dĩ có điều đó bởi giá thành của chúng rất thấp so với mặt bằng chung, nhưng sức mạnh lẫn như ngoại vi đều không hề thua kém, hơn nữa hãng cũng hỗ trợ rất nhiều. Ví dụ đối với STM8S103F3P6, thông số cấu hình cơ bản như sau: - Dãy điện áp làm việc: 2.95v - 5.5v. - STM8S103 là loại chíp theo chuẩn S của ST (S : standard) ,mỗi chu kỳ dao động thực hiện được 1 lệnh 8 bit, gọi là vi điều khiển 8 bit. - Hỗ trợ tốc độ đến 16MHz ; Mỗi giây thực hiện được 16 triệu phép tính, hỗ trợ dao động thạch anh và dao động nội RC . - Flash: 8KB.
  • 72. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 34
  • 73. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG - Ram: 1KB. - EEPROM: 128 Byte ( đây là bộ nhớ Data, Data không bị mất sau khi mất điện). - ADC: 10 bit ( bộ chuyển đổi tương tự sang số độ phân giả 10 bít). - Timer: 3 ( timer 1, timer 2, timer 4). - Bộ định thời giám sát watchdog timer. - UART, SPI, I2C. Hình 2.15: Mạch nguyên lí kit STM8S103F3P6
  • 74. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 35
  • 75. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG Hình 2.16: Kit STM8S103F3P6 2.2. Trình biên dịch (compiler) và debugger: Hiện nay có hai trình biên dịch phổ biến cho dòng STM8 là Cosmic và IAR, đồ án sử dụng trình biên dịch IAR. IAR Embedded Workbench – là công cụ mạnh mẽ và thuận tiện cho lập trình vi điều khiển. Đây là một phương tiện debug STM8 chạy trong Windows. Nó bao gồm các trình biên soạn, biên dịch C, assembly, debug, với sự tương tác tốt với các chương trình bên ngoài. Được xây dựng trong trình soạn thảo cấu hình đặc biệt với cú pháp C, và các công cụ bổ sung. Hướng dẫn sử dụng IAR tham khảo tại hocarm.net: - Cài đặt IAR embedded Workbench. Tải phần mềm tại: https://www.iar.com/iar-embedded-workbench/ - Kết nối USB STM8S vào máy tính. - Mở IAR Embedded Hình 2.17: Biểu tượng trình biên dịch IAR
  • 76. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 36
  • 77. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG - Tạo một dự án mới bằng cách đi vào File -> New -> Workspace Hình 2.18: Create New Workspace - Sau đó, Project -> Create New Project Hình 2.19: Create New Project
  • 78. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 37
  • 79. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG - Chọn ngôn ngữ C rồi nhấn OK Hình 2.20: Chọn main C -Chọn nơi lưu Project rồi chờ một lát ta được như hình. Hình 2.21: Chọn nơi lưu
  • 80. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 38
  • 81. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG -Chuột phải vào tên Project đã lưu, chọn Options Hình 2.22: Chọn Option -Chọn loại chip STM8 cần sử dụng Hình 2.23: Chọn chip
  • 82. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 39
  • 83. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 2: GIỚI THIỆU THIẾT BỊ SỬ DỤNG TRONG HỆ THỐNG -Chọn như hình: Hình 2.24: Cửa sổ Debugger -Nhấn OK để hoàn tất quá trình thiết lập Hình 2.25: Hoàn tất
  • 84. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 40
  • 85. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG 3.1Sơ đồ nguyên lý: Hình 3.1: Mạch nguyên lý của mô hình 3.2 Mạch in PCB: Hình 3.2: PCB của mô hình
  • 86. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 41
  • 87. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH 1. THIẾT KẾ WEBSERVER 1.1. Webserver Hình 4.1: Webserver Web Server là máy tính mà trên đó cài đặt phần mềm phục vụ Web, đôi khi người ta cũng gọi chính phần mềm đó là Web Server. Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của Microsoft dành cho *.asp, *.aspx...; Apache dành cho *.php...; Sun Java System Web Server của SUN dành cho *p... Đề tài sử dụng RPi để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác như các mã Script, các chương trình, và các file Multimedia… Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP - giao thức được thiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác. Web Server trên RPi có một địa chỉ IP (ví dụ: 192.168.99.100:8000). Khi gõ vào thanh Address trên trình duyệt dòng 192.168.99.100:8000, sau đó Enter. Server trên RPi sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt máy khách. Khi máy tính kết nối đến Web Server và gửi đến yêu cầu truy cập các thông tin từ một trang Web dựng sẵn trên RPi, Web Server Software sẽ nhận yêu cầu và gửi lại những thông tin cho máy khách. Giống như những phần mềm khác, Web Server Software cũng chỉ là một ứng dụng phần mềm. Nó được cài đặt và chạy trên máy tính nhúng RPi, nhờ có chương trình này mà người sử dụng có thể truy cập đến các thông tin của trang Web trên RPi. Cần lưu ý những điều sau:
  • 88. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 42
  • 89. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH • Chỉ có khách được phép gửi request tới server và chỉ có server mới có quyền trả lời các request của khách • Khi yêu cầu một file thông qua HTTP, khách phải cung cấp url của file • Web server phải trả lời mọi yêu cầu HTTP, ít nhất với thông báo lỗi. Trên web server, máy chủ HTTP có trách nhiệm xử lý và trả lời các yêu cầu đến • Khi nhận yêu cầu, máy chủ HTTP đầu tiên sẽ kiểm tra xem URL yêu cầu có khớp với tệp hiện có hay không. • Nếu vậy, máy chủ web gửi nội dung tệp tin về trình duyệt. Nếu không, máy chủ ứng dụng sẽ tạo tệp cần thiết. • Nếu không thể xử lý được, máy chủ web trả lại thông báo lỗi cho trình duyệt, thông thường là "404 Not Found. 1.2. Tiến hành tạo Webserver Đầu tiên, ta cần phải cài đặt Flask với trình quản lý gói pip: Sudo pip install flask Sau đó, tạo file hello.py và viết đoạn code sau: from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run(host='0.0.0.0', port=8000, debug=True) Mở terminal, chạy file hello.py bằng python, ta được: pi@raspberrypi ~ $ sudo python hello-flask.py * Running on http://0.0.0.0:8000/ * Restarting with reloader
  • 90. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 43
  • 91. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH Truy cập vào địa chỉ: http://127.0.0.1:8000/ bằng trình duyệt trên RPi, hoặc dùng thiết bị khác truy cập vào địa chỉ IP của RPi trong cùng mạng nội bộ, trên trình duyệt sẽ xuất hiện dòng “Hello World” . Hình 4.2: Truy cập localhost Để render một template từ file HTML, ta sử dụng hàm render_template() của Flask, và việc đầu tiên phải làm là import hàm này vào trong hello-flask.py. from flask import Flask, render_template Tiếp theo, tạo thư mục templates, bên trong sẽ chứa các file html muốn render, ví dụ main.html. <!DOCTYPE html> <head> <title>{{ title }}</title> </head> <body> <h1>Hello, World!</h1> <h2>The date and time on the server is: {{ time }}</h2> </body> </html>
  • 92. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 44
  • 93. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH Viết lại file hello-flask.py để render trang html vừa tạo: from flask import Flask, render_template import datetime app = Flask(__name__) @app.route("/") def hello(): now = datetime.datetime.now() timeString = now.strftime("%Y-%m-%d %H:%M") templateData = { 'title' : 'HELLO!', 'time': timeString } return render_template('main.html', **templateData) if __name__ == "__main__": app.run(host='0.0.0.0', port=8000, debug=True) Chạy file .py vừa tạo, mở trình duyệt trên RPi và truy cập địa chỉ http://127.0.0.1:8000/ , trên trình duyệt sẽ xuất hiện dòng “Hello World” kèm theo thời gian hiện tại trên RPi. 1.3. Điều khiển RASPBERRY PI với FLASK Raspberry Pi là máy tính nhúng chạy hệ điều hành Raspian được nhà phát triển hỗ trợ điều khiển các ngoại vi như (GPIO, PWM, I2C, UART,… ) qua ngôn ngữ Python. Ta sẽ sử dụng thư viện RPi.GPIO của python kết hợp với Flask để điều khiển các chân 23, 24, 25 của Raspberry Pi. Tạo một file mới tên hello-gpio.py, để dùng được thư viện RPi.GPIO, cần phải import nó: import RPi.GPIO as GPIO Toàn bộ file hello-gpio.py: from flask import Flask, render_template import datetime import RPi.GPIO as GPIO app = Flask(__name__)
  • 94. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 45
  • 95. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net CHƯƠNG 4: GIẢI THUẬT VÀ CHƯƠNG TRÌNH GPIO.setmode(GPIO.BCM) @app.route("/") def hello(): now = datetime.datetime.now() timeString = now.strftime("%Y-%m-%d %H:%M") templateData = { 'title' : 'HELLO!', 'time': timeString } return render_template('main.html', **templateData) @app.route("/readPin/<pin>") def readPin(pin): try: GPIO.setup(int(pin), GPIO.IN) if GPIO.input(int(pin)) == True: response = "Pin number " + pin + " is high!" else: response = "Pin number " + pin + " is low!" except: response = "There was an error reading pin " + pin + "."
  • 96. Luận Văn Group viết luận văn thạc sĩ,chuyên đề,khóa luận tốt nghiệp, báo cáo thực tập, Assignment, Essay Zalo/Sdt 0967 538 624/ 0886 091 915 Website:lamluanvan.net SVTH: ĐẶNG TRANG NHẬT TẢO LỚP: D13CQKD02-N 46