Nội dung vướng mắc - Liên kết mô hình nhận dạng giọng nói với chức năng điều khiển trên webserver 1.1.4 Nội dung tiếp theo - Hệ thống camera streaming tự động gửi ảnh về chủ nhà khi k
Trang 1-BÁO CÁO ĐỀ TÀI
THIẾT KẾ MÔ HÌNH NHÀ THÔNG MINH
Giáo viên hướng dẫn: PGS.TS Nguyễn Quốc Cường Nhóm sinh viên thực hiện:
Phạm Hoàng MSSV: 20170761 Trần Việt Hoàng MSSV: 20172571 Dương Đức Hiếu MSSV: 20172547 Lớp: CTTN – Điều khiển tự động K62
Hà Nội, 1/2021
Trang 22.1 Giới thiệu về Smart Home 13 2.2 Chức năng mô hình SmartHome thực hiện 14
4.3.9 Nhận diện giọng nói (Python code)
Trang 35.1.1 Vi điều khiển ESP8266
5.1.2 Cảm biết nhiệt độ & độ ẩm DHT11
5.1.3 Màn hình LCD 1602
5.1.4 LED đỏ, LED công suất và đèn sợi đốt
5.1.5 Cảm biến chuyển động PIR
Trang 4CHƯƠNG 1 NHẬT KÝ
1.1 Tuần 1
Phân chia công việc
- Việt Hoàng + Đức Hiếu : Đang trong quá trình làm mô hình nhà
+ Chất liệu: bìa catton + 2 phòng:
+ 1 cửa (dùng đèn để báo hiệu)
- Phạm Hoàng : Xong điều khiển đèn led qua webserver (code bằng php), giao thức truyền thông HTTP (Local)
- Mô hình tổng thể
Trang 5- Giao diện website
- Chạy thực tế
Trang 6- Xong mô hình nhận dạng giọng nói (speech to text)
Trang 71.1.3 Nội dung vướng mắc
- Liên kết mô hình nhận dạng giọng nói với chức năng điều khiển trên webserver
1.1.4 Nội dung tiếp theo
- Hệ thống camera streaming tự động gửi ảnh về chủ nhà khi khách đến nhà capture
- Hệ thống điều khiển bóng đèn, cửa, quạt bằng giọng nói
- Hệ thống đọc cảm biến và hiển thị lên server
- Hệ thống chống trộm phát hiện tia hồng ngoại khi được kích hoạt
1.2 Tuần 2
Phân chia công việc
- Các linh kiện cần thiết (Phạm Hoàng+ Việt Hoàng)
+ Màn hình LCD16x2 + Cảm biến: DHT11
+ Cảm biến hồng ngoại thụ động PIR (HC - SR501)
- Mô hình Smart Home (Dương Đức Hiếu)
+ Chất liệu: bìa Catton + Kích thước: 40 cm x 60 cm (2 phòng)
1.3 Tuần 3
1.3.2 Phân chia công việc
- Phạm Hoàng: Hoàn thành code web server, khi người dùng login thành công thì đèn tự động bật, khi logout thì đèn tự động tắt Khi login thành công hệ thống, người sử dụng có thể điều khiển khiển đèn, quạt
- Dương Đức Hiếu: thử lắp linh kiện demo Smart Home bằng bìa catton + viết báo cáo
- Việt Hoàng: đọc được cảm biến DHT11 và cảm biến PIR, lập trình và hiển thị thành công lên màn hình LCD16x2
1.3.3 Nội dung đã thực hiện
- Cảm biến DHT11: DHT11 Là cảm biến rất thông dụng hiện nay vì chi phí
rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1-wire (giao tiếp digital 1-wire truyền dữ liệu duy nhất) Cảm biến được tích hợp bộ tiền xử lý tín hiệu giúp
dữ liệu nhận về được chính xác mà không cần phải qua bất kỳ tính toán nào
Trang 8- LCD text 1602 một sản phẩm quen thuộc với những người mới học và muốn thực hiện các dự án về điện tử, lập trình Với khả hiển thị 2 dòng với mỗi dòng 16 ký tự, đồng thời có rất nhiều ví dụ mẫu được cộng đồng Arduino xây dựng sẵn sẽ giúp người mới sử dụng làm quen nhanh hơn cũng như tiết kiệm được thời gian trong việc phát triển ứng dụng của mình
-
Trang 9- Cảm biến PIR là bộ cảm biến thụ động dùng nguồn kích thích là tia hồng ngoại Tia hồng ngoại (IR) chính là các tia nhiệt phát ra từ các vật thể nóng Trong các cơ thể sống, trong chúng ta luôn có thân nhiệt (thông thường là
ở 37 độ C), và từ cơ thể chúng ta sẽ luôn phát ra các tia nhiệt, hay còn gọi
là các tia hồng ngoại, người ta sẽ dùng một tế bào điện để chuyển đổi tia nhiệt ra dạng tín hiệu điện và nhờ đó mà có thể làm ra cảm biến phát hiện các vật thể nóng đang chuyển động Cảm biến này gọi là thụ động vì nó không dùng nguồn nhiệt tự phát (làm nguồn tích cực, hay chủ động) mà chỉ phụ thuộc vào các nguồn tha nhiệt, đó là thân nhiệt của các thực thể khác, như con người con vật…
- Vi điều khiển ESP 8266
+ Kit RF thu phát Wifi ESP8266 NodeMCU Lua là kit phát triển dựa trên nền chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt
là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code
+ Dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liên quan đến IoT
Trang 10- Chức năng điều khiển đèn
- Thử nghiệm : Hệ thống điều khiển đèn, quạt qua webserver hoạt động chính xác
Trang 11- Hệ thống đọc cảm biến DHT11 và hiển thị lên màn hình LCD16x2 hoạt động chính xác
- Webserver streaming camera hoạt động chính xác
- Model ASR hoạt động chính xác
Trang 121.3.4 Nội dung vướng mắc
- Liên kết model ASR với webserver
- Liên kết chức năng capture ảnh với webserver
- Thêm các khối chức năng điều khiển nhiệt độ
1.4 Tuần 4
1.4.2 Phân chia công việc
- Phạm Hoàng: Hoàn thành code streaming camera và capture
- Dương Đức Hiếu: hoàn thành mô hình nhà + viết báo cáo
- Việt Hoàng: đọc được cảm biến PIR và hiển thị
1.4.3 Nội dung đã thực hiện
- Hoàn thiện các chức năng của phòng
- Giải đáp được các vấn đề của tuần trước
1.4.4 Nội dung tiếp theo
- Hoàn thiện nốt các phòng còn lại và mô hình nhà thông minh
- Xem xét bổ sung các chức năng
• Đánh giá công việc thành viên:
- Phạm Hoàng: (Nhóm trưởng) 40%
- Trần Việt Hoàng: 30%
- Dương Đức Hiếu: 30%
Trang 13CHƯƠNG 2 NHIỆM VỤ THIẾT KẾ
2.1 Giới thiệu về Smart Home
a) Tổng quan về Smart Home
SmartHome (nhà thông minh) là kiểu nhà được lắp đặt các thiết bị điện, điện tử
có thể được điều khiển hoặc tự động hoá hoặc bán tự động, thay thế con người trong thực hiện một hoặ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ười dùng thông qua bảng điện tử đặt trong nhà, ứng dụng trên điện thoại di động, máy tính bảng hoặc một giao diện web Sự ra đời của nhà thông minh như một giải pháp thay thế hiện đại:
⚫ Smart TV - TV thông minh kết nối Internet, truy cập nội dung thông qua
các ứng dụng, chẳng hạn như video và âm nhạc theo yêu cầu Một số TV thông minh bao gồm nhận diện giọng nói hoặc cử chỉ
⚫ Ngoài khả năng điều khiển từ xa và tùy biến, các hệ thống chiếu sáng
thông minh có thể phát hiện khi nào có người ở trong phòng và điều chỉnh
ánh sáng nếu cần Bóng đèn thông minh cũng có thể tự điều chỉnh dựa trên ánh sáng ban ngày
⚫ Các bộ điều chỉnh nhiệt thông minh được tích hợp Wi-Fi, cho phép người
dùng lên lịch, theo dõi và điều khiển nhiệt độ trong nhà từ xa Các thiết bị này cũng học hành vi của chủ nhà và tự động sửa đổi thiết lập nhằm cung cấp cho người dùng sự thoải mái và hiệu quả tối đa Bộ điều chỉnh nhiệt thông minh cũng có thể báo cáo việc sử dụng năng lượng và nhắc nhở người dùng thay đổi bộ lọc
Trang 14⚫ Sử dụng khóa thông minh và dụng cụ mở cửa nhà để xe, người dùng có
thể cho phép hoặc từ chối mở cửa cho khách vào nhà Hơn nữa, khóa thông
minh cũng có thể phát hiện khi chủ nhà đang ở gần và mở khóa cho họ
⚫ Với camera quan sát thông minh, người dùng có thể theo dõi nhà của
mình khi di chuyển hoặc đi nghỉ mát Các cảm biến chuyển động thông
minh cũng có thể xác định sự khác biệt giữa chủ nhà, khách, thú cưng và
kẻ trộm để thông báo cho chính quyền nếu phát hiện hành vi đáng ngờ
⚫ Có thể tự động chăm sóc vật nuôi với hệ thống cho ăn đã được kết nối sẵn
Cây trồng trong nhà và cỏ cũng được tưới nước bằng bộ đếm thời gian đã
được kết nối
⚫ Các thiết bị nhà bếp đều có sẵn, bao gồm máy pha cà phê thông minh có
thể pha một tách cà phê thơm ngon ngay khi chuông báo thức của bạn reo
lên; tủ lạnh thông minh theo dõi ngày hết hạn, lên danh sách mua sắm hoặc
thậm chí tạo ra các công thức nấu ăn dựa trên các thành phần sẵn có; nồi
nấu và lò nướng bánh mỳ; trong phòng giặt có máy giặt và máy sấy
⚫ Các màn hình hệ thống hộ gia đình có thể cảm nhận được điện áp tăng vọt
và tắt thiết bị; nhận thấy đường ống nước bị hỏng hoặc ngắt các đường ống
và tắt nước để không bị tràn ra sàn
2.2 Chức năng mô hình Smart Home thực hiện
- Mở cửa bằng nhận dạng khuôn mặt (có sự can thiệp của chủ nhà)
- Hệ thống điều khiển mở cửa, bật đèn, bật quạt bằng giọng nói
- Hệ thống chống trộm khi được kích hoạt, phát hiện tia hồng ngoại khi có
người đến gần
- Hệ thống điều khiển nhiệt độ phòng ngủ
- Hiển thị các thông tin về nhiệt độ, độ ẩm lên web server
Trang 15CHƯƠNG 3 KỊCH BẢN SỬ DỤNG
3.1 Yêu cầu cho thiết kế
Giả sử chủ nhà là một thiếu gia sống một mình trong một biệt thự, ít có khách hay người ngoài vào nhà
3.1.1 Cửa tự động
- Khi có người đến, quét thẻ RFID (nếu đúng) để bật hệ thống nhận diện khuôn mặt, camera chụp một vài ảnh, xử lý và đưa ra thông báo: mở khóa cửa nếu là người nhà, không mở cửa nếu không phải người nhà
- GPS Enter thì thông báo “Welcome home” và bỏ qua chức năng RFID,
tiến hành nhận diện khuôn mặt
- GPS Exit thì tắt hết đèn
- (Ngoài ra có thể mở khóa cửa qua App nhưng khi đó cần nhập mật mã.)
- Giả sử cửa cứ đóng vào là khóa ngoài và chỉ khóa từ bên ngoài, bên trong
3.1.3 Nhiệt độ
- Điều chỉnh nhiệt độ trong phòng tăng lên theo tùy ý người sử dụng, mặc định là không hoạt động nếu người dùng không bật
3.1.4 Hiển thị thông tin nhiệt độ, độ ẩm
- Sử dụng màn hình LCD để liên tục hiển thị thông tin nhiệt độ, độ ẩm ngoài hiên nhà và trong nhà để người trong nhà được biết Hiển thị trên ứng dụng
3.1.5 Hệ thống đảm bảo an toàn
- Cảm biến phát hiện cháy và bật còi cũng như thông báo trên App
- Khi chủ nhà bật chế độ an ninh Security Mode, PIR đặt ở trong phòng khách sẽ được bật, nếu phát hiện chuyển động trong hoặc ngoài hiên nhà thì sẽ phát ra tiếng còi báo động, bật sáng đèn (với chế độ Auto Light được bật) và thông báo trên điện thoại
- Còi và đèn chỉ tắt khi người dùng sử dụng App (cần mật khẩu)
Trang 163.1.6 Giám sát, điều khiển từ xa
- Giả sử nhà đã có đầy đủ các công tắc thủ công và (trung tâm điều khiển Control Center)
- Điều khiển các chức năng thông qua ứng dụng điện thoại Blynk
- Điều khiển bằng giọng nói qua Google Assistance
3.1.7 Các kịch bản khác
- Người dùng có thể bật bình nước nóng từ xa khi muốn tắm hoặc theo giờ
đã định trước (minh họa bằng đèn LED)
- Người dùng đặt báo thức, chuông điện thoại sẽ kêu và máy pha cà phê tự động bật
- Người dùng có thể bật máy pha cà phê khi ngủ dậy (minh họa bằng đèn LED)
- Hiển thị nhiệt độ, độ ẩm bằng màn hình LCD16x2 (cả web server), để người
ở nhà và người ở xa được biết)
3.2.3 Hệ thống an ninh
- Khách bấm chuông, camera bật lên và quay lại mặt người đó, capture về web server để chủ nhà nhận diện Nếu là người quen thì chủ nhà sẽ bấm nút mở cửa trên web server, nếu không phải thì từ chối
- Chủ nhà có thể điều khiển các thiết bị bằng giọng nói (tiếng anh)
3.2.4 Giám sát, điều khiển từ xa
- Giả sử nhà đã có đầy đủ các công tắc thủ công và (trung tâm điều khiển Control Center)
- Điều khiển các chức năng thông qua ứng dụng điện thoại Blynk
- Điều khiển bằng giọng nói qua Google Assistance để bật đèn phòng
khách
3.2.5 Các thiết bị khác
- Dùng bật lửa thử cảm biến cháy
Trang 17CHƯƠNG 4 THIẾT KẾ 4.1 Thiết kế cơ khí
- Thiết kế tổng thể:
Gồm 1 tầng, 3 phòng với kích thước tương đương sau
Ngoài ra còn có các cơ cấu cơ khí khác:
o Cửa thông minh
o Đèn sợi đốt, đèn LED 3 chế độ, quạt,…
o Các loại cảm biến
- Cách thức tiến hành: Làm bằng bìa
4.2 Thiết kế các chức năng, hệ thống (hardware)
- Các dây nguồn 5V, 3.3V chạy quanh tường
- ESP8266-1 thứ nhất nằm ở phòng 1: Điều khiển toàn bộ hệ thống tầng 1,
truyền tín hiệu không dây PCA kết nối I2C (D1 – GPIO là SCL, D2 – GPIO
là SDA)
- ESP8266-2 thứ hai nằm ở tầng 2: Điều khiển toàn bộ hệ thống tầng 2,
truyền tín hiệu không dây
- LED 3 chế độ
- Quạt
-
-
Trang 184.3.3 Xuất xung PWM bằng PCA9865
- Thực hiện mô hình giữa kì
Trang 194.3.4 Cảm biến DHT11
- Sử dụng thư viện có sẵn của DHT11 để đọc nhiệt độ và độ ẩm của môi trường
4.3.5 1 – Wire
- Dùng 1 – Wire ở chế độ master – slave
- Trong đó ESP8266 là master còn DHT11 là slave
- Do chỉ dùng 1 dây để truyền dữ liệu nên việc truyền nhận có tốc độ thấp, phù hợp cho việc truyền nhận dữ liệu nhiệt độ, độ ẩm, không cần tốc độ cao
- Dùng cơ sở truyền nhận READ: ESP8266 sẽ kéo xuống 0 một khoảng A (1- 6 micro giây) sau đó delay một khoảng E (1-9 micro giây) rồi mới nhận giá trị DHT11 gửi về
Hình 0.1 Kết nối 1-Wire
Hình 0.2 Giao thức 1-Wire
Trang 20- Bus dữ liệu khi ở trạng thái chờ (khoảng thời gian không có dữ liệu trên đường truyền ) phải ở mức cao do vậy bus dữ liệu cần được kéo lên nguồn thông qua một điện trở Và DHT11 đã có sẵn trở kéo đó nên nhóm không cần thiết kế thêm trở để duy trì bus nữa
- Thư viện sử dụng: <DHT.h>
4.3.6 I2C
- Dùng I2C ở chế độ one master – multi slave
- Trong đó ESP8266 là master còn LCD16x2 và BMP180 là các slave
- Khi ESP8266 muốn giao tiếp với ngoại vi nào trên bus thì nó sẽ gửi 7 bit địa chỉ của thiết bị đó ngay sau xung START Byte đều tiên được gửi sẽ bao gồm 7 bit địa chỉ và một bit thứ 8 điều khiển hướng truyền
- Mỗi một ngoại vi sẽ có một địa chỉ riêng do nhà sản xuất quy định Riêng bit điều khiển hướng sẽ quy định chiều truyền dữ liệu (bit thứ 8 R/W trong byte đầu tiên) , ở đây, bằng “1” thì các byte theo sau byte đầu sẽ là dữ liệu gửi từ slave tới master (Sensors tới ESP ) và ngược lại là “0” (ESP tới LCD16x2)
- Thư viện sử dụng: <wire.h>
4.3.7 Truyền thông không dây và kết nối Internet
a) Kết nối ESP8266 và WiFi
- Để kết nối các thiết bị wireless hoặc có dây vào mạng nội bộ (LAN), ta cần
1 thiết bị gọi là Điểm truy cập (Access Point) Những thiết bị kết nối với Access Point được gọi là Station
- Để một Station có thể kết nối không dây vào Access Point thì có 2 thông số cần quan tâm
- SSID: tên của Access Point muốn kết nối đến
- Password: mật khẩu truy nhập Access Point
- ESP8266 có thể kết nối với các thiết bị khác thông qua mạng WiFi theo các chế độ:
+ Chế độ WiFi Station
Hình 0.3 Giao thức I2C
Trang 21+ Chế độ WiFi Access Point + Đồng thời cả 2 chế độ trên b) Cấu hình WiFi
- Sử dụng thư viện có sẵn cơ bản cho ESP8266
<ESP8266WiFi.h>
- Bên cạnh đó còn sủ dụng thư viện tự động lựa chọn WiFi có tốc độ tốt nhất
để kết nối
<ESP8266WiFiMulti.h>
4.3.8 Giao thức truyền thông MQTT
- MQTT Là một giao thức truyền tin theo mô hình publish/subcribe (xuất
bản/theo dõi) sử dụng băng thông thấp độ tin cậy cao và có kha năng hoạt động trong điều kiện đường truyền không ổn định
- Kiến trúc bậc cao của MQTT bao gồm 2 thành phần chính là Broker và Client Broker là trung tâm của mạng truyền tin MQTT, là điểm giao của tất
cả các kết nối trong client Broker có nhiệm vụ nhận message từ publisher, xếp các message đó theo hàng đợi sau đó chuyển chúng tới 1 địa chỉ cụ thể
- Client thì được chia thành 2 nhóm là Publisher và Subcriber Client chỉ làm
ít nhất 1 trong 2 việc là gửi các message lên 1 topic cụ thể hoặc subcribe 1 topic nào đó để nhận message từ topic này
- 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à 1 giao thức lý tưởng cho các ứng dụng M2M( Machine to Machine)
- Có rất nhiều thư viện đã được viết sẵn nhằm hỗ trợ cho việc lập trình MQTT được viết cho C, C ++, Go, Java, C #, PHP, Python, Node.js,
4.3.9 Nhận diện giọng nói (Python code)
CHƯƠNG 5 TRIỂN KHAI
Hình 0.4 Giao thức MQTT
Trang 225.1 Linh kiện, thiết bị
5.1.1 Vi điều khiển ESP8266
- Kit RF thu phát Wifi ESP8266 NodeMCU Lua là kit phát triển dựa trên nền chip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình biên dịch của Arduino để lập trình và nạp code
- Dùng cho các ứng dụng cần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liên quan đến IoT
Thông số kỹ thuật
- Phiên bản firmware: NodeMCU Lua
- Chip nạp: CP2102
- GPIO tương thích hoàn toàn với firmware Node MCU
- Cấp nguồn: 5VDC MicroUSB hoặc nguồn tự làm
- GIPO giao tiếp ở hiệu điện thế 3.3V
- Có Led báo trạng thái, nút Reset
- Tương thích hoàn toàn với trình biên dịch Arduino
- Kích thước: 25x50 mm
Trong dự án này, nhóm sử dụng 2 ESP8266 để điều khiển 2 tầng của
Smarthome