ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG: ĐỀ TÀI: XÂY DỰNG HỆ THỐNG THEO DÕI MÔI TRƯỜNG VÀ ĐIỀU KHIỂN THIẾT BỊ THÔNG QUA WEB SERVER

31 42 0
ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG:  ĐỀ TÀI: XÂY DỰNG HỆ THỐNG THEO DÕI MÔI  TRƯỜNG VÀ ĐIỀU KHIỂN THIẾT BỊ THÔNG QUA WEB SERVER

Đ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Ộ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG - - BÁO CÁO MÔN ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG ĐỀ TÀI: XÂY DỰNG HỆ THỐNG THEO DÕI MÔI TRƯỜNG VÀ ĐIỀU KHIỂN THIẾT BỊ THÔNG QUA WEB SERVER Giảng viên hướng dẫn: TS Nguyễn Ngọc Minh Nhóm thực hiện: Nhóm 13 Thành viên nhóm: Bùi Ngọc Anh – B17DCDT003 Nguyễn Đình Tuấn – B17DCDT203 Vũ Quang Duy – B17DCDT055 Trần Lam Trường – B17DCDT195 Hà Nội - 2021 LỜI CẢM ƠN Trong thời gian lên ý tưởng thời gian thực hoàn thành đồ án thiết kế hệ thống nhúng với đề tài “Thiết kế hệ thống giám sát nhiệt độ, độ ẩm điều khiển thiết bị thông qua web server” chúng em nhận hướng dẫn tận tình từ giảng viên hướng dẫn Tiến sĩ Nguyễn Ngọc Minh tạo điều kiện từ học viện để bọn em hồn thiện tốt đồ án Vì chúng em xin gửi lời cảm ơn chân thành đến Tiến sĩ Nguyễn Ngọc Minh Tuy nhiên thời gian hoàn thành đồ án kiến thức kinh nghiệm hạn chế nên đồ án chúng em khơng tránh khỏi thiếu sót Chúng em mong nhận ý kiến góp ý từ hội đồng để em hồn thành chỉnh chu đề tài Chúng em xin chân thành cảm ơn! MỤC LỤC LỜI CẢM ƠN i 1.1 Giới thiệu nhà thông minh 1.2 Đặt toán 2.1 Tổng quan Internet of Things 2.1.1 Giới thiệu Internet of Things 2.1.2 Ứng dụng IoT 2.1.3 Đặc điểm công nghệ IoT 2.2 Tổng quan mạng Wifi 2.3 Giới thiệu Website, Webserver NodeJs, MySQL 2.3.1 Về Website 2.3.2 Máy chủ Web ( Web server ) 2.3.3 Giới thiệu NodeJS JavaScript 2.3.4 MySQL 10 2.4 Giới thiệu phần cứng 10 2.4.1 Vi điều khiển NodeMCU ESP8266 10 2.4.2 Cảm biến 11 2.4.3 LCD 20x04 module I2C 13 2.4.4 Khối relay cách li 15 2.5 Giao thức I2C 16 2.6 Giao thức MQTT 17 2.6.1 MQTT gì? 17 2.6.2 Vị trí MQTT mơ hình IOT 18 2.6.3 Tính năng, đặc điểm bật 18 2.6.4 Mơ hình Pub/Sub chế hoạt động 19 3.1 Thiết kế sơ đồ khối hệ thống 21 3.1.1 Chức khối: 21 3.2 Giao tiếp ESP8266 – MQTT – WEB SERVER 23 3.3 Xây dựng Web Server 25 3.3.1 Giao diện web 26 3.4 Sơ đồ ngun lí tồn mạch 26 3.4 Thực thi 26 3.5 Lưu đồ thuật toán 28 56 LỜI MỞ ĐẦU Lý lựa chọn đề tài Đất nước ta giai đoạn phát triển cách mạng công nghiệp 4.0, nhà thông minh ứng dụng cách mạng Sự kết hợp tính ưu việt smartphone, máy tính bảng, hay laptop với thiết bị dân dụng, mang lại cho người trải nghiệm tự động, góp phần làm cho điều kiện sống người ngày nâng cao, nên chúng em định chọn đề tài Mục tiêu nghiên cứu Giám sát hệ thống nhiệt độ, độ ẩm Kết cấu đồ án Chuyên đề thực tập bao gồm chương chính: Chương 1:Đặt vấn đề nghiên cứu Chương 2: Cơ sở lý thuyết Chương 3: Thiết kế điều khiển giám sát CHƯƠNG ĐẶT VẤN ĐỀ NGHIÊN CỨU 1.1 Giới thiệu nhà thông minh Nhà thông minh, ( tiếng anh Smart Home ) hệ thống nhà thông minh nha/căn hộ trang bị hệ thống tự động tiên tiến dành cho việc điều khiển đèn chiếu sáng, thiết bị điện tử nhà ,nhiệt độ, độ ẩm,… nhiều tính khác nhằm mục đích làm cho sống ngày tiện nghi, an tồn góp phần sử dụng hợp lí nguồn tài ngun Một ngơi nhà coi thơng minh, hệ thống máy tính, smartphone người sử dụng giám sát khía cạnh diễn xung quanh ngơi nhà Một ví dụ nhà thơng minh giám sát nhiệt độ, độ ẩm, ánh sáng để điều khiển thiết bị nhà cho phù hợp, bật tắt thiết bị từ xa lỡ quên, điều khiển độ sáng đèn cho phù hợp với phong cảnh, hệ thống cảnh báo khí gas, điều chỉnh rèm cửa, hệ thống tưới nước, … Các chức thực việc ghép nối thiết bị điện nhà với điều khiển trung tâm, qua hệ thống máy tính, điện thoại có kết nối internet để theo dõi trạng thái đưa định phù hợp Nhà thơng minh hình dung từ lâu qua tác phẩm khoa học viễn tưởng, đây, nhờ phát triển vượt bậc công nghệ thông tin, kĩ thuật điện, điện tử mà đưa vào ứng dụng thực tế Cơng nghệ ngày tinh vi, tín hiệu điều khiển giám sát mã hố truyền thơng qua hệ thống khơng dây, hay có dây, phạm vi truyền xa ( hệ thống LoraWan ) truyền đến chuyển mạch, ổ điện thiết kế chuyên dụng để vận hành thiết bị nhà Sự tự động hố đặc biệt có ích với người khuyết tật, hay người già thể khơng cịn khoẻ mạnh, góp phần tiết kiệm thời gian cho người Bạn trở nhà sau chuyến công tác dài ngày, điều bạn cần lúc gì? Một phịng khách sáng đèn đón chờ? Một khơng gian ấm áp tiết trời mùa đông lạnh lẽo? Một điệu nhạc du dương hợp “gu”? Hay bình nước nóng chờ sẵn? Thấu hiểu “đỉnh cao” trí thơng minh nhân tạo nói chung nhà thơng minh nói riêng Căn nhà xây dựng “kịch bản” để hiểu chủ nhân muốn cần Mở cửa đón chào tất điều cần – lý tất người mong muốn sở hữu nhà xây dựng theo mơ hình “thơng minh” Việc lắp đặt sản phẩm, thiết bị nhà thông minh mang lại cho nhà chủ nhân vơ vàn tiện ích cơng nghệ mang lại cho 30 năm gần Các thành phần hệ thống nhà thông minh bao gồm cảm biến như: cảm biến nhiệt độ, độ ẩm, cảm biến khí gas, cảm biến âm thanh, chuyển động,… điều khiển như: STM32, Arduino, họ vi điều khiển 8051, …, khối thu phát tiến hiệu: wifi (Esp8266, Esp32), Bluetooth, Lora, số thiết bị chung chuyển khác Relay,… 1.2 Đặt toán Do thời gian hồn thành đồ án có hạn, nên đồ án này, chúng em xây dựng hệ thống điều điều trung tâm có số tính nhà thông minh sau: - Đóng mở thiết bị từ xa thơng qua web server - Đóng mở thiết bị giọng nói thơng qua google assistant - Hiển thị nhiệt độ, độ ẩm, độ sáng phịng lên LCD máy tính, điện thoại, hay thiết bị giám sát CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Tổng quan Internet of Things 2.1.1 Giới thiệu Internet of Things Internet of Things (viết tắt IoT) mô tả mạng lưới kết nối vạn vật Khi mà đồ vật hay người cung cấp định danh riêng tất có khả truyền tải, trao đổi thơng tin, liệu qua mạng IoT phát triển từ kết hợp công nghệ không dây, công nghệ vi điện tử Internet 2.1.2 Ứng dụng IoT IoT có nhiều ứng dụng lĩnh vực: - Quản lí chất thải Quản lí mơi trường Phản hồi nhanh tình khẩn cấp Mua sắm thơng minh Y tế từ xa Nhà thơng mình,… 2.1.3 Đặc điểm công nghệ IoT Điểm quan trọng IoT đối tượng phải nhận biết định dạng Nếu đối tượng, kể người, “đánh dấu” để phân biệt thân đối tượng với thứ xung quanh hồn tồn quản lí thơng qua máy tính hay thiết bị thông minh (smartphone,…) thông qua mạng kết nối Wifi, Lora, mạng viễn thông bang rộng 3G, 4G, Bluetooth 2.2 Tổng quan mạng Wifi Wifi viết tắt Wireless Fidelity hay mạng 802.11 hệ thống mạng khơng dây sử dụng sóng vơ tuyết, gần điện thoại di dộng, truyền hình radio Hệ thống cho phép truy cập Internet khu vực có song Wifi hồn tồn khơng cần dung đến cáp nối Sóng Wifi : Các song vô tuyết sử dụng cho wifi gần giống với sóng vơ tuyến dung cho thiết bị cầm tay, thiết bị di dộng,… Nó truyền nhận, chuyển đổi mã nhị phân sang sóng vơ tuyến ngược lại Tuy nhiên, sóng Wifi có số khác biệt: Chúng truyền phát tín hiệu tần số 2.4GHz 5Ghz Tần số cao so với tần số sử dụng cho điện thoại di dộng, tần số cao cho phép mang theo nhiều liệu 2.3 Giới thiệu Website, Webserver NodeJs, MySQL 2.3.1 Về Website Website tập hợp trang web có liên quan với Mỗi trang Web tài liệu siêu văn Tài liệu chứa văn bản, âm thanh, hình ảnh,… mã hố đặc biệt, sử dụng ngôn ngữ đánh dấu siêu văn – HTML Hyper Text Markup Languages Mỗi Website lưu trữ máy chủ ( Server ) phục vụ Web, vốn máy chủ Internet lưu trữ trang web riêng lẻ 2.3.2 Máy chủ Web ( Web server ) Ở khía cạnh phần cứng, web server máy tính lưu trữ file thành phần website (ví dụ: tài liệu HTML, file ảnh, css,…) phân phát chúng đến với thiết bị người dung (client) Nó kết nối tới mạng Internet truy cập tới thông qua tên miền Bất trình duyệt cần file lưu trữ web server, trình duyện u cầu file thơng qua HTTP Khi yêu cầu tới web server, HTTP server gửi tài liệu yêu cầu trở lại thông qua HTTP 2.3.3 Giới thiệu NodeJS JavaScript 2.3.3.1 NodeJS NodeJS Framework xây dựng tảng V8 JavaScript Engine – trình thơng dịch thực thi mã JavaScript, giúp xây dựng ứng dụng web cách đơn giản, dễ dàng Một số điểm mạnh NodeJS: - Dễ dàng phát triển client server với ngôn ngữ JavaScript Tốc độ xử lý nhanh Nhiều framework hỗ trợ, dễ cài đặt Ứng dụng: - Sử dụng chủ yếu để xây dựng ứng dụng Web Phổ biến để xây dựng ứng dụng doanh nghiệp Khá mạng việc lập trình nhúng 2.3.3.2 JavaScript JavaScript ngơn ngữ lập trình phổ biến giới suốt 20 năm qua Nó số ngơn ngữ lập trình web:  HTML: Giúp bạn thêm nội dung cho trang web  CSS: Định dạng thiết kế, bố cục, phong cách, canh lề trang web 2.5 Giao thức I2C Giới thiệu giao tiếp I2C I2C tên viết tắt cụm từ tiếng anh “Inter-Integrated Circuit” Nó giao thức giao tiếp phát triển Philips Semiconductors để truyền liệu xử lý trung tâm với nhiều IC board mạch sử dụng hai đường truyền tín hiệu Do tính đơn giản nên loại giao thức sử dụng rộng rãi cho giao tiếp vi điều khiển mảng cảm biến, thiết bị hiển thị, thiết bị IoT, EEPROMs, v.v … Đây loại giao thức giao tiếp nối tiếp đồng Nó có nghĩa bit liệu truyền bit theo khoảng thời gian đặn thiết lập tín hiệu đồng hồ tham chiếu Đặc điểm Sau số đặc điểm quan trọng giao thức giao tiếp I2C: - - Chỉ cần có hai đường bus (dây) chung để điều khiển thiết bị / IC mạng I2C Không cần thỏa thuận trước tốc độ truyền liệu giao tiếp UART Vì vậy, tốc độ truyền liệu điều chỉnh cần thiết Cơ chế đơn giản để xác thực liệu truyền Sử dụng hệ thống địa bit để xác định thiết bị / IC cụ thể bus I2C Các mạng I2C dễ dàng mở rộng Các thiết bị kết nối đơn giản với hai đường bus chung I2C Phần cứng Bus vật lý I2C 16 Bus I2C (dây giao tiếp) gồm hai dây đặt tên Serial Clock Line (SCL) Serial Data Line (SDA) Dữ liệu truyền gửi qua dây SDA đồng với tín hiệu đồng hồ (clock) từ SCL Tất thiết bị / IC mạng I2C kết nối với đường SCL SDA 2.6 Giao thức MQTT 2.6.1 MQTT gì? MQTT (Message Queuing Telemetry Transport) giao thức truyền thông điệp (message) theo mô hình publish/subscribe (cung cấp / thuê bao), sử dụng cho thiết bị IoT với băng thông thấp, độ tin cậy cao khả sử dụng mạng lưới khơng ổn định Nó dựa Broker (tạm dịch “Máy chủ mơi giới”) “nhẹ” (khá xử lý) thiết kế có tính mở (tức không đặc trưng cho ứng dụng cụ thể nào), đơn giản dễ cài đặt MQTT lựa chọn lý tưởng môi trường như: - Những nơi mà giá mạng viễn thông đắt đỏ băng thông thấp hay thiếu tin cậy Khi chạy thiết bị nhúng bị giới hạn tài nguyên tốc độ nhớ Bởi giao thức sử dụng băng thơng thấp mơi trường có độ trễ cao nên giao thức lý tưởng cho ứng dụng M2M (Machine to Machine) 2.6.2 Vị trí MQTT mơ hình IOT Một số ưu điểm bật MQTT như: băng thông thấp, độ tin cậy cao sử dụng hệ thống mạng khơng ổn định, tốn byte cho việc kết nối với server connection giữ trạng thái open xuyên suốt, kết nối nhiều thiết bị (MQTT client) thông qua MQTT server (broker) 17 Bởi giao thức sử dụng băng thơng thấp mơi trường có độ trễ cao nên giao thức lý tưởng cho ứng dụng IoT 2.6.3 Tính năng, đặc điểm bật - Dạng truyền thơng điệp theo mơ hình Pub/Sub cung cấp việc truyền tin phân tán chiều, tách biệt với phần ứng dụng Việc truyền thông điệp lập tức, không quan tâm đến nội dung truyền Sử dụng TCP/IP giao thức Tồn ba mức độ tin cậy cho việc truyền liệu (QoS: Quality of service) QoS 0: Broker/client gửi liệu lần, trình gửi xác nhận giao thức TCP/IP QoS 1: Broker/client gửi liệu với lần xác nhận từ đầu kia, nghĩa có nhiều lần xác nhận nhận liệu QoS 2: Broker/client đảm bảo gửi liệu phía nhận nhận lần, trình phải trải qua bước bắt tay Phần bao bọc liệu truyền nhỏ giảm đến mức tối thiểu để giảm tải cho đường truyền 2.6.4 Mơ hình Pub/Sub chế hoạt động 2.6.4.1 Mơ hình Pub/Sub Thành phần Client  Publisher - Nơi gửi thông điệp  Subscriber - Nơi nhận thông điệp 18 Broker - Máy chủ môi giới Trong Broker coi trung tâm, điểm giao tất kết nối đến từ Client (Publisher/Subscriber) Nhiệm vụ Broker nhận thơng điệp (message) từ Publisher, xếp vào hàng đợi chuyển đến địa điểm cụ thể Nhiệm vụ phụ Broker đảm nhận thêm vài tính liên quan tới q trình truyền thơng như: bảo mật message, lưu trữ message, logs, Client chia thành hai nhóm Publisher Subscriber Client làm việc publish thông điệp (message) lên một/nhiều topic cụ thể subscribe một/nhiều topic để nhận message từ topic MQTT Clients tương thích với hầu hết tảng hệ điều hành có: MAC OS, Windows, Linux, Android, iOS, Ưu điểm - Kết nối riêng rẽ, độc lập Khả mở rộng Thời gian tách biệt (Time decoupling) Đồng riêng rẽ (Synchronization decoupling) Nhược điểm - Máy chủ môi giới (Broker) không cần thông báo trạng thái gửi thơng điệp Do khơng có cách để phát xem thơng điệp gửi hay chưa 19 - Publisher trạng thái subscribe ngược lại Vậy đảm bảo thứ ổn Những kẻ xấu (Malicious Publisher) gửi thông điệp xấu, Subscriber truy cập vào thứ mà họ không nên nhận CHƯƠNG THIẾT KẾ KHỐI ĐIỀU KHIỂN VÀ GIÁM SĂT 3.1 Thiết kế sơ đồ khối hệ thống Khối nguồn 12V Hạ áp Khối thị Khối điều khiển 20 ESP8266 Khối cảm biến MQTT Web server 3.1.1 Chức khối: 3.1.1.1 Khối điều khiển ESP8266: - Đọc xử lí tín hiệu cảm biến Kết nối Wifi Gửi liệu lên Topic MQTT Hiện thị liệu LCD Điều khiển đóng ngắt Relay 3.1.1.2 Khối cảm biến: Lấy liệu nhiệt độ, độ ẩm, ánh sáng từ mơi trường 3.1.1.3 Khối điều khiển: Đóng ngắt relay Khối điều khiển đóng ngắt relay sử dụng Opto cách ly PC817 vi điều khiển tải Sơ đồ ngun lí thể hình 21 Tính toán chọn điện trở Rrelay = 69 Ω Chọn β = 70, hệ số khuếch đại nhỏ Ic= (Vcc – Vce) = ( 12 – 0.3 )/ Rrelay = 80.7 mA => Ib = Ic/β = 1.15mA => chọn IB > 1.15mA, IB = 5mA => Chọn R3 = R4 = 4.7kΩ Đặc tuyến bão hoà trans > 3.1.1.4 Khối nguồn: Cấp nguồn cho hệ thống 22 3.2 Giao tiếp ESP8266 – MQTT – WEB SERVER Dữ liệu cảm biến khối xử lí thu thập, gửi lên databases ( MySQL ) thông qua giao thức MQTT Ở đồ án lần này, chúng em sử dụng máy tính nhúng Raspberry Pi MQTT server web server Sử dụng ngơn ngữ lập trình Python, thư viện hỗ trợ Paho.Mqtt để lấy liệu từ topic MQTT gửi từ Esp, sau lưu vào mysql 23 MySQL ESP8266 Broker Server 3.3 Xây dựng Web Server Mysql Databases SERVER MQTT 24 HTTP Client MQTT ESP8266 Sensor Data Control Device MQTT Adafuit IO server IFTTT Google Assistant Khi nhận tín hiệu điều khiển từ Client, Server gửi lại khối xử lí chuỗi Json có thơng báo điều khiển thiết bị, vi điều khiển phân tách chuỗi Json để nhận tín hiệu điều khiển thiết bị, từ đóng ngắt relay Điều khiển giọng nói thơng qua Google Assistant: Dữ liệu giọng nói đẩy lên Adafruit IO ( Một server xử lí ) thơng qua IFTTT mà Esp8266 kết nối tới Sử dụng MQTT giao tiếp với Esp8266 để điều khiển thiết bị 25 3.3.1 Giao diện web 3.4 Sơ đồ ngun lí tồn mạch 3.4 Thực thi Mạch in vẽ thiết kế lớp phần mềm Altium Design Mạch in mơ hình 3D: 26 Mơ hình thực tế: 27 3.5 Lưu đồ thuật tốn Phần mềm lập trình: Arduino IDE, VScode 28 KẾT LUẬN Sau thời gian học tập hướng dẫn Tiến sĩ Nguyễn Ngọc Minh, nhóm em hồn thành xong đồ án với tính mong muốn Có thể sử dụng trường khơng q lớn, thay tuỳ biến thành hệ thống tưới tự động,… Nhược điểm: Thiết bị đơn giản, số thiết bị điều khiển cịn Hướng phát triển: Phát triển thêm cửa thông minh, hệ thống nhận diện khuôn mặt,… Qua đồ án, em hiểu them hệ thống IOT ứng dụng cách mạng cơng nghệ 4.0 Mặc dù cố gắng kinh nghiệm cịn ỏi kiến thức hạn chế nên chuyên đề thực tập em khơng thể tránh khỏi thiếu sót Vì em mong nhận góp ý, bảo từ thầy để chun đề em chỉnh chu hoàn thiện Em xin chân thành cảm ơn! 29 DANH MỤC TÀI LIỆU THAM KHẢO The Internet of Things - Samuel Greengard ( 2005 ) Building the Internet of Things – Kranz ( 2011 ) 30 ... lên ý tưởng thời gian thực hoàn thành đồ án thiết kế hệ thống nhúng với đề tài ? ?Thiết kế hệ thống giám sát nhiệt độ, độ ẩm điều khiển thiết bị thông qua web server? ?? chúng em nhận hướng dẫn tận... đồ án này, chúng em xây dựng hệ thống điều điều trung tâm có số tính nhà thông minh sau: - Đóng mở thiết bị từ xa thơng qua web server - Đóng mở thiết bị giọng nói thơng qua google assistant... cập vào thứ mà họ không nên nhận CHƯƠNG THIẾT KẾ KHỐI ĐIỀU KHIỂN VÀ GIÁM SĂT 3.1 Thiết kế sơ đồ khối hệ thống Khối nguồn 12V Hạ áp Khối thị Khối điều khiển 20 ESP8266 Khối cảm biến MQTT Web server

