PHẦN 1: TỔNG QUAN ĐỀ TÀI, YÊU CẦU CẦNĐẠT.1.1 Tổng quan đề tàiThuật ngữ IoT hay Internet vạn vật đề cập đến mạng lưới tập hợp các thiếtbị thông minh và công nghệ tạo điều kiện thuận lợi c
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trường Điện – Điện tử
Đồ án môn học Học phần: EE4552 – Mạng và các giao thức trong IOT
Đề tài: Thiết kế nhà thông minh
GVHD: PGS.TS Nguyễn Quốc Cường
Nhóm sinh viên thực hiện: Nhóm 17
1 Đoàn Văn Nhật - 20192000
2 Nguyễn Quang Chiến - 20191705
Hà Nội, 04-2023
Trang 2MỤC LỤC
PHẦN 1: TỔNG QUAN ĐỀ TÀI, YÊU CẦU CẦN ĐẠT 4
3.1 Phân tích yêu cầu chức năng hệ thống 7
3.2.1 Bộ điều khiển trung tâm 8 3.2.2 Hệ thống tưới cây (ngoài nhà) 8 3.2.3 Hệ thống điều khiển (trong nhà) 8 3.3 Tìm hiểu về WiFi và các giao thức HTTP, MQTT, CoAp 8 3.3.1 Công nghệ truyền thông WiFi 8
Tự đánh giá tỷ lệ đóng góp của từng thành viên trong dự án theo kế hoạch (trước khi thực hiện, thực hiện trong khi lên kế hoạch thực hiện dự án) 18
Trang 3DANH MỤC HÌNH VẼ
2
Trang 4PHẦN 1: TỔNG QUAN ĐỀ TÀI, YÊU CẦU CẦN
ĐẠT.
1.1 Tổng quan đề tài
Thuật ngữ IoT hay Internet vạn vật đề cập đến mạng lưới tập hợp các thiết
bị thông minh và công nghệ tạo điều kiện thuận lợi cho hoạt động giao tiếp giữa thiết bị và đám mây cũng như giữa các thiết bị với nhau Nhờ sự ra đời của chip máy tính giá rẻ và công nghệ viễn thông băng thông cao, ngày nay, chúng ta có hàng tỷ thiết bị được kết nối với internet Điều này nghĩa là các thiết bị hàng ngày như bàn chải đánh răng, máy hút bụi, ô tô và máy móc có thể sử dụng cảm biến để thu thập dữ liệu và phản hồi lại người dùng một cách thông minh
Đặc biệt các thiết bị gia đình thông minh(Smarthome) tập trung chủ yếu vào hoạt động cải thiện hiệu quả và độ an toàn của ngôi nhà, cũng như mạng lưới kết nối trong nhà Các thiết bị như ổ điện thông minh có thể giám sát mức sử dụng điện và bộ điều nhiệt thông minh có thể cung cấp khả năng kiểm soát nhiệt
độ tốt hơn Các hệ thống thủy canh có thể sử dụng cảm biến IoT để quản lý khu vườn, trong khi đó, máy báo khói IoT có thể phát hiện khói thuốc lá Từ đó nâng cao đời sống của con người, giúp cho xã hội ngày càng phát triển và hiện đại
Từ những vấn đề trên, trong đề tài này nhóm chúng em sẽ thiết kế một mô hình nhà thông minh với hai nhóm thiết bị trong nhà và ngoài trời giúp thu thập dữ liệu và điều khiển các cơ cấu chấp hành thông qua tự động và điều khiển của con người
Trang 51.2 Yêu cầu cần đạt
4
Trang 6PHẦN 2: KẾ HOẠCH THỰC HIỆN
Trang 7PHẦN 3: PHÂN TÍCH – THIẾT KẾ
3.1 Phân tích yêu cầu chức năng hệ thống
Dự kiến hai phương án:
Phương án 1
- Hệ thống tưới cây sẽ được tích hợp trong trong một vi điều khiển esp32 vừa có chức năng đo nhiệt độ để gửi lên bộ điều khiển trung tâm, vừa nhận lệnh
từ bộ điều khiển trung tâm để điều khiển máy bơm (dự kiến thay thế bằng đèn led cho trạng thái bật và tắt)
- Hệ thống điều khiển sẽ được tích hợp trong trong một vi điều khiển esp32 vừa có chức năng đo nhiệt độ để gửi lên bộ điều khiển trung tâm, vừa nhận lệnh từ bộ điều khiển trung tâm để điều khiển ổ cắm thông minh (dự kiến thay thế bằng đèn led cho trạng thái bật và tắt)
Phương án 2:
- Hệ thống tưới cây sẽ gồm một phần mềm để gửi giá trị ảo lên bộ điều khiển trung tâm, còn bộ điều khiển máy bơm sẽ dung esp32 để điều khiển thông qua nhận lệnh từ home center
6
Trang 8- Hệ thống điều khiển (trong nhà) sẽ gồm một phần mềm để gửi giá trị ảo lên bộ điều khiển trung tâm, còn ổ cắm thông minh sẽ dùng esp32 để điều khiển thông qua nhận lệnh từ home center
*Bộ điều khiển trung tâm sẽ sử dụng vđk esp32 để điều khiển toàn bộ hệ thống
và gửi dữ liệu lên server
3.2 Sơ đồ khối hệ thống
3.2.1 Bộ điều khiển trung tâm
3.2.2 Hệ thống tưới cây (ngoài nhà)
3.2.3 Hệ thống điều khiển (trong nhà)
3.3 Tìm hiểu về WiFi và các giao thức HTTP, MQTT, CoAp.
3.3.1 Công nghệ truyền thông WiFi
Chế độ Station
Để kết nối các thiết bị wireless (như điện thoại thông minh, máy tính xách tay) hoặc có dây (như máy tính để bàn) vào trong mạng nội bộ (LAN) ta dùng một thiết bị gọi là Access Point (điểm truy cập)
Những thiết bị kết nối với Access Point được gọi là Station (trạm)
Ở chế độ station, ESP32 nhận IP từ router mà nó được kết nối Với địa chỉ IP này nó có thể thiết lập một web server và cung cấp các trang web đến tất cả các thiết bị kết nối trong mạng Wifi hiện có
Trang 9Chế độ Access Point
ESP32 tạo mạng Wifi riêng và hoạt động như một trung tâm (giống như Router Wifi) cho một hoặc nhiều trạm được gọi là điểm truy cập (AP) Không giống như Router Wifi, nó không có giao tiếp với mạng có dây
Vì vậy, phương thức hoạt động như vậy gọi là điểm truy cập mềm (soft-AP) Ngoài ra, số lượng Station tối đa có thể kết nối với nó được giới hạn
Ở chế độ AP, ESP32 tạo một mạng Wifi mới và đặt SSID(tên mạng) và địa chỉ
IP cho nó Với địa chỉ IP này, nó có thể cung cấp các trang web đến tất cả các thiết bị được kết nối trong mạng riêng của nó
Web Server
8
Trang 10Web Server là nơi lưu trữ, xử lý và cung cấp các trang web đến các Web client Web client là một trình duyệt web trên labtop và smart phone của chúng ta Giao tiếp giữa Client và Server diễn ra bằng một giao thức đăc biệt được gọi là Giao thức truyền siêu văn bản (HTTP - Hypertext Transfer Protocol)
Trong giao thức này, Client bắt đầu giao tiếp bằng cách đưa ra yêu cầu cho một trang web cụ thể bằng HTTP request và máy chủ phản hồi bằng nội dung của trang web đó hoặc thông báo lỗi nếu không thể thực hiện được Các trang do máy chủ phân phối chủ yếu là HTML
3.3.2 Giao thức HTTP
3.3.3 Giao thức MQTT
MQTT (Message Queueing Telemetry Transport) là một giao
thức mạng kích thước nhỏ (lightweight), hoạt động theo cơ chế publish – subscribe (tạm dịch: xuất bản – đăng ký) theo tiêu chuẩn ISO (ISO/IEC 20922)
để truyền tin nhắn giữa các thiết bị
Giao thức này hoạt động trên nền tảng TCP/IP MQTT được thiết kế cho các kết nối cho việc truyền tải dữ liệu cho các thiết bị ở xa, các thiết bị hay vi điều khiển nhỏ có tài nguyên hạn chế hoặc trong các ứng dụng có băng thông mạng
bị hạn chế
Đặc điểm của MQTT
MQTT có một số tính năng độc đáo khó có thể tìm thấy trong các giao thức khác Dưới đây là một số tính năng của MQTT:
Nó không yêu cầu cả Client và Server phải thiết lập kết nối cùng một lúc;
Nó cho phép Client đăng ký lựa chọn chủ đề để họ có thể nhận được thông tin họ đang tìm kiếm nhanh chóng;
Nó cung cấp truyền dữ liệu nhanh hơn, giống như cách WhatsApp / messenger cung cấp việc phân phối nhanh hơn Đó là một giao thức nhắn tin thời gian thực;
Nó được thiết kế như một giao thức nhắn tin đơn giản và nhẹ sử dụng hệ thống xuất bản / đăng ký để trao đổi thông tin giữa Client và Server;
Nó là một giao thức máy với máy, tức là nó cung cấp giao tiếp giữa các thiết bị
Kiến trúc MQTT
Trang 11MQTT Broker
MQTT Broker hay máy chủ mô giới được coi như trung tâm, nó là điểm giao của tất cả các kết nối đến từ Client (Publisher/Subscriber)
Nhiệm vụ chính của Broker là nhận thông điệp (message) từ Publisher, xếp vào hàng đợi rồi chuyển đến một địa điểm cụ thể Nhiệm vụ phụ của Broker là nó có thể đảm nhận thêm một vài tính năng liên quan tới quá trình truyền thông như: bảo mật message, lưu trữ message, logs, … MQTT Broker được cung cấp dưới dạng mã nguồn mở hoặc các phiên bản thương mại giúp người dùng có thể tự cài đặt và tạo broker riêng Ngoài ra các bạn cũng có thể sử dụng Broker trên điện toán đám mây với các nền tảng IOT như hive broker, amazone,…
MQTT Client
Là các thiết bị/ứng dụng Client kết nối đến Broker để thực hiện truyền nhận dữ liệu Client thì được chia thành hai nhóm là Publisher và Subscriber Một Client có thể có 1 trong 2 nhiệm vụ hoặc cả 2
Publisher là thiết bị gửi bản tin lên broker
Subscriber là người nhận bản tin mỗi khi có bản tin mới gửi lên Broker
Message
Message là bản tin được truyền đi bởi giao thức trên toàn mạng cho ứng dụng Khi bản tin được truyền qua mạng, thì bản tin chứa các thông số sau:
Dữ liệu của thông tin muốn truyền
Quality of Service (QoS)
Thuộc tính
10
Trang 12Tên chủ đề
Topic
Topic có thể coi như một “đường truyền” logic giữa 2 điểm là
publisher và subscriber Về cơ bản, khi message được publish vào một topic thì tất cả những subscriber của topic đó sẽ nhận được
message này
Giao thức MQTT cho phép khai báo các topic kiểu phân cấp
3.3.4 Giao thức CoAp
CoAP (Constrained application protocol) là một giao thức đơn giản chi phí thấp được thiết kế riêng cho các thiết bị hiệu năng thấp (chẳng hạn như vi điều khiển) và nơi mạng có băng thông thấp Giao thức này được sử dụng để trao đổi dữ liệu M2M và rất giống với HTTP
CoAP có các tính năng chính sau:
Giao thức web nhỏ gọn được sử dụng trong M2M;
Bảo mật bằng DTLS;
Trao đổi thông điệp không đồng bộ;
Header gói tin nhỏ, dễ tách thông tin;
Hỗ trợ URI và loại nội dung;
Khả năng proxy và bộ nhớ đệm;
Tuỳ chọn khai thác tài nguyên;
Liên kết UDP (User Datagram Protocol) với độ tin cậy tùy chọn hỗ trợ các yêu cầu Unicast và Multicast
Mô hình cấu trúc CoAP
Mô hình tương tác CoAP tương tự như mô hình Client/Server của HTTP.CoAP sử dụng cấu trúc 2 lớp Lớp dưới là lớp bản tin được thiết kế liên quan đến UDP và chuyển tiếp không đồng bộ, Lớp yêu cầu/phản hồi liên quan đến phương thức giao tiếp và xử lý bản tin yêu cầu/phản hồi
Trang 13Mô hình bản tin CoAP
Lớp bản tin hỗ trợ 4 loại bản tin: CON (có thể xác nhận), NON (không thể xác nhận), ACK ( đã xác nhận), RST (đặt lại)
Truyền tải bản tin tin cậy: Một bản tin có thể xác nhận (CON) được truyền đi truyền lại cho đến khi Server gửi lại bản tin xác nhận (ACK) với cùng một ID Sử dụng thời gian chờ mặc định và giảm thời gian đếm theo cấp số nhân khi truyền bản tin CON Nếu Server không thể xử lý bản tin truyền đến, nó sẽ phản hồi bằng cách thay thế bản tin xác nhận (ACK) bằng bản tin đặt lại (RST)
Truyền tải bản tin không tin cậy: Một bản tin không yêu cầu gửi tin cậy,
có thể được gửi bằng bản tin không tin cậy Nó sẽ không được xác nhận, nhưng nó vẫn có ID để phát hiện trùng lặp
12
Trang 14Mô hình yêu cầu/phản hồi CoAP
Piggy-backed: Một yêu cầu được gửi bằng bản tin có thể xác nhận (CON) hoặc không thể xác nhận (NON), Server sẽ phản hồi bản tin xác nhận (ACK) ngay lập tức cho yêu cầu của Client nếu nó có sẵn Với phản hồi thành công, ACK chứa mã bản tin phản hồi (được nhận diện bởi mã bản tin), với phản hồi thất bại, ACK chứa mã phản hồi thất bại
Phản hồi trì hoãn: Nếu Server nhận được bản tin CON nhưng không thể phản hồi yêu cầu này ngay lập tức, nó sẽ gửi một bản tin ACK trống tránh trường hợp Client gửi lại bản tin này Khi Server sẵn sàng đáp ứng yêu cầu này, nó sẽ gửi một bản tin CON mới đến Client và Client trả lời một bản tin CON kèm theo xác nhận Bản tin ACK từ Client chỉ để xác nhận bản tin CON từ Server
Trang 15PHẦN 4: THỬ NGHIỆM VÀ ĐÁNH GIÁ
4.1 Kết quả đạt được
4.2 Đánh giá
5: KẾT LUẬN
(Đối chiếu lại kế hoạch dự kiến ở mục Tổ chức thực hiện, Nếu có thay đổi thì cần ghi rõ những phần thay đổi so với Kế hoạch, nêu lý do)
14
Trang 16Tự đánh giá tỷ lệ đóng góp của từng thành viên trong
dự án theo kế hoạch (trước khi thực hiện, thực hiện trong khi lên kế hoạch thực hiện dự án)
Người thực hiện Tỷ lệ Giải quyết được những vấn đề gì của
dự án (cần ghi rõ để có cơ sở đánh giá
tỷ lệ) Đoàn Văn Nhật
Nguyễn Quang Chiến
PHỤ LỤC
Nhật kí cuộc họp Biên bản cuộc họp ngày 25/4/2022
Môn: Mạng và các giao thức trong IOT
Địa điểm: online trên MS_Teams
Trang 17Nội dung cuộc họp:
1 Phân tích, nắm rõ yêu cầu của dự án
2 Thảo luận, tìm hiểu về công nghệ truyền thông WiFi, các giao thức MQTT, CoAp
Nhiệm vụ:
Đoàn Văn Nhật:
Hiểu cơ bản về công nghệ truyền thông WiFi
Giao thức MQTT và cách thức hoạt động
Nắm rõ yêu cầu triển khai hệ thống
Nguyễn Quang Chiến :
Hiểu cơ bản về công nghệ truyền thông WiFi
Giao thức CoAp và cách thức hoạt động
Nắm rõ yêu cầu triển khai hệ thống
16