Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 72 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
72
Dung lượng
4,49 MB
Nội dung
ĐẠI HỌC CƠNG NGHIỆP TP.HCM KHOA CƠNG NGHỆ ĐIỆN KHĨA LUẬN TỐT NGHIỆP ĐIỀU KHIỂN THIẾT BỊ NHÀ THÔNG MINH THÔNG QUA WIFI VÀ VISUAL BASIC SINH VIÊN : LÝ AN NGHIỆP 15025761 NGUYỄN HỮU DANH 15030931 LỚP : DHDKTD11A GVHD : ThS HÀ CHÍ KIÊN TP Hồ Chí Minh, NĂM 2019 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN - i LỜI CẢM ƠN Xin trân trọng cảm ơn thầy giáo ThS Hà Chí Kiên tận tình bảo giúp đỡ chúng em suốt thời gian vừa qua Xin bày tỏ lòng biết ơn sâu sắc tới thầy cô khoa Công Nghệ Điện Trường Đại học Công Nghiệp TPHCM ln nhiệt tình dạy dỗ tạo điều kiện cho chúng em học tập nghiên cứu suốt năm học tập trường Mặc dù cố gắng hoàn thiện đề tài với tất cả nỗ lực cả nhóm, đề tài khơng tránh khỏi sai sót Kính mong nhận góp ý tận tình thầy để nhóm rút kinh nghiệm hồn thiện sản phẩm Cuối nhóm thực đề tài xin chúc quý thầy cô lời chúc sức khỏe lời cảm ơn chân thành nhất! ii MỤC LỤC NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN i MỤC LỤC iii DANH SÁCH CÁC HÌNH VẼ vi CHƯƠNG 1: MỤC TIÊU KHOÁ LUẬN 1.1 Đặt vấn đề 1.2 Mục tiêu khoá luận CHƯƠNG 2: TỔNG QUAN VỀ HỆ THỐNG NHÀ THÔNG MINH 2.1 Khái niệm nhà thông minh 2.2 Tính chính, ưu – nhược điểm nhà thông minh 2.2.1 Tính nhà thơng minh 2.2.2 Ưu – nhược điểm nhà thông minh 2.3 Giới thiệu thành phần nhà thông minh CHƯƠNG 3: MẠNG KHÔNG DÂY WIFI (WIRELESS FIDELITY) VÀ CHUẨN TRUYỀN THÔNG UART 3.1 Khái niệm mạng WiFi 3.2 Nguyên lý hoạt động WiFi 3.3 Các Phương Pháp Bảo Mật WiFi 3.4 Chuẩn Truyền Thông Uart 3.4.1 Khái niệm UART 3.4.2 Truyền thông nối tiếp truyền thông song song 3.4.3 Sơ đồ khối UART 3.4.4 Truyền thông UART 3.4.5 Giao diện UART 10 iii 3.4.6 Các ứng dụng UART 11 3.4.7 Ưu nhược điểm UART 11 CHƯƠNG 4: CÁC PHẦN MỀM SỬ DỤNG TRONG ĐỀ TÀI 12 4.1 Arduino IDE 12 4.1.1 Những phần bản giao diện phần mềm Arduino IDE 12 4.1.2 Các chức bản biểu tượng phần mềm 12 4.2 Visual Studio 2015 15 4.2.1 Visual Basic 15 4.2.2 Tạo project Windows Forms Application 15 CHƯƠNG 5: CÁC THIẾT BỊ SỬ DỤNG TRONG ĐỀ TÀI 21 5.1 Sơ đồ khối tổng quát 21 5.2 Khối xử lý 21 5.2.1 NodeMCU ESP8266 V12E 21 5.2.2 ADRUINO UNO R3 25 5.3 Khối mạch công suất 25 5.3.1 Relay 25 5.3.2 Quạt tản nhiệt 26 5.3.3 LED dây 27 5.3.4 Bơm 27 5.3.5 Động Servo 28 5.3.6 LCD 16x2 28 5.3.7 Mạch chuyển đổi I2C cho LCD 29 5.4 Khối cảm biến 30 5.4.1 Cảm biến nhiệt độ, độ ẩm DHT11 30 iv CHƯƠNG 6: CHƯƠNG TRÌNH ĐIỀU KHIỂN CHO ARDUINO VÀ NODEMCU ESP8266 31 6.1 Thiết lập phần mềm Arduino IDE 31 6.2 Chương trình điều khiển NodeMCU ESP8266 32 6.2.1 Lưu đồ giải thuật NodeMCU ESP8266 32 6.2.2 Giao diện điều khiển NodeMCU ESP8266 34 6.2.3 Chương trình NodeMCU ESP8266 35 6.3 Chương trình điều khiển Arduino Uno R3 47 6.4 Chương trình điều khiển Arduino Uno R3 Visual Basic 51 6.4.1 Lưu đồ giải thuật Visual Basic 51 6.4.2 Giao diện điều khiển Visual Basic 53 6.4.3 Chương trình Visual Basic 53 CHƯƠNG 7: TỔNG KẾT VÀ ĐÁNH GIÁ 61 7.1 Kết quả 61 7.2 Hạn chế 62 7.3 Hướng phát triển đề tài 62 KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 64 v DANH SÁCH CÁC HÌNH VẼ Hình 2.1 Một hệ thống điều khiển Nhà Thông Minh (Smart Home) Hình 2.2 Ứng dụng Google Asisstant giao tiếp với người sử dụng trợ lý ảo AI (Alex) thông qua Internet Hình 2.3 Bộ điều khiển trung tâm có tên Broadlink RM Pro Hình 2.4 Cơng tắc, ổ cắm thông minh Hình 3.1 Mạng khơng dây WiFi kết nối máy tính với Hình 3.2 Sơ đồ nguyên lý hoạt động mang WiFi Hình 3.3 Sơ đồ giao tiếp thiết bị thơng qua giao tiếp UART Hình 3.4 Giao tiếp song song Hình 3.5 Sơ đồ khối UART Hình 3.6 Truyền thơng UART 10 Hình 3.7 Giao diện UART 11 Hình 4.1 Giao diện phần mềm Arduino IDE 12 Hình 4.2 Minh họa chọn led chớp tắt (blink) nạp cho mạch Arduino 13 Hình 4.3 Minh họa chọn menu Tools nạp cho mạch Arduino 14 Hình 4.4 Minh họa chọn cổng COM nạp cho mạch Arduino 14 Hình 4.5 Giao diện phần mềm Visual Studio 2015 15 Hình 4.6 Giao diện tạo file Project 16 Hình 4.7 Giao diện New Project 16 Hình 4.8 Giao diện chọn ngơn ngữ lập trình tạo Project 17 Hình 4.9 Giao diện thiết kế Visual Studio 2015 17 Hình 4.10 Thanh cơng cụ 17 Hình 4.11 Giao diện ToolsBox 18 Hình 4.12 Giao diện thiết kế 18 Hình 4.13 Giao diện Proproties 19 Hình 4.14 Giao diện View Code 19 Hình 4.15 Giao diện lập trình 20 Hình 5.1 Sơ đồ khối 21 vi Hình 5.2 NodeMCU ESP8266 v12E 21 Hình 5.3 Module ESP-12E 22 Hình 5.4 Sơ đồ yêu cầu lượng 22 Hình 5.5 Các chân tín hiệu I/O 23 Hình 5.6 Công tắc đèn board 24 Hình 5.7 Bộ chuyển đổi USB-to-UART CP2102 24 Hình 5.8 ADRUINO UNO R3 25 Hình 5.9 Relay kênh 26 Hình 5.10 Quạt tản nhiệt 27 Hình 5.11 Bơm 27 Hình 5.12 Động servo 28 Hình 5.13 Màn hình LCD 16x2 29 Hình 5.14 Mạch chuyển đổi I2C 29 Hình 5.15 Cảm biến DHT11 30 Hình 6.1 Cửa sổ Preferences 31 Hình 6.2 Board Manager cài đặt ESP8266 32 Hình 6.3 Board Manager cài đặt ESP8266 32 Hình 6.4 Giao diện điều khiển NodeMCU ESP8266 34 Hình 6.5 Giao diện điều khiển Visual Basic 53 Hình 7.1 Mặt trước mơ hình (LCD hiển thị địa IP) 61 Hình 7.2 Mơ hình nhìn từ xuống 61 Hình 7.3 Hộp chứa vi điều điều khiển nguồn 62 vii SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp CHƯƠNG 1: MỤC TIÊU KHOÁ LUẬN 1.1 Đặt vấn đề Tự động hoá – năm gần cụm từ trở nên quen thuộc chứ khơng cịn khái niệm sử dụng lĩnh vực chuyên mơn kỹ thuật đặc thù Tự động hố góp mặt lĩnh vực từ sản xuất phục vụ sống ngày Trên giới, hệ thống thông minh, tự động điều khiển đáp ứng từ sớm đến cho thấy đóng góp quan trọng khơng thể phủ nhận Một ứng dụng tiêu biểu điều khiển thiết bị tồ nhà thơng minh với đặc tính bật như: Có tính thực dụng cao mang lại hiệu quả kinh tế Có tính đại, hướng tới tương lai Đảm bảo yêu cầu an toàn Nâng cao thuận tiện cho người sử dụng tồ nhà Chính nhóm chúng em chọn đề tài nghiên cứu “Điều khiển thiết bị điện tồ nhà thơng minh thông qua WiFi Visual Basic” 1.2 Mục tiêu khố luận Nội dung đồ án nhóm thực tạo mơ hình phịng ngơi nhà thơng minh Để có phương hướng rõ rang thực đề tài, nhóm đặt mục tiêu cần giải sau: Tìm hiểu mơ hình nhà thơng minh Xây dựng mơ hình mơ phịng nhà thơng minh Xây dựng chuẩn truyền thông Giao tiếp điều khiển thiết bị sử dụng hệ thống Lập trình điều khiển hệ thống SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp CHƯƠNG 2: TỔNG QUAN VỀ HỆ THỐNG NHÀ THÔNG MINH 2.1 Khái niệm nhà thông minh Nhà thông minh (Home Automation, domotics, smart home Intellihome) kiểu nhà lắp đặt thiết bị điện, điện tử điều khiển tự động hoá bán tự động, thay người thực thao tác quản lý, điều khiển Hệ thống điện tử giao tiếp với người dùng thông qua bảng điện tử đặt nhà, ứng dụng máy tính, điện thoại bảng giao diện web Trong nhà thông minh, thiết bị điện nhà từ phòng ngủ, phòng khách đến toilet gắn điều khiển điện tử kết nối với Internet điện thoại di động Cho phép người dùng điều khiển thiết bị từ xa lập trình cho thiết bị nhà hoạt động theo lịch trình Hình 2.1 Một hệ thống điều khiển Nhà Thông Minh (Smart Home) 2.2 Tính chính, ưu – nhược điểm nhà thơng minh 2.2.1 Tính nhà thơng minh Hệ thống nhà thông minh cho phép: Cho phép tiện ích (thiết bị thơng minh) tồ nhà hoạt động cách đồng bộ, xác theo yêu cầu người điều hành Cho phép điều khiển ứng dụng tồ nhà thơng qua Internet Giám sát mơi trường khơng khí, mơi trường làm việc người SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp if(val=='G'){ digitalWrite(Cua,HIGH); SERVO1.write(90); delay(500); } else if(val=='H'|| val=='0'){ digitalWrite(Cua,LOW); SERVO1.write(0); delay(500); } if(val=='M'){ digitalWrite(Cua_2,HIGH); SERVO2.write(90); delay(100); } else if(val=='N'|| val=='0'){ digitalWrite(Cua_2,LOW); SERVO2.write(0); delay(100); } } } } 50 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp 6.4 Chương trình điều khiển Arduino Uno R3 Visual Basic 6.4.1 Lưu đồ giải thuật Visual Basic S Đ 51 Đ SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp 52 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp 6.4.2 Giao diện điều khiển Visual Basic Hình 6.5 Giao diện điều khiển Visual Basic 6.4.3 Chương trình Visual Basic Imports System Imports System.IO.Ports 'khai bao thu vien Ports IO Public Class Form1 Dim comPort As String Dim nhandata As String = "" Dim giatri As Decimal Dim giatri1 As Decimal Dim giatri2 As Decimal Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Timer1.Enabled = False 53 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp comPort = "" Label12.Text = Now 'THỜI GIAN THỰC For Each sp As String In My.Computer.Ports.SerialPortNames ComboBox1.Items.Add(sp) Next End Sub 'Chọn Comport ComboBox Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged If (ComboBox1.SelectedItem "") Then comPort = ComboBox1.SelectedItem End If End Sub 'kết nối Comport Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click If (Button1.Text = "Connect") Then If (comPort "") Then SerialPort1.PortName = comPort SerialPort1.BaudRate = 115200 SerialPort1.DataBits = SerialPort1.Parity = Parity.None SerialPort1.StopBits = StopBits.One SerialPort1.Handshake = Handshake.None SerialPort1.Encoding = System.Text.Encoding.Default SerialPort1.ReadTimeout = 10000 SerialPort1.Open() Button1.Text = "Disconnect" Timer1.Enabled = True 54 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp Label2.Text = " TIMER: ON " Else MsgBox(" Xin vui long chon Comport ") End If Else SerialPort1.Close() Button1.Text = "Connect" Timer1.Enabled = False Label2.Text = " TIMER: OFF " End If End Sub Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick 'Nhận liệu cổng port nhandata = RecieveSerialData() TextBox1.Text = nhandata Dim s As String s = TextBox1.Text + "," + "," + "," '+ "," Dim somestring() As String somestring = s.Split(New Char() {","c}) 'Nhiệt Độ Label5.Text = somestring(0) Try giatri = Convert.ToDecimal(Label5.Text) Catch ex As Exception TextBox1.Text = "" End Try 'Độ Ẩm Label6.Text = somestring(1) 55 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp Try giatri1 = Convert.ToDecimal(Label6.Text) Catch ex As Exception TextBox1.Text = "" End Try 'Ánh sáng Label11.Text = somestring(2) Try giatri2 = Convert.ToDecimal(Label11.Text) Catch ex As Exception TextBox1.Text = "" End Try 'Kiểm tra Nhiệt độ Cao, Bình Thường, Thấp If Val(giatri) >= 30 Then Label7.Text = " NHIET DO CAO " Else If Val(giatri) < 25 Then Label7.Text = " NHIET DO THAP " Else Label7.Text = " NHIET DO BINH THUONG " End If End If 'Sử dụng Progress Bar ProgressBar1.Value = Val(giatri) ProgressBar2.Value = Val(giatri1) ProgressBar3.Value = Val(giatri2) 'Ánh sáng If Val(giatri2) < 200 Then 56 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp lednton.Visible = True ledntoff.Visible = False Else ledntoff.Visible = True lednton.Visible = False End If End Sub 'Hàm nhận liệu từ Com Port Function RecieveSerialData() As String Dim incoming As String Try incoming = SerialPort1.ReadExisting() If incoming Is Nothing Then Return "nothing" & vbCrLf Else Return incoming End If Catch ex As Exception Return " " End Try End Function Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click TextBox1.Text = "" ledntoff.Visible = True maybomoff.Visible = True cua1off.Visible = True ledp1off.Visible = True quat2off.Visible = True cua2off.Visible = True Button6.Text = "ON" Button8.Text = "ON" 57 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp Button4.Text = "ON" Button5.Text = "ON" Button3.Text = "ON" SerialPort1.Write("0") End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click If (Button6.Text = "ON") Then ledp1on.Visible = True ledp1off.Visible = False SerialPort1.Write("A") Button6.Text = "OFF" Else ledp1on.Visible = False ledp1off.Visible = True SerialPort1.Write("B") Button6.Text = "ON" End If End Sub Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click If (Button8.Text = "ON") Then quat2on.Visible = True quat2off.Visible = False SerialPort1.Write("C") Button8.Text = "OFF" Else quat2on.Visible = False quat2off.Visible = True SerialPort1.Write("D") Button8.Text = "ON" End If 58 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click If (Button4.Text = "ON") Then maybomon.Visible = True maybomoff.Visible = False SerialPort1.Write("E") Button4.Text = "OFF" Else maybomon.Visible = False maybomoff.Visible = True SerialPort1.Write("F") Button4.Text = "ON" End If End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click If (Button5.Text = "ON") Then cua1on.Visible = True cua1off.Visible = False SerialPort1.Write("G") Button5.Text = "OFF" Else cua1on.Visible = False cua1off.Visible = True SerialPort1.Write("H") Button5.Text = "ON" End If End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click If (Button3.Text = "ON") Then 59 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp cua2on.Visible = True cua2off.Visible = False SerialPort1.Write("M") Button3.Text = "OFF" Else cua2on.Visible = False cua2off.Visible = True SerialPort1.Write("N") Button3.Text = "ON" End If End Sub End Class 60 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp CHƯƠNG 7: TỔNG KẾT VÀ ĐÁNH GIÁ 7.1 Kết Sau thời gian thược đề tài nhóm thực kết quả: - Lập trình điều khiển thiết bị nhà thơng qua Visual Basic hồn thành - Lập trình điều khiển thiết bị thơng qua WiFi hồn thành Hình 7.1 Mặt trước mơ hình (LCD hiển thị địa IP) Hình 7.2 Mơ hình nhìn từ xuống 61 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp Hình 7.3 Hộp chứa vi điều điều khiển nguồn 7.2 Hạn chế Bên cạnh kết quả đạt trên, đề tài có hạn chế định Chưa có tính thẩm mỹ Khơng có đèn hiển thị trạng thái hoạt động hệ thống tủ Truyền nhận liệu thông qua WiFi chưa ổn định Vẫn chưa cập nhật liên tục liệu Web App 7.3 Hướng phát triển đề tài Phần cứng cần tối ưu thiết kế Liên kết điều khiển Visual Basic Wifi thông qua Nodejs Server 62 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp KẾT LUẬN Trên kết quả tìm hiểu mơ hình “Điều khiển thiết bị nhà thông minh thông qua WiFi Visual Basic” hoạt động mơ hệ thống thực nhóm hồn thành thời gian qua Trong mục tiêu đặt ra, nhóm đồ án chúng em thực mốt số mục tiêu ban đầu, thành công xây dựng mơ hình “Điều khiển thiết bị nhà thông minh thông qua WiFi Visual Basic” Nếu đề tài tiếp tục phát triển xuống khóa sau, nhóm đồ án mong bạn hồn thành mục tiêu mà chúng em chưa làm được, hoàn thiện phát triển hệ thống nhiều Do thiếu kiến thức kinh nghiệm, mơ hình nhóm làm nhiều điểm cần cải thiện nhiều phương hướng để phát triển, nhóm chúng em tự hào thành quả đạt được, từ kiến thức chuyên môn cần thiết, cách thức xây dựng hệ thống nhà thông minh đến việc phát triển kỹ mềm Hi vọng đề tài mơ hình nhóm thực có ý nghĩa việc tham khảo, thử nghiệm phát triển thành hệ thống thực tế tương lai 63 SV: Lý An Nghiệp – Nguyễn Hữu Danh Khóa luận tốt nghiệp TÀI LIỆU THAM KHẢO [1] http://arduino.vn/ [2] http://www.martyncurrey.com/arduino-and-visual-basic-part-1-receivingdata-from-the-arduino/ [3] https://randomnerdtutorials.com/esp8266-dht11dht22-temperature-andhumidity-web-server-with-arduino-ide/ [4] http://www.martyncurrey.com/esp8266-and-the-arduino-ide-part-7-morecontrols-3-leds/ [5] http://www.caulacbovb.com/ [6] https://www.w3schools.com/ 64 ... TỔNG QUAN VỀ HỆ THỐNG NHÀ THÔNG MINH 2.1 Khái niệm nhà thông minh 2.2 Tính chính, ưu – nhược điểm nhà thông minh 2.2.1 Tính nhà thơng minh 2.2.2 Ưu – nhược điểm nhà thông minh. .. CHƯƠNG 2: TỔNG QUAN VỀ HỆ THỐNG NHÀ THÔNG MINH 2.1 Khái niệm nhà thông minh Nhà thông minh (Home Automation, domotics, smart home Intellihome) kiểu nhà lắp đặt thiết bị điện, điện tử điều khiển tự... Giới thiệu thành phần nhà thơng minh Có thành phần thiết yếu nhà thơng mình: Bộ điều khiển trung tâm: Đây thiết bị đầu não nhà thông minh, nơi kết nối thiết bị điện khác nhà vào hệ thống hoàn chỉnh