Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
3,14 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO - TIỂU LUẬN CUỐI KÌ HỆ THỐNG NHÚNG GVHD: Thầy Đậu Trọng Hiển Sinh viên thực Nguyễn Thị Hồng Gấm Lê Thị Quỳnh Nhi Nguyễn Hồng Nhật Un Tp.Hồ Chí Minh, Tháng 11 năm 2019 MSSV 18161x xx 18142x xx 181422 41 ĐIỂM SỐ TIÊU CHÍ NỘI DUNG BỐ CỤC TRÌNH BÀY TỔNG ĐIỂM NHẬN XÉT Ký tên Thầy Đậu Trọng Hiển MỤC LỤC MỞ ĐẦU 1 Lý chọn đề tài .1 Mục đích nhiệm vụ tiểu luận .2 Đối tượng phạm vi nghiên cứu tiểu luận .2 Cơ sở lý luận phương pháp nghiên cứu .2 Ý nghĩa khoa học thực tiễn tiểu luận Kết cấu tiểu luận Chương TỔNG QUAN VỀ HỆ THỐNG NHÚNG 1.1 Khái niệm hệ thống nhúng 1.2 Đặc điểm hệ thống nhúng .4 1.3 Cấu trúc hệ thống nhúng .5 1.4 Kiến trúc hệ thống nhúng 1.4.1 Kiến trúc RISC 1.4.2 Kiến trúc CISC 1.4.3 Kiến trúc Von-Neumann .8 1.4.4 Kiến trúc Harvard .8 1.5 Ứng dụng hệ thống nhúng Chương PHẦN CỨNG TRONG HỆ THỐNG NHÚNG 10 2.1 Bộ xử lý trung tâm CPU 10 2.2 Bus địa chỉ, bus liệu bus điều khiển 12 2.2.1 Bus địa 12 2.2.2 Bus liệu .12 2.2.3 Bus điều khiển 13 2.3 Bộ nhớ 13 2.3.1 Kiến trúc nhớ .13 2.3.2 Bộ nhớ chương trình PROM 14 2.4 Ngoại vi 14 2.5 Giao diện 18 2.5.1 Giao diện song song 18 2.5.2 Giao diện nối tiếp .18 Chương PHẦN MỀM TRONG HỆ THỐNG NHÚNG .20 3.1 Sơ lược số hệ điều hành thông dụng 20 3.2 Hệ điều hành Windows .20 3.3 Hệ điều hành MacOS 21 3.4 Hệ điều hành Linux .22 Chương MẠCH ỨNG DỤNG THỰC TẾ 24 4.1 Thiết kế phần cứng cho mạch ứng dụng .24 4.1.1 Sơ đồ khối 24 4.1.2 Sơ đồ nguyên lý 25 4.2 Chương trình lập trình cho mạch ứng dụng 26 4.2.1 Chương trình điều khiển mạch thông qua Wifi 26 4.2.2 Chương trình đo độ ẩm đất .27 TÀI LIỆU THAM KHẢO .28 PHỤ LỤC 29 MỞ ĐẦU Lý chọn đề tài Ngày nay, hệ thống nhúng phát triển với ứng dụng rộng rãi nhiều lĩnh vực công nghiệp đời sống, ta bắt gặp ứng dụng hệ thống nhúng, từ thiết bị nhỏ điện thoại, máy nghe nhạc đến hệ thống phức tạp tơ, máy móc cơng nghiệp Có thể nói đánh dấu đời phát triển hệ thống nhúng trước tiên phải kể đến đời vi xử lý, vi điều khiển Thập kỷ 80 coi khởi điểm bắt đầu kỷ nguyên bùng nổ phát triển hệ thống nhúng.Từ khởi nguồn cho sóng đời hàng loạt chủng loại vi xử lý gắn liền hệ thống nhúng để thâm nhập rộng khắp ứng dụng hàng ngày sống chúng ta, ví dụ thiết bị điện tử sử dụng cho sinh hoạt hàng ngày (lị vi sóng, ti vi, tủ lạnh, máy giặt, điều hòa,…) văn phòng làm việc (máy fax, máy in, máy điện thoại, ) Các vi xử lý phần cứng, phần mềm ngày sử dụng rộng rải nhiều hệ thống lớn nhỏ Các loại vi xử lý sử dụng hệ thống nhúng vượt xa so với PC số lượng chủng loại tiếp tục phát triển nhằm đáp ứng thỏa mãn nhiều ứng dụng đa dạng Với mục đích nghiên cứu nhằm làm sáng tỏ khái niệm, vai trò ứng dụng, kiến thức phần cứng, phần mềm hệ thống nhúng, đồng thời thiết kế mạch điện tử ứng dụng, nhóm chúng tơi chọn đề tài: “Hệ thống nhúng” làm tiểu luận kết thúc môn học Mục đích nhiệm vụ tiểu luận Mục đích - Tìm hiểu góp phần làm sáng tỏ nội dung khái niệm, vai trò ứng dụng hệ thống nhúng - Nghiên cứu, làm sáng tỏ kiến thức phần cứng, phần mềm hệ thống nhúng - Trên sở tổng kết học đồng thời thiết kế mạch điện tử ứng dụng để hiểu hệ thống nhúng thực tế Nhiệm vụ Để đạt mục đích nêu trên, tiểu luận cần thực số nhiệm vụ cụ thể sau: - Trình bày có hệ thống khái niệm, vai trò ứng dụng hệ thống nhúng - Trình bày phần cứng, số phần mềm hệ thống nhúng - Rút kinh nghiệm kiến thức thực tiễn thông qua mạch ứng dụng Đối tượng phạm vi nghiên cứu tiểu luận Đối tượng nghiên cứu - Trên sở nghiên cứu nội dung khái niệm, vai trò ứng dụng hệ thống nhúng; tiểu luận sâu nghiên cứu thành phần có phần cứng số phần mềm tiêu biểu cho hệ thống nhúng Phạm vi nghiên cứu - Tiểu luận tập trung nghiên cứu thành phần có phần cứng số phần mềm tiêu biểu cho hệ thống nhúng Cơ sở lý luận phương pháp nghiên cứu Cơ sở lý luận Tiểu luận nghiên cứu dựa tài liệu, thông tin, sách báo hệ thống nhúng Phương pháp nghiên cứu Trong trình thực đề tài, sử dụng ba phương pháp nghiên cứu chủ yếu phương pháp phân tích, phương pháp tổng hợp phương pháp so sánh Ý nghĩa khoa học thực tiễn tiểu luận Tiểu luận góp phần cung cấp làm rõ nội dung khái niệm, vai trò ứng dụng hệ thống nhúng, phục vụ cho quan, đơn vị cá nhân có nhu cầu tìm hiểu nội dung Trình bày sâu sắc, có hệ thống thành phần có phần cứng số phần mềm tiêu biểu cho hệ thống nhúng Ngoài ra, tiểu luận cịn tài liệu tham khảo cho việc ứng dụng hệ thống nhúng vào mạch điện tử cụ thể từ sơ đồ khối, sơ đồ nguyên lý thiết kế phần cứng, phần mềm (viết chương trình) cho mạch Kết cấu tiểu luận Ngồi phần mở đầu, kết luận, tài liệu tham khảo phụ lục, tiểu luận chia làm chương Chương Tổng quan hệ thống nhúng Chương Phần cứng hệ thống nhúng Chương Phần mềm hệ thống nhúng Chương Mạch ứng dụng thực tế Chương TỔNG QUAN VỀ HỆ THỐNG NHÚNG 1.1 Khái niệm hệ thống nhúng Trong giới thực chúng ta, thiết bị hay hệ thống điện/điện tử có khả xử lý thơng tin điều khiển tiềm ẩn thiết bị hay hệ thống nhúng, ví dụ thiết bị truyền thông, thiết bị đo lường điều khiển, thiết bị phục vụ sinh hoạt hàng ngày lò vi sóng, máy giặt, camera…Rất dễ dàng kể hàng loạt thiết bị hay hệ thống tồn quanh ta, chúng hệ thống nhúng Vậy hệ thống nhúng phần hệ thống xử lý thông tin nhúng hệ thống lớn, phức hợp độc lập Ví dụ tô, thiết bị đo lường, điều khiển, truyền thông thiết bị thơng minh nói chung Chúng tổ hợp phần cứng phần mềm để thực một nhóm chức chuyên biệt Vậy tóm lại, hệ thống nhúng (Embedded System) kết hợp phần mềm máy tính phần cứng cố định khả lập trình Hệ thống nhúng hệ thống độc lập phần hệ thống lớn Nó chủ yếu thiết kế cho chức cụ thể chức hệ thống lớn Hay nói cách đơn giản hệ thống nhúng nhúng kiến trúc máy tính vào sản phẩm (phải thiết bị có chức cụ thể) 1.2 Đặc điểm hệ thống nhúng Một hệ thống nhúng thông thường mang đặc điểm liệt kê sau - Bao gồm phần cứng (hardware), phần mềm (software) chương trình cố định cho máy tính (firmware) - Có thể nhúng vào hệ thống lớn để thực chức cụ thể, nguyên chúng xây dựng cho tác vụ chuyên biệt hệ thống khơng phải tác vụ khác - Có thể dựa vi xử lý dựa vi điều khiển - hai mạch tích hợp cung cấp lượng tính tốn cho hệ thống - Thường sử dụng cho nhiệm vụ cảm biến tính tốn thời gian thực thiết bị kết nối internet vạn vật (IoT – Internet of Things), điều thiết bị kết nối internet không yêu cầu người dùng vận hành - Có thể khác độ phức tạp chức năng, nghĩ hai yếu tố vừa kể hệ thống nhúng ảnh hưởng loại hardware, software firmware mà chúng sử dụng - Thường yêu cầu thực chức thời hạn định với mục đích giữ cho hệ thống lớn hoạt động bình thường 1.3 Cấu trúc hệ thống nhúng Xét thực tế hệ thống nhúng khác độ phức tạp nhìn chung, chúng bao gồm ba yếu tố sau - Phần cứng: Phần cứng hệ thống nhúng dựa vi xử lý vi điều khiển Bộ vi xử lý giống với vi điều khiển thường dùng để mạch điện tử bao gồm CPU (đơn vị xử lý trung tâm) tích hợp với thành phần tính tốn khác chip nhớ xử lý tín hiệu kỹ thuật số (DSP – Digital Signal Processor) Trong vi điều khiển thành phần tích hợp chip - Phần mềm phần sụn (Firmware): Phần mềm cho hệ thống nhúng khác độ phức tạp Tuy nhiên, vi điều khiển cấp công nghiệp hệ thống IoT nhúng thường chạy phần mềm đơn giản, yêu cầu nhớ - Hệ điều hành thời gian thực (RTOS - Real Time Operating System): Chúng khơng phải lúc có hệ thống nhúng, đặc biệt hệ thống quy mô nhỏ Các RTOS xác định cách thức hoạt động hệ thống cách giám sát phần mềm thiết lập quy tắc trình thực thi chương trình Chúng ta biết phần cứng hệ thống nhúng dựa vi xử lý vi điều khiển Do đó, phần trình bày ngắn gọn khái niệm vi xử lý vi điều khiển Vi xử lý gì? 10 Truy nhập nhớ trực tiếp sử dụng để đáp ứng nhu cầu trao đổi liệu vào tốc độ cao ngoại vi với nhớ Thông thường ngoại vi kết nối với hệ thống phải chia sẻ bus liệu điều khiển CPU trình trao đổi liệu Điều làm hạn chế tốc độ trao đổi, để tăng cường tốc độ loại bỏ can thiệp CPU, đặc biệt trường hợp cần truyền lượng liệu lớn Thủ tục bắt đầu việc yêu cầu thực DMA với CPU Sau xử lý, chấp nhận CPU trao quyền điều khiển bus cho ngoại vi thực trình trao đổi liệu Sau thực xong CPU nhận thông báo nhận lại quyền điều khiển bus Trong chế DMA, có hai cách để truyền liệu: kiểu DMA chu kỳ đơn, kiểu DMA chu kỳ nhóm (burst) DMA chu kì đơn nhóm: Trong kiểu hoạt động DMA chu kỳ nhóm, ngoại vi nhận quyền điều khiển truyền khối liệu trả lại quyền điều khiển cho CPU Trong chế DMA chu kỳ đơn ngoại vi sau nhân quyền điều khiển bus truyền từ liệu trả lại quyền kiểm soát nhớ bus liệu cho CPU Trong chế thực DMA cần có bước xử lý để định xem thiết bị đươc nhận quyền điều khiển trường hợp có nhiều thiết bị có nhu cầu sử dụng DMA Thơng thường kiểu DMA chu kỳ nhóm cần liệu thơng tin điều khiển (overhead) nên có khả trao đổi với tốc độ cao lại chiếm nhiều thời gian truy nhập bus truyền khối liệu lớn Điều ảnh hưởng đến hoạt động hệ thống suốt trình thực DMA nhóm, CPU bị khố quyền truy nhập nhớ xử lý nhiệm vụ khác hệ thống mà có nhu cầu nhớ, ví dụ dịch vụ ngắt, tác vụ thời gian thực Chu kì rỗi (Cycle Stealing): Trong kiểu DMA thực thời điểm chu kỳ bus mà CPU không sử dụng bus khơng cần thực thủ tục xử lý cấp phát quyền truy nhập thực DMA Hầu hết vi xử lý đại sử dụng gần 100% dung lượng nhớ băng thông bus nên khơng có nhiều thời gian dành cho DMA thực Để tiết kiệm tối ưu tài ngun cần có trọng tài phân xử liệu truyền xếp chồng theo thời gian Nói chung kiểu DMA dạng burst hiệu khoảng thời gian cần thực DMA tương đối nhỏ Trong khoảng thời gian thực DMA, toàn băng thông bus sử dụng tối đa toàn khối liệu truyền khoảng 22 thời gian ngắn Nhưng nhược điểm liệu cần truyền lớn cần khoảng thời gian dài dẫn đến việc block CPU bỏ qua việc xử lý kiện tác vụ khác Đối với DMA chu kỳ đơn yêu cầu truy nhập nhớ, truyền từ liệu giải phóng bus Cơ chế cho phép thực truyền interleave biết tới với tên gọi inteleaved DMA Kiểu truyền DMA chu kỳ đơn phù hợp để truyền liệu khoảng thời gian dài mà có đủ thời gian để yêu cầu truy nhập giải phóng bus cho lần truyền từ liệu Chính giảm băng thơng truy nhập bus phải nhiều thời gian để yêu cầu truy nhập giải phóng bus Trong trường hợp CPU thiết bị khác chia sẻ truyền liệu dải băng thông hẹp Trong nhiều hệ thống bus thực chế xử lý giải yêu cầu truy nhập (trọng tài) thơng qua liệu truyền khơng ảnh hưởng nhiều đến tốc độ truyền DMA DMA yêu cầu khả điều khiển CPU để truyền liệu thực chậm DMA thực có ý nghĩa CPU phải thực tác vụ khác mà không cần nhu cầu truy nhập bus 2.5 Giao diện 2.5.1 Giao diện song song Giao diện song song 8bit/16bit: Các cổng song song dạng giao diện vào đơn giản phổ biến để kết nối thông tin với ngoại vi Có nhiều loại cấu trúc giao diện vật lý điện tử từ dạng cổng vào đơn giản cực Collector TTL hở ứng dụng cổng máy in đến loại cấu trúc giao diện cổng tốc độ cao chuẩn bus IEEE-488 hay SCSI Hầu hết chip điều khiển nhúng có vài cổng vào song song khả trình (có thể cấu hình) Các giao diện phù hợp với cổng vào đơn giản khoá chuyển Chúng phù hợp toán phục vụ giao diện kết nối điều khiển giám sát theo giao diện kiểu rơle bán dẫn 2.5.2 Giao diện nối tiếp UART: Viết tắt Truyền Nhận Không Đồng Chung (UART) Đây giao thức truyền thông nối tiếp đơn giản cho phép máy chủ giao tiếp với thiết bị phụ trợ UART hỗ trợ truyền liệu hai chiều, khơng đồng nối tiếp Nó có hai đường liệu, để truyền (TX) để nhận (RX) sử dụng để giao tiếp thông qua chân số 0, chân số TX RX kết nối hai thiết bị (ví dụ: USB máy 23 tính) UART xử lý vấn đề quản lý đồng hóa máy tính thiết bị nối tiếp bên I2C: Viết tắt Inter-tích hợp-mạch (I2C) Nó giao thức truyền thơng nối tiếp tương tự UART không sử dụng cho giao tiếp thiết bị PC mà sử dụng với mô-đun cảm biến I2C bus nối tiếp đồng hai chiều, đơn giản cần hai dây để truyền thông tin thiết bị kết nối với bus Chúng hữu ích cho dự án yêu cầu nhiều phận khác (ví dụ: cảm biến, chân cắm, phần mở rộng trình điều khiển) hoạt động chúng kết nối tối đa 128 thiết bị với bo mạch chủ trì đường truyền thông tin rõ ràng! I2C sử dụng hệ thống địa bus chia sẻ nhiều thiết bị khác kết nối cách sử dụng dây tất liệu truyền dây có số lượng chân thấp Tuy nhiên, cân cho hệ thống dây đơn giản chậm SPI Tốc độ I2C phụ thuộc vào tốc độ liệu, chất lượng dây tiếng ồn bên Giao thức I2C sử dụng cho giao diện hai dây để kết nối thiết bị tốc độ thấp vi điều khiển, EEPROM, chuyển đổi A/D D/A, giao diện I/O thiết bị ngoại vi tương tự khác hệ thống nhúng SPI: Viết tắt Giao diện ngoại vi nối tiếp (SPI) Nó tương tự I2C dạng khác giao thức truyền thông nối tiếp thiết kế đặc biệt cho vi điều khiển kết nối SPI hoạt động chế độ song công, nơi liệu gửi nhận đồng thời hoạt động với tốc độ truyền liệu nhanh từ 8Mbits trở lên SPI thường nhanh I2C giao thức đơn giản Ngay liệu/đường đồng hồ chia sẻ thiết bị, thiết bị yêu cầu dây địa Đồng thời SPI sử dụng nơi mà tốc độ quan trọng (ví dụ: thẻ SD, mô-đun hiển thị thông tin cập nhật thay đổi nhanh chóng nhiệt kế) 24 Chương PHẦN MỀM TRONG HỆ THỐNG NHÚNG 3.1 Sơ lược số hệ điều hành thông dụng Hệ điều hành (Operating System - OS) phần mềm dùng để điều hành, quản lý toàn tất thành phần (bao gồm phần cứng phần mềm) thiết bị điện tử Có vai trị trung gian việc giao tiếp người sử dụng thiết bị Khác với PC thường chạy hệ điều hành windows, MacOs,…,các hệ thống nhúng có hệ điều hành nhúng riêng Các hệ điều hành dùng hệ nhúng trội bao gồm Embedded Linux, VxWorks, WinCE, Lynyos, BSD, Green Hills, QNX DOS hệ điều hành Linux trội phát triển mạnh Hệ điều hành thời gian thực (Real Time Operating System - RTOS): Chúng khơng phải lúc có hệ thống nhúng, đặc biệt hệ thống quy mô nhỏ Các RTOS xác định cách thức hoạt động hệ thống cách giám sát phần mềm thiết lập quy tắc trình thực thi chương trình 3.2 Hệ điều hành Windows Nền tảng hệ điều hành mắt năm 1985 Microsoft Đã có nhiều phiên thơng dụng Windows XP, Windows 7, Windows Windows 10 Ngoài ra, phiên khác Window 98, Windows 2000, Windows Vista, Windows Sever,… góp phần tạo nên Windows thống lĩnh thị phần desktop, trở thành hệ điều hành thơng dụng với người dùng tồn giới Với định hướng thiên tác vụ giải trí, làm việc văn phịng với kho ứng dụng đồ sộ khả thích nghi cao với nhiều dịng máy tính thị trường, Windows giúp bạn có nhiều lựa chọn mua máy tính sử dụng hệ điều hành Ưu điểm: - Được nhiều nhà sản xuất phần cứng ưa chuộng: Hầu hết nhà sản xuất máy tính lựa chọn trang bị cho sản phẩm hệ điều hành Windows, 25 điều đồng nghĩa với việc bạn có nhiều lựa chọn thương hiệu mua máy tính, chẳng hạn Asus, Acer, HP, Dell, - Kho ứng dụng phong phú: Windows trang bị kho ứng dụng phong phú phục vụ cho nhu cầu sử dụng mơi trường văn phịng, giải trí, dễ dàng giả lập ứng dụng Android iOS - Đa dạng mức giá để lựa chọn: Dù bạn muốn mua laptop giá rẻ hay dịng cao cấp trải nghiệm hệ điều hành Windows Hệ điều hành phủ kín phân khúc giá, cho người tiêu dùng nhiều lựa chọn Nhược điểm: - Vấn đề vi phạm quyền: Hiện số lượng tỷ lệ người sử dụng Windows "lậu" cao, đặc biệt Việt Nam Điều dẫn đến nhiều rủi ro trình sử dụng liệu, thông tin cá nhân, ảnh hưởng hiệu suất làm việc thiết bị, - Vấn đề bảo mật: Do sử dụng phổ biến toàn giới nên Windows mục tiêu ưu tiên nhiều "hacker" tiếng, phần lớn phần mềm có chứa virus sinh dành cho Windows - Hỗ trợ nâng cấp chưa thực tối ưu: Microsoft thường tung cập nhật bổ sung, kèm với yêu cầu phần cứng Nếu cấu hình laptop khơng đủ mạnh, thiết bị khơng thể cập nhật nâng cấp 3.3 Hệ điều hành MacOS MacOS thường gọi vui "Hệ điều hành muốn sử dụng được" Điều phản ánh giá "chát" thiết bị sử dụng MacOS so với máy tính sử dụng Windows Hệ điều hành mắt vào năm 1984, tính đến trải qua nhiều nâng cấp với tên gọi gắn với vật họ nhà mèo: Cheetah, Puma, Jaguar, Panther, Tiger, Leopard, Snow Leopard, Lion,… Là thành phần hệ sinh thái khép kín Apple nên MacOS có khả tối ưu tốt với thiết bị từ nhà Táo, cho khả vận hành mượt mà ổn định Ưu điểm: 26 - Độ ổn định, bảo mật cao: Apple hạn chế cấp quyền cho bên thứ ba can thiệp vào hệ điều hành họ, bạn hồn tồn n tâm vấn đề bảo mật tác nhân làm chậm hệ thống, đảm bảo trải nghiệm trơn tru - Tương thích với hệ sinh thái Apple: Apple xây dựng hệ sinh thái mà đó, người dùng kết nối thiết bị với cách dễ dàng Người dùng Apple sử dụng ứng dụng iPhone, iPad MacBook họ Nhược điểm: - Kho ứng dụng khơng phong phú: Dưới hệ sinh thái khép kín, Apple kiểm soát chặt chẽ ứng dụng trước đưa lên cửa hàng ứng dụng, dẫn đến kho ứng dụng "hẻo" cho cộng đồng người dùng MacOS - Giá thành cao, khó tiếp cận: "Giá đắt" dường trở thành nét đặc trưng cho sản phẩm Apple nên khó khăn cho người dùng để sở hữu MacBook Ngồi ra, nhà sản xuất khác không chọn MacOS làm hệ điều hành chạy thiết bị họ 3.4 Hệ điều hành Linux Nếu Windows bật dễ sử dụng, cân mặt, MacOS trội khó tính Linux lại hệ điều hành thay đổi sửa chữa Lần mắt người cha đẻ Linus Torvalds vào năm 1991 sau năm trời làm việc liên tục - thứ bắt đầu ơng cịn sinh viên đại học Helsinki Linux với môi trường làm việc mở, hệ điều hành có phiên phát triển cộng đồng người dùng Đây hệ điều hành phát hành miễn phí cho người dùng sửa chữa thay đổi Hiện nay, có nhiều nhánh HĐH phát triển tiếng giới như: Ubuntu, Fedora, Linux Mint, từ công ty từ cộng đồng chia sẻ phát triển, phổ biến Ubuntu Ưu điểm: - Bản quyền: Linux phát triển miễn phí cho người sử dụng dựa tảng mã nguồn mở 27 - Sử dụng ứng dụng miễn phí: Bạn làm việc văn phòng qua ứng dụng OpenOffice LibreOffice chuyên nghiệp Microsoft Office Windows mà tiền cho phí quyền nhiều ứng dụng khác - Linux linh hoạt bạn có nhiều lựa chọn: Để phù hợp với mục đích sử dụng bạn có nhiều phiên miễn phí chia sẻ miễn phí từ cộng đồng sử dụng Linux sửa chữa Ví dụ phiên bản: Ubuntu sử dụng tương tự Windows, Lubuntu thường dùng máy tính cũ, có cấu hình khơng cao - Độ bảo mật cao: Cộng đồng người dùng Linux tập trung vào việc sửa lỗ hổng để đảm bảo tính an tồn khiến virus gần khơng thể hoạt động tảng HĐH Chính thế, lựa chọn hệ điều hành lí tưởng cho người dùng chuộng tính bảo mật - Hoạt động mượt laptop giá rẻ: Nếu bạn sở hữu máy tính có cấu hình yếu đừng lo ngại, đa dạng cộng đồng người dùng hệ điều hành nên khơng thiếu phiên dành cho máy tính đời cũ cấu hình yếu Nhược điểm: - Kho ứng dụng ít: Mặc dù có phiên giả lập phần mềm hỗ trợ chạy Linux hệ điều hành dành cho lập trình viên, điều gây khó khăn cho số người dùng bạn phải tìm viết hướng dẫn muốn chạy ứng dụng - Hỗ trợ Drivers hạn chế: Một số nhà sản xuất không phát triển drivers hỗ trợ chạy tảng Linux, đó, bạn gặp nhiều khó khăn việc sử dụng ứng dụng, phần mềm - Khó làm quen: Nếu bạn quen thuộc với Windows thời gian để quen thuộc với giao diện cách sử dụng hệ điều hành Linux 28 Chương MẠCH ỨNG DỤNG THỰC TẾ 4.1 Thiết kế phần cứng cho mạch ứng dụng 4.1.1 Sơ đồ khối Chức khối: - Khối Smartphone Android: điện thoại thông minh để cài app Blink - Khối App điều khiển: Ứng dụng Blink dùng để điều khiển mạch - Khối Database Firebase: lưu trữ liệu từ database - Khối vi điều khiển: Arduirno để tạo lệnh điều khiển, điều khiển file hoạt động hệ thống Nhận tín hiệu từ khối Module Wifi gửi xử lý gửi tín hiệu điều khiển sang khối khác - Khối Module Wifi: Nhận liệu thông qua kết nối Wifi - Khối RFID: bật tắt thiết bị người dùng thiết lập - Khối thời gian thực: cung cấp thời gian thực để hiển thị đóng ngắt thiết bị theo thời gian cài đặt - Khối nguồn: cấp nguồn cho toàn mạch - Khối hiển thị: Hiển thị hoạt động thiết bị, hiển thị thơng số lên hình điện thoại 29 4.1.2 Sơ đồ nguyên lý 30 4.2 Chương trình lập trình cho mạch ứng dụng 4.2.1 Chương trình điều khiển mạch thông qua Wifi #define BLYNK_PRINT Serial #include #include #include char auth[] = "luqyPbkjCXSimFcS7mcmS-TIJKmXdJV6"; char ssid[] = "OPPO F7"; char pass[] = "98765432"; #define DHTPIN // D3 #define DHTTYPE DHT11 // DHT 11 DHT dht(DHTPIN, DHTTYPE); BlynkTimer timer; void sendSensor() { float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t)) { return; } Blynk.virtualWrite(V5, t); Blynk.virtualWrite(V6, h); } void setup() { Blynk.begin(auth, ssid, pass); dht.begin(); timer.setInterval(1000L, sendSensor); } void loop() { Blynk.run(); timer.run(); } 31 4.2.2 Chương trình đo độ ẩm đất #include #include LiquidCrystal_I2C lcd(0x27, 16, 2); #define cambien A7 void setup() { Serial.begin(9600); lcd.begin(); lcd.backlight(); pinMode(cambien, INPUT); } void loop() { int doam = (100 - (analogRead(cambien) / 10.23)); lcd.setCursor(0, 0); lcd.print("DO AM DAT: %"); lcd.setCursor(0, 1); lcd.print("TRANG THAI: "); lcd.setCursor(11 , ); lcd.print(abs(doam)); if (doam >= 80) {lcd.setCursor(12 , 1); lcd.print("TOT ");} if (doam < 80 && doam > 60) {lcd.setCursor(12,1); lcd.print("TB ");} if (doam