XÂY DỰNG hệ THỐNG CẢNH báo CHÁY RỪNG sớm DÙNG CÔNG NGHỆ cảm BIẾN KHÔNG dây (có code)

85 406 14
XÂY DỰNG hệ THỐNG CẢNH báo CHÁY RỪNG sớm DÙNG CÔNG NGHỆ cảm BIẾN KHÔNG dây (có code)

Đ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 TỐT NGHIỆP XÂY DỰNG HỆ THỐNG CẢNH BÁO CHÁY RỪNG SỚM DÙNG CÔNG NGHỆ CẢM BIẾN KHÔNG DÂY xiii DANH MỤC CÁC TỪ VIẾT TẮT ACK Acknowledge ADC Analog to Digital converter CAP Contention Access Period CCA Clear Channel Assessment CFP Contention Free Period CPU Central Processing Unit CSMA Carrier Sense Multiple Access DARPA Defense Advanced Research Projects Agency GTS Guaranteed Time Slot IEEE Institute of Electrical and Eleactronics Engineers IFS Inter-Frame Space LEACH Low Energy Adaptive Clustering hierachy LR-WPAN Low-Rate Wireless Personal Area Networks MAC Medium Access Control MEMS Micro Electro Mechanical Systems MFR MAC footer MHR MAC header MLMESAP MAC sublayer management entity service access point MPDU MAC Protocol Data Unit NEMS Nanoscale Electro Mechanical systems OS Operating System PEGASIS Power Efficient Gathering in Sensor Information System PHY Physic layer WSN Wireless Sensor Networks WPAN Wireless Personal Area Networks xiv Đồ án tốt nghiệp Trang 3/82 LỜI MỞ ĐẦU Khoa học kỹ thuật giới phát triển không ngừng qua thời kỳ Sự phát triển khoa học ứng dụng thực hỗ trợ nhiều sống Khoa học công nghệ không tiếp cận người mà phải quan tâm, tiếp cận đến khu rừng xanh phổi mẹ thiên nhiên Cháy rừng mối đe dọa cấp bách cần phải có biện pháp phòng chống cháy rừng xảy Để góp phần nhỏ vào việc bảo vệ tài nguyên thiên nhiên bảo vệ người, dựa ý tưởng đó, đồ án đưa biện pháp thu thập liệu nhiệt độ độ ẩm để đưa cảnh báo thích hợp vấn đề cháy rừng Đồ án trình bày theo bố cục sau: - Chương trình bày sơ lược lý chọn đề tài, mục tiêu đồ án phương pháp nghiên cứu - Chương trình bày tổng quan mạng cảm biến khơng dây - Chương trình bày mơ hình cơng nghệ mạng ZigBee - Chương trình bày chương trình mơ phỏng, thiết kế phần cứng, phần mềm hệ thống cảnh báo sớm cháy rừng - Chương trình bày kết quả, hạn chế, hướng phát triển đề tài Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 4/82 CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 1.1 Lý chọn đề tài Bạn phải thời gian để biết vụ hỏa hoạn xảy rừng? Và có phải để ý đến lửa muộn lửa lan rộng Rừng phần quan trọng nguồn tài nguyên thiếu cho sống người, phát triển xã hội bảo vệ cân hệ sinh thái Tuy nhiên, số hoạt động người khơng kiểm sốt ấm lên tồn cầu, cháy rừng thường xuyên xảy Cháy rừng hiểm họa nghiêm trọng nguồn tài nguyên môi trường người Trong năm gần đây, tần suất vụ cháy rừng tăng lên đáng kể biến đổi khí hậu, hoạt động người yếu tố khác “Trong năm 2016, nước có 490 vụ cháy rừng, tăng 13 vụ so với kỳ năm ngoái Nguyên nhân chủ yếu dó thời tiết phức tạp, nắng nóng xảy hầu hết tỉnh thành, đồng thời số khu vực nắng nóng cục bộ, nhiệt độ tăng cao làm khô nỏ vật liệu cháy nguy cháy rừng cao; nữa, ảnh hưởng đợt rét đậm, rét hại đầu năm làm cho thảm thực vật rừng bị chết, gãy đổ hàng loạt, tạo lớp vật liệu cháy khổng lồ rừng” [1] Và gần “Trong tháng đầu năm 2018, gần 3000 vụ cháy rừng nước” [2] 1.2 Tổng quan vấn đề nghiên cứu Ngày với phát triển mạnh mẽ khoa học kỹ thuật nói chung ngành Điện Tử - Viễn Thơng nói riêng, mạng cảm biến khơng dây đời thành tựu cao khoa học công nghệ Một lĩnh vực mạng cảm biến không dây kết hợp cảm biến, tính tốn truyền thơng vào thiết bị nhỏ gọn đáp ứng nhu cầu ngày cao, phục vụ ngày tốt cho lợi ích người Sức mạnh Wireless Sensor Network (WSN) nằm chỗ khả triển khai số lượng lớn thiết bị nhỏ có khả tự thiết lập cấu hình Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 5/82 hệ thống Sử dụng thiết bị để theo dõi theo thời gian thực, giám sát điều kiện mơi trường, theo dõi cấu trúc tình trạng thiết bị Cơng nghệ điều khiển cảm biến có tiềm lớn, không khoa học nghiên cứu, mà quan trọng chúng sử dụng rộng rãi ứng dụng liên quan đến bảo vệ cơng trình trọng yếu, chăm sóc sức khỏe, bảo vệ mơi trường, lượng, an tồn cháy nổ, an tồn thực phẩm, sản xuất, nâng cao chất lượng sống kinh tế… Trước phát triển mạng cảm biến khơng dây thiếu sót giám sát truyền thống cơng tác phòng chống cháy rừng, vào tình hình thực tế nước ta cần biện pháp giám sát rừng tốt để giảm thiệt hại cháy rừng gây Luận văn chọn hướng nghiên cứu “Xây dựng hệ thống cảnh báo cháy rừng sớm dùng công nghệ mạng cảm biến không dây” 1.3 Mục tiêu - Nắm rõ mạng cảm biến không dây công nghệ mạng ZIGBEE - Phân tích xây dựng chương trình mơ giải pháp định tuyến PEGASIS đa chuỗi - Xây dựng mơ hình hệ thống cảnh báo sớm cháy rừng - Hoàn thiện viết báo cáo 1.4 Phương pháp nghiên cứu - Phân tích tổng hợp thơng tin - Phân tích đặc tính hệ thống - Phân tích đánh giá kết Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 6/82 CHƯƠNG 2: TỔNG QUAN VỀ CẢM BIẾN KHÔNG DÂY 2.1 Các thành phần mạng cảm biến không dây Hình 2.1 Các thành phần node cảm biến Một node cảm biến cấu tạo bốn thành phần bản: Bộ phận cảm biến, phận xử lý, phận thu phát phận cung cấp lượng Ngồi ra, chúng có thành phần bổ sung phụ thuộc vào ứng dụng cụ thể Bộ phận cảm biến thường bao gồm hai phận: cảm biến phân chuyển đổi tín hiệu tương tự thành tín hiệu số Tín hiệu tương tụ sản sinh thành phần cảm biến dựa vào quan sát tượng chuyển đổi tới tín hiệu số ADC, sau chuyển tới phận xử lý Bộ phận xử lý thường liên quan đến phận lưu trữ nhỏ, quản lý thủ tục làm cho node cảm biến hợp tác với để thực nhiệm vụ cảm biến định trước Bộ phận thu phát kết nối node với mạng Một thành phần quan trọng node cảm biến phận cung cấp lượng Node cảm biến có phận nhỏ khác tùy thuộc vào ứng dụng Hầu hết kỹ thuật định tuyến cảm biến tác vụ cảm biến đòi hỏi kiến thức định vị vị trí với độ xác cao node cảm biến thường có hệ thống định vị vị trí Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 7/82 Ngoài ra, tùy thuộc vào ứng dụng, node cảm biến trang bị phận quản lý di động để quản lý chuyển động yêu cầu để thực nhiệm vụ định trước Tất phận cần phải tích hợp module nhỏ gọn 2.2 Đặc điểm mạng cảm biến khơng dây - Có khả tự tổ chức, u cầu khơng có can thiệp người - Triển khai dày đặc khả kết hợp node cảm biến - Cấu hình mạng thay đổi thường xuyên phụ thuộc vào hư hỏng node - Các giới hạn mặt lượng, công suất phát, nhớ công suất tính tốn - WSN kế thừa ưu điểm mạng vô tuyến với đặc điểm riêng mạng cảm biến, ứng dụng vào mạng gồm số lượng lớn thiết bị nhỏ gọn, giá thành thấp, tiêu thụ lượng có khả xử lý, tính tốn giao tiếp với thiết bị khác nhằm đáp ứng yêu cầu ứng dụng cụ thể 2.3 Quá trình phát triển mạng cảm biến không dây - Thời kỳ chiến tranh lạnh: mạng ngầm phát triển rộng rãi Mỹ dùng giám sát ngầm đáy biển Mạng khơng phòng thủ radar triển khai Bắc Mỹ - Sự thúc đẩy mạnh mẽ cho nghiên cứu mạng cảm biển vào đầu năm 1980 với chương trình Defense Advanced Research Project Agency (DARPA) - Ngày nghiên cứu mạng cảm biến hệ thứ hai ứng dụng thương mại, bước tiến tính tốn truyền thơng vào cuối năm 1990 đầu năm 2000 tạo nên kỹ thật mạng cảm biến hệ Các cảm biến chế tạo có giá thành thấp, số lượng lớn theo công nghệ MEMS, nanoscale electromechanical systems (NEMS) xuất tiêu chuẩn chìa khóa cho phát triển WSNs (ngồi có Internet-Web, video số MPEG-4, mạng tế bào, VoIP) Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 8/82 Bảng 2.1 Tóm tắt giai đoạn phát triển mạng cảm biến không dây 2.4 Kỹ thuật cảm biến không dây 2.4.1 Khái quát NODE cảm biến Mạng WSNs gồm nhiều cảm biến phân bố phân tán bao phủ vùng địa lý Các node (cảm biến nodes hay gọi WNs) có khả liên lạc vô tuyến với node lân cận chức xử lý tín hiệu, quản lý giao thức mạng bắt tay với node lân cận để truyền liệu từ nguồn đến trung tâm Chức node mạng WSNs phụ thuộc vào ứng dụng nó, số chức chính: - Xác định giá trị thơng số nơi lắp đặt Như trả nhiệt độ, áp suất, cường độ ánh sáng nơi khảo sát - Phát tồn kiện cần quan tâm ước lượng thơng số kiện Như mạng WSNs dùng giám sát giao thông, cảm biến nhận biết Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 9/82 di chuyển xe cộ, đo tốc độ hướng di chuyển phương tiện lưu thông… - Phân biệt đối tượng Ví dụ phương tiện lưu thơng mà cảm biến nhận biết gì? Xe con, xe tải, hay xe buýt… - Theo dấu đối tượng Ví dụ mạng WSNs quân sự, mạng cảm biến phải cập nhật vị trí phương tiện đối phương chúng di chuyển vùng bao phủ mạng… Các hệ thống đáp ứng thời gian thực hay gần thế, tùy theo yêu cầu mục đích thông tin cần thu thập Cảm biến gồm nhiều nhóm chức cơ, hóa, nhiệt, điện, từ, sinh học, quang, chất lỏng, sóng siêu âm, cảm biến khói… Cảm biến đưa bên ngồi mơi trường nguy hại; mơi trường có nhiệt độ cao, mức dao động, nhiễu lớn, mơi trường hóa chất độc hại; lắp đặt hệ thống robot tự động hay hệ thống nhà xưởng sản xuất Công nghệ cảm biến điều khiển bao gồm điện từ, cảm biến sóng radio, cảm biến quang, hồng ngoại, radars, lasers, cảm biến vị trí hay định vị, cảm biến hướng mục đích phục vụ cho an ninh sinh hóa… Các cảm biến kích thước nhỏ, giá thành thấp, ổn định, độ nhạy cao đáng tin cậy yếu tố quan trọng tạo nên mạng WSNs hoạt động hiệu kinh tế 2.4.2 Phần cứng phần mềm Liên quan đến thiết kế node mạng WSNs, chức cần phải có: chức node; chức xử lý tín hiệu gồm xử lý tín hiệu, nén, phát sửa lỗi, điều khiển; phân nhóm tính tốn mạng; thơng tin; tự kết hợp; định tuyến; quản lý kết nối Để có chức này, phần cứng node phải có cảm biển phận thực thi, xử lý, nguồn phần phục vụ cho chức khác Phần cứng gồm nhóm chính: - Nguồn cung cấp: đảm bảo lượng cho node hoạt động vài giờ, vài tháng hay vài năm Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 10/82 - Lưu trữ tính tốn: phục vụ cho chức xử lý, điều chế số, định tuyến… - Cảm biến: biến đổi thông số môi trường thành thông tin - Liên lạc: trao đổi liệu node với với trung tâm Phần mềm gồm nhóm chính: - Hệ điều hành (OS): liên kết phần mềm chức xử lý Các nghiên cứu hướng đến thiết kế mã nguồn mở cho OS dành riêng cho mạng WSNs - Cảm biến Drivers: module quản lý chức phần tử cảm biến - Bộ xử lý thông tin: quản lý chức thông tin, gồm định tuyến, chuyển gói, trì giao thức, mã hóa, sửa lỗi… - Bộ phận xử lý liệu: xử lý tín hiệu lưu trữ, thường node xử lý mạng 2.4.3 Môi trường hoạt động cảm biến node (WNs): Node cảm biến bị ràng buộc số yếu tố: - Nguồn cung cấp: node bị giới hạn lượng cung cấp, việc sử dụng hiệu nguồn lượng chìa khóa cho thiết kế hệ thống mạng WSNs - Liên lạc: Mạng vô tuyến thường bị giới hạn băng thông, nhiễu kênh truyền Các yếu tố ảnh hưởng đến độ tin cậy, chất lượng dịch vụ độ bảo mật hệ thống - Tính tốn: Các node có cơng suất tính tốn nhớ giới hạn Điều ảnh hưởng đến việc lựa chọn giải thuật xử lý liệu hoạt động node - Sự không chắn thông số: dự liệu cần thu thập kèm theo nhiễu từ mơi trường Sự hư hỏng node làm sai liệu Sự đặt node gây sai lệch hoạt động node Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 71/82 } private void label2_Click(object sender, EventArgs e) { } private void Label10_Click(object sender, EventArgs e) { } private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e) { } private void label11_Click(object sender, EventArgs e) { } private void Label8_Click(object sender, EventArgs e) { } Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 72/82 private void Label7_Click(object sender, EventArgs e) { } private void Label6_Click(object sender, EventArgs e) { } private void Label9_Click(object sender, EventArgs e) { } private void label12_Click(object sender, EventArgs e) { } private void label13_Click(object sender, EventArgs e) { } private void label14_Click(object sender, EventArgs e) Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 73/82 { } private void textBox5_TextChanged(object sender, EventArgs e) { } private void textBox6_TextChanged(object sender, EventArgs e) { } private void textBox7_TextChanged(object sender, EventArgs e) { } } } Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 74/82 5.Code Client using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; using ZedGraph; namespace Final_project { public partial class Form1 : Form { // String receive data form Arduino string SDatas_temp_a = String.Empty; string SDatas_temp_b = String.Empty; string SDatas_humd_a = String.Empty; string SDatas_humd_b = String.Empty; string SRealTime = String.Empty; Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 75/82 double realtime = 0; //Time convert from SRealtime, use for draw graph double data_temp_a = 0; double data_temp_b = 0; double data_humd_a = 0; double data_humd_b = 0; //Sql public string m_connect = @"Data Source =HUYNGUYEN-PC; Initial Catalog = Database; Persist Security Info= True; User ID =sa;Password=Astonel10"; SqlConnection = null; public delegate void NewHome(); public event NewHome OnNewHome; public Form1() { InitializeComponent(); try { SqlClientPermission ss = new SqlClientPermission(System.Security.Permissions.PermissionState.Unrestricted); ss.Demand(); } catch (Exception) { throw; } SqlDependency.Stop(m_connect); SqlDependency.Start(m_connect); = new SqlConnection(m_connect); Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 76/82 } private void Form1_Load(object sender, EventArgs e) { OnNewHome += new NewHome(Form1_OnNewHome);//tab //Create ZedGraph1 - Temperature GraphPane myPane = zedGraphControl1.GraphPane; myPane.Title.Text = "Temperature Graph"; myPane.XAxis.Title.Text = "Time(s)"; myPane.YAxis.Title.Text = "Temperature(°C)"; RollingPointPairList list_temp_a = new RollingPointPairList(100000); RollingPointPairList list_temp_b = new RollingPointPairList(100000); LineItem curve_temp_a = myPane.AddCurve("TempA", list_temp_a, Color.Red, SymbolType.None); LineItem curve_temp_b = myPane.AddCurve("TempB", list_temp_b, Color.Blue, SymbolType.None); myPane.XAxis.Scale.Min = 0; myPane.XAxis.Scale.Max = 60; myPane.XAxis.Scale.MinorStep = 1; myPane.XAxis.Scale.MajorStep = 5; myPane.YAxis.Scale.Min = 0; myPane.YAxis.Scale.Max = 50; myPane.AxisChange(); //Create ZedGraph2 - Humidity Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 77/82 GraphPane myPane1 = zedGraphControl2.GraphPane; myPane1.Title.Text = "Humidity Graph"; myPane1.XAxis.Title.Text = "Time(s)"; myPane1.YAxis.Title.Text = "Humidity(%)"; RollingPointPairList list_humd_a = new RollingPointPairList(100000); RollingPointPairList list_humd_b = new RollingPointPairList(100000); LineItem curve_humd_a = myPane1.AddCurve("HumdA", list_humd_a, Color.Red, SymbolType.None); LineItem curve_humd_b = myPane1.AddCurve("HumdB", list_humd_b, Color.Blue, SymbolType.None); myPane1.XAxis.Scale.Min = 0; myPane1.XAxis.Scale.Max = 60; myPane1.XAxis.Scale.MinorStep = 1; myPane1.XAxis.Scale.MajorStep = 5; myPane1.YAxis.Scale.Min = 0; myPane1.YAxis.Scale.Max = 100; myPane1.AxisChange(); LoadData(); } public void Form1_OnNewHome() { ISynchronizeInvoke i = (ISynchronizeInvoke)this; if (i.InvokeRequired)//tab { NewHome dd = new NewHome(Form1_OnNewHome); i.BeginInvoke(dd, null); return; Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 78/82 } LoadData(); } private void time_tick(object sender, EventArgs e) { LoadData(); } //Ham load data void LoadData() { SqlCommand cmd = new SqlCommand("SELECT TempA, HumdA, TempB, HumdB, Timing, Time from dbo.Data", con); cmd.Notification = null; SqlDependency de = new SqlDependency(cmd); de.OnChange += new OnChangeEventHandler(de_OnChange); if (con.State == ConnectionState.Closed) { con.Open(); } using (SqlDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { //Time convert from SRealtime, use for draw graph SDatas_temp_a = dr[0].ToString(); Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 79/82 SDatas_humd_a = dr[1].ToString(); SDatas_temp_b = dr[2].ToString(); SDatas_humd_b = dr[3].ToString(); SRealTime = dr[4].ToString(); textBox6.Text = dr[5].ToString(); Display_data(); Convert_data(); Draw(); } //Chú ý: [0] đại điện cho trường câu select JobDate //[1] WorkerID //So all } con.Close(); cmd.Dispose(); } private void Display_data() { TextBox1.Text = SDatas_temp_a; TextBox2.Text = SDatas_humd_a; TextBox3.Text = SDatas_temp_b; TextBox4.Text = SDatas_humd_b; textBox5.Text = SRealTime; } Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 80/82 private void Convert_data() { double.TryParse(SRealTime, out realtime); double.TryParse(SDatas_temp_a, out data_temp_a); double.TryParse(SDatas_temp_b, out data_temp_b); double.TryParse(SDatas_humd_a, out data_humd_a); double.TryParse(SDatas_humd_b, out data_humd_b); } private void Draw() { if (zedGraphControl1.GraphPane.CurveList.Count x2Scale.Max - x2Scale.MajorStep) { x2Scale.Max = realtime + x2Scale.MajorStep; x2Scale.Min = x2Scale.Max - 30; } // Auto scale y /* if (datas > yScale.Max - yScale.MajorStep) { yScale.Max = datas + yScale.MajorStep; } else if (datas < yScale.Min + yScale.MajorStep) { yScale.Min = datas - yScale.MajorStep; } */ Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 83/82 zedGraphControl1.AxisChange(); zedGraphControl1.Invalidate(); zedGraphControl1.Refresh(); zedGraphControl2.AxisChange(); zedGraphControl2.Invalidate(); zedGraphControl2.Refresh(); } public void de_OnChange(object sender, SqlNotificationEventArgs e) { SqlDependency de = sender as SqlDependency; de.OnChange -= de_OnChange; if (OnNewHome != null) { OnNewHome(); } } //GUI private void label2_Click(object sender, EventArgs e) { } private void TextBox1_TextChanged(object sender, EventArgs e) { Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 84/82 } private void Label8_Click(object sender, EventArgs e) { } private void Label7_Click(object sender, EventArgs e) { } private void TextBox2_TextChanged(object sender, EventArgs e) { } private void Label5_Click(object sender, EventArgs e) { } private void label3_Click(object sender, EventArgs e) { } Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 85/82 private void Label4_Click(object sender, EventArgs e) { } private void Label6_Click(object sender, EventArgs e) { } private void Label9_Click(object sender, EventArgs e) { } private void TextBox3_TextChanged(object sender, EventArgs e) { } private void TextBox4_TextChanged(object sender, EventArgs e) { } } } Hệ thống cảnh báo sớm cháy rừng ... rừng tốt để giảm thiệt hại cháy rừng gây Luận văn chọn hướng nghiên cứu Xây dựng hệ thống cảnh báo cháy rừng sớm dùng công nghệ mạng cảm biến không dây 1.3 Mục tiêu - Nắm rõ mạng cảm biến không. .. toán hệ thống cảnh báo sớm cháy rừng – Phân tích giải pháp PEGASIS Hệ thống cảnh báo sớm cháy rừng Đồ án tốt nghiệp Trang 25/82 4.1.1 Đặc điểm hệ thống Hệ thống cảnh báo sớm cháy rừng hoạt động... cơng nghệ mạng ZigBee Đầu chương ta tìm hiểu giao thức định tuyến PEGASIS xây dựng Hệ thống cảnh báo sớm cháy rừng với hiệu suất cao CHƯƠNG 4: HỆ THỐNG CẢNH BÁO SỚM CHÁY RỪNG 4.1 Bài toán hệ thống

Ngày đăng: 22/03/2019, 20:32

Từ khóa liên quan

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

Tài liệu liên quan