-Khóa cửa sử dụng mật khẩu , hoặc vân tay để mở Phòng bếp -Giám sát nhiệt độ và độ ẩm của phòng hiển thị trên app -Cảnh báo báo cháy gửi đến điện thoại của chủ nhà -Điều khiển ánh sáng p
Trang 1TRƯỜNG ĐIỆN – ĐIỆN TỬ
BÁO CÁO CUỐI KỲ
MẠNG CẢM BIẾN ĐO NHIỆT ĐỘ MÔI
TRƯỜNG
Gi ng viên h ả ướ ng dẫẫn: PGS.TS
B môn: ộ KỸỸ THU T ĐO VÀ TIN H C CÔNG NGHI PẬ Ọ Ệ
Sinh viên th c hi n: ự ệ Nguyễễn Thành Đ t -20191738ạ
Vũ Hoàng Dương -20191796
HÀ NỘI, 5/2023
Trang 2Yêu cầu của dự án
Ỹễu cầầu Ch c năng, Thông sôố, ứ M c đ u tễn ứ ộ ư Thiễốt kễố các thiễốt b trong h ị ệ
thôống
Có th gi l p các tn hi u ể ả ậ ệ
c m biễốn, thay thễố các c ả ơ cầốu chầốp hành băầng LED
1
Khi mầốt kễốt nôối internet thì
b điễầu khi n trung tầm cầần ộ ể
ho t đ ng theo m t sôố k ch ạ ộ ộ ị
b n ả
+ nhi t đ sần v ệ ộ ườ n cao quá
ng ưỡ ng thì b t b m ậ ơ + nhi t đ trong phòng quá ệ ộ cao thì tăốt căốm ổ
1
Trang 3Giới thiệu thành viên của dự án( nh) ả H và tễn: ọ Nguyễễn Thành Đ t ạ
MSSV: 20191738
Ph trách công vi c ụ ệ ( nh) ả H và tễn: ọ Vũ Hoàng D ươ ng
MSSV: 20191796
Ph trách công vi c ụ ệ
Trang 4Kế 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úTìm hiểu về các bài toán
liên quan
Báo cáo tổng quan, đánh giá
T1-T5Lên phương án sơ bộ Sơ đồ khối chức năng,
yêu cầu,…
T5-T10Triển khai và thử nghiệm -Lập trình và xây dựng
chương trình đúng với yêu cầu của dự án
-Kiểm tra các tính năng
T10-T15
Hoàn thiện sản phẩm và
Trang 5Kế hoạch và nội dung thực hiện của từng thành viênNguyễễn Thành Đ t ạ
N i dung ộ Kễốt qu cầần đ t ả ạ Th i gian th c ờ ự
hi n (theo tuầần) ệ
Ghi chú Phần tch yễu cầầu và
T10
Tìm hiểu giao thức
mạng HTTP,CoAp
Hiểu giao thức HTTP,CoAP cấu trúc giao thức , cấu trúc bản tin ,báo cáo bản wold
điễầu khi n máy b m ể ơ
-Máy b m điễầu khi n ơ ể
t đ ng ư ộ -Có kho ng th i gian ả ờ
b m tôối đa tránh b m ơ ơ quá lầu
T14
Lập trình và kiểm
tra tính năng điều
khiển máy bơm từ
Trang 6Hoàn thi n báo cáo ệ
và Demo
Trang 7Tự đá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 ) ể ơ ở ỷ ệ Nguyễễn Thành Đ t ạ 50% Xầy d ng b điễầu khi n trung tầm, h thôống ự ộ ể ệ
t ướ i cầy ngoài nhà s d ng giao th c CoAP ử ụ ứ
Vũ Hoàng D ươ ng 50% Xầy d ng web server/ app local h thôống điễầu ự ệ
khi n t xa, h thôống điễầu khi n trong nhà s ể ừ ệ ể ử
d ng giao th c MQTT ụ ứ
Trang 8NỘI DUNG THỰC HIỆN
Trang 9- Không tham d : …… Lý do:… ự
Nội dung cuộc họp:
- Không tham d : …… Lý do:… ự
Nội dung cuộc họp:
- Không tham d : …… Lý do:… ự
Nội dung cuộc họp:
Trang 10Phân tích các yêu cầu của dự án
Trang 11Chương 1: Phân tích yêu cầu của dự án
1 Chức năng nhà thông minh
1.1 Mô tả đối tượng nhà thông minh
Trang 12-Khóa cửa sử dụng mật khẩu , hoặc vân tay để mở
Phòng bếp -Giám sát nhiệt độ và độ ẩm của phòng hiển thị trên app
-Cảnh báo báo cháy gửi đến điện thoại của chủ nhà
-Điều khiển ánh sáng phòng bếp
Phòng ngủ -Giám sát nhiệt độ và độ ẩm của phòng hiển thị trên app
-Điều khiển nhiệt độ điều hòa qua điện thoại
-Điều khiển rèm của phòng có thể hẹn giờ đóng mở
Phòng tắm -Điều khiển bật tắt và theo dõi nhiệt độ bình nóng lạnh
-Giám sát nhiệt độ và độ ẩm của phòng
Vườn -Điều khiển bật tắt máy bơm
-giám sát nhiệt độ, độ ẩm đất
-tưới cây tự động hoặc điều khiển
1.3 Kiến trúc tổng quan hệ thống
Với mục đích điều khiển, giám sát và lưu trữ dữ liệu nhóm đã tham khảo
và đưa ra kiến trúc như sau:
Trang 13Hình 2 Kiến trúc tổng quanTrong các hệ thống nhà thông minh truyền thống, kiến trúc phổ biến là tất
cả các thành phần trong mạng của toà nhà được kết nối với một gateway hoạtđộng như một bộ cung cấp dịch vụ đến người dùng Từ gateway này, tất cả cácthiết bị và thành phần khác sẽ được điều khiển bởi người dùng và tất cả các giaothức để điều hành các thiết bị và dụng cụ của căn nhà sẽ được thực hiện thôngqua gateway này Hình vẽ dưới đây phác hoạ môt thiết kế truyền thống cho kiếntrúc nhà thông minh, trong đó gateway kiểm soát các thiết bị gia dụng khácđồng thời kết nối các thiết bị người dùng này với internet
Tìm hiểu các nghiên cứu, dự án liên quan
Chương 2: Tìm hiểu các nghiên cứu, dự án liên quan
Trang 14Lựa chọn giải pháp và lên phương án thiết kế
Trang 15Chương 3: Lựa chọn giải pháp và lên phương án thiết kế
Trang 16Hình 3 Cảm biến DHT11Thông số:
- Khoảng đo: 0-50°C
- Giao tiếp theo chuẩn 1 Wire
- Sai số :
- Điện áp hoạt động từ 3-5V
b Các node, gateway và broker
Các node và gateway chúng em sẽ sử dụng kit vi điều khiển ESP32, vì nóphổ biến trong việc lập trình truyền thông, có nhiều nguồn hỗ trợ việc lập trình,giá thành rẻ, dễ tiếp cận
2Broker thì chúng em sẽ cho chạy trên 2 máy tính cá nhân
Hình 4 KIT ESP32 DEVKIT V1
Trang 17Thông số của ESP32:
- Bộ vi xử lý LX6 32-bit lõi đơn hoặc lõi kép với xung nhịp lên đến 240MHz
- 520 KB SRAM, 448 KB ROM và 16 KB SRAM RTC
- Hỗ trợ kết nối Wi-Fi 802.11 b / g / n với tốc độ lên đến 150 Mbps
- Hỗ trợ cho cả thông số kỹ thuật Bluetooth v4.2 và BLE cổ điển
- 34 GPIO có thể lập trình
- 18 kênh SAR ADC 12 bit và 2 kênh DAC 8 bit
- Kết nối nối tiếp bao gồm 4 x SPI, 2 x I2C, 2 x I2S, 3 x UART
- Ethernet MAC cho giao tiếp mạng LAN vật lý (yêu cầu PHY bên ngoài)
- 1 bộ điều khiển host cho SD / SDIO / MMC và 1 bộ điều khiển slave choSDIO / SPI
- Động cơ PWM và 16 kênh LED PWM
- Khởi động an toàn và mã hóa Flash
- Tăng tốc phần cứng mật mã cho AES, Hash (SHA-2), RSA, ECC vàRNG
Ngoài ra, chúng em sẽ sử dụng đèn Led để thay thế cho đèn chiếu sáng
3.2.3 Lựa chọn phần mềm
a Cloud
Nhóm chúng em lựa chọn Cloud Blynk
Blynk là nền tảng đám mây, tổ hợp gồm nhiều thành phần giúp bạn tạo lênmột dự án Internet of Things (IoT) hoàn chỉnh, bao gồm: Code, App,Server
Hình 5 Nền tảng Blynk Cloud
Trang 18Tính năng:
- Hỗ trợ kết nối các thiết bị thông qua dây Mạng, Wifi, GSM, 2G, 3G,LTE,
- Hỗ trợ chạy trên nhiều nên tảng: C++, JS, Python, HTTP
- Blynk Cloud là mã nguồn mở, cho bạn tự do phát triển Có thể chạy trênnền máy chủ của bạn, máy chủ cục bộ, máy chủ doanh nghiệp, hoặc ngaytrên máy tính của bạn
- Blynk Server có thể cài đặt và sử dụng ngay trong vòng vài phút Có thểquản lý, điều khiển hàng tỷ yêu cầu từ các thiết bị của bạn
- App Blynk có sẵn trên cả 2 kho ứng dụng Goolge Play Store và AppleApp Store App Blynk điều khiển thông qua các Widget, tiện lợi, dễ càiđặt và sử dụng
Nguyên lí
- Blynk Library sẽ được upload vào các mạch điều khiển như Arduino,Esp8266 trên các mạch có thể kết nối với nhiều cảm biến, thiết bị, Vàđược kết nối với Blynk Server thông qua Wifi, Ethernet, 3G, LTE
- Blynk App cài đặt trên điện thoại được kết nối tới Blynk Server thôngquan Wifi hoặc LTE Sẽ nhận các thông số mà các mạch điều khiển gửilên Server, đồng thời cũng gửi các lệnh, tín hiệu điều khiên lên Server vàgửi tới các mạch điều khiển
b.Broker
Broker MQTT
Chúng em lựa chọn Mosquitto làm broker
Hình 6 Nguyên lý hoạt động của Blynk Cloud
Trang 19Mosquitto là một MQTT Broker mã nguồn mở cho phép thiết bị truyềnnhận dữ liệu theo giao thức MQTT version 5.0, 3.1.1 và 3.1 – Một giao thứcnhanh, nhẹ theo mô hình publish/subscribe được sử dụng rất nhiều trong lĩnhvực Internet of Things Mosquitto cung cấp một thư viện viết bằng ngôn ngữ C
để triển khai các MQTT Client và có thể dễ dàng sử dụng bằng dòng lệnh:
“mosquitto_pub” và “mosquitto_sub”
Ưu điểm:
o Ưu điểm nổi bật của Mosquitto là tốc độ truyền nhận và xử lí dữliệu nhanh, độ ổn định cao, được sử dụng rộng rãi và phù hợp vớinhững ứng dụng embedded
o Mosquitto rất nhẹ và phù hợp để sử dụng trên tất cả các thiết bị
o Ngoài ra, Mosquitto cũng được hỗ trợ các giao thức TLS/SSL (cácgiao thức nhằm xác thực server và client, mã hóa các message đểbảo mật dữ liệu)
Nhược điểm:
o Một số nhược điểm của mosquitto là khó thiết kế khi làm nhữngứng dụng lớn và ít phương thức xác thực thiết bị nên khả năng bảomật vẫn chưa tối ưu
Broker CoAP
Libcoap (libcoap) là một thư viện mã nguồn mở được viết bằng ngônngữ C, cung cấp sự phát triển khai báo giao thức CoAP (Giao thứcứng dụng bị ràng buộc) CoAP là một giao thức truyền thông cực kỳhạn chế sử dụng cho các thiết bị IoT có tài nguyên hạn chế, với mụctiêu cung cấp giao tiếp mạnh mẽ và tiết kiệm năng lượng
Trang 20o Linh hoạt và dễ dàng tích hợp: Libcoap được viết bằng ngônngữ C và có mã nguồn mở, cho phép bạn dễ dàng tùy chỉnh vàtích hợp vào các ứng dụng IoT của mình Nó có sẵn trên nhiềunền tảng và hệ điều hành khác nhau
Nhược điểm
o Thư viện cấp thấp: Libcoap là một thư viện cấp thấp, yêucầu người phát triển phải có kiến thức về giao thức CoAP vàngôn ngữ lập trình C để sử dụng hiệu quả Điều này có thể tạo ramột ngưỡng đầu vào cao cho những người mới bắt đầu
o Hạn chế trong việc mở rộng: Do giới hạn về quy mô vàphạm vi, libcoap có thể gặp hạn chế trong việc mở rộng và mởrộng cho các ứng dụng IoT phức tạp và lớn hơn
Trang 21Hình 8 Ứng dụng MQTT DASH
d.Phần mềm lập trình
Nhóm chúng em lựa chọn phần mềm lập trình là Arduino IDE
Hình 9 Arduino IDEArduino IDE là một phần mềm mã nguồn mở chủ yếu được sử dụng để viết và biên dịch mã vào module Arduino
Đây là một phần mềm Arduino chính thức, giúp cho việc biên dịch mã trởnên dễ dàng mà ngay cả một người bình thường không có kiến thức kỹ thuật cũng có thể làm được
Nó có các phiên bản cho các hệ điều hành như MAC, Windows, Linux vàchạy trên nền tảng Java đi kèm với các chức năng và lệnh có sẵn đóng vai trò quan trọng để gỡ lỗi, chỉnh sửa và biên dịch mã trong môi trường
Có rất nhiều các module Arduino như Arduino Uno, Arduino Mega, Arduino Leonardo, Arduino Micro và nhiều module khác
Trang 22Mỗi module chứa một bộ vi điều khiển trên bo mạch được lập trình và chấp nhận thông tin dưới dạng mã.
Mã chính, còn được gọi là sketch, được tạo trên nền tảng IDE sẽ tạo ra một file Hex, sau đó được chuyển và tải lên trong bộ điều khiển trên bo.Môi trường IDE chủ yếu chứa hai phần cơ bản: Trình chỉnh sửa và Trình biên dịch, phần đầu sử dụng để viết mã được yêu cầu và phần sau được sử dụng
để biên dịch và tải mã lên module Arduino
Môi trường này hỗ trợ cả ngôn ngữ C và C ++
3.3 Các đường truyền dữ liệu
a Khi có Internet
Hình 10 Đường truyền dữ liệu mô hình khi có Internet
Dữ liệu gửi lên
Các node kết nối với Broker thông qua địa chỉ IP mà Broker cung cấp
Dữ liệu cảm biến từ các sensor publish lên broker và chuyển đến gateway
Từ gateway, dữ liệu chuyển đến cloud và đồng bộ dữ liệu lên app mobile
Dữ liệu gửi xuống
Tín hiệu điều khiển thông qua mobile app đồng bộ với cloud gửi xuống gateway
Từ gateway qua trạm chuyển Broker xuống Device để điều khiển
Trang 23b Khi không có Internet
Hình 11 Đường truyền dữ liệu mô hình khi mất Internet
Các node kết nối với Broker thông qua địa chỉ IP mà Broker cung cấp
Dữ liệu cảm biến từ các sensor publish lên broker và chuyển đến gateway
Thông qua App Local MQTT Dash, tín hiệu điều khiển gửi xuống Broker và publish xuống cho Device
Thử nghiệm và Đánh giá
Trang 24Hoàn thiện sản phẩm
Trang 25Kế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) ữ ổ ớ ạ
Tr ng thái (hoàn thành, ạ
ch hoàn thành, không ư
th c hi n) và kễốt qu đã ự ệ ả
đ t đ ạ ượ c so v i d kiễốn ớ ự