1. Trang chủ
  2. » Tất cả

Môn họcác hệ thống nhúng (cnkt máy tính) tiểu luận điều khiển, thu nhận dữ liệu phần cứng thông qua ứng dụng di động

62 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN - ĐIỆN TỬ MÔN HỌC: HỆ THỐNG NHÚNG (CNKT - MÁY TÍNH) TIỂU LUẬN ĐIỀU KHIỂN, THU NHẬN DỮ LIỆU PHẦN CỨNG THÔNG QUA ỨNG DỤNG DI ĐỘNG GVHD: Th.s Đậu Trọng Hiển SVTH MSSV Mai Huỳnh Tuấn Vũ 20139098 Nguyễn Huy Hoàng 20139031 Nguyễn Thị Thảo 20139090 Trần Quang Diệu 20139066 Nguyễn Vương Quốc Bảo 20139002 Lớp thứ -Tiết - Tp Hồ Chí Minh, tháng 12 năm 2022 ĐIỂM SỐ TIÊU CHÍ NỘI DUNG TRÌNH BÀY TỔNG ĐIỂM NHẬN XÉT Ký tên Ths Đậu Trọng Hiển BẢNG PHÂN CÔNG NHIỆM VỤ THỨ TỰ HỌ TÊN NHIỆM VỤ KẾT QUẢ Mai Huỳnh Tuấn Vũ Phân công, tổng hợp mục III Hoàn thành tốt Nguyễn Huy Hoàng Mục I - Hoàn thành tốt Nguyễn Thị Thảo Mục I - 3, mục II Hoàn thành tốt Trần Quang Diệu Mục I – 4, mục II 2.3 Hoàn thành tốt Nguyễn Vương Quốc Bảo Mục II – 2.1 2.2 Hoàn thành tốt KÝ TÊN MỤC LỤC I Phần cứng hệ thống nhúng 1 Bộ xử lý đơn dụng 1.1 Khái niệm xử lý đơn dụng thành phần cấu tạo nên 1.2 Một số đặc trưng xử lý đơn dụng 2 Bộ xử lý đa dụng 2.1 Khái niệm đặc trưng 2.2 Các ví dụ 3 Bộ xử lý chuyên dụng 3.1 Khái niệm đặc trưng 3.2.Ưu nhược điểm UART, SPI, I2C, LAN 4.1 UART (Universal Asynchronous Receiver /Transmitter) 4.2 SPI (Serial Peripheral Interface) 4.3 I2C (Inter – Integrated Circuit) 11 4.4 LAN (Local Area Network) 13 II Phần mềm hệ thống nhúng 17 Hệ điều hành nhúng RTOS, Android, Linux 17 1.1 Hệ điều hành RTOS 17 1.2 Hệ điều hành Android 22 1.3 Hệ điều hành Linux 25 Ngơn ngữ lập trình, SDK IDE 28 2.1 Ngơn ngữ lập trình Dart 28 2.2 Flutter SDK 30 2.3 Visual Studio Code 32 III Bài tập 36 Chức phần mềm 36 Lưu đồ giải thuật 37 Code 41 TÀI LIỆU THAM KHẢO 58 I Phần cứng hệ thống nhúng Bộ xử lý đơn dụng 1.1 Khái niệm xử lý đơn dụng thành phần cấu tạo nên Một xử lý đơn dụng mạch số thiết kế để thực xác chương trình Một xử lý bao gồm điều khiển đường dẫn liệu Hình minh họa thành phần xử lý đơn dụng Đường dẫn liệu lưu trữ điều khiển liệu hệ thống Đường dẫn liệu chứa đơn vị ghi, đơn vị chức kết nối dây ghép kênh Đường dẫn liệu cấu hình để đọc liệu từ nguồn cấp liệu cụ thể mà liệu thông qua đơn vị chức cấu hình để thực hoạt động cụ thể thêm thay đổi lưu trữ kết hoạt động trở lại ghi cụ thể Bộ điều khiển phụ trách cấu hình đường dẫn liệu Nó đặt đầu vào điều khiển đường dẫn liệu, tải ghi chọn tín hiệu ghép kênh Chọn tín hiệu, đơn vị ghi, đơn vị chức đơn vị kết nối để có cấu hình mong muốn thời điểm cụ thể Bộ điều khiển phụ trách theo dõi đầu vào điều khiển bên đầu điều khiển đường dẫn liệu, gọi tín hiệu trạng thái, đến từ đơn vị chức đặt đầu điều khiển bên Các kỹ thuật thiết kế hệ thống kỹ thuật số thiết kế logic kết hợp bao gồm kỹ thuật thiết kế đồng không đồng áp dụng để xây dựng điều khiển đường dẫn liệu 1.2 Một số đặc trưng xử lý đơn dụng Đầu tiên hiệu suất tối ưu, xử lý tùy chỉnh cho tác vụ cụ thể diễn Các tác vụ thực thi với chu trình máy hơn, chu trình ngắn hơn: - Ít chu kỳ xung nhịp nhiều thành phần đường dẫn liệu hoạt động song song, từ thành phần đường dẫn liệu truyền liệu trực tiếp cho mà không cần ghi trung gian, loại bỏ việc tìm nạp nhớ chương trình - Các chu kỳ ngắn đơn vị chức đơn giản hơn, ghép kênh logic điều khiển đơn giản Thứ hai, kích thước nhỏ Bộ xử lý đơn dụng khơng u cầu nhớ chương trình Ngồi ra, khơng cần hỗ trợ tập lệnh lớn nên có điều khiển đường dẫn liệu đơn giản Bộ xử lý đa dụng 2.1 Khái niệm đặc trưng Bộ xử lý đa dụng (General-purpose processor) xử lý có khả thực thi nhiều phép toán khác dẫn phần mềm Nói cách khác, gọi “đa dụng” lẽ khơng thiết kế để phục vụ chuyên biệt cho mục đích GPUs (bộ xử lý tác vụ liên quan đến đồ hoạ), FTUs (mạch dùng để thực phép toán dấu phẩy động), DSPs (Thiết bị xử lý tín hiệu số) Bộ xử lý đa dụng có đặc trưng sau: - Hiệu cao ̣- Chi phí bất thường (NRE) thấp - Có tính linh hoạt 2.2 Các ví dụ CPU PC ví dụ điển hình cho Bộ xử lý đa dụng Là “đa dụng” thiết kế tốt hầu hết tác vụ mà bạn muốn xử lý thực - bao gồm dự đoán nhánh (branch prediction) để làm cho điều kiện nhanh phân lớp nhớ đệm để giúp truy cập nhớ tốc độ cao Có nhiều loại CPU khác đến từ nhiều nhà sản xuất tồn giới Những khía cạnh so sánh chúng với là: tốc độ xung, ngoại vi, chiều rộng nhớ, nguồn, giá thành Nguồn: Tổng hợp từ trang web thống Intel, Motorola, MIPS, ARM, TI, IBM Bộ xử lý chuyên dụng 3.1 Khái niệm đặc trưng Bộ xử lý chuyên dụng(dedicated processors) toàn bộ xử lý sử dụng riêng phân vùng mà chúng định Bộ xử lý chuyên dụng xử lý việc cho phân vùng logic cụ thể Nếu bạn chọn gán xử lý chuyên dụng cho phân vùng logic, bạn phải gán xử lý cho phân vùng Tương tự vậy, bạn chọn xóa tài nguyên xử lý khỏi phân vùng chun dụng, bạn phải xóa xử lý khỏi phân vùng Để điều chỉnh theo khối lượng cơng việc thay đổi, bạn di chuyển xử lý chuyên dụng giá trị tối thiểu/tối đa mà bạn thiết lập mà không cần khởi động lại phân vùng Các giá trị cho phép bạn thiết lập phạm vi bạn tự động di chuyển tài ngun mà khơng cần khởi động lại phân vùng logic Khi bạn thay đổi giá trị tối thiểu, tối đa, yêu cầu bạn khởi động lại phân vùng Giá trị tối thiểu định cần thiết để khởi động lại phân vùng Nếu giá trị tối thiểu không đáp ứng cho tất phân vùng logic, giá trị khởi động lại Hình máy chủ có bốn xử lý vật lý có ba phân vùng logic, với hai phân vùng có xử lý chuyên dụng phân vùng có hai xử lý chuyên dụng 3.2.Ưu nhược điểm Ưu điểm Tính riêng tư: Thơng qua đơn vị CPU này, người dùng sử dụng riêng Core CPU Họ không cần phải chia sẻ sức mạnh xử lý để chạy chức khác cho thiết bị khác Trên thực tế, CPU chuyên dụng chạy lõi chuyên dụng riêng chúng Quyền kiểm sốt tối đa: Vì đơn vị CPU dành riêng cho người dùng nên làm trơn tru hoạt động cách cung cấp cho người dùng toàn quyền kiểm soát Bảo mật lưu: Do việc sử dụng thiết bị hạn chế nên hệ thống cung cấp khả bảo mật cấp cao giảm rủi ro vi phạm liệu Nếu dùng chung xử lý, lõi xử lý chia sẻ nhiều người dùng máy chủ cụ thể Việc sử dụng chung dẫn đến nguy đe dọa bảo mật cao tốc độ xử lý chậm Bằng cách sử dụng xử lý chuyên dụng, vấn đề khơng xảy người có máy xử lý chuyên dụng để thực hoạt động Thông qua xử lý này, người dùng có tính xử lý nhanh lưu liệu Nhược điểm: Khó sửa chữa: Nếu xử lý chuyên dụng bị hỏng, điều tốn nhiều thời gian để sửa chữa Nếu ổ cứng bị hỏng người dùng không thiết lập lưu ngoại vi thích hợp, liệu bị Tốn chi phí: Do máy có xử lý chuyên dụng riêng biệt nên cần nguồn tài nguyên riêng biệt, dẫn đến giá thành cao để lắp đặt UART, SPI, I2C, LAN 4.1 UART (Universal Asynchronous Receiver /Transmitter) UART ᴠi mạᴄh ѕẵn ᴄó ᴠi điều khiển không giống giao thứᴄ truуền thơng (I2C & SPI) Chứᴄ ᴄhính ᴄủa UART truуền nhận liệu nối tiếp bất đồng Trong UART, giao tiếp hai thiết bị ᴄó thể đượᴄ thựᴄ theo hai ᴄáᴄh giao tiếp liệu nối tiếp ᴠà giao tiếp liệu ѕong ѕong Sơ đồ giao tiếp Trong giao tiếp UART, hai UART giao tiếp trực tiếp với UART truyền chuyển đổi liệu song song từ thiết bị điều khiển CPU thành dạng nối tiếp, truyền nối tiếp đến UART nhận cách nối chân Tx(truyền) UART truyền tới chân Rx(nhận) UART nhân, sau chuyển đổi liệu nối tiếp trở lại thành liệu song song cho thiết bị nhận Trong UART, việc truyền liệu từ Tx UART sang Rx UART thực khơng đồng ,có nghĩa khơng có tín hiệu đồng hồ để đồng hóa đầu bit từ UART truyền đến việc lấy mẫu bit UART nhận Thay tín hiệu đồng hồ, UART truyền thêm bit start stop vào gói liệu chuyển Các bit xác định điểm bắt đầu điểm kết thúc gói liệu để UART nhận biết bắt đầu đọc bit UART truуền liệu nối tiếp, theo ba ᴄhế độ: - Full dupleх: Giao tiếp đồng thời đến ᴠà từ maѕter ᴠà ѕlaᴠe - Half dupleх: Dữ liệu theo hướng thời điểm - Simpleх: Chỉ giao tiếp ᴄhiều Khung truyền liệu Trong hàm loop: - Đọc giá trị nhiệt độ độ ẩm từ cảm biến gán vào biến h t - Cứ giây NodeMCU request gửi data đến Database ghi giá trị node định sẵn (ở có node gồm node humidity node temperature), request thất bại in lỗi serial monitor 44 - NodeMCU request lấy data từ Database set giá trị cho led (kiểu bool) Nếu request thất bại in lỗi serial monitor 45 Code hàm loop hoàn chỉnh 46 Code phần mềm app Vhome Tổng quan folder file Chúng vào phần trọng tâm thường sử dụng trình phát triển ứng dụng - Assets folder: Nơi lưu trữ ảnh, icon dùng ứng dụng Hiện update chức giúp gần tất ảnh sử dụng ứng dụng đẩy lên Database gọi xuống trình sử dụng - Pubspec.yaml: Là nơi thiết lập sdk version, thư viện sử dụng, assets 47 Cấu trúc folder bao gồm constants, models, screens, widgets file main - Constants folder: Nơi chứa thiết lập ban đầu style, color, font size, layout,… tên gọi folder thiết lập thay đổi sau khởi tạo Với thiết lập từ đầu giúp cải thiện tốc độ tiện lợi trình phát triển ứng dụng, cịn ảnh hưởng nhiều việc trì bảo dưỡng phát triển sau - File main.dart phần root tồn chương trình, nơi bắt đầu setup điều chỉnh liên quan đến service khởi tạo Firebase, testing, thiết lập status bar, hướng thiết bị,… 48 - Models folder: Nơi chứa model liên quan đến luồng liệu, đối tượng tn theo mơ hình Model - View - Controller (MVC) 49 - Widgets folder: Chứa thành phần widget để tạo nên screen hoàn chỉnh widget thường sử dụng nhiều lần Mục đích việc nhằm giúp dễ quản lý, chỉnh sửa tái sử dụng - Screens folder: Đây phần quan trọng chương trình, nơi chứa screen ứng dụng Chúng vào screen Home Page: - Import thư viện widget cần dùng 50 - Ở Home Page sử dụng StatefulWidget Trong Flutter StatelessWidget StatefulWidget ta thường xuyên gặp Hiểu đơn giản StatelessWidget khơng có state, tức thân StatelessWidget render lại giao diện có tác động từ bên ngồi, thơng qua việc nhận liệu từ bên ngồi Cịn StatefulWidget có state tức data bên thay đổi Khi state thay đổi gọi lại hàm build để rebuild widget nhờ mà UI thay đổi - Khởi tạo node truy cập đến Database 51 - Hàm showPopupMenu() dùng để hiển thị pop up gọi 52 - Hàm build dùng để render UI, hàm build khởi tạo biến size có giá trị chiều cao chiều rộng thiết bị di động, hỗ trợ việc code cho UI responsive thiết bị di động 53 - Ở Widget Scaffold chủ yếu khối widget hình thành nên giao diện, nên vào widget quan trọng khối Widget StreamBuilder build lại phần giao diện Database thay đổi Kiểu liệu mà Database trả có dạng Map Kiểu liệu Map tương tự kiểu Dictionary Python dynamic ta hiểu kiểu liệu key, value linh động Widget ListView.builder hiển thị RoomWidget dựa theo số lượng phịng có Database truyền vào thuộc tính thích hợp cho RoomWidget Khi khơng có kết nối Internet liệu request chưa có phản hồi render vòng tròn loading nhờ vào widget CircilarProgressIndicator 54 Một số hình ảnh thực tế 55 56 Hiện project chúng tơi phát triển thêm tính cải thiện thứ chưa hồn thiện Thơng tin project source code cập nhật flutteriot-nodemcu (github.com) 57 TÀI LIỆU THAM KHẢO [1] T G Frank Vahid, 1999 [Trực tuyến] Available: http://dsp-book.narod.ru/ESDUA.pdf [2] Admin, “Vĩnh Long Online,” 12 2021 [Trực tuyến] Available: https://cdspvinhlong.edu.vn/giao-tiep-uart-la-gi-ung-dung-cua-uart-giao-tiep-uart-la-gi/ [3] N H Phước, “Điện tử Việt,” 25 2021 [Trực tuyến] Available: https://dientuviet.com/kienthuc-co-ban-ve-giao-tiep-uart/ [4] M Ruler, “kysungheo,” 14 11 2021 [Trực tuyến] Available: https://kysungheo.com/chuangiao-tiep-spi/ [5] “Deviot,” 2020 [Trực tuyến] Available: https://deviot.vn/blog/giao-tiep-spi.74706311 [6] “Vina FE,” [Trực tuyến] Available: https://dientutuonglai.com/chuan-giao-tiep-spi-lagi.html [7] “Vina FE,” [Trực tuyến] Available: https://dientutuonglai.com/chuan-giao-tiep-i2c-lagi.html [8] tapit, “TapIT,” 21 2021 [Trực tuyến] Available: https://tapit.vn/giao-thuc-i2c-va-giaotiep-voi-cam-bien-nhiet-hong-ngoai-mlx90614/ [9] “Wikipedia,” [Trực tuyến] Available: https://vi.wikipedia.org/wiki/M%E1%BA%A1ng_c%E1%BB%A5c_b%E1%BB%99 [10] V Phạm, “Bizfly Cloud,” 10 2022 [Trực tuyến] Available: https://bizflycloud.vn/tintuc/mang-lan-la-gi-nhung-dieu-can-biet-truoc-khi-su-dung-mang-lan-trong-doanh-nghiepgia-dinh-truong-hoc-20201103095323431.htm [11] N Hưng, “Vietnix,” [Trực tuyến] Available: https://vietnix.vn/visual-studio-code-la-gi/ [12] Flutter, “Flutter,” [Trực tuyến] Available: https://flutter.dev/ 58 ... Linux Ban đầu, hệ điều hành Linux phát triển sử dụng nhiều cho dòng vi xử lý 386, hệ điều hành sử dụng nhiều ứng dụng khác từ máy tính cá nhân siêu máy tính thiết bị di động Cấu trúc hệ điều hành... như: phía nhận bận khơng thể nhận hay truyền liệu, liệu/ địa không hợp lệ, khơng tồn tại, phía nhận khơng thể nhận thêm byte liệu nữa, master nhận đủ không nhận thêm liệu Các bit liệu Dữ liệu truyền... 13 II Phần mềm hệ thống nhúng 17 Hệ điều hành nhúng RTOS, Android, Linux 17 1.1 Hệ điều hành RTOS 17 1.2 Hệ điều hành Android 22 1.3 Hệ điều hành

Ngày đăng: 05/03/2023, 21:21

w