Không thể không phủ nhận tính năng và lợi ích mang lại của những căn Smarthomelà quá to lớn.Trong môn học “Mạng và các giao thức trong IoT”, với mục tiêu để có một kiến thức thực tế hơn
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆN-ĐIỆN TỬ
- -
BÁO CÁO MÔN
MẠNG VÀ CÁC GIAO THỨC TRONG IOT
Đề tài:
THIẾT KẾ HỆ THỐNG SMARTHOME
Giảng viên hướng dẫn: PGS Nguyễn Quốc Cường
Trang 2MỤC LỤC
I YÊU CẦU DỰ ÁN, MỤC ĐÍCH, KẾT QUẢ CẦN ĐẠT 5
1.1 Yêu cầu 5
1.2 Mục tiêu 5
1.3 Kết quả cần đạt 6
II KẾ HOẠCH THỰC HIỆN 7
2.1 Kế hoạch chung 7
III TÌM HIỂU VỀ DỰ ÁN 12
3.1 Tìm hiểu về Smarthome 12
3.2 Lựa chọn các thiết bị 13
3.2.1 Thiết bị cảm biến 13
3.2.2 Vi điều khiển ESP32 15
3.2.3 Các giao thức truyền thông và cloud 16
IV Thiết kế dự án 19
4.1 Thiết kế kiến trúc, sơ đồ triển khai, chức năng hệ thống 19
4.1.1 Kiến trúc dự án 19
4.1.2 Sơ đồ triển khai 20
4.1.3 Các tính năng của hệ thống 21
4.2 Thiết kế các module 22
4.2.1 Lập trình MQTT Client 22
4.2.2 Lập trình chuyển dữ liệu từ broker lên Cloud 26
4.2.3 Lập trình giao diện và chức năng cho WEB điều khiển 28
4.2.4.Thiết kế layout phần cứng 30
V Kết quả đạt được và hướng phát triển hệ thống 32
VI Kết luận 33
Trang 3Danh mục hình ảnh
Hình 1: Mô hình hệ thống Smarthome 12
Hình 2: Cảm biến nhiệt độ DS18B20 14
Hình 3: Cảm biến khí Gas: MQ-02 15
Hình 4: Vi điều khiển ESP32 16
Hình 5: Vị trí của MQTT trong mô hình IoT 17
Hình 6: ThingSpeak Cloud 18
Hình 7: Sơ đồ khối kiến trúc hệ thống 19
Hình 8: Giao diện ThingSpeak 21
Hình 9: Sơ đồ đấu nối DS18B20 22
Hình 10: Bảng function set command 22
Hình 11: Thời gian chuyển đổi tối đa dựa theo độ phân giải khi cài đặt cho DS18B20 22
Hình 12: Lập trình ESP32 với DS18B20 23
Hình 13: Sơ đồ đấu nối quang trở 24
Hình 14: Lập trình Giao tiếp với quang trở 24
Hình 15: Sơ đồ đấu nối MQ-02 25
Hình 16: Lập trình Giao tiếp với MQ-02 25
Hình 17: Kết quả đạt được khi giao tiếp với cảm biến 26
Hình 18: Kết nối giữa vi điều khiển và ThinkSpeak 26
Hình 20: Dữ liệu được gateway đẩy lên ThingSpeak Cloud 27
Hình 21: Giao diện của ThinkSpeak 28
Hình 22: Giao diện web điều khiển 28
Hình 23: Người dùng có thể nhập ngưỡng nhiệt cần cảnh báo trên giao diện 29
Hình 24: Cảnh bảo được gửi qua Email 29
Hình 25: Giao diện cho biết gateway còn hoạt động hay không 30
Hình 26: Hình ảnh mạch PCB 1 30
Hình 27: Hình ảnh mạch PCB 2 31
Trang 4Lời nói đầu
Trong vài thập kỷ qua, cuộc cách mạng công nghiệp thứ 4 đã nổi lên mạnh
mẽ Công nghiệp 4.0 tập trung vào công nghệ kỹ thuật số từ những thập kỷ gần đâyđến cập độ hoàn toàn mới, với sự trợ giúp của kết nối thông qua Internet of Things (IoT), quyền truy cập vào dữ liệu trong thời gian thực và giới thiệu các hệ thống mạng thực Một sản phẩm của của công nghiệp 4.0 chính là smarthome Công nghệngày càng phát triển, smarthome đã trở nên phổ biến và không còn quá xa lạ đối với nhiều người Nghĩ đến Smarthome là nghĩ đến sự tiện lợi và thông minh Không thể không phủ nhận tính năng và lợi ích mang lại của những căn Smarthome
là quá to lớn
Trong môn học “Mạng và các giao thức trong IoT”, với mục tiêu để có một kiến thức thực tế hơn về mạng và các giao thức, về lập trình ứng dụng trên mạng, chúng em đã hoàn thành bài tập lớn " THIẾT KẾ HỆ THỐNG SMARTHOME" do thầy giao Đề tài còn khá nhiều thiếu xót do lượng kiến thức thực tế của nhóm em còn hạn chế, mong thầy có thể đưa ra những ý kiến, đánh giá, đóng góp đề báo cáo
đề tài của nhóm chúng em được hoàn thiện hơn
Trang 5CHƯƠNG 1: TỔ CHỨC THỰC HIỆN 1.1 Yêu cầu của dự án
Thiết kế hệ thống smart home:
Yêu
Thiết bị Device (vitrual hoặc
physic): MQTT, CoAP (cảm biến
ánh sáng, nhiệt độ cần low power)
-Điều khiển đèn
-Đo nhiệt độ
-Đo nồng độ khí gas
-Đo cường độ ánh sáng 1Gateway (edge) (sử dụng HTTP để kết
App (mobile) (tính năng nâng cao, có thể
làm trên điện thoại, hoặc đơn giản chỉ
cần dùng trình duyệt để điều khiển)
-Sử dụng trình duyệt để điều khiển
Internet (khi không có Internet thiết
bị trong mạng
vẫn có thể điều khiển local được)
-Dùng Device làm Access Point để điều khiển 4Xây dựng các tính năng của hệ thống
1.2 Mục tiêu
Hệ thống smarthome có những tính năng sau:
-Cảnh báo khí GAS bằng còi Speaker trên phần cứng và gửi gmail Cảnh báo bằngphần mềm
-Hiển thị thông số nhiệt độ và độ sáng realtime trên Giao diện web được viết
Trang 6-Hiển thị thông số nhiệt độ trên Led 7 thanh
-Điều chỉnh đèn bếp bằng nút bấm trên phần cứng hoặc sử dụng chức năng tựđộng Auto/Manual trên phần mềm
-Lưu trữ dữ liệu trên ThingSpeak Cloud
-Phát hiện khi GateWay và Device mất kết nối mạng bằng phần cứng và phầnmềm
-Cài đặt SSID và Password Wifi cho Gateway và device bằng smartConfig
-Điều khiển Local trên thiết bị và trên Http Server trên Gateway khi mất mạng
1.3 Giới thiệu thành viên của dự án
Họ và tên: Vũ Quang Bừng
MSSV: 20191699Phụ trách công việc:
+Lựa chọn cảm biến+Thiết kế kiến trúc hệ thống+Lập trình giao diện và chức năng cho WEB điều khiển
+Lập trình MQTT, HTTP cho MCU+Thiết kế mạch PCB
Họ và tên: Doãn Đình Tâm
MSSV: 20192065Phụ trách công việc:
+Lựa chọn module điều khiển+Lập trình cho MCU+Test vừa sửa lỗi hệ thống
Trang 7Họ và tên: Nguyễn Duy ĐạtMSSV: 20191736Phụ trách công việc+Thiết kế bộ nguồn cho hệ thống+Thiết kế mạch PCB
+Thiết kế vỏ cho sản phẩm
1.4 Kế hoạch thực hiện chung của dự án
Nội dung Kết quả cần đạt Thời gian (tuần) Ghi chú
Trang 10tuần)-Tìm hiểu chung
T6-T7
khung bản tin -Tìm và chọn lọc những cloud có sẵn
T8-T10
Mô hình chung, sơ
đồ kiến trúc Hoàn thiện kế hoạch và các mô hình hệ
kiện cho device Cảm biến nhiệt độ LM35
devices Tính toán công suất truyền nhận T18 - T20
Hoàn thiện -Test toàn bộ hệ
thống -Hiệu chỉnh và đánh giá kết quả
T20
Trang 11Doãn Đình Tâm
thực hiện (theo tuần)
- Mạch nguyên lí của các thiết bị và gateway
T10
-Thiết kế mạch
Trang 12Chọn và mua
linh kiện cho
device
Cảm biến nhiệt độ LM35
T20
Trang 13-Mô hình mạng Lựa chọn được
mô hình mạng sao
T6-T7
-Demo chức
năng trên web
-Chức năng giao diện web:
1 Đăng nhập, đăng xuất
2 Nhận giá trị nhiệt độ, độ ẩm
3 Xuất giá trị đo được ra bảng excel
4 Các ngưỡng nhiệt độ có thể cập nhật từ web-Demo web
T8-T10
- Mô hình chung,
sơ đồ kiến trúc
-Hoàn thiện kế hoạch và các mô hình hệ thống
T10
Trang 14-Thiết kế mạch
PCB
-Mạch PCB nhỏ gọn
-Chạy đúng chức năng
Chọn và mua linh
kiện cho device
Cảm biến nhiệt
độ LM35-module esp8266
- module cc2530
T13- T14
Lập trình - Lập trình truyền
dữ liệu từ cảm biến qua gateway lên server
T20
Trang 151.6 Tự đánh giá đóng góp của từng thành viên
Người thực hiện Tỉ lệ Vấn đề đã giải quyết được
Phạm Thế Anh 33% Lập trình endnote, tìm hiểu, tính toán thông số và
tổng hợp kiến thức phần cứng, làm powerpointNguyễn Duy Đạt 33% Tìm hiểu giao thức MQTT, giao thức HTTP, lập trình
server và cảnh báo ngưỡngBùi Văn Nguyên 33% Lập trình gateway, tìm hiểu phần mềm và công nghệ
truyền thông RF wifi, thuyết trình
Trang 16CHƯƠNG 2 TÌM HIỂU CHUNG VÀ LỰA CHỌN GIẢI PHÁP 2.1 Tìm hiểu chung
2.1.1 Tìm hiểu về Smarthome và dự án liên quan
- Nhà thông minh (tiếng Anh: home automation, domotics, smart home hoặcIntellihome) là kiểu nhà được lắp đặt các thiết bị điện, điện tử có thể được điềukhiển hoặc tự động hoá hoặc bán tự động Thay thế con người trong thực hiện mộthoặc một số thao tác quản lý, điều khiển Hệ thống điện tử này giao tiếp với ngườidùng thông qua bảng điện tử đặt trong nhà, ứng dụng trên điện thoại di động, máytính bảng hoặc một giao diện web (Theo Wikipedia)
- Trong một căn nhà thông minh hay Smarthome, mọi nơi sẽ được kiểm soátbằng các thiết bị điện tử Chúng sẽ sử dụng các cách giao tiếp riêng đề hiểu nhaunhư: Bluetooth, Zigbee, Z-Wave, Wifi, Matter, KNX, … Và người điều khiển sẽ làbạn qua chính chiếc điện thoại hay giọng nói
- Chức năng của SmartHome: Sử dụng công nghệ trong nhà, bạn có thể kiểmsoát và xem những gì đang diễn ra trong nhà của mình Ngay cả khi bạn không ở
đó sử dụng điện thoại thông minh, máy tính bảng hoặc đôi khi là máy tính Chẳnghạn, nếu bạn có con nhỏ ở nhà, bạn có thể biết được mọi hoạt động của chúng
Trang 17Ví dụ: Ứng dụng nhà thông minh của LUMI
Chiếu sáng thông minh của Lumi
Giải pháp chiếu sáng thông minh của Lumi cho phép điều khiển, bật/ tắt, hẹngiờ, cài đặt ngữ cảnh với hệ thống đèn điện trong nhà thông minh qua Smartphonehoặc giọng nói Hệ thống không yêu cầu lắp đặt bóng đèn thông minh, giúp bạn tiếtkiệm chi phí lắp đặt và bảo dưỡng
Điều khiển từ xa qua smartphone
Không cần bật/ tắt trực tiếp tại công tắc, bạn có thể dễ dàng điều khiển hệthống đèn trong nhà từ bất kỳ đâu thông qua Smartphone:
-Từ trong phòng ngủ bật đèn ngoài sân, hành lang, sân thượng
-Khi đi công tác, du lịch nước ngoài vẫn có thể theo dõi, điều chỉnh đèn điện trongnhà
-Tích hợp vào hệ sinh thái Apple, điều khiển hệ thống đèn trong nhà qua iPhone,iPad, Apple Watch…
Điều khiển bằng giọng nói
Dễ dàng bật/tắt đèn bằng giọng nói mà không cần phải mở ứng dụng LumiLife trên điện thoại Hiện nay Lumi đã tích hợp thành công 3 trợ lý ảo Siri, GoogleAssistant và Alexa vào hệ sinh thái Nếu muốn bật/ tắt đèn, bạn chỉ cần ra lệnh chocác trợ lý ảo:
“Hey Siri! Turn on living room light”
“Ok Google! Turn on corridor light”
“Alexa! Turn on kitchen light”
2.2 Công nghệ truyền thông không dây Wifi
- Wifi là viết tắt của Wireless Fidelity được hiểu là sử dụng sóng vô tuyến để truyền tín hiệu Loại sóng này có khả năng kết nối với mạng khác hay với máy tính bằng sóng vô tuyến Nó tương tự như sóng điện thoại, truyền hình, radio Hầu như Các thiết bị điện tử như: máy tính, laptop, điện thoại di động, tablet…đều có thể truy cập wifi để truy cập mạng thỏa mãn nhu cầu của người dùng
- WiFi (Wireless Fidelity) là tên do Wi-Fi Alliance đặt cho gói tiêu chuẩn IEEE 802.11 802.11 xác định tiêu chuẩn cho mạng cục bộ không dây (WLAN) Các thông số kỹ thuật IEEE xác định một giao diện được sử dụng để gửi và nhận tín
Trang 18hiệu giữa thiết bị không dây và điểm cuối Wi Fi Nếu bạn muốn truy cập internet bằng Wi-Fi, bạn cũng cần kết nối với bộ định tuyến và modem Chúng tôi cũng phải kết nối modem với một ISP của nhà cung cấp dịch vụ Internet truy cập Internet Các giao thức được sử dụng rộng rãi trong dãi tần 2,4GHz là 802.11b, 802.11g, 802.11n và trong dãi tần 5GHz là 802.11a, 802.11n và gần đây là 802.11ac.
- Hiện nay, Việt Nam sử dụng tất cả các chuẩn WiFi kể trên cho từng lĩnh vực riêng biệt Nhưng nhìn chung, chuẩn phổ biến nhất là 802.11n nhờ sự linh hoạt ở cả
2 dải tần 2.4 GHz và 5 GHz
- Mục tiêu của tiêu chuẩn 802.11 là phát triển một lớp giao tiếp cho kết nối cục bộ không dây cho các thiết bị cố định và di động
Hình 1: Một vài thông số của các chuẩn Wifi 802.11
Tiêu chuẩn IEEE 802.11 bao gồm các chức năng đặc biệt sau:
+Nó cung cấp một kết nối không đồng bộ và có giới hạn thời gian
+Nó cũng hỗ trợ tính liên tục của dịch vụ ở nhiều khu vực thông qua hệ
Trang 19+Ngoài ra, cho phép nhiều mạng chồng chéo trong cùng một khu vực.+Cơ chế quản lý thiết bị đầu cuối "ẩn".
+Ngoài ra các tùy chọn để hỗ trợ các dịch vụ có thời hạn
+Điều khoản để xử lý quyền riêng tư và bảo mật truy cập
Cách hoạt động của Wi-Fi
- WiFi hoạt động dựa trên bộ định tuyến (router hay bộ phát WiFi), router có tác dụng chuyển kết nối hữu tuyến sang tín hiệu vô tuyến và gửi tín hiệu đi
Sau đó, adapter (bộ chuyển tín hiệu không dây) được cài đặt sẵn trên các thiết bị thông minh sẽ nhận tín hiệu này, giải mã và cho phép người dùng truy cập internet
Ưu nhược điểm của Wifi
- Ưu điểm của kết nối Wifi là tính tiện dụng, và đơn giản gọn nhẹ so với kết nối trực tiếp bằng cable truyền thống qua cổng RJ45 Người sử dụng có thể truy cập ở bất cứ vị trí nào trong vùng bán kính phủ sóng mà tại đó Router Wifi làm trung tâm Ưu điểm thứ hai của mạng sử dụng Wifi là dễ dàng sửa đổi và nâng cấp, người
sử dụng có thể tăng băng thông truy cập, tăng số lượng người sử dụng mà không cần nâng cấp thêm Router hay dây cắm như các kết nối bằng dây vật lý Tính thuậntiện: người truy cập có thể duy trì kết nối kể cả khi đang di chuyển, một ví dụ cụ thể là các Router Wifi đặc lắp trên các xe khách đường dài Bên cạnh đó, tính bảo mật của mạng Wifi tương đối cao
Nhược điểm của mạng Wifi:
- Bên cạnh những ưu điểm, mạng Wifi cũng tồn tại nhiều nhược điểm chưa thể khắc phục như: phạm vi kết nối của mạng Wifi tới thiết bị có giới hạn, đi càng xa router kết nối càng yếu dần đi Giải pháp cho vấn đề này là trang bị thêm các Repeater hoặc Access point Tuy nhiên, gặp nhiều khó khăn do giá thành cao Nhược điểm tiếp theo của mạng Wifi là về vấn đề băng thông, càng nhiều người kết nối vào mạng thì tốc độ truy cập giảm rõ rệt
Trang 202.3 Tìm hiểu về giao thức MQTT và HTTP
2.3.1Giao thức MQTT:
- MQTT (Message Queuing Telemetry Transport) là giao thức truyền thông điệp (message) theo mô hình publish/subscribe (cung cấp / thuê bao), được sử dụng cho các thiết bị IoT với băng thông thấp, độ tin cậy cao và khả năng được sử dụng trong mạng lưới không ổn định Nó dựa trên một Broker (tạm dịch là “Máy chủ môi giới”) “nhẹ” (khá ít xử lý) và được thiết kế có tính mở (tức là không đặc trưng cho ứng dụng cụ thể nào), đơn giản và dễ cài đặt
- MQTT là lựa chọn lý tưởng trong các môi trường như:
+Những nơi mà giá mạng viễn thông đắt đỏ hoặc băng thông thấp hay thiếu tin cậy
+Khi chạy trên thiết bị nhúng bị giới hạn về tài nguyên tốc độ và bộ nhớ.+Bởi vì giao thức này sử dụng băng thông thấp trong môi trường có độ trễcao nên nó là một giao thức lý tưởng cho các ứng dụng M2M (Machine toMachine)
+MQTT cũng là giao thức được sử dụng trong Facebook Messenger
-Vị trí của MQTT trong mô hình IoT
+Một số ưu điểm nổi bật của MQTT như: băng thông thấp, độ tin cậy cao
và có thể sử dụng ngay cả khi hệ thống mạng không ổn định, tốn rất ít byte cho việc kết nối với server và connection có thể giữ trạng thái open xuyên suốt, có thể kết nối nhiều thiết bị (MQTT client) thông qua một MQTT server (broker) Bởi vì giao thức này sử dụng băng thông thấp trong môi trường có độ trễ cao nên nó là một giao thức lý tưởng cho các ứng dụng IoT
Trang 21- Ưu điểm của MQTT
+Với những tính năng, đặc điểm nổi bật trên, MQTT mang lại nhiều lợi ích nhất là trong hệ thống SCADA (Supervisory Control And Data Acquisition) khi truy cập dữ liệu IoT
+Truyền thông tin hiệu quả hơn
+Tăng khả năng mở rộng
+Giảm đáng kể tiêu thụ băng thông mạng
+Rất phù hợp cho điều khiển và do thám
+Tối đa hóa băng thông có sẵn
-Cấu trúc cơ bản của HTTP:
+Qua sơ đồ bên dưới, các bạn sẽ thấy được cấu trúc khá đơn giản của 1 ứng dụngweb và miêu tả cụ thể vị trí của HTTP là gì
Trang 22-HTTP còn là 1 giao thức Yêu cầu – Phản hồi dựa trên cấu trúc Client – Server Client và Server giao tiếp với nhau bằng cách trao đổi các message độc lập (trái ngược với 1 luồng dữ liệu) Các message được gửi bởi client, thông thường là 1 trình duyệt web, được gọi là các yêu cầu và message được gửi bởi server như 1
sự trả lời, được gọi là phản hồi
-Giao thức HTTPS sử dụng phương thức mã hóa (encryption) để đảm bảo các thông điệp trao đổi giữa máy khách và máy chủ không bị kẻ thứ ba (hackers) đọc được
2.4 Vi điều khiển ESP32
ESP8266 là một mạch vi điều khiển có thể giúp chúng ta điều khiển các thiết bị điện tử.Thêm vào đó nó được tích hợp wifi 2.4GHz có thể dùng cho lập trình
Trang 23Hình 4.2: Node MCU8266
NodeMCU được phát triển dựa trên Chip WiFi ESP8266EX bên trong Module ESP-12E dễ dàng kết nối WiFi với một vài thao tác.Board còn tích hợp IC CP2102,giúp dễ dàng giao tiếp với máy tính thông qua Micro USB để thao tác với board
Và có sẳn nút nhấn, led để tiện qua quá trình học, nghiên cứu
Với kích thước nhỏ gọn, linh hoạt board dễ dàng liên kết với các thiết bị ngoại vi
để tạo thành project, sản phẩm mẫu một cách nhanh chóng
Thông số kỹ thuật:
• 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 cả các chân I/O đều có Interrupt/PWM/I2C/One-wire, trừ chân đo D0)
• Số chân Analog Input: 1 (điện áp vào tối đa 3.3V)