Ngày đăng: 16/02/2022, 15:55

Từ khóa liên quan

Mục lục

  • 1.1. Giới thiệu nhà thông minh

  • 1.2. Đặt bài toán

  • 2.1. Tổng quan về Internet of Things

    • 2.1.1. Giới thiệu về Internet of Things

    • 2.1.2. Ứng dụng của IoT

    • 2.1.3. Đặc điểm của công nghệ IoT

    • 2.2. Tổng quan về mạng Wifi

    • 2.3. Giới thiệu về Website, Webserver và NodeJs, MySQL

      • 2.3.1. Về Website

      • 2.3.2. Máy chủ Web ( Web server )

      • 2.3.3. Giới thiệu về NodeJS và JavaScript

      • 2.3.4. MySQL

      • 2.4. Giới thiệu về phần cứng

        • 2.4.1. Vi điều khiển NodeMCU ESP8266

        • 2.4.2. Cảm biến

        • 2.4.3. LCD 20x04 và module I2C

        • 2.4.4. Khối relay và cách li

        • 2.5. Giao thức I2C

        • 2.6. Giao thức MQTT

        • 2.6.1. MQTT là gì?

        • 2.6.2. Vị trí của MQTT trong mô hình IOT

        • 2.6.3. Tính năng, đặc điểm nổi bật

        • 2.6.4. Mô hình Pub/Sub và cơ chế hoạt động

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

Tài liệu liên quan