1 TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ MÔN HỌC ĐỒ ÁN 2 ĐỀ TÀI Mô Hình Nhà Thông Minh điều khiển bằng sóng WIFI Giảng Viên Hướng Dẫn Sinh Viên Mã Sinh Viên Cao thành Nghĩa Ngô Đức Thông Ngu[.]
Trang 1TRƯỜNG ĐẠI HỌC VINH VIỆN KỸ THUẬT VÀ CÔNG NGHỆ
MÔN HỌC
ĐỒ ÁN 2
ĐỀ TÀI: Mô Hình Nhà Thông Minh điều khiển bằng sóng WIFI
Giảng Viên Hướng Dẫn
Sinh Viên
Mã Sinh Viên
: Cao thành Nghĩa : Ngô Đức Thông : Nguyễn Hữu Sáng : Souksavanh Phommachan : Phansavanh Sengaloun
: 18575202070008 : 18575202070006 : 18575202074008 : 18575202074009
Nghệ An…tháng 06,năm 2022
Trang 2Mục Lục
LỜI NÓI ĐẦU 3
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 4
1 Lý do chọn đề tài 4
1 Phương tiện nghiên cứu 5
2 Yêu cầu đề tài 5
3 Mục tiêu đạt được 5
CHƯƠNG 2 : CHUẨN BỊ, GIỚI THIỆU CÁC LINH KIỆN VÀ PHẦM MỀN HỖ TRỢ 6
1 Chuẩn bị linh kiện 6
2 Giới thiệu linh kiện 6
a Giới thiệu về ESP8266 nodeMCU 6
b Mạch 4 Relay Opto 8
3 Các phần mền và trang web hôc trợ 9
a MIT App Inventor 9
b Phần mền Arduino IDE 11
c Firebase 13
Firebase Authentication 14
Firebase Authentication là chức năng xác thực người dùng 14
Firebase Cloud Storage 14
Firebase Cloud Function 14
Firebase Analytics 14
CHƯƠNG 3:TIẾN TRÌNH VÀ KẾT QUẢ ĐẠT ĐƯỢC 16
1 Tiến trình 16
1.1 Thiết kế App 16
1.2 Sơ đồ kết nối phần cứng 17
1.3 Mã nguồn 18
NHẬN XÉT 25
KẾT LUẬN 26
Trang 3LỜI NÓI ĐẦU
Ngày nay với sự phát triển của khoa học, công nghệ và kỹ thuật các thiết bị điện tử đang, đã được áp dụng trong hầu hết mọi lĩnh vực đời kinh tế, xã hội cũng như đời sống của con người hiện nay Theo với sự hiện đại và những kỹ thuật tiên tiến những phát minh về các thiết bị điện tử cũng đã và đang góp phần vào công cuộc
hiện đại hóa tự động hóa ghóp phần tạo sự tiện nghi, đơn giản và sang trọng cho
chúng ta
Vì vậy chúng em đã chọn đề tài Mô Hình Nhà Thông Minh điều khiển bằng
song wifi Được áp dụng nhiều trong các căn hộ sang trọng hoặc những người có nhu
cầu sử dụng trong hoạt động sản xuất cũng như sinh hoạt hàng ngày Đề tài còn được
áp dụng nhiều từ kiến thức chúng em học được cũng như tìm tòi được qua sự hướng dẫn của bạn bè và thầy cô Sau đây là trình bày về đề tài của chúng em cũng như quá trình hoàn thàm sản phẩm
Trang 4CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1 Lý do chọn đề tài
Mô hình ngôi nhà, căn hộ, công trình xây dựng được trang bị, được cài đặt sử dụng các thiết bị thông minh nhằm mục đích giúp cho ngôi nhà trở nên thông minh hơn
Có thể đáp ứng theo các ngữ cảnh thông minh một cách có chủ định theo thiết lập của chúng ta, có thể hoạt động một cách tự động hoặc bán tự động, và có thể thay thế con người thực hiện một hoặc một số thao tác quản lý, điều khiển nhất định nhà thông minh là sự kết nối có hệ thống của các thiết bị điện thông minh Giúp ngôi nhà trở nên thông minh hơn, có thể đáp ứng được các chức năng tự động hoặc bán tự động theo ý của người dung
Với rất nhiều những bạn sinh viên hiện nay,việc bỏ ra một số tiền kha khá để
có một thiết bị để điều khiển các thiết bị điện tử là một điều đáng để trăn trở Điển hình cho những thiết bị như vậy thì chúng ta có: Raspberry Pi,Alexa, v v Để có một con Raspberry Pi thì chúng ta có thể mất đến 50$, thậm chí 200-300$ cho một con Alexa
Vì vậy, hôm nay chúng tôi chọn đề tài Mô hình nhà thông Minh sử dụng thiết
bị sẽ đáp ứng được những yêu cầu trên và giá thành phù hợp với các bạn sinh viên- ESP8266 nodeMCU với giá thành trên thị trường có lúc chỉ một trăm nghìn
Hệ thống điện tử này có thể 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, thậm chí bạn có thể ra lệnh điều khiển các thiết bị bằng giọng nói
Nhà thông minh, các đồ dùng & thiết bị điện trong nhà từ phòng ngủ, phòng khách đến toilet đều có thể gắn các bộ điều khiển điện tử có thể kết nối
Trang 5với Internet và điện thoại di động, cho phép chủ nhân điều khiển vật dụng từ xa hoặc lập trình cho thiết bị ở nhà hoạt động theo lịch
1 Phương tiện nghiên cứu
+ MIT App Inventor + Firebase
2 Yêu cầu đề tài
3 Mục tiêu đạt được
− Giao tiếp được với mô hình nhà
− Hiển thị được kết quả khi giao tiếp với các thiết bị thông qua App trên điện thoại
4 Phân công nhiệm vụ thành viên nhóm
Bảng 1: phân công nhiệm vụ
1 Ngô Đức Thông 18575202070006 Tìm hiểu tài liểu, viết code
chỉnh sửa và nạp code
Hoàn thành mô hình
2 Nguyễn Hữu Sáng 18575202070006 Tìm hiểu tài liệu, hoàn
thành báo cáo, code Hoàn thành mô hình
Trang 6CHƯƠNG 2 : CHUẨN BỊ, GIỚI THIỆU CÁC LINH KIỆN VÀ PHẦM MỀN
HỖ TRỢ
1 Chuẩn bị linh kiện
Sau đây là danh sách các linh kiền cần thiết để thực hiện ứng dụng điều khiển thiết bị điện qua wifi bằng MIT App Inventor và NodeMCU ESP8266
Bảng 2: danh sách linh kiện
2 Giới thiệu linh kiện
a Giới thiệu về ESP8266 nodeMCU
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 wi-fi 2.4GHz có thể dùng cho lập trình
Hình 2.1: ESP8266 nodeMCU
Trang 7Thông số kỹ thuật
Hình 2.2:Mô hình ESP8266 NodeMCU
- 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 D0)
- Số chân Analog Input: 1 (điện áp vào tối đa 3.3V)
Trang 8Một số ứng dụng cơ bản khi sử dụng ESP8266 trên Ubuntu
- Điều khiển công tắc tắt/bật Led bằng openHAB
- Đọc nhiệt độ trên cảm biến DHT11 bằng openHAB
- Điều khiển tắt/bật Led bằng dọng nói sử dụng ứng dụng openHAB
Trang 9Thông số kỹ thuật sản phẩm:
- Điện áp sử dụng: có ba loại 5VDC
- Dòng tiêu thụ: khoảng 200mA /1Relay
- Tín hiệu kích: Tùy chọn mức cao High (5VDC) hoặc thấp Low (0VDC) qua Jumper
- Tiếp điểm đóng ngắt Relay trên mạch: Max 250VAC-10A hoặc
30VDC-10A (Để an toàn nên dùng cho tải có công suất <100W)
- Kích thước: 72 (L) * 55 (W) * 19 (H) mm
3 Các phần mền và trang web hôc trợ
a MIT App Inventor
MIT App Inventor là một trang web mã nguồn mở dành cho Android Ban đầu
nó được tạo ra bởi Google nhưng bây giờ được duy trì hoạt động bởi Học viện công nghệ Massachusetts MIT (Massachusetts Institute of Technology) Ngay cả một người mới bắt đầu sử dụng MIT App Inventor cũng có thể dễ dàng tạo ra cho mình các ứng dụng cho Android MIT App Inventor sử dụng giao diện đồ họa GUI (Graphical User Interface) cho phép người dùng có thể kéo và thả các đối
tượng trực quan để tạo các ứng dụng có thể dễ dàng chạy trên các thiết bị Android
Hình 2.4:MIT App Inventor
Trang 10Sau khi hoàn tất việc thiết kế ứng dụng trên MIT app inventor, bạn có thể tải về ứng dụng đó và cài đặt ứng dụng đã thiết kế trên điện thoại thông minh của bạn Cuối cùng, bạn tiến hành giao tiếp ứng dụng này với module wifi ESP8266 NodeMCU và điều khiển các thiết bị điện trong nhà qua điện thoại một cách nhanh chóng và tiện lợi
Hình 2.5: Giao diện thiết kế App
Hình 2.6: Giao diện App Inventonr
Trang 11b Phần mền Arduino IDE
Arduino 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
Mỗ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 ++
Trang 12Hình 2.7: Arduino
Arduino IDE hoạt động như thế nào
Khi người dùng viết mã và biên dịch, IDE sẽ tạo file Hex cho mã File Hex là các file thập phân Hexa được Arduino hiểu và sau đó được gửi đến bo mạch bằng cáp USB Mỗi bo Arduino đều được tích hợp một bộ vi điều khiển, bộ vi điều khiển
sẽ nhận file hex và chạy theo mã được viết
Hình 2.8: Giao diện Arduio IDE
Trang 13c Firebase
Firebase là một nền tảng sở hữu bởi google giúp chúng ta phát triển các ứng dụng di động và web Họ cung cấp rất nhiều công cụ và dịch vụ tiện ích để phát triển ứng dụng nên một ứng dụng chất lượng Điều đó rút ngắn thời gian phát triển và giúp ứng dụng sớm ra mắt với người dùng
Firebase cung cấp cho người dùng các dịch vụ cơ sở dữ liệu hoạt động trên nền tảng đám mây với hệ thống máy chủ cực kỳ mạnh mẽ của Google Chức năng chính của firebase là giúp người dùng lập trình ứng dụng, phần mềm trên các nền tảng web,
di động bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu
Với firebase, bạn có thể tạo ra những ứng dụng real-time như app chat, cùng nhiều tính năng như xác thực người dùng, Cloud Messaging,… Bạn có thể dùng firebase giống như phần backend của app
Hình 2.9: Giao diện Firebase
Trang 14Những tính năng chính của Firebase
Firebase Authentication
Firebase Authentication là chức năng xác thực người dùng
Firebase Cloud Storage
là một không gian lưu trữ dữ liệu, nó giống như một chiếc ổ cứng Bạn có thể upload và download các loại file bạn muốn Đó có thể là một file ảnh, hay file văn bản, zip, …
Firebase Cloud Function
cho phép chúng ta viết những câu truy vấn database lưu trữ trên cloud
Firebase Analytics
là tính năng giúp bạn phân tích hành vi của người sử dụng trên ứng dụng của bạn Cuối cùng nó sẽ đưa ra lời khuyên về lộ trình xây dựng ứng dụng
Firebase Realtime Database
Firebase realtime database là một cơ sở dữ liệu thời gian thực, NoSQL
được lưu trữ đám mây cho phép bạn lưu trữ và đồng bộ dữ liệu Dữ liệu được lưu trữ dưới dạng cây Json, và được đồng bộ theo thời gian thực đối với mọi kết nối
Khi bạn xây dựng những ứng dụng đa nền tảng như Android, IOS và Web App, tất cả các client của bạn sẽ kết nối trên cùng một cơ sở dữ liệu Firebase và tự động cập nhật dữ liệu mới nhất khi có sự thay đổi
Cả một cơ sở dữ liệu là một cây json lớn, với độ trễ thấp, Firebase realtime database cho phép bạn xây dựng các ứng dụng cần độ realtime như app chat, hay game online
Trang 15Hình 2.10: Cấu hình Realtime Database
Trang 16CHƯƠNG 3:TIẾN TRÌNH VÀ KẾT QUẢ ĐẠT ĐƯỢC
Trang 171.2 Sơ đồ kết nối phần cứng
Hình 3.3: Sơ đồ nối dây
Hình 3.4:
Trang 18#define WIFI_SSID "DTM E-SMART" //Tên wifi sẽ kết nối
#define WIFI_PASSWORD "0919890938" //Mật khẩu
Trang 19pinMode(btquat,INPUT_PULLUP);
pinMode(btall,INPUT_PULLUP);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD); Serial.print("Connecting to Wi-Fi");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(300);
}
Serial.println();
Trang 20Serial.print("Connected with IP: ");
Serial.println(WiFi.localIP());
Serial.println();
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); Firebase.reconnectWiFi(true);
Trang 22dataRead = data.raw();
Serial.print("Data Read:");
Serial.println(dataRead);
DynamicJsonDocument doc(512);
Trang 23deserializeJson(doc, dataRead);
JsonObject obj = doc.as<JsonObject>();
String bt_denPhong = obj["btdenPhong"];
String bt_denSan = obj["btdenSan"];
String bt_quat = obj["btquat"];
}
json.set("denPhong",String(digitalRead(denPhong)));
Trang 24json.set("denSan",String(digitalRead(denSan)));
json.set("quat",String(digitalRead(quat)));
if (Firebase.RTDB.setJSON(&firebaseData, "/", &json)){ Serial.println("Write json success!!!");
}else{
Serial.println("Write json error!!!");
}
}
Trang 25NHẬN XÉT
Ưu Điểm :
- Chủ động quản lý ngôi nhà một cách rất dễ dàng như tắt các thiết bị chỉ với vài nút nhấn khi ngồi ở công ty hay đi du lịch
- Tạo sự an toàn cho người dùng khỏi sự nguy hiểm các thiết bị điện
- Tiết kiệm điện , năng lượng
- Được áp dụng nhiều trong các chung cư , căn hộ cao cấp
- Tính thương mại cao , mạng lại lợi nhuận lớn trong xuất nhập khẩu
Trang 26- Nỗ lực làm việc và tìm hiểu không ngừng để đạt được kết quả, đồng nghĩ vơi trách nhiêm trong công việc được nâng cao Qua đây chúng em cũng rút ra được nhiều kinh nghiệm cũng như kỹ năng cơ bản như : tính cẩn thận,kiên nhẫn, khả năng tổng hợp cũng như chắt lọc các thông tin cần thiết, kỹ năng làm việc nhóm, chi sẻ công sức cũng như việc làm hợp lý với nhau
Bên cạnh đó cũng gặp không ít khó khăn và những hạn chế đối với công việc như: hạn chế về ngôn ngữ của du học sinh Lào, vốn kiến thức còn chưa nhiều cần đc
tìm tòi nhiều hơn Ứng dụng những kiến thức thu thập Được để tạo Mô Hình Nhà
Thông Minh gặp một chút khó khăn Trong quá trình hoàn thành sản phẩm gặp sự cố
hỏng hóc dẫn đến không tối ưu được chi phí hoàn thành
Trang 27TÀI LIỆU THAM KHẢO Firebase Support | Pick a category (google.com)
MIT App Inventor
Mạch 4 Relay Opto chọn mức kích High/Low (5/12/24VDC) – Hshop.vn https://dientuviet.com/dieu-khien-thiet-bi-dien-qua-wifi
https://www.youtube.com/watch?v=iRDmK9DonwQ&t=15s
https://www.youtube.com/watch?v=SkvmkEUJ79g