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

Ứng dụng mạng truyền thông esp now trong quan trắc môi trường tại các khu vực không có internet

124 36 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 124
Dung lượng 1,68 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP ỨNG DỤNG MẠNG TRUYỀN THÔNG ESP-NOW TRONG QUAN TRẮC MÔI TRƯỜNG TẠI CÁC KHU VỰC KHƠNG CĨ INTERNET NGÀNH: ĐIỆN TỬ-VIỄN THÔNG GIẢNG VIÊN HƯỚNG DẪN: TS NGUYỄN TRỌNG HẢI Sinh viên thực hiện: MSSV: Lớp: Trần Đình Nhật Minh 1811011921 18DDTA1 Phạm Đăng Trí 1811010056 18DDTA1 Tp Hồ Chí Minh, tháng 7/2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CƠNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP ỨNG DỤNG MẠNG TRUYỀN THÔNG ESP-NOW TRONG QUAN TRẮC MƠI TRƯỜNG TẠI CÁC KHU VỰC KHƠNG CĨ INTERNET NGÀNH: ĐIỆN TỬ-VIỄN THÔNG GIẢNG VIÊN HƯỚNG DẪN: TS NGUYỄN TRỌNG HẢI Sinh viên thực hiện: MSSV: Lớp: Trần Đình Nhật Minh 1811011921 18DDTA1 Phạm Đăng Trí 1811010056 18DDTA1 Tp Hồ Chí Minh, tháng 7/2022 BM01/QT05/ĐT-KT VIỆN KỸ THUẬT HUTECH PHIẾU ĐĂNG KÝ ĐỀ TÀI ĐỒ ÁN/KHÓA LUẬN TỐT NGHIỆP Hệ: ……………CQ…………… (CQ, LT, B2, VLVH) Họ tên sinh viên/ nhóm sinh viên đăng ký đề tài (sĩ số nhóm…2…): (1) Trần Đình Nhật Minh MSSV: 1811011921 Lớp: 18DDTA1 Điện thoại: 0968347399 Email:minht4018@gmail.com (2) Phạm Đăng Trí MSSV: 1811010056 Lớp: 18DDTA1 Điện thoại: 0944080402 Email: dangtri1973@gmail.com (3) MSSV: Lớp: Điện thoại: Email: Ngành : Kĩ thuật Chuyên ngành : Điện tử -Viễn thông Tên đề tài đăng ký : Ứng dụng mạng truyền thông Esp-Now quan trắc môi trường khu vực khơng có Internet Sinh viên hiểu rõ yêu cầu đề tài cam kết thực đề tài theo tiến độ hoàn thành thời hạn Giảng viên hướng dẫn (Ký ghi rõ họ tên) TP HCM, ngày 21 tháng 03 năm 2022 Sinh viên đăng ký (Ký ghi rõ họ tên) Trần Đình Nhật Minh Phạm Đăng Trí MÃ ĐỀ TÀI: 05 VIỆN KỸ THUẬT HUTECH PHIẾU GIAO NHIỆM VỤ THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP (Mỗi sinh viên phiếu, GVHD ghi rõ tên đề tài nhiệm vụ sinh viên GVHD chuyển cho SV để nộp VP Viện.) Sinh viên thực đề tài Họ tên : Trần Đình Nhật Minh MSSV : 1811011921 Lớp : 18DDTA1 Điện thoại : 0968347399 Email : minht4018@gmail.com Ngành : Điện Tử - Truyền Thông Tên đề tài: Ứng dụng mạng truyền thông Esp-Now quan trắc môi trường khu vực khơng có Internet Nhiệm vụ thực đề tài: - Tìm hiểu sơ đồ khối linh kiện để thực đề tài - Tìm hiểu quy trình thực hệ thống - Thiết kế,thi công phần cứng vẽ - Đo đạc kiểm tra hệ thống thực - Viết báo cáo Sinh viên thực (Ký ghi rõ họ tên) Trần Đình Nhật Minh TP HCM, ngày 29 tháng năm 2022 Giảng viên hướng dẫn (Ký ghi rõ họ tên) MÃ ĐỀ TÀI: 05 VIỆN KỸ THUẬT HUTECH PHIẾU GIAO NHIỆM VỤ THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP (Mỗi sinh viên phiếu, GVHD ghi rõ tên đề tài nhiệm vụ sinh viên GVHD chuyển cho SV để nộp VP Viện.) Sinh viên thực đề tài Họ tên : Phạm Đăng Trí MSSV : 1811010056 Lớp : 18DDTA1 Điện thoại : 0944080402 Email : dangtri1973@gmail.com Ngành : Điện Tử - Truyền Thông Tên đề tài: Ứng dụng mạng truyền thông Esp-Now quan trắc môi trường khu vực khơng có Internet Nhiệm vụ thực đề tài: - Tìm hiểu nhu cầu nước nước - Tìm hiểu quy trình thực hệ thống - Thiết kế lưu đồ giải thuật viết chương trình - Đo đạc kiểm tra hệ thống thực - Viết báo cáo Sinh viên thực (Ký ghi rõ họ tên) Phạm Đăng Trí TP HCM, ngày 29 tháng năm 2022 Giảng viên hướng dẫn (Ký ghi rõ họ tên) LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tp Hồ Chí Minh, ngày 25 tháng 07 năm 2022 (Ký tên ghi rõ họ tên) Trần Đình Nhật Minh i Phạm Đăng Trí LỜI CẢM ƠN Để hồn thành chun đề báo cáo đồ án tốt nghiệp trước hết em xin gửi đến quý thầy, cô Viện Kỹ thuật Hutech lời cảm ơn chân thành Đặc biệt, em xin gởi đến thầy Nguyễn Trọng Hải người tận tình hướng dẫn, giúp đỡ em hồn thành chun đề báo cáo đồ án tốt nghiệp lời cảm ơn sâu sắc Với điều kiện thời gian kiến thức hiểu biết hạn chế sinh viên, báo cáo 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 cho đề tài đồ án phát triển sau Em xin chân thành cảm ơn! TP.HCM, ngày 25 tháng 07 năm 2022 Sinh viên thực Trần Đình Nhật Minh ii Phạm Đăng Trí TĨM TẮT Cơng nghệ ngày phát triển vấn đề ô nhiễm môi trường bị đe dọa trầm trọng tình hình giới phát triển lúc cao, nhà máy, cơng trình, xưởng sản xuất ngày thải ngồi mơi trường nhiều khí thải, chất thải nguy hại, dẫn đến mơi trường bị đe dọa nghiêm trọng Do cần phải quan trắc môi trường thường xuyên để tránh khỏi tác động xấu sau theo dõi trạng, diễn biến chất lượng môi trường tác động xấu khác môi trường Hiện nay, trạm QTMT thường xuyên, cố định thường lắp đặt hệ thống lấy mẫu tự động, định kì kết hợp với đo đạc nhanh số thị ô nhiễm đặc trưng Ưu điểm dạng nhanh, kịp thời tích lũy lượng liệu liên tục, lâu dài Tuy nhiên rào cản lớn cho hệ thống việc vận hành thường tốn kém.Chính lí đó,tụi em tạo thiết bị nhỏ gọn, đơn giản, chi phí thấp tính kết nối,chia sẻ cao đo đạc điều khiển từ xa mà đảm bảo đo đạc xác linh động việc điều khiển Đủ thông tin quan trắc môi trường mức cập nhật thông tin môi trường sống xung quanh cách nhanh nhất.Để làm điều này, chúng em chọn module Esp32 tạo mạng lưới nội Esp-now giúp điều khiển hiển thị giá trị nhiệt độ, áp suất, độ ẩm, độ cao tương đối từ cảm biến Bmp180 Dht11 Và làm khung xe chứa thiết bị cảm biến có thiết kế dạng bánh xe xe tăng giúp xe di chuyển loại địa hình gồ ghề khó di chuyển i ABSTRACT As technology is developing, the problem of environmental pollution is being seriously threatened because the world situation is developing more and more, factories, constructions, and factories are releasing a lot into the environment every day emissions, hazardous waste, leading to serious threats to the environment Therefore, it is necessary to regularly monitor the environment to avoid future negative impacts as well as to monitor the current status, as well as the evolution of the quality of the environment and other adverse impacts on the environment Currently, regular and fixed environmental monitoring stations are often installed with automatic and periodic sampling systems combined with quick measurement of some typical pollution indicators The advantage of this form is that it is fast, timely and accumulates a continuous and long-term amount of data However, the biggest barrier for this system is that the operation is often very expensive For that reason, we create a compact, simple, low-cost device with high connectivity and sharing that can be remote measurement and control while ensuring accurate measurement and flexibility in control Enough environmental monitoring information at the most basic level as well as updating information about the surrounding environment in the fastest way To this, we chose the Esp32 module to create an internal Esp network -now helps to control and display temperature, pressure, humidity, relative altitude values from Bmp180 and Dht11 sensors And making the chassis contains the sensor devices with the wheel design of the tank to help the vehicle move all kinds of rough terrain that is difficult to move ii MỤC LỤC PHIẾU ĐĂNG KÝ ĐỀ TÀI ĐỒ ÁN/KHÓA LUẬN TỐT NGHIỆP PHIẾU GIAO NHIỆM VỤ THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP LỜI CAM ĐOAN i LỜI CẢM ƠN ii TÓM TẮT i ABSTRACT ii MỤC LỤC i DANH MỤC CÁC TỪ VIẾT TẮT iv DANH SÁCH CÁC HÌNH v DANH SÁCH CÁC BẢNG vii LỜI MỞ ĐẦU viii TÍNH CẤP THIÉT CỦA ĐỀ TÀI viii TÌNH HÌNH NGHIÊN CỨU ix MỤC ĐÍCH NGHIÊN CỨU x NHIỆM VỤ NGHIÊN CỨU xi PHƯƠNG PHÁP NGHIÊN CỨU xi KẾT QUẢ ĐẠT ĐƯỢC CỦA ĐỀ TÀI xi KẾT CẤU ĐỒ ÁN xi Chương GIỚI THIỆU 1.1 Khái niệm quan trắc môi trường .1 1.2 Các phương pháp quan trắc môi trường .1 1.3 Vai trò quan trắc môi trường 1.4 Công nghệ Esp –now i self.label_7.setFont(font9) self.label_7.setStyleSheet(u"color: rgb(63, 84, 209);") self.label_7.setAlignment(Qt.AlignCenter) self.verticalLayout_19.addWidget(self.label_7) self.verticalLayout_12.addWidget(self.khung_tieude_5) self.frame_13 = QFrame(self.page_5) self.frame_13.setObjectName(u"frame_13") self.frame_13.setFrameShape(QFrame.StyledPanel) self.frame_13.setFrameShadow(QFrame.Raised) self.verticalLayout_12.addWidget(self.frame_13) self.stackedWidget.addWidget(self.page_5) self.page_6 = QWidget() self.page_6.setObjectName(u"page_6") self.verticalLayout_13 = QVBoxLayout(self.page_6) self.verticalLayout_13.setSpacing(0) self.verticalLayout_13.setObjectName(u"verticalLayout_13") self.verticalLayout_13.setContentsMargins(0, 0, 0, 0) self.khung_tieude_6 = QFrame(self.page_6) self.khung_tieude_6.setObjectName(u"khung_tieude_6") self.khung_tieude_6.setMaximumSize(QSize(16777215, 70)) self.khung_tieude_6.setFrameShape(QFrame.NoFrame) self.khung_tieude_6.setFrameShadow(QFrame.Raised) self.verticalLayout_15 = QVBoxLayout(self.khung_tieude_6) self.verticalLayout_15.setSpacing(0) self.verticalLayout_15.setObjectName(u"verticalLayout_15") self.verticalLayout_15.setContentsMargins(0, 0, 0, 0) self.label_8 = QLabel(self.khung_tieude_6) self.label_8.setObjectName(u"label_8") self.label_8.setFont(font9) self.label_8.setStyleSheet(u"color: rgb(63, 84, 209);") self.label_8.setFrameShape(QFrame.NoFrame) self.label_8.setAlignment(Qt.AlignCenter) self.verticalLayout_15.addWidget(self.label_8) self.verticalLayout_13.addWidget(self.khung_tieude_6) self.frame_15 = QFrame(self.page_6) self.frame_15.setObjectName(u"frame_15") self.frame_15.setFrameShape(QFrame.StyledPanel) self.frame_15.setFrameShadow(QFrame.Raised) self.verticalLayout_20 = QVBoxLayout(self.frame_15) self.verticalLayout_20.setObjectName(u"verticalLayout_20") self.groupBox = QGroupBox(self.frame_15) self.groupBox.setObjectName(u"groupBox") self.groupBox.setMinimumSize(QSize(0, 100)) self.groupBox.setMaximumSize(QSize(16777215, 100)) self.groupBox.setStyleSheet(u"QGroupBox{\n" " color: rgb(66, 68, 76);\n" " border:2px solid rgb(65, 67, 75);\n" " border-radius:15px;\n" "}\n" "QGroupBox:hover{ \n" " border:2px solid rgb(94, 97, 109);\n" "}") self.groupBox.setFlat(False) self.groupBox.setCheckable(False) self.groupBox.setChecked(False) self.comBox = QComboBox(self.groupBox) self.comBox.setObjectName(u"comBox") self.comBox.setGeometry(QRect(20, 30, 291, 24)) self.comBox.setStyleSheet(u"QComboBox{\n" " background-color: rgb(46, 47, 53);\n" " color: rgb(14, 118, 255);\n" " border:1px solid rgb(65, 67, 75);\n" " border-radius:5px;\n" " selection-color:rgb(34, 155, 171);\n" " selection-background-color:rgb(55, 56, 63);\n" "}\n" "QComboBox:hover{\n" " border:2px solid rgb(89, 92, 103);\n" "}\n" "\n" "QComboBox QAbstractItemView::item{\n" " min-height: 24px;\n" " min-width: 291px; \n" "}\n" "QListView::item:selected{\n" " color: rgb(14, 118, 255);\n" " background-color: rgb(46, 47, 53);\n" "}") self.comBox.setIconSize(QSize(16, 16)) self.cloBtt = QPushButton(self.groupBox) self.cloBtt.setObjectName(u"cloBtt") self.cloBtt.setGeometry(QRect(410, 30, 75, 24)) self.cloBtt.setStyleSheet(u"QPushButton{\n" " border: 0px;\n" " border-radius: 12px;\n" " background-color: rgb(195, 110, 12);\n" "}\n" "QPushButton:hover{\n" " background-color: rgb(226, 127, 14);\n" "}") self.opnBtt = QPushButton(self.groupBox) self.opnBtt.setObjectName(u"opnBtt") self.opnBtt.setGeometry(QRect(330, 30, 75, 24)) self.opnBtt.setStyleSheet(u"QPushButton{\n" " border: 0px;\n" " border-radius: 12px;\n" " background-color: rgb(63, 84, 209);\n" "}\n" "QPushButton:hover{ \n" " background-color: rgb(75, 100, 247);\n" "}") self.lb_sta = QLabel(self.groupBox) self.lb_sta.setObjectName(u"lb_sta") self.lb_sta.setGeometry(QRect(330, 60, 61, 31)) font10 = QFont() font10.setPointSize(15) font10.setStrikeOut(False) self.lb_sta.setFont(font10) self.lb_sta.setStyleSheet(u"color: rgb(14, 118, 255);") self.lb_sta.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignVCenter) self.lb_dscp = QLabel(self.groupBox) self.lb_dscp.setObjectName(u"lb_dscp") self.lb_dscp.setGeometry(QRect(20, 60, 291, 31)) self.lb_dscp.setFont(font10) self.lb_dscp.setStyleSheet(u"color: rgb(14, 118, 255);") self.lb_dscp.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignVCenter) self.rfsBtt = QPushButton(self.groupBox) self.rfsBtt.setObjectName(u"rfsBtt") self.rfsBtt.setGeometry(QRect(410, 64, 75, 24)) self.rfsBtt.setStyleSheet(u"QPushButton{\n" " border: 0px;\n" " border-radius: 12px;\n" " background-color: rgb(63, 84, 209);\n" "}\n" "QPushButton:hover{ \n" " background-color: rgb(75, 100, 247);\n" "}") self.verticalLayout_20.addWidget(self.groupBox) self.groupBox_2 = QGroupBox(self.frame_15) self.groupBox_2.setObjectName(u"groupBox_2") self.groupBox_2.setMinimumSize(QSize(0, 300)) self.groupBox_2.setMaximumSize(QSize(16777215, 300)) self.groupBox_2.setStyleSheet(u"QGroupBox{\n" " color: rgb(66, 68, 76);\n" " border:2px solid rgb(65, 67, 75);\n" " border-radius:15px;\n" "}\n" "QGroupBox:hover{ \n" " border:2px solid rgb(94, 97, 109);\n" "}") self.groupBox_2.setAlignment(Qt.AlignLeading|Qt.AlignLeft|Qt.AlignTop) self.groupBox_2.setFlat(False) self.groupBox_2.setCheckable(False) self.groupBox_2.setChecked(False) self.verticalLayout_21 = QVBoxLayout(self.groupBox_2) self.verticalLayout_21.setObjectName(u"verticalLayout_21") self.verticalLayout_21.setContentsMargins(-1, 15, -1, -1) self.frame_6 = QFrame(self.groupBox_2) self.frame_6.setObjectName(u"frame_6") self.frame_6.setFrameShape(QFrame.StyledPanel) self.frame_6.setFrameShadow(QFrame.Raised) self.verticalLayout_22 = QVBoxLayout(self.frame_6) self.verticalLayout_22.setObjectName(u"verticalLayout_22") self.verticalLayout_22.setContentsMargins(0, 0, 0, 0) self.txtBrow = QTextBrowser(self.frame_6) self.txtBrow.setObjectName(u"txtBrow") self.txtBrow.setStyleSheet(u"QTextBrowser{\n" " background-color: rgb(46, 47, 53);\n" " color: rgb(14, 118, 255);\n" " border:1px solid rgb(65, 67, 75);\n" " border-radius:5px;\n" "}\n" "QTextBrowser:hover{\n" " border:2px solid rgb(89, 92, 103);\n" "}") self.txtBrow.setLineWidth(50) self.verticalLayout_22.addWidget(self.txtBrow) self.verticalLayout_21.addWidget(self.frame_6) self.frame_8 = QFrame(self.groupBox_2) self.frame_8.setObjectName(u"frame_8") self.frame_8.setMinimumSize(QSize(0, 40)) self.frame_8.setMaximumSize(QSize(16777215, 40)) self.frame_8.setFrameShape(QFrame.StyledPanel) self.frame_8.setFrameShadow(QFrame.Raised) self.horizontalLayout_8 = QHBoxLayout(self.frame_8) self.horizontalLayout_8.setSpacing(0) self.horizontalLayout_8.setObjectName(u"horizontalLayout_8") self.horizontalLayout_8.setContentsMargins(0, 0, 0, 0) self.lineEdit_2 = QLineEdit(self.frame_8) self.lineEdit_2.setObjectName(u"lineEdit_2") self.lineEdit_2.setMinimumSize(QSize(760, 38)) self.lineEdit_2.setMaximumSize(QSize(760, 38)) self.lineEdit_2.setFont(font2) self.lineEdit_2.setStyleSheet(u"QLineEdit{\n" " background-color: rgb(34, 35, 39);\n" " color: rgb(14, 118, 255);\n" " border:1px solid rgb(65, 67, 75);\n" " border-radius:5px;\n" "}\n" "QLineEdit:hover{\n" " border:2px solid rgb(65, 67, 75);\n" "}") self.horizontalLayout_8.addWidget(self.lineEdit_2) self.sndBtt = QPushButton(self.frame_8) self.sndBtt.setObjectName(u"sndBtt") self.sndBtt.setMinimumSize(QSize(100, 38)) self.sndBtt.setMaximumSize(QSize(100, 40)) self.sndBtt.setStyleSheet(u"QPushButton{\n" " border: 0px;\n" " border-radius: 5px;\n" " background-color: rgb(63, 84, 209);\n" "}\n" "QPushButton:hover{ \n" " background-color: rgb(75, 100, 247);\n" "}") self.horizontalLayout_8.addWidget(self.sndBtt) self.verticalLayout_21.addWidget(self.frame_8) self.verticalLayout_20.addWidget(self.groupBox_2) self.verticalLayout_13.addWidget(self.frame_15) self.stackedWidget.addWidget(self.page_6) self.verticalLayout_5.addWidget(self.stackedWidget) self.horizontalLayout_3.addWidget(self.Khung_page) self.verticalLayout.addWidget(self.khung_bottom) self.frame_3 = QFrame(self.khung_chinh) self.frame_3.setObjectName(u"frame_3") self.frame_3.setMinimumSize(QSize(0, 30)) self.frame_3.setMaximumSize(QSize(16777215, 30)) self.frame_3.setFrameShape(QFrame.NoFrame) self.frame_3.setFrameShadow(QFrame.Raised) self.horizontalLayout_6 = QHBoxLayout(self.frame_3) self.horizontalLayout_6.setSpacing(0) self.horizontalLayout_6.setObjectName(u"horizontalLayout_6") self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) self.frame_4 = QFrame(self.frame_3) self.frame_4.setObjectName(u"frame_4") self.frame_4.setMinimumSize(QSize(0, 30)) self.frame_4.setMaximumSize(QSize(16777215, 30)) self.frame_4.setFrameShape(QFrame.NoFrame) self.frame_4.setFrameShadow(QFrame.Raised) self.horizontalLayout_7 = QHBoxLayout(self.frame_4) self.horizontalLayout_7.setSpacing(0) self.horizontalLayout_7.setObjectName(u"horizontalLayout_7") self.horizontalLayout_7.setContentsMargins(0, 0, 0, 0) self.label_2 = QLabel(self.frame_4) self.label_2.setObjectName(u"label_2") font11 = QFont() font11.setFamilies([u"Nasalization Rg"]) font11.setPointSize(12) self.label_2.setFont(font11) self.label_2.setStyleSheet(u"color: rgb(49, 56, 102);") self.label_2.setAlignment(Qt.AlignCenter) self.horizontalLayout_7.addWidget(self.label_2) self.horizontalLayout_6.addWidget(self.frame_4) self.frame_5 = QFrame(self.frame_3) self.frame_5.setObjectName(u"frame_5") self.frame_5.setMinimumSize(QSize(30, 30)) self.frame_5.setMaximumSize(QSize(30, 30)) self.frame_5.setStyleSheet(u"border: 0px solid;\n" "border-radius: 10px;\n" "padding: 5px;") self.frame_5.setFrameShape(QFrame.StyledPanel) self.frame_5.setFrameShadow(QFrame.Raised) self.horizontalLayout_6.addWidget(self.frame_5) self.verticalLayout.addWidget(self.frame_3) self.horizontalLayout.addWidget(self.khung_chinh) MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) self.stackedWidget.setCurrentIndex(0) QMetaObject.connectSlotsByName(MainWindow) # setupUi def retranslateUi(self, MainWindow): MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None)) self.pushButton.setText("") self.label.setText(QCoreApplication.translate("MainWindow", u"Open Hub", None)) self.lineEdit.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Search ", None)) self.pushButton_7.setText("") #if QT_CONFIG(tooltip) self.pushButton_8.setToolTip(QCoreApplication.translate("MainWindow", u"Minimize", None)) #endif // QT_CONFIG(tooltip) self.pushButton_8.setText("") #if QT_CONFIG(tooltip) self.pushButton_9.setToolTip(QCoreApplication.translate("MainWindow", u"Close", None)) #endif // QT_CONFIG(tooltip) self.pushButton_9.setText("") self.pushButton_2.setText("") self.pushButton_3.setText("") self.pushButton_4.setText("") self.pushButton_5.setText("") self.pushButton_10.setText("") self.pushButton_6.setText("") self.label_3.setText(QCoreApplication.translate("MainWindow", u"Ph\u1ea7n M\u1ec1m Hi\u1ec3n Th\u1ecb K\u1ebft Qu\u1ea3 \u0110o \u0110\u1ea1c T\u1eeb C\u1ea3m Bi\u1ebfn", None)) self.label_9.setText(QCoreApplication.translate("MainWindow", u"Gi\u1ea3ng Vi\u00ean H\u01b0\u1edbng D\u1eabn", None)) self.label_12.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None)) self.label_18.setText(QCoreApplication.translate("MainWindow", u"Sinh Vi\u00ean", None)) self.label_15.setText(QCoreApplication.translate("MainWindow", u"Nh\u1eadt Minh", None)) self.label_22.setText(QCoreApplication.translate("MainWindow", u"Sinh Vi\u00ean", None)) self.label_21.setText(QCoreApplication.translate("MainWindow", u"\u0110\u0103ng Tr\u00ed", None)) self.label_4.setText(QCoreApplication.translate("MainWindow", u"Rover Monitor Enviroment", None)) self.lb_tmp.setText(QCoreApplication.translate("MainWindow", u"00.00", None)) self.label_10.setText(QCoreApplication.translate("MainWindow", u"Nhi\u1ec7t \u0110\u1ed9", None)) self.label_11.setText(QCoreApplication.translate("MainWindow", u"\u00b0C", None)) self.lb_hum.setText(QCoreApplication.translate("MainWindow", u"00.00", None)) self.label_13.setText(QCoreApplication.translate("MainWindow", u"%", None)) self.label_14.setText(QCoreApplication.translate("MainWindow", u"\u0110\u1ed9 \u1ea8m", None)) self.lb_prs.setText(QCoreApplication.translate("MainWindow", u"000000", None)) self.label_16.setText(QCoreApplication.translate("MainWindow", u"Pa", None)) self.label_17.setText(QCoreApplication.translate("MainWindow", u"\u00c1p Su\u1ea5t", None)) self.lb_pm25.setText(QCoreApplication.translate("MainWindow", u"00.00", None)) self.label_19.setText(QCoreApplication.translate("MainWindow", u"M", None)) self.label_20.setText(QCoreApplication.translate("MainWindow", u"\u0110\u1ed9 Cao", None)) self.label_5.setText(QCoreApplication.translate("MainWindow", u"PAGE 3", None)) self.label_6.setText(QCoreApplication.translate("MainWindow", u"PAGE 4", None)) self.label_7.setText(QCoreApplication.translate("MainWindow", u"PAGE 5", None)) self.label_8.setText(QCoreApplication.translate("MainWindow", u"C\u00e0i \u0110\u1eb7t", None)) self.groupBox.setTitle(QCoreApplication.translate("MainWindow", u"Thi\u1ebft l\u1eadp c\u1ed5ng COM", None)) self.comBox.setPlaceholderText("") self.cloBtt.setText(QCoreApplication.translate("MainWindow", u"Close", None)) self.opnBtt.setText(QCoreApplication.translate("MainWindow", u"Open", None)) self.lb_sta.setText(QCoreApplication.translate("MainWindow", u"Status:", None)) self.lb_dscp.setText("") self.rfsBtt.setText(QCoreApplication.translate("MainWindow", u"Refesh", None)) self.groupBox_2.setTitle(QCoreApplication.translate("MainWindow", u"Giao ti\u1ebfp Serial", None)) self.lineEdit_2.setPlaceholderText(QCoreApplication.translate("MainWindow", u"Massage ", None)) self.sndBtt.setText(QCoreApplication.translate("MainWindow", u"Send", None)) self.label_2.setText(QCoreApplication.translate("MainWindow", u"Design by LeaderSheepVN", None)) # retranslateUi ... Đủ thông tin quan trắc môi trường mức cập nhật thông tin môi trường sống xung quanh cách nhanh x NHIỆM VỤ NGHIÊN CỨU Đề tài nhóm có tên “ Ứng dụng mạng truyền thông Esp ? ?Now quan trắc môi trường. .. trường chung 1.2 Các phương pháp quan trắc mơi trường Hiện hay có cách quan trắc quan trắc trực tiếp môi trường sử dụng hệ thống quan trắc môi trường tự động Trong ưu điểm quan trắc mơi trường tự động... VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP ỨNG DỤNG MẠNG TRUYỀN THÔNG ESP- NOW TRONG QUAN TRẮC MÔI TRƯỜNG TẠI CÁC KHU VỰC KHƠNG CĨ INTERNET NGÀNH: ĐIỆN TỬ-VIỄN THÔNG GIẢNG

Ngày đăng: 22/02/2023, 22:52

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w