Nghiên cứu xây dựng hệ thống điều kiển và quản lý nhà nuôi yến theo mô hình nhà thông minh trên thiết bị di động

72 25 0
Nghiên cứu xây dựng hệ thống điều kiển và quản lý nhà nuôi yến theo mô hình nhà thông minh trên thiết bị di động

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH PHẠM THÔNG THÁI NGHIÊN CỨU XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN VÀ QUẢN LÝ NHÀ NI YẾN THEO MƠ HÌNH NHÀ THÔNG MINH TRÊN THIẾT BỊ DI ĐỘNG LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN VĨNH LONG, 3/2018 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH PHẠM THÔNG THÁI NGHIÊN CỨU XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN VÀ QUẢN LÝ NHÀ NI YẾN THEO MƠ HÌNH NHÀ THÔNG MINH TRÊN THIẾT BỊ DI ĐỘNG Chuyên ngành: CÔNG NGHỆ THÔNG TIN Mã số: 848.02.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Người hướng dẫn khoa học: TS, Lê Văn Minh VĨNH LONG, 3/2018 LỜI CẢM ƠN Lời tơi xin kính lời biết ơn sâu sắc đến TS Lê Văn Minh, Thầy dẫn dắt tác giả đến với lĩnh vực nghiên cứu Thầy tận tâm giúp đỡ, định hướng cho suốt thời gian nghiên cứu khoa học thực luận văn Thầy giúp tiếp cận với khoa học biết cách sáng tạo khoa học, với điều xã hội đạt thành cơng nghiên cứu Với tình cảm chân thành lòng biết ơn sâu sắc, tác giả luận văn xin cám ơn quý Thầy, Cô giáo Trường Đại học Vinh, Trường Đại học sư phạm kỹ thuật Vĩnh Long Xin cảm ơn bạn học viên lớp K24 Đại học Vinh Vĩnh Long đoàn kết, phối hợp hỗ trợ động viên nhiệt tình giúp đỡ tác giả q trình nghiên cứu, hồn thành luận văn Tôi xin gửi lời cảm ơn đến anh chủ đầu tư nhà nuôi yến bạn lớp Công Nghệ Thông Tin K23 cho tác giả ý kiến đóng góp đáng giá, mở nhiều hướng tiếp cận làm phong phú khả thực tế khóa luận Do hạn chế thời gian kinh nghiệm, có thiếu sót xảy q trình thực luận văn Kính mong dẫn góp ý từ phía q Thầy, Cơ để có thêm đánh giá nhận xét quý báu hoàn thiện Vĩnh Long, ngày 19 tháng năm 2018 Tác giả Phạm Thông Thái LỜI CAM ĐOAN Tác giả cam đoan luận văn này: “XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN VÀ QUẢN LÝ NHÀ NI YẾN THEO MƠ HÌNH NHÀ THƠNG MINH TRÊN THIẾT BỊ DI ĐỘNG” nghiên cứu tác giả Ngoại trừ tài liệu tham khảo trích dẫn luận văn này, tác giả cam đoan luận văn chưa công bố hay sử dụng để nhận cấp nơi khác Mặc dù cố gắng, hạn chế người viết mặt kiến thức, kinh nghiệm, thời gian, trang thiết bị tài liệu nên nội dung hình thức khơng tránh khỏi thiếu sót Tác giả luận văn mong nhận góp ý chân thành từ thầy cô bạn đọc để luận văn hoàn thiện Vĩnh Long, ngày 19 tháng 03 năm 2018 Học viên Phạm Thông Thái DANH MỤC DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC CÁC HÌNH MỞ ĐẦU .6 Sự cần thiết vấn đề nghiên cứu .6 Mục tiêu nghiên cứu Đối tượng phạm vi nghiên cứu .7 3.1 Đối tượng nghiên cứu 3.2 Phạm vi nghiên cứu Kết cấu luận văn CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI NGHIÊN CỨU 1.1 Tính cấp thiết đề tài .8 1.2 Phương pháp nghiên cứu 13 1.3 Những nội dung yếu cần nghiên cứu .14 CHƯƠNG 2: TỔNG QUAN CÁC KỸ THUẬT VÀ CÔNG NGHỆ TRONG VIỆC PHÁT TRIỂN NHÀ NUÔI YẾN THÔNG MINH 15 2.1 Một số giải pháp công nghệ điều khiển thiết bị điện gia dụng từ xa 15 2.1.1 Công nghệ Wifi với Bo mạch Raspberry Pi 15 2.1.2 Công nghệ không dây X10 .17 2.1.3 Công nghệ không dây Insteon 19 2.1.4 Công nghệ không dây Zigbee 21 2.1.5 Công nghệ Z-wave 22 2.2 Trình bày sở hạ tầng kỷ thuật tổng quát 24 2.2.1 Bố trí máy phun sương tạo độ ẩm .24 2.2.2 Bố trí vịi phun nước, quạt hút, quạt thổi để hạ nhiệt độ: 25 2.2.3 Bố trí loa bên bên ngồi nhà nuôi yến: 25 2.2.4 Ánh sáng nhà nuôi chim yến 27 2.3 Đề xuất công nghệ 27 2.4 Phần mềm cho hệ thống điều khiển: .28 2.4.1 Phần mềm điều khiển: 28 2.4.2 Blynk xây dựng App 28 2.4.3 Cơ Sở Dữ Liệu 29 CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ TRONG NHÀ NUÔI YẾN TỪ XA BẰNG CÔNG NGHỆ RASPBERRY PI 30 3.1 Hệ thống điều khiển 31 3.1.1 Sơ đồ khối hệ thống 31 3.1.2 Giải thuật điều khiển hệ thống 31 3.2 Xây dựng, thiết lập hệ thống 32 3.2.1 Hệ điều hành cho Raspberry Pi .32 3.2.2 Xây dựng phần mềm giám sát app blynk .33 CHƯƠNG 4: KẾT QUẢ NGHIÊN CỨU VÀ CHẠY THỬ NGHIỆM 35 4.1 Thiết lập điều khiển cho hệ thống 35 4.2 Giao diện điều khiển 36 4.3 Các chức xử lý, điều khiển 36 KẾT LUẬN .38 Những điểm hạn chế đề tài 39 Hướng phát triển 40 PHỤC LỤC I: Cài đặt Hệ Điều Hành Cho Kit Raspberry Pi 41 HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG SQL SERVER 2008 45 PHỤ LỤC II: THIẾT KẾ CÔNG CỤ .53 TÀI LIỆU THAM KHẢO 68 3G DANH MỤC CÁC TỪ VIẾT TẮT Generation API Application Programming Interface GHz Gigahertz HTML HyperText Markup Language ID Identity iOS Internetwork Operating System IP Internet Protocol JSON JavaScript Object Notation MHz Megahertz RF Radio Frequency TP.HCM Thành phố Hồ Chí Minh TV Television USB Universal Serial Bus Wi-Fi Wireless Fidelity 3G Generation DANH MỤC CÁC HÌNH Tên hình vẽ, đồ thị STT Trang Hình 1.1 Sơ đồ nhà ni yến Hình 1.2 Mơ tả thiết bị điện sử dụng nhà yến Hình 1.3 Giải pháp điều khiển thiết bị từ xa qua thiết bị di động 10 Hình 1.4 Nhận thức người tiện ích thiết bị di động 11 Hình 1.5 Bản đồ khu vực có yến Việt Nam 12 Bốn giải pháp cho nhà nuôi yến nhiệt độ, độ ẩm, âm Hình 1.6 ánh sáng 13 Hình 2.2 Hình ảnh thật Raspberry Pi Model B+ 16 Hình 2.3 Hệ thống bảng thiết bị điện tử cơng nghệ X10 19 Hình 2.4 Hệ thống nhà thơng minh sử dụng cơng nghệ INSTEON 20 Hình 2.5 Các ứng dụng mạng Zigbee 22 Hình 2.6 Mơ hình điều khiển nhà thơng minh với cơng nghệ Z-wave 23 Hình 2.7 Sơ đồ lắp đặt hệ thống phun sương tạo độ ẩm 25 Hình 2.8 Sơ đồ bố trí vịi phun nước tự động 26 Hình 2.9 Bố trí loa nhà ni yến 26 Hình 2.10 Bố trí loa ngồi nhà ni yến 27 Hình 2.11 Ánh sáng tối nhà ni yến 27 Hình 3.1 Mơ hình hoạt động hệ thống 31 Hình 3.2 Giao diện hệ điều hành 33 Hình 4.1 Màn hình hệ thống điện thoại di động 35 Hình 4.2 Màn hình điều khiển chức nhà yến hệ thống Hình 4.3 Setup hệ điều hành vào thẻ nhớ 41 Hình 4.4 Sửa file cmdline.txt 42 Hình 4.5 Sửa lại IP máy để PING vào KIT Rasp Chọn 42 36 change adapter settings Hình 4.6 Click phải chuột vào local area conection -> properties 42 Hình 4.7 Chọn TCP/IPv4 43 Gõ hình trên, ý số đầu IP trùng với số đầu 43 Hình 4.8 IP KIT Rasp Hình 4.9 SSH xuống kit Rpi 44 Hình 4.10 SSH thành cơng 44 Hình 4.11 Chỉnh sửa IP cho kit Rpi 45 MỞ ĐẦU Sự cần thiết vấn đề nghiên cứu Đời sống xã hội ngày nâng cao, nhu cầu tiêu dùng yến tăng lên, yến thiên nhiên đảo tự nhiên khơng cịn đáp ứng đủ nhu cầu cung cấp tổ yến nghề nuôi yến nhà phát triển nước đơng nam có Việt Nam, nhà nuôi yến nhà tỷ lệ thành công chưa cao có nhiều cách quản lý thủ cơng dựa vào kinh nghiệm thân Trước tình hình nhằm đáp ứng nhu cầu nuôi yến nhà tạo môi trường cho yến nhà gần giống môi trường thiên nhiên yến đảo định làm luận văn để nghiên cứu xây dựng hệ thống điều khiển quản lý nhà nuôi yến tự động thông minh Luận văn sử dụng thiết bị Raspberry Pi để điều khiển thiết bị thông qua mạng khơng dây Wifi tích hợp nhiều thiết bị điều khiển khác Thiết bị phổ biến, hỗ trợ diễn đàn, đặc biệt giá thành rẻ phù hợp với túi tiền người ni yến để phát triển Việt Nam Ngồi ra, luận văn xây dựng kịch thông minh, tích hợp nhiều thiết bị cảm biến, tạo hệ thống điều khiển thiết bị điện sử dụng nhà nuôi yến qua thiết bị di động cách thuận lợi, nhanh chóng, tiết kiệm lượng, đáp ứng nhu cầu nhà đầu tư khơng phải có mặt nhà yến mà quản lý nhà yến từ xa Góp phần phát triển mơ hình “Nhà ni yến thông minh” cho ngành nghề nuôi yến nhà mang lại hiệu cao chất lượng tổ yến, suất cho tổ yến phát triển kinh tế xã hội Mục tiêu nghiên cứu Đề tài nghiên cứu nhằm đạt mục đích sau: - Giúp hiểu môi trường thuận lợi cho chim yến công nghệ điều khiển không dây sử dụng phát triển 54 - Khai báo thư viện sử dụng using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; - Phần code main namespace WindowsFormsApplication1 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } - Hàm kết nối CSDL public SqlConnection connect() 55 { return new SqlConnection("Data Source=(local);Initial Catalog=CSDL;Integrated Security=True"); } - Hàm Form2_Load, hàm chạy form mở Nó tiến hành kết nối với CSDL trả thông báo kết nối thành công hay không private void Form2_Load(object sender, EventArgs e) { try { SqlConnection = connect(); con.Open(); this.txtconnect.ForeColor = Color.Blue; this.txtconnect.Text = "Kết nối sở liệu thành công"; } catch { this.txtconnect.ForeColor = Color.Red; this.txtconnect.Text = "Kết nối sở liệu thất bại"; } } - Hàm kiểm tra user pass nhập vào có nằm CSDL hay không public DataTable checklog(string user, string pass) { string sql = "select * from Quanly where [User]='" + user + "' and Pass='" + pass + "'"; SqlConnection = connect(); 56 SqlDataAdapter ad = new SqlDataAdapter(sql, con); DataTable dt = new DataTable(); ad.Fill(dt); return dt; } - Hàm cho nút login, nhấn, hàm kiểm tra xem điền đủ thông tin user pass chưa, thiếu có thơng báo private void btlogin_Click(object sender, EventArgs e) { if (this.tbuser.TextLength == || this.tbpass.TextLength == 0) { this.txtthongbao.ForeColor = Color.Red; this.txtthongbao.Text = "Bạn chưa nhập tài khoản mật khẩu"; } else { DataTable dt = new DataTable(); dt = checklog(this.tbuser.Text, this.tbpass.Text); if (dt.Rows.Count > 0) { this.Hide(); Form1 fr = new Form1(); fr.Show(); } else { this.txtthongbao.ForeColor = Color.Red; 57 this.txtthongbao.Text = "Tài khoản không tồn tại"; this.tbpass.Clear(); this.tbuser.Clear(); this.tbuser.Focus(); } } } - Hàm cho nút exit, nút nhấn, chương trình hỏi bạn có muốn khơng? Nếu nhấn nút Yes, chương trình private void btexit_Click(object sender, EventArgs e) { DialogResult cp = MessageBox.Show("Bạn có muốn khơng !", "Thơng báo", MessageBoxButtons.YesNoCancel); if (cp == DialogResult.Yes) { Application.Exit(); } } - Hàm cho kiện nhấn nút Enter, nhấn Enter, hàm login_click gọi để chạy private void tbpass_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { btlogin_Click(this, new EventArgs()); } } 58 } } Code chương trình giám sát using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.IO.Ports; using System.IO; 59 using System.Xml; using System.Threading; using System.Timers; namespace WindowsFormsApplication1 { public partial class Form1 : Form { int a=0,b=0,c=0,d=0,f=0,g=0; String ttden, ttquat, ttps, ttloa; public Form1() { InitializeComponent(); } public SqlConnection connect() { return new SqlConnection("Data Source=(local);Initial Catalog=CSDL;Integrated Security=True"); } private void trangthai(string s) { char aa = s[1]; if (s[0] == '1') ttden = "Bat"; else ttden = "Tat"; if (s[1] == '1') ttquat = "Bat"; else ttquat = "Tat"; if (s[2] == '1') ttps = "Bat"; else ttps = "Tat"; 60 if (s[3] == '1') ttloa = "Bat"; else ttloa = "Tat"; } private delegate void DiDisplay(string s); private void Displaynt(string s) { if (txtnhietdo.InvokeRequired) { DiDisplay sd = new DiDisplay(Displaynt); txtnhietdo.Invoke(sd, new object[] { s }); } else txtnhietdo.Text = s; } private void Displayda(string s) { if (txtdoam.InvokeRequired) { DiDisplay sd = new DiDisplay(Displayda); txtdoam.Invoke(sd, new object[] { s }); } else txtdoam.Text = s; } private void Displaytt(string s) { if (txtnhietdo.InvokeRequired) 61 { DiDisplay sd = new DiDisplay(Displaytt); txtnhietdo.Invoke(sd, new object[] { s }); } else txttt.Text = s; } private void Form1_Load(object sender, EventArgs e) { SqlConnection = connect(); con.Open(); string sql = "select * from Dulieu"; SqlCommand com = new SqlCommand(sql, con); com.CommandType = CommandType.Text; SqlDataAdapter da = new SqlDataAdapter(com); DataTable dt = new DataTable(); da.Fill(dt); con.Close(); dataGridView1.DataSource = dt; dataGridView1.Columns["Thoigian"].Width = 160; dataGridView1.Columns["Nhietdo"].Width = 70; dataGridView1.Columns["Doam"].Width = 60; dataGridView1.Columns["Loa"].Width = 50; dataGridView1.Columns["Quat"].Width = 50; dataGridView1.Columns["Den"].Width = 50; dataGridView1.Columns["Phunsuong"].Width = 80; txtport.Text = "Not connect Raspberry pi"; 62 txtport.ForeColor = Color.Red; btden.Enabled = false; btloa.Enabled = false; btphunsuong.Enabled = false; btquat.Enabled = false; } private void btexit_Click(object sender, EventArgs e) { serialPort1.Close(); Application.Exit(); } private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { Displayda(""); Displaynt(""); string dulieunhan; dulieunhan = serialPort1.ReadTo("\r"); if (dulieunhan != string.Empty) { int i = dulieunhan.IndexOf("-"); int j = dulieunhan.IndexOf("+"); Displayda(dulieunhan.Substring(0,i)); Displaynt(dulieunhan.Substring(i+1,dulieunhan.Length-j-i-1)); Displaytt(dulieunhan.Substring(j + 1)); trangthai(txttt.Text); } 63 } private void btden_Click(object sender, EventArgs e) { a++; if (a == 1) { this.btden.Text = "Tắt"; this.btden.BackColor = Color.Red; serialPort1.WriteLine(("2")); } if (a == 2) { this.btden.Text = "Bật"; this.btden.BackColor = Color.Green; serialPort1.WriteLine(("3")); a = 0; } } private void btphunsuong_Click(object sender, EventArgs e) { b++; if (b == 1) { this.btphunsuong.Text = "Tắt"; this.btphunsuong.BackColor = Color.Red; serialPort1.WriteLine("4"); } if (b == 2) { this.btphunsuong.Text = "Bật"; this.btphunsuong.BackColor = Color.Green; serialPort1.WriteLine("5"); b = 0; } } private void btquat_Click(object sender, EventArgs e) { c++; if (c == 1) { this.btquat.Text = "Tắt"; this.btquat.BackColor = Color.Red; serialPort1.WriteLine("6"); } if (c == 2) { this.btquat.Text = "Bật"; this.btquat.BackColor = Color.Green; serialPort1.WriteLine("7"); c = 0; } } 64 private void btloa_Click(object sender, EventArgs e) { d++; if (d == 1) { this.btloa.Text = "Tắt"; this.btloa.BackColor = Color.Red; serialPort1.WriteLine("8"); } if (d == 2) { this.btloa.Text = "Bật"; this.btloa.BackColor = Color.Green; serialPort1.WriteLine("9"); d = 0; } } private void button1_Click(object sender, EventArgs e) { f++; if (f == 1) { try { serialPort1.Open(); txtport.Text = "Connect Raspberry pi"; txtconnect.Text = "Connect RPi"; txtport.ForeColor = Color.Blue; automanual.Enabled = true; } catch { txtport.Text = "Not connect Raspberry pi"; txtport.ForeColor = Color.Red; } } 65 if (f == 2) { serialPort1.Close(); txtconnect.Text = "Not Connect RPi"; txtport.Text = "Not connect Raspberry pi"; txtport.ForeColor = Color.Red; automanual.Enabled = false; f = 0; } } private void timer1_Tick(object sender, EventArgs e) { if ((f == 1&&(g==0||g==2)) && txtnhietdo.Text!="") { SqlConnection = connect(); con.Open(); string time; time = Convert.ToString(DateTime.Now); SqlCommand com = new SqlCommand("INSERT INTO Dulieu( Thoigian ,Nhietdo, Doam, Loa, Quat, Den, Phunsuong) VALUES('" + time + "','" + txtnhietdo.Text + "', '" + txtdoam.Text + "','" + ttloa + "', '" + ttquat + "','" + ttden + "','" + ttps + "')", con); com.ExecuteNonQuery(); string sql = "select * from Dulieu"; SqlCommand com1 = new SqlCommand(sql, con); com1.CommandType = CommandType.Text; SqlDataAdapter da = new SqlDataAdapter(com1); 66 DataTable dt = new DataTable(); da.Fill(dt); con.Close(); dataGridView1.DataSource = dt; dataGridView1.Columns["Thoigian"].Width = 160; dataGridView1.Columns["Nhietdo"].Width = 70; dataGridView1.Columns["Doam"].Width = 60; dataGridView1.Columns["Loa"].Width = 50; dataGridView1.Columns["Quat"].Width = 50; dataGridView1.Columns["Den"].Width = 50; dataGridView1.Columns["Phunsuong"].Width = 80; } } private void deldl_Click_1(object sender, EventArgs e) { SqlConnection = connect(); con.Open(); SqlCommand com = new SqlCommand("TRUNCATE TABLE Dulieu", con); com.ExecuteNonQuery(); } private void automanual_Click(object sender, EventArgs e) { g++; if(g==1) { automanual.Text = "MANUAL"; 67 btden.Enabled = true; btloa.Enabled = true; btphunsuong.Enabled = true; btquat.Enabled = true; this.btphunsuong.Text = "Bật"; this.btphunsuong.BackColor = Color.Green; this.btden.Text = "Bật"; this.btden.BackColor = Color.Green; this.btloa.Text = "Bật"; this.btloa.BackColor = Color.Green; this.btquat.Text = "Bật"; this.btquat.BackColor = Color.Green; serialPort1.WriteLine("1"); } if(g==2) { automanual.Text = "AUTO"; btden.Enabled = false; btloa.Enabled = false; btphunsuong.Enabled = false; btquat.Enabled = false; serialPort1.WriteLine("0");g=0; } } } } 68 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Trần Thu Hà, Phạm Quang Huy (2008), Tự động hố cơng nghiệp với WinCC, Nxb Hồng Đức [2] Phạm Duy Hưng, "Điều khiển thiết bị điện từ xa qua mạng Internet” [3] Bùi Tiến Quân (2012), Tổng quan ứng dụng mạng không dây Tài liệu tiếng anh [4] T.C.Yu, C.C.Lin, C.C.Chen,W.L.Lee, R G.Lee, C.H.Tseng and S.P.Liu, "Wireless sensor networks for indoor air quality monitoring", Medical engineering & physics, vol 35, no 2, (2011) [5] Matt Richardson & Shawn Wallace, "Getting Started with Raspberry Pi", 2013, Published by O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472 [6] J.Yick,B.Mukherjeeand D Ghosal, "Wireless sensor network survey",Computer Networks, vol 52, no 12, (2008) Tài liệu tham khảo từ internet [7] http://raspberrypi.vn [8] http://raspberrypi.org [9] http://elinux.org/RPi_Hub [10] http://raspberrypi.stackexchange.com [11] ttp://www.hanselman.com/blog/Top10R AndTruths.aspx [12] http://alexistanhiep.blogspot.com/2014/08/raspberry-pi-toan-tap-tu-.html [13] http://webiopi.trouch.com/ [14] http://5starsmedia.vn/cai-dat-raspberry-pi-can-ban/a870680.html [15] http://toriaz.blogspot.com/2014/08/huong-dan-cai-at-raspberry-pi.html [16] http://tutaylam.com/news/cong-nghe/cai-dat-wi-fi-cho-raspberry-pi-bang-dong lenh-38/ ... DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH PHẠM THÔNG THÁI NGHIÊN CỨU XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN VÀ QUẢN LÝ NHÀ NI YẾN THEO MƠ HÌNH NHÀ THÔNG MINH TRÊN THIẾT BỊ DI ĐỘNG Chuyên ngành: CÔNG NGHỆ THÔNG... hình hoạt động hệ thống 31 Hình 3.2 Giao di? ??n hệ điều hành 33 Hình 4.1 Màn hình hệ thống điện thoại di động 35 Hình 4.2 Màn hình điều khiển chức nhà yến hệ thống Hình 4.3 Setup hệ điều hành vào... với 14 thiết bị di động với Công nghệ Wifi với Bo mạch Raspberry Pi Từ nghiên cứu áp dụng xây dựng hệ thống điều khiển thiết bị nhà nuôi yến từ xa qua thiết bị di động Phương pháp nghiên cứu chuyên

Ngày đăng: 01/08/2021, 11:42

Từ khóa liên quan

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

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

Tài liệu liên quan