(Tiểu luận) báo cáo thực tập cơ sở đề tài thiết kế phần mềm quản lý sinh viên

64 13 0
(Tiểu luận) báo cáo thực tập cơ sở đề tài thiết kế phần mềm quản lý sinh viên

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP CƠ SỞ ĐỀ TÀI: Thiết kế phần mềm quản lý sinh viên Giảng viên: TS Nguyễn Quý Sỹ Sinh viên: Phạm Văn Tiến Lớp: D20CQCN10 Mã sinh viên: B20DCCN598 Số điện thoại: 0962716919 HÀ NỘI - 2023 Catalog DANH MỤC HÌNH DANH MỤC BẢNG Lời cảm ơn I Lập trình giải thuật 1.1 Thuật toán: 1.1.1 Thuật toán sinh 1.1.2 Thuật toán quy hoạch động: 11 1.2 Giải thuật: 11 1.2.1 DSA06001 - Sắp xếp xen kẽ .11 1.2.2 DSA06002 - Sắp xếp theo giá trị tuyệt đối .12 1.2.3 DSA06003 - Đổi chỗ .12 1.2.4 DSA06005 - Hợp giao hai dãy số .12 1.2.5 DSA06007 - Sắp xếp dãy liên tục 13 1.2.6 DSA06009 - Cặp số tổng K .13 1.2.7 DSA06010 - Sắp xếp chữ số .13 1.2.8 DSA06011 - Tổng gần 14 1.2.9 DSA06012 - Phần tử lớn 14 1.2.10 DSA06013 - Số lần xuất 14 1.2.11 DSA06014 - Tổng cặp số nguyên tố .14 1.2.12 DSA06015 - Merge sort 15 1.2.13 DSA06016 - Tích lớn nhất, nhỏ 15 1.2.14 DSA06017 - Trộn hai dãy .15 1.2.15 DSA06018 - Bổ sung phần tử 16 1.2.16 DSA06020 - Tìm kiếm 16 1.2.17 DSA06021 - Tìm kiếm dãy xếp vịng 17 1.2.18 DSA06022 - Số nhỏ nhỏ thứ hai 17 1.2.19 DSA06023 - Sắp xếp đổi chỗ trực tiếp 18 1.2.20 DSA06024 - Sắp xếp chọn 18 1.2.21 DSA06025 - Sắp xếp chèn 18 1.2.22 DSA06026 - Sắp xếp bọt 18 II Cơ sở liệu quản lý sinh viên 20 2.1 Khảo sát phân tích toán: 20 2.1.1 Lý chọn đề tài: .20 2.1.2 Đối tượng: 20 2.1.3 Phạm vi nghiên cứu: 21 2.1.4 Mục tiêu: 21 2.1.5 Phương pháp nghiên cứu: 21 2.1.6 Ý nghĩa lý luận thực tiễn đề tài 22 2.2 Thiết kế chương trình: 22 2.2.1 Sơ đồ chức hệ thống: 22 2.2.2 Thiết kế hệ thống: .22 2.2.3 Đặc tả UseCase: 24 2.3 Thiết kế sở liệu Quản lý sinh viên: 30 III Máy tính điều khiển .31 3.1 Ảo hóa 31 3.1.1 Giới thiệu 31 3.1.2 Một số loại ảo hóa 31 3.1.3 Hoạt động ảo hóa 33 3.1.4 Lợi ích ảo hóa 34 3.2 Máy chủ Dell PowerEdge R520 35 3.2.1 Giới thiệu Dell R520: .35 3.2.2 Bộ nhớ máy chủ Dell R520 36 3.2.3 Khả mở rộng cao với Dell R520 36 3.2.4 Trình điều khiển cho PowerEdge R520 36 3.3 Tủ đĩa NAS - Network Attached Storage 37 3.3.1 Giới thiệu: 37 3.3.2 Công dụng: .37 3.4 Kết nối Dell PowerEdge R520 với tủ đĩa NAS 38 3.5 Phần mềm Arduino IDE 39 3.5.1 Giới thiệu 39 3.5.2 Lý chọn phần mềm Arduino IDE 39 3.5.3 Arduino IDE hoạt động 41 3.6 Lập trình ứng dụng ESP8266 NodeMCU - ESP8266-12E 42 3.6.1 Giới thiệu ESP8266 NodeMCU 42 3.6.2 Lập trình ESP8266 NodeMCU với Arduino IDE 44 3.6.3 Các loại cảm biến .51 3.6.4 Các cấu chấp hành .51 3.6.5 Timer lập trình ngắt Timer với ESP8266 NodeMCU 51 3.6.6 Thiết kế hệ thống mẫu 56 3.6.7 Hiển thị điều khiển hệ thống từ xa .56 DANH MỤC HÌNH Hình Sơ đồ chức hệ thống 21 Hình Biểu đồ UC tổng quát 22 Hình Các phiên ESP8266 42 Hình Sơ đồ chân Kit NodeMCU ESP8266-12E 43 Document continues below Discover more from: tập sở Thực LVK1911 Học viện Công ng… 148 documents Go to course Bài thực hành - Lê 23 Văn Kiên -… Thực tập sở 100% (3) De giua ki toan 10 nam 2022 2023… Thực tập sở 100% (3) bao cao bai tap lon 19 windows va linux Thực tập sở 100% (2) Bài thực hành - Lê 12 16 Văn Kiên -… Thực tập sở 100% (1) Bài thực hành - Lê Văn Kiên -… Thực tập sở 100% (1) B18DCQT017 BáoDANH MỤC BẢNG 46 cáo-thực-tập-tốt-… Thực tập sở 100% (1) Bảng Thiết kế hệ thống 22 Bảng Danh sách use case mô tả 23 Bảng Đặc tả use case đăng nhập 24 Bảng Đặc tả use case đổi mật 24 Bảng Đặc tả use case cập nhật thông tin 25 Bảng Đặc tả use case xem thời khóa biểu 26 Bảng Đặc tả use case quản lý điểm 26 Bảng Đặc tả use case quản lý môn học 27 Bảng Đặc tả use case xuất điểm 27 Bảng 10 Đặc tả use case xuất thời khóa biểu 28 Bảng 11 Đặc tả use case xuất lịch thi 29 Lời cảm ơn Để hoàn thành báo cáo thực tập trước tiên em xin gửi đến thầy Nguyễn Quý Sỹ – người tận tình hướng dẫn, giúp đỡ em hồn thành lời cảm ơn sâu sắc Em xin chân thành cảm ơn thầy tạo điều kiện thuận lợi cho em tìm hiểu kiến thức suốt trình thực tập Trong trình thực tập, em có hội tìm hiểu thêm nhiều kiến thức mới, ơn tập lại học Bên cạnh đó, giúp đỡ bạn lớp giúp em học hỏi nhiều học kinh nghiệm quý báu cho thân để em tự tin bước vào đời Với điều kiện thời gian, kiến thức kinh nghiệm hạn chế nên báo cáo khơng thể tránh thiếu sót Em mong nhận bảo, đóng góp ý kiến q thầy để em có điều kiện bổ sung, nâng cao ý thức mình, phục vụ tốt công tác thực tế sau I Lập trình giải thuật 1.1 Thuật tốn: 1.1.1 Thuật tốn sinh Mơ hình thuật tốn sinh dùng để giải lớp toán liệt kê, toán đếm, toán tối ưu, toán tồn thỏa mãn hai điều kiện: • Điều kiện 1: Có thể xác định thứ tự tập cấu hình cần liệt kê tốn Biết cấu hình đầu tiên, biết cấu hình cuối • Điều kiện 2: Từ cấu hình chưa phải cuối cùng, ta xây dựng thuật tốn sinh cấu hình đứng sau Mơ hình thuật tốn sinh biểu diễn thành hai bước: bước khởi tạo bước lặp Tại bước khởi tạo, cấu hình toán thiết lập Điều thực theo giả thiết toán Tại bước lặp, trình lặp thực gặp phải cấu hình cuối Điều kiện lặp toán tồn theo giả thiết toán Hai thị cần thực thân vịng lặp đưa cấu hình sinh cấu hình Mơ hình sinh thực tùy thuộc vào toán cụ thể Tổng qt, mơ hình thuật tốn sinh thể Thuật toán Generation: begin Bước1 (Khởi tạo): ; Bước (Bước lặp): while () 3.6 Lập trình ứng dụng ESP8266 NodeMCU - ESP8266-12E 3.6.1 Giới thiệu ESP8266 NodeMCU 3.6.1.1 Giới thiệu ESP8266 ESP8266 vi mạch gói QFN có khả TCP/IP vi điều khiển, cung cấp giải pháp Wifi tích hợp cao đáp ứng nhu cầu ứng dụng IoT chi phí thấp, sử dụng lượng hiệu quả, hiệu suất đáng tin cậy thiết kế nhỏ gọn 3.6.1.2 Các phiên ESP8266 ESP8266 có nhiều phiên khác thể hình bên Hiện nay, NodeMCU ESP-12E phiên phổ biến dễ kết nối, lập trình có nhìều chân GPIO Hình Các phiên ESP8266 49 3.6.1.3 Giới thiệu ESP8266 NodeMCU (ESP8266-12E)  ESP8266 NodeMCU (Node MicroController Unit) môi trường phát triển phần mềm phần cứng mã nguồn mở xây dựng hệ thống chip (SoC) gọi ESP8266 - thiết kế sản xuất Espressif Systems, chứa thành phần quan trọng máy tính: CPU, RAM, Internet (Wifi), chí có hệ điều hành SDK đại  Board mạch thu phát wifi ESP8266 NodeMCU với kích thước nhỏ gọn, giá rẻ dùng nhiều cho thiết bị IoT, ứng dụng cần kết nối mạng wifi a) Sơ đồ chân  Các module ESP8266 sử dụng rộng rãi ESP8266 NodeMCU Hình bên cho thấy sơ đồ chân Kit NodeMCU ESP8266-12E 50 Hình Sơ đồ chân Kit NodeMCU ESP8266-12E b) Thông số kỹ thuật  Wifi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n  Điện áp hoạt động: 5VDC thông qua cổng micro USB  Số chân I/O: 16 (Các chân có Interrupt/PWM/I2C/One-wire, trừ chân D0)  Số chân Analog Input: ( điện áp vào tối đa 3.3V)  Bộ nhớ Flash: 4MB  Giao tiếp: Cable Micro USB  Hỗ trợ bảo mật: WPA/WPA2  Tích hợp giao thức TCP/IP  Lập trình ngơn ngữ: CC++, MicroPython, Lua 3.6.1.4 Các ứng dụng  Tạo mẫu thiết bị IoT  Các ứng dụng hoạt động pin lượng thấp  Các dự án mạng  Các dự án yêu cầu nhiều giao diện I/O với chức Wifi Bluetooth 3.6.2 Lập trình ESP8266 NodeMCU với Arduino IDE 3.6.2.1 Cài đặt board ESP8266 Arduino IDE 51 Sau cài đặt Arduino IDE, bạn tiếp tục thực bước sau để tiến hành cài đặt thư viện chức nạp code cho Arduino IDE Mở cửa số Preferences từ Arduino IDE Vào File -> Preferences Nhập http://arduino.esp8266.com/stable/package_esp8266com_index.json vào ô “Additional Board Manager URLs” hiển thị hình bên Sau đó, nhấp vào nút “OK”: 52 Lưu ý: Nếu bạn có URL board ESP32, bạn thêm URL dấu phẩy sau:  https://dl.espressif.com/dl/package_esp32_index.json,  http://arduino.esp8266.com/stable/package_esp8266com_index.json Tiếp theo vào Tools -> Board -> Boards Manager 53 Sau chương trình tìm kiếm xong, bạn kéo xuống nhấp vào ESP8266 by ESP8266 Community, click vào Install Chờ phần mềm tự động download cài đặt vài giây 3.6.2.2 Kiểm tra cài đặt 54 Để kiểm tra cài đặt tiện ích bổ sung ESP8266, xem liệu làm cho đèn led nhấp nháy với module ESP8266-12E ngơn ngữ lập trình Arduino hay khơng? a Chuẩn bị phần cứng  Module NodeMCU  Led  Điện trở 330Ω  Breadboard  Dây cắm breadboard b Kết nối phần cứng c Nạp chương trình 55 Nếu bạn sử dụng board ESP8266 NodeMCU việc nạp chương trình đơn giản tích hợp sẵn lập trình Sau cắm board vào máy tính mình, bạn tiến hành chọn board để lập trình cho ESP8266 Vào Tool -> Board -> NodeMCU (ESP-12E) Bạn cần chọn cổng COM tương ứng với module kết nối 56 Sau bạn copy đoạn chương trình sau vào Arduino IDE int pin = 2; void setup() { // Khởi tạo chân GPIO ngõ pinMode(pin, OUTPUT); } // Hàm loop chạy lập lập lại mãi void loop() { digitalWrite(pin, HIGH); delay(1000); // Bật LED sáng với mức logic CAO // Delay 1s 57 digitalWrite(pin, LOW); // Cho LED tắt với mức logic THẤP delay(1000); // Delay 1s } Bạn nhấp vào nút “Upload” Arduino IDE đợi vài giây bạn thấy thông báo “Done uploading.” góc bên trái Chọn chế độ nạp Arduino as ISP 3.6.3 Các loại cảm biến Esp8266 NodeMCU sử dụng nhiều loại cảm biến khác kèm với chân vào/ra (GPIO) nó, bao gồm:  Cảm biến nhiệt độ độ ẩm: ví dụ DHT11 DHT22  Cảm biến ánh sáng: ví dụ BH1750  Cảm biến tiệm cận: ví dụ HC-SR04  Cảm biến máy bay giấy: ví dụ MPU-6050 58  Cảm biến Gas: ví dụ MQ-2 MQ-135  Cảm biến tốc độ gió: ví dụ anemometer  Cảm biến mưa: ví dụ FC-37  Cảm biến chuyển động: PIR Tuy nhiên, việc sử dụng cảm biến cụ thể phụ thuộc vào nhu cầu yêu cầu ứng dụng cụ thể 3.6.4 Các cấu chấp hành 3.6.4.1 Led đoạn 3.6.4.2 LCD 3.6.4.3 Role 3.6.5 Timer lập trình ngắt Timer với ESP8266 NodeMCU 3.6.5.1 Timer   Timer sử dụng muốn thiết bị hoạt động thời gian xác định Hàm delay() chấp nhận số int làm đối số Con số đại diện cho thời gian tính ms mà chương trình phải đợi chuyển sang dòng mã VD: Khi bạn gọi delay(1000) chương trình bạn dừng dịng 1s Delay() chức chặn Chức chặn ngăn chương trình làm điều khác tác vụ cụ thể hồn thành Nếu bạn cần nhiều tác vụ xảy lúc, bạn sử dụng Delay() Đối với hầu hết  dự án, bạn nên tránh sử dụng độ trễ sử dụng hẹn thay Hàm milis() trả số ms trơi qua kể từ chương trình bắt đầu lần Đoạn mã sau cho thấy cách bạn sử dụng milis() tạo dự án nhấp nháy Nó bật đèn LED 1000ms, sau tắt 59 chức const int ledPin = 26; int ledState = LOW; unsigned long previousMillis = 0; const long interval = 1000; void setup() { pinMode(ledPin, OUTPUT); } void loop() { unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interval) { previousMillis = currentMillis; if (ledState == LOW) ledState = HIGH; else ledState = LOW; digitalWrite(ledPin, ledState); } } 3.6.5.2 Interrupt Timer 60 Giới thiệu  Ngắt hữu ích để làm cho thứ xảy tự động chương trình vi điều  khiển giúp giải vấn đề thời gian Với ngắt, bạn không cần phải liên tục kiểm tra giá trị pin Khi thay đổi phát hiện, kiện kích hoạt – hàm gọi Chức gọi thói quen dịch vụ ngắt (ISR)  Khi ngắt xảy ra, xử lý dừng thực thi chương trình để thực thi tác vụ, sau quay lại chương trình hình bên Hình Chương trình thực thi ngắt Sử dụng attachInterrupt() Để đặt ngắt Arduino IDE, bạn sử dụng attachInterrupt() hàm, chấp nhận làm đối số: chân ngắt GPIO, tên hàm thực thi chế độ: attachInterrupt(digitalPinToInterrupt(GPIO), ISR, mode); Chốt ngắt GPIO o Đối số ngắt GPIO Bạn nên sử dụng digitalPinToInterrupt(GPIO) 61 để đặt GPIO thực tế làm chân ngắt Ví dụ: bạn muốn sử dụng GPIO 14 làm ngắt, sử dụng: digitalPinToInterrupt(14) o ESP8266 hỗ trợ ngắt GPIO nào, ngoại trừ GPIO16 ISR o Đối số thứ hàm attachInterrupt() the interrupt service routine (ISR) o Chức ISR phải đơn giản tốt, để xử lý nhanh chóng quay lại thực thi chương trình o Cách tiếp cận tốt báo hiệu mã ngắt xảy cách sử dụng biến toàn cục Loop() Kiểm tra xóa cờ thực thi o mã ISR cần phải có ICACHE_RAM_ATTR trước định nghĩa hàm để chạy mã ngắt RAM Chế độ ngắt Đối số thứ ba mode có chế độ khác nhau: o CHANGE: để kích hoạt ngắt chân thay đổi giá trị - ví dụ: từ o HIGH → LOW LOW → HIGH FALLING: pin chuyển từ HIGH → LOW o RISING: pin chuyển từ LOW → HIGH Ví dụ: Sử dụng chế độ RISEING, cảm biến chuyển động PIR phát chuyển động, GPIO mà kết nối chuyển từ THẤP sang CAO ESP8266 NodeMCU với cảm biến chuyển động PIR:  Các phận cần thiết: ESP8266, Cảm biến chuyển động PIR (AM312), Đèn LED 5mm, Điện trở 330Ohm, Breadboard, Dây nhảy  Sơ đồ: Lắp ráp cảm biến chuyển động PIR đèn LED với ESP8266 bạn Kết nối đèn LED với GPIO 12 · (D6) chân liệu cảm biến chuyển động PIR để GPIO 14 · (D5) 62 3.6.6 Thiết kế hệ thống mẫu 3.6.7 Hiển thị điều khiển hệ thống từ xa 63

Ngày đăng: 28/12/2023, 18:59

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan