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 Python, Flutter viết chương trình điều khiểnthiết bị trong ngôi nhà
Lĩnh vực: Hệ thống nhúng
Trang 2
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
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ÌNH1 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
- 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
ESP8266:Servo motor MG90S
Servo motor MG90SArduino Mega 2560 Pro
Cảm biến DHT11Cảm biến ánh sáng
Trang 6Cảm biến mưaCả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ểnthiế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ểnsố 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ửilê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ị
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!