Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
3,46 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA KỸ THUẬT ĐIỆN TỬ ***** TIỂU LUẬN MÔN HỌC Đề tài: MÔ HÌNH NHÀ THƠNG MINH CƠNG NGHỆ 4.0 Sinh viên thực : ĐẶNG VĂN TRƯỜNG Sinh vien B SINH VIEN C TP Hồ Chí Minh, tháng 12 năm 2018 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA KỸ THUẬT ĐIỆN TỬ ***** TIỂU LUẬN MƠN HỌC Đề tài: MƠ HÌNH NHÀ THÔNG MINH CÔNG NGHỆ 4.0 Sinh viên thực : ĐẶNG VĂN TRƯỜNG – filter Sinh vien B SINH VIEN C TP Hồ Chí Minh, tháng 12 năm 2018 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN TP HCM, ngày ……tháng… năm 2018 Giáo viên hướng dẫn MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG I CƠ SỞ LÝ THUYẾT 1.1 Kit Wifi Node MCU 8266 CP 2102 1.1.1 Giới thiệu chung 1.1.2 Thông số kỹ thuật 1.1.3 Quản lý lượng NODE MCU 1.2 Giới thiệu Arduino IDE 1.3 Phần mềm Blynk 1.4 DHT11 11 1.4.1 Giới thiệu 11 1.4.2 Thông số 11 1.4.3 Cách điều khiển 12 1.4.4 Cảm biến khí ga MQ2 12 1.5 Cảm biến chuyển động HC-SR501 13 1.6 Tìm hiểu xây dựng Web 14 1.6.1 Lịch sử World Wide Web 14 1.6.2 Web Server 14 CHƯƠNG II PHÂN TÍCH HỆ THỐNG 15 2.1 Yêu cầu hệ thống 15 2.1.1 Mô tả hoạt động hệ thống 15 2.1.2 Yêu cầu hệ thống 15 2.2 Thiết kế hệ thống 15 2.2.1 Các khối chức 15 2.2.3 Thiết kế phần mềm 16 2.2.4 Thiết kế phần cứng 23 2.3 Kết đạt 24 CHƯƠNG III KẾT LUẬN 28 3.1 Kết luận 28 TÀI LIỆU THAM KHẢO 29 MỤC LỤC HÌNH Hình 1.1: Sơ đồ chân Node MCU CP2102 Hình 1.2: Dán link vào Hình 1.3: Lựa chọn Board Hình 1.4: Phần mềm Blynk Hình 1.5: Tạo Project cho Blynk 10 Hình 1.6: Tạo giao diện cho Blynk 10 Hình 1.7: Cấu hình chân 11 Hình 1.8: Cảm biến DHT11 11 Hình 1.9: Cảm biến MQ2 12 Hình 1.10: Cảm biến chuyển động 13 Hình 1: Sơ đồ khối hoạt động hệ thống 16 Hình 2 : Mạch điều khiển thiết bị qua wifi 16 Hình : Mạch báo cháy 17 Hình : Mạch chống trộm 17 Hình 5: Lưu đồ thuật toán mạch đo 19 Hình 6: Chương trình giải mã lệnh 20 Hình 7: Sơ đồ nguyên lý 25 Hình 8: Sơ đồ mạch in 26 Hình 9: Websever 26 Hình 10: Giao diện hiển trị Blynk 27 Hình 11: Mơ hình nhà phía 28 Hình 12: Mơ hình nhà thực tế 29 Lời nói đầu LỜI NĨI ĐẦU ĐẶNG VĂN TRƯỜNG N14DCDT113 Chương I Cơ sở lý thuyết CHƯƠNG I CƠ SỞ LÝ THUYẾT 1.1 Kit Wifi Node MCU 8266 CP 2102 1.1.1 Giới thiệu chung Kit Wifi ESP8266 NodeMCU kit phát triển dựa chip Wifi SoC ESP8266 với thiết kế dễ sử dụng đặc biệt sử dụng trực tiếp trình biên dịch Arduino để lập trình nạp code, điều khiến việc sử dụng lập trình ứng dụng ESP8266trở nên đơngiản Kit Wifi ESP8266 NodeMCU dùng cho ứng dụng cần kết nối, thu thập liệu điều khiển qua sóng Wifi, đặc biệt ứng dụng liên quan đến IoT Kit Wifi ESP8266 NodeMCU sử dụng chip nạp giao tiếp UART ổn định CP2102 có khả tự nhận Driver tất hệ điều hành Window Linux, phiên nâng cấp từ phiên sử dụng IC nạp CH340.Do việc nạp code đơn giản nhanh chóng hiệu 1.1.2 Thơng số kỹ thuật Hình 1.1: Sơ đồ chân Node MCU CP2102 Kit ESP8266 phát triển dựa chip wifi Soc ESP8266 với thiết kế dễ sử dụng tích hợp sẵn mạch nạp sử dụng chip CP2102 board Bên ESP8266 có sẵn lõi vi xử lý nên lập trình với ESP8266 sử dụng ĐẶNG VĂN TRƯỜNG N14DCDT113 Chương I Cơ sở lý thuyết phần mềm Node MCU Sơ đồ chân Node MCU mơ tả hình 1.1 với thông số sau [1]: Chip: ESP8266 WiFi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n Điện áp hoạt động: 3.3V Điện áp vào: 5V thông qua cổng USB Số chân I/O: 11 (tất chân I/O 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ữ: C/C++, Micropython, NodeMCU Kit wifi Node MCU CP2102 lập trình Arduino IDE arduino thơng thường việc lập trình nạp code cho trở nên đơn giản Hướng dẫn: Mở chương trình Arduino cửa sổ Preferences Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json vào Additio nal Board Manager URLs Ta thêm nhiều URL, cách dấu phẩy Hình 1.2: Dán link vào ĐẶNG VĂN TRƯỜNG N14DCDT113 Chương I Cơ sở lý thuyết Mở Boards Manager từ Tools > Board menu tìm ESP8266 platform Chọn phiên bạn cần từ cửa sổ Drop-down Click nút install Đừng quên chọn loại ESP8266 board từ Tools > Board menu sau cài đặt Hình 1.2: Lựa chọn Board 1.1.3 Quản lý lượng NODE MCU NODE MCU thiết kế cho điện thoại di động, điện tử lắp ráp ứng dụng InternetofThings với mục đích đạt mức tiêu thụ điện thấp với kết hợp nhiều kỹ thuật độc quyền Kiến trúc tiết kiệm lượng hoạt động chế độ: chế độ hoạt động, chế độ ngủ chế độ ngủ sâu Bằng cách sử dụng kỹ thuật quản lý nguồn điện kiểm soát chuyển đổi chế độ ngủ NODE MCU tiêu thụ chưa đầy 12uA chế độ ngủ nhỏ 1.0mW so với (DTIM = 3) 0.5mW (DTIM = 10) để giữ kết nối với điểm truy cập Khi chế độ ngủ, có phận hiệu chỉnh đồng hồ thời gian thực quan giám sát hoạt động Đồng hồ thời gian thực lập trình để đánh thức NODE MCU khoảng thời gian cần thiết NODE MCU lập trình để thức dậy điều kiện định phát Tính tối thiểu thời gian báo thức NODE MCU sử dụng Tính tối thiểu thời gian báo thức NODE ĐẶNG VĂN TRƯỜNG N14DCDT113 Chương II Phân tích hệ thống Cảm biến MQ2 có chức đo nồng độ khí gas mơi trường trun tín hiệu Node MCU Từ Node MCU gửi liệu lên websever thị nồng độ khí gas phần mềm blynk websever Nếu nồng độ khí gas vượt ngưỡng node mcu điều khiển cấu chấp hành coi reo lên cảnh báo cháy Hình : Mạch báo cháy 2.2.2.3 Mạch chống trộm: Cảm biến chuyển động gửi tín hiệu node mcu với hai mức cao thấp, node mcu gửi tín hiệu lên websever blynk để hiển thị lên phần mềm blynk websever, Tín hiệu báo HIGH có nghĩa mức cao, có vật xuất hiện, đồng thời node MCU thị cho cấu chấp hành báo cịi tín hiệu Hình : Mạch chống trộm ĐẶNG VĂN TRƯỜNG N14DCDT113 17 Chương II Phân tích hệ thống 2.2.3 Thiết kế phần mềm 2.2.3.1 Lưu đồ thuật toán mạch đo Bắt đầu thiết lập chân in/ out, timer, khởi tạo chân cho cảm biến, cấu hình cho Node MCU để kết nối với wifi, kết nối tới wifi thực lấy địa IP Địa IP để người dùng nhập vào websever Tiếp theo Node MCU nhận tín hiệu điều khiển từ websever, lệnh giải mã thị thực thi lệnh ,nếu sai sét timer đủ s đọc nhiệt độ gửi lên sever cịn timer chưa đủ 4s nhận tín hiệu điều khiển lại Có nghĩa sau 4s nhiệt độ, độ ẩm lại cập nhật lên lần Thuật toán mạch đo thể qua lưu đồ hình 2.2 ĐẶNG VĂN TRƯỜNG N14DCDT113 18 Chương II Phân tích hệ thống Hình 5: Lưu đồ thuật tốn mạch đo 2.2.3.2 Chương trình giải mã lệnh Chương trình cho giải mã lệnh mơ tả hình 2.2 Q trình giải mã lệnh bắt đầu với việc NHẬN tín hiệu điều khiển, từ mở cổng kết nối (ở cổng số 80) để đọc liệu gửi từ sever, khối xử lý (node MCU) nhận tín hiệu đảo trạng thái chân điều khiển, đóng cổng kết nối để kết thúc trình ĐẶNG VĂN TRƯỜNG N14DCDT113 19 Chương II Phân tích hệ thống Hình 6: Chương trình giải mã lệnh 2.2.3.3 CODE hệ thống #include #include "DHT.h" #define BLYNK_PRINT Serial #include #include // Pin #define DHTPIN D5 #define den D7 #define quat D1 #define GAS A0 / Su dung cam bien DHT11 #define DHTTYPE DHT11 / Thiet lap DHT ĐẶNG VĂN TRƯỜNG N14DCDT113 20 Chương II Phân tích hệ thống DHT dht(DHTPIN, DHTTYPE); char auth[] = "cc61900784154f54b05ea96e07c2dc1f"; // Thong so WiFi nha ban const char* ssid = "ALO TEA"; const char* pass = "09091994"; SimpleTimer timer; // Su dung timer //Token cua blynk // Tao server WiFiServer server(80); void sendSensor() { //Doc gia tri am float h = dht.readHumidity(); float t = dht.readTemperature(); //Doc gia tri nhiet float g = analogRead(GAS) ; float nguoi = digitalRead(D6); / Gan du lieu vao bien virtual de hien thi len blynk / Chi nen gan 10 bien tro xuong delay(10); Blynk.virtualWrite(A0, T); Blynk.virtualWrite(V0, h); Blynk.virtualWrite(V1, t); } void setup() { / Mo Serial Serial.begin(115200); delay(10); Blynk.begin(auth, ssid, pass); // Ket noi voi blynk dht.begin(); // Khoi tao DHT timer.setInterval(4000L, sendSensor); //4s doc cam bien lan / Khoi tao DHT dht.begin(); pinMode(D7, OUTPUT); digitalWrite(D0, 0); pinMode(D1, OUTPUT); digitalWrite(D1, 0); / Ket noi toi mang WiFi ĐẶNG VĂN TRƯỜNG N14DCDT113 21 Chương II Phân tích hệ thống Serial.println(); Serial.println(); Serial.print("Ket noi toi mang "); Serial.println(ssid); WiFi.begin(ssid, pass); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("Da ket noi WiFi"); / Khoi dong server server.begin(); Serial.println("Khoi dong Server"); / In dia chi IP Serial.println(WiFi.localIP()); } void loop() { float g = analogRead(GAS) ; float nguoi = digitalRead(D6); if (g>300){ digitalWrite(D8, HIGH); } if (nguoi == HIGH){ digitalWrite(D3,HIGH); } Blynk.run(); // Chay Blynk timer.run(); // Chay SimpleTimer / Kiem tra co client ket noi WiFiClient client = server.available(); if (!client) { return; } ĐẶNG VĂN TRƯỜNG N14DCDT113 22 Chương II Phân tích hệ thống // Doi client gui ket noi Serial.println("Co mot client moi ket noi xem du lieu"); while(!client.available()){ delay(1); } // Doc am float h = dht.readHumidity(); // Doc nhiet o C float t = dht.readTemperature(); // Doc yeu cau tu client String req = client.readStringUntil('\r'); Serial.println(req); client.flush(); // Kiem tra yeu cau la gi if (req.indexOf("/on") != -1){ digitalWrite(D0, 1); } else if (req.indexOf("/off") != -1) { digitalWrite(D0, 0); } if (req.indexOf("/on1") != -1){ digitalWrite(D1, 1); } else if (req.indexOf("/off1") != -1) { digitalWrite(D1, 0); } // Chuan bi tao web de phan hoi String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n"; s += ""; s += ""; s += ""; s += ""; s += ""; s += "body{font-size: 24px;} voffset {margin-top: 30px;}"; s += ""; s += ""; ĐẶNG VĂN TRƯỜNG N14DCDT113 23 Chương II Phân tích hệ thống s += "Dieu khien den"; s += ""; s += ""; s += ""; s += ""; s += "function on() {$.get(\"/on\");}"; s += "function off() {$.get(\"/off\");}"; s += ""; s += "Dieu khien quat"; s += ""; s += ""; s += ""; s += ""; s += "function on1() {$.get(\"/on1\");}"; s += "function off1() {$.get(\"/off1\");}"; s += ""; s += "Theo doi nhiet va am"; s += ""; s += "Nhiet do: " + String(t) + ""; s += "Do am: " + String(h) + ""; s += ""; s += ""; s += "Theo doi Gas va canh bao trom"; s += ""; s += "GAS: " + String(g) + ""; s += "Nguoi: " + String(nguoi) + ""; s += ""; / Gui phan hoi toi client (o day la giao dien web) client.print(s); delay(1); ĐẶNG VĂN TRƯỜNG N14DCDT113 24 Chương II Phân tích hệ thống Serial.println("Client da thoat"); // Sau nhan duoc thong tin thi se tu dong ngat ket noi } -2.2.4 Thiết kế phần cứng 2.2.4.1 Sơ đồ nguyên lý Khối chấp hành (khối relay) Hình 7: Sơ đồ nguyên lý 2.2.4.2 Sơ đồ mạch in Khối chấp hành ĐẶNG VĂN TRƯỜNG N14DCDT113 25 Chương II Phân tích hệ thống Hình 8: Sơ đồ mạch in 2.3 Kết đạt Đề tài thực số kết tiêu biểu sau: -Thiết kế hệ thống báo cháy chống trộm giúp người dung quan sát số nhà -Kết nối thành công mạch với server, demo điều khiển thiết bị thông qua wifi -Thiết kế thành công mạch đo nhiệt độ, độ ẩm sử dụng cảm biến DHT11, truyền lên server Blynk -Lập trình giao diện web để đo lường, hiển thị thống kê thông số nhiệt độ, độ ẩm điều khiển cấu chấp hành Bên cạnh đó, việc thực xây dựng Webserver hiển thị hình ảnh lên Blynk mơ tả hình 2.6 2.7 bên Hình 9: Websever ĐẶNG VĂN TRƯỜNG N14DCDT113 26 Chương II Phân tích hệ thống Hình 10: Giao diện hiển trị Blynk Thiết kế phần cứng cho việc mô nhà thơng minh hình 2.8 2.9 ĐẶNG VĂN TRƯỜNG N14DCDT113 27 Chương II Phân tích hệ thống Hình 11: Mơ hình nhà phía ĐẶNG VĂN TRƯỜNG N14DCDT113 28 Chương II Phân tích hệ thống Hình 12: Mơ hình nhà thực tế Đánh giá kết đạt -Đo hiển thị xác nhiệt độ, độ ẩm mơi trường lên Smartphone upload liệu lên server ổn định Kết đo xác với sai số nằm phạm vi cho phép Mạch hoạt động ổn định -Tuy nhiên, số mặt hạn chế trang web chưa tự động cập nhật lên giá trị phải refresh lại trang để cập nhật liệu -Với kết bước đầu kết nối truyền liệu thành công qua mạng wifi thực đo lường điều khiển số thông số môi trường, điều khiển cấu chấp hành quạt, đèn với kết demo khẳng định khả phát triển đề tài ĐẶNG VĂN TRƯỜNG N14DCDT113 29 Chương III Kết luận CHƯƠNG III KẾT LUẬN 3.1 Kết luận Việc thiết kế Nhà thơng minh có ý nghĩa to lớn, ứng dụng nhiều lĩnh vực đời sống xã hội cơng nghiệp Ngồi ra, module wifi kết hợp với Blynk mở nhiều hướng ứng dụng khác, phục vụ tốt cho việc học tập nghiên cứu sinh viên Việc xây dựng mơ hình nhà thơng minh liên quan đến nhiều tảng kiến thức từ kiến thức lý thuyết kiến thức thực tiễn Hướng phát triển đề tài Trong thời gian tới, em tiếp tục nghiên cứu phát triển đề tài theo hướng sau: -Tăng tính xác ổn định -Tích hợp nhiều cảm biến phù hợp với nhiều đối tượng người dùng để phục vụ cho sống phục vụ công nghiệp thay chuẩn ethernet, RS485 -Phát triển ứng dụng theo dõi sức khỏe bệnh nhân từ xa ĐẶNG VĂN TRƯỜNG N14DCDT113 30 Tài liệu tham khảo TÀI LIỆU THAM KHẢO [1] ESP8266EX Datasheet, Version 6.0, Espressif Systems [2] https://github.com/itead/ITEADLIB_Arduino_WeeESP8266 [3] https://blynk.vn [4] https://github.com/adafruit/DHT-sensor-library [5] https://drive.google.com/open?id=0B3hx0mu4KssVQ1NwbUpsYVQxaVU [6] https://quantrimang.com [7] http://arduino.vn ĐẶNG VĂN TRƯỜNG N14DCDT113 31 ... Ví dụ: ta nhận 40 bit liệu sau: 00 11 01 01 00 00 000 0 00 01 100 0 00 00 000 0 01 00 1 101 Tính tốn: bit checksum: 00 11 01 01 + 00 00 000 0 + 00 01 100 0 + 00 00 000 0 = 01 00 1 101 Độ ẩm: 00 11 01 01 = 35H = 53%... có giá trị 00 00 000 0, nên ta bỏ qua khơng tính phần thập phân) Nhiệt độ: 00 01 100 0 = 18H = 24? ?C (ở phần thập phân có giá trị 00 00 000 0, nên ta bỏ qua khơng tính phần thập phân) 1 .4. 4 Cảm biến...HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA KỸ THUẬT ĐIỆN TỬ ***** TIỂU LUẬN MÔN HỌC Đề tài: MÔ HÌNH NHÀ THƠNG MINH CƠNG NGHỆ 4. 0 Sinh viên thực