MỤC LỤC PHẦN I. ĐẶT VẤN ĐỀ 1 1. Lý do chọn dự án. 1 II. THIẾT KẾ VÀ VIẾT CHƯƠNG TRÌNH 2 1. Yêu cầu tổng thể 2 2. Phần cứng 2 2.1. Cảm biến 2 2.2. Vi điều khiển 2 3. Phân tích hệ thống 2 4. Thực hiện thi công. 3 4.1. Tích hợp thiết bị 3 4.2. Kết quả lắp ghép để thành mô hình 4 5. Sử ngôn ngữ lập trình C++, Python, Flutter viết chương trình điều khiển thiết bị, nhận dạng hình ảnh, tạo ra app và website. 5 5.1. Code phần cứng 5 5.2. Code phần mềm. 9 5. 3. Trợ lý ảo 13 III. KẾT LUẬN. 15
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO TỈNH
CUỘC THI KHKT CẤP TỈNH HỌC SINH TRUNG HỌC PHỔ THÔNG
NĂM HỌC 2023 - 2024
BÁO CÁO TÓM TẮT KẾT QUẢ NGHIÊN CỨU
Dự án: Ứng dụng ngôn ngữ lập trình C++, Python, Flutter viết chương trình điều khiển thiết bị trong ngôi nhà
Lĩnh vực: Hệ thống nhúng
Trang 2
MỤC LỤC
PHẦN I ĐẶT VẤN ĐỀ 1
II THIẾT KẾ VÀ VIẾT CHƯƠNG TRÌNH 2
4.2 Kết quả lắp ghép để thành mô hình 4
5 Sử ngôn ngữ lập trình C++, Python, Flutter viết chương trình điều khiển thiết bị, nhận dạng hình ảnh, tạo ra app và website 5
III KẾT LUẬN 15
PHẦN I ĐẶT VẤN ĐỀ
1 Lý do chọn dự án.
Xuất phát từ thực tế hiện nay, ngôn ngữ lập trình C++, python đang trở nên phổ biến rộng rãi trong môi trường học của chúng em và ngôn ngữ lập trình Flutter Điều này đã mở ra một cánh cửa cụ thể và rõ ràng, giúp chúng em tiếp cận ngôn ngữ này một cách hiệu quả hơn Trong quá trình học, chúng em nhận
ra rằng các thiết bị thông minh không chỉ là một xu hướng mà còn là một tất yếu trong thế giới công nghệ, trở thành tiêu chuẩn cho những ngôi nhà hiện đại trong
kỷ nguyên Internet of Things – sự kết nối vạn vật qua internet
Trang 3Nhận thức về sự tiện nghi và tiết kiệm năng lượng ngày càng trở thành một tiêu chuẩn không thể thiếu, nhằm nâng cao chất lượng cuộc sống của chúng
em Dưới đây là 4 cách mà ngôi nhà thông minh, mà chúng em đã áp dụng ngôn ngữ C++, Python, Flutter vào, giúp chúng em trải nghiệm một cuộc sống tiện nghi và thoải mái hơn cũng như trong giáo dục stem
- Cách cánh cửa đề tự động đóng mở khi nhận diện được của nhân ngôi nhà
- Tự điều chỉnh các bóng đèn điện khi bạn đọc sách, xem tivi hay đi ngủ
- Các thiết bị điện tử gia dụng đến giải trí trong ngôi nhà được điều khiển
dễ dàng thông qua giọng nói hay Smartphone của bạn
- Đưa ra các tính năng cảnh báo an ninh cho ngôi nhà của bạn khi có xâm nhập trái phép
- Có trợ lý ảo tích hợp AI để tương thích trực tiếp với người dùng thông qua giọng nói
Chính vì thế, chúng em đã tiến hành xây dựng một mô hình hệ thống nhà thông minh với quy mô gia đình Ở đây với một thiết bị, mỗi một học sinh khi nắm rõ về ngôn ngữ C++ thì hoàn toàn có tự viết ra một chương trình điều khiển thiết bị nhà thông minh theo yêu cầu Mỗi người dùng sẽ được định danh bằng 1 token để dễ dàng quản lý Qua đó giúp tăng cao khả năng tiếp thu kiến thức học
về ngôn ngữ C++, mang lại một trải nghiệm học tập và sáng tạo đầy ý nghĩa của giáo dục stem
II THIẾT KẾ VÀ VIẾT CHƯƠNG TRÌNH
1 Yêu cầu tổng thể
Trang 4- Thay đổi trạng thái của các thiết bị bằng Smartphone và web
- Tắt bật đèn dựa theo cường độ ánh sáng
- Tắt/bật đèn , đóng/mở cửa theo cảm biến chuyển động
- Điều khiển các thiết bị theo lịch trình đã cài đặt sẵn
- Điều khiển các thiết bị bằng giọng nói
2 Phần cứng
2.1 Cảm biến
- Nhiệt độ, độ ẩm
- Cường độ ánh sáng
- Đóng mở cửa
- PIR ( phát hiện chuyển động)
- Camera
2.2 Vi điều khiển
- Esp8266
- Arduino 2560 Mega pro
3 Phân tích hệ thống
- Mục đích: Hệ thống cho phép điều các thiết bị trong nhà từ xa, điều khiển bằng giọng nói, tự động hóa thiết bị
- Hành vi: Hệ thống có 2 chế độ thủ công và tự động:
+ Chế độ thủ công: Hệ thống cho phép người dùng điều khiển các thiết bị thông qua Internet
+ Chế độ tự động: Tự động hóa tắt bật các thiết bị theo dữ liệu từ cảm biến và theo lịch trình cài đặt sẵn hoặc theo thói quen của người dùng
- Yêu cầu quản lý hệ thống: Cung cấp chức năng giám sát và theo dõi từ
Trang 5xa, điều khiển tự động, thủ công hoặc bằng giọng nói.
- Yêu cầu phân tích ứng dụng: Ứng dụng được triển khi trên thiết bị cục
bộ và có thể truy cập từ xa
- Yêu cầu bảo mật: Xác thực người dùng và phân quyền cho người dùng bằng Token.
4 Thực hiện thi công.
4.1 Tích hợp thiết bị
ESP8266: Servo motor MG90S
Servo motor MG90S Arduino Mega 2560 Pro
Cảm biến DHT11 Cảm biến ánh sáng
Trang 6Cảm biến mưa Cảm biến chuyển động
Cảm biến mở cửa Cảm biến công tắc 1 chạm
4.2 Kết quả lắp ghép để thành mô hình
Trang 75 Sử ngôn ngữ lập trình c++, python, Flutter viết chương trình điều khiển thiết bị, nhận dạng hình ảnh, tạo ra app và website.
Với kiến thức ngôn ngữ lập trình C++ và tìm hiểu thêm ngôn ngữ lập trình Flutter và dưới sự hướng dẫn thầy giáo Để viết ra một sản phẩm (app) sử dụng trên điện thoại và website sau đây đưa ra các đoạn code để mô tả quá trình lập trình của chúng em
- Ngôn ngữ lập trình C++ xây dựng điều khiển các thiết bị phần cứng.
- Ngôn ngữ lập trình Python dùng để xử lý hình ảnh như khuôn mặt, biển
số xe,
- Ngôn ngữ lập trình Flutter để xây dựng app và website
5.1 Code phần cứng
- Sau khi người dùng được cung cấp 1 token nhất định thì chúng ta hoàn toàn xây dựng ra chương trình điều khiển
- Dưới đây mà mô tả sơ bộ về code phần cứng
Trang 8* Khai báo địa chỉ server và wifi
* Nhận dữ liệu từ hệ thống điều khiển đề truyền qua cho phần cứng
thực thi.
Trang 9* Đồng bộ dữ liệu từ phần cứng lên hệ thống điều khiển
* Cập nhập các giá trị của cảm biến
Trang 10* Lắng nghe kết nối từ phần cứng thông qua giao thức uart
Trang 11* Khai báo các giá trị của phần cứng - đọc giá trị từ phần cứng và gửi lên
5.2 Code phần mềm.
Trang 12- Chúng em đã xây dựng hoàn thành 1 server quy mô nhỏ để điều khiển các thiết bị trong nhà Ở đó mỗi người dùng sẽ được định danh vằng một token nhất định
- Xây dựng thành công App điều khiển giúp người dùng có thể điều khiển trực quan hơn và có thể quan sát chi tiết hoạt động từng thiết bị
của App:
nhập
Trang 13+ giao diện người dùng
+ Người dùng có thể thêm các thiết bị hoặc các phòng theo yêu cầu
Trang 14+ Với các thiết bị camera trong nhà ta có thể tích hợp vào trong app
Trang 15+ Xây dựng các kịch bản có sẵn dùng để hẹn giờ tắt bật nhanh
+ Hẹn giờ các thiết bị
Trang 16- Giao diện Website
5 3 Trợ lý ảo
- Với một trợ lý ảo, người dùng hoàn toàn điều khiển nhanh các thiết bị trong nhà thông qua giọng nói
- Trợ lý ảo được kết nối trực tiếp đến dữ liệu người dùng nhằm để đồng
bộ hóa thiết bị phần cứng và phần mềm
- Sử dụng mô hình Tensorflow, RNN để xây dựng các Wakeword nhằm đánh thức trợ lý ảo Sau đó tiến hành phân tích giọng với các mẫu thử sẵn, từ đó lựa chọn chính xác và đưa ra câu trả lời
- Sử dụng các mô hình AI có sẵn của Zalo, FPT, Viettel để phát trực tiếp hội thoại giữa người dùng và AI
Trang 17- Sử dụng ngôn ngữ lập trình Python
Trang 18III KẾT LUẬN.
Qua thời gian nghiên cứu và tiến hành làm dưới sự hướng dẫn của giáo viên chúng em đã hoàn thành một sản phẩm kể cả phần cứng và phần mềm Tính hợp các thiết bị thông minh trong ngôi nhà vào phần mềm có tính bảo mật cài đặt trên điện thoại (app) hoặc trên website để kiểm tra, điều khiển các thiết
bị bất cứ ở đâu
Với kiến thức được học trong kỳ thi BDHSG cấp huyển, đội tuyển tỉnh về thuật toán với ngôn ngữ lập trình C++, chúng em tìm hiểu thêm ngôn ngữ python, fulter Được áp dụng kiến thức và kỹ năng trong các lĩnh vực khoa
học, công nghệ, kỹ thuật và toán học.
Trong thời gian tới chúng em sẽ tiếp tục nghiên cứu phát triển nghiên cứu tích hợp đầy các thiết bị người dùng mong muốn trong ngôi nhà của mình Nâng cao kiến thức lập trình mình để tạo ra các chương trình có ý nghĩa thiết thực cho cuộc sống
Xin chân thành cảm ơn!