Báo cáo đồ án Lập trình hệ thống | Đại học Kiến trúc Đà Nẵng
Báo cáo đồ án Lập trình hệ thống | Đại học Kiến trúc Đà Nẵng. Tài liệu được biên soạn dưới dạng file PDF gồm 52 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!
Môn: Lập trình hệ thống
Trường: Đại học Kiến trúc Đà Nẵng
Thông tin:
Tác giả:
Preview text:
Bộ Giáo dục và Đào tạo
TRƯỜNG ĐẠI HỌC KIẾN TRÚC ĐÀ NẴNG
KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO
ĐỒ ÁN LẬP TRÌNH HỆ THỐNG
ĐỀ TÀI: NHÀ THÔNG MINH
ĐIỀU KHIỂN CÁC THIẾT BỊ BẰNG GIỌNG NÓI THÔNG QUA
GOOGLE ASSISTANT SỬ DỤNG ESP8266, BLYNK VÀ IFTTT GVHD: Trương Văn Hiền SVTH: Hồ Phan Minh Tuấn Ngô Quang Tùng Lớp: 20CT3
Ngành học: Công nghệ thông tin
Đà Nẵng, Tháng 06 Năm 2023 MỤC LỤC
LỜI NÓI ĐẦU...........................................................................................................................1
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT........................................................................................2
1.1. Giới thiệu về IoT:...........................................................................................................2
1.1.1. Khái niệm IoT:........................................................................................................2
1.1.2. Xu hướng phát triển thế giới với IoT:...................................................................6
1.1.3. Thuật lợi và khó khăn khi sử dụng IoT:.............................................................10
1.1.4. Lập trình hệ thống nhúng:...................................................................................12
1.1.5. Tổng quan mô hình đề tài:...................................................................................18
1.2. Tổng quan về nhà thông minh (hoặc mô hình khác):...............................................19
1.2.1. Khái niệm nhà thông minh:.................................................................................19
1.2.2. Mục tiêu nhà thông minh:....................................................................................20
1.2.3. Các thành phần chính của một hệ thống nhà thông minh:...............................21
CHƯƠNG 2: ARDUINO VÀ CÁC MÔDUN ĐIỀU KHIỂN.............................................23
(HOẶC CÁC THIẾT BỊ).......................................................................................................23
2.1. Tổng quan về arduino:................................................................................................23
2.1.1. Khái niệm về Arduino:.........................................................................................23
2.1.2. Các loại arduino thường được sử dụng:.............................................................24
2.1.3. Ứng dụng của arduino:.........................................................................................29
2.2. Phần mềm Arduino IDE:............................................................................................30
2.2.1. Khái niệm về phần mềm Arduino IDE:..............................................................30
2.2.2. Giao diện của Arduino IDE:................................................................................31
2.2.3. Ứng dụng của Arduino IDE:................................................................................32
2.3. Module wifi ESP8266:.................................................................................................33
2.3.1. Giới thiệu:..............................................................................................................33
2.3.2. Thông số kỹ thuật ESP8266:................................................................................34
2.3.3. Các ứng dụng của ESP8266:................................................................................35
2.4. Các thiết bị (sử dụng trong đề tài):............................................................................36
CHƯƠNG 3: THIẾT KẾ VÀ CHẾ TẠO MÔ HÌNH..........................................................40
3.1. Yêu cầu chức năng:......................................................................................................40
3.2. Sơ đồ kết nối:................................................................................................................40
3.3. Sơ đồ thuật toán:..........................................................................................................41
3.4. Ứng dụng Google Assistant:........................................................................................42
3.4.1. IFTTT:...................................................................................................................42
3.4.2. Chức năng:............................................................................................................43
3.5. Kết quả thực nghiệm:..................................................................................................44
3.5.1. Mô hình:.................................................................................................................44
3.5.2. Ứng dụng Blynk và Google Assistant:................................................................46
KẾT LUẬN..............................................................................................................................47
TÀI LIỆU THAM KHẢO......................................................................................................48 DANH MỤC HÌNH ẢNH
Hình 1 Khái niệm về IoT....................................................................................7
Hình 2 Các thiết bị và cách hoạt động trong IoT.............................................8
Hình 3 Chia sẻ dữ liệu trong mạng lưới IoT.....................................................9
Hình 4 Các lĩnh vực áp dụng IoT.....................................................................10
Hình 5 An toàn và bảo vệ dữ liệu trong IoT...................................................10
Hình 6 Mở rộng ứng dụng IoT.........................................................................11
Hình 7 Liên kết nguồn lực IoT.........................................................................12
Hình 8 IoT kết hợp với trí tuệ nhân tạo (AI) và học máy..............................12
Hình 9 5G và kết nối tốc độ cao đối với IoT....................................................13
Hình 10 Bảo mật và quản lý dữ liệu trong IoT...............................................14
Hình 11 IoT và blockchain...............................................................................14
Hình 12 Sự phát triển của edge computing.....................................................15
Hình 13 Khái niệm lập trình nhúng.................................................................18
Hình 14 Microcontroller/Microprocessor.......................................................19
Hình 15 Ngôn ngữ lập trình c/c++, assembly..................................................19
Hình 16 Điều khiển thiết bị gia dụng thông minh trong lập trình nhúng....21
Hình 17 Điều khiển xe ô tô trong lập trình nhúng........................................22
Hình 18 Thiết bị y tế trong lập trình nhúng....................................................22
Hình 19 Điều khiển công nghiệp trong lập trình nhúng................................23
Hình 20 Nhà thông minh (Smart Home).........................................................25
Hình 21 Mục tiêu của nhà thông minh............................................................25
Hình 22 Các thành phần chính của một hệ thống nhà thông minh..............27
Hình 23 Khái niệm arduino..............................................................................28
Hình 24 Bo mạch arduino.................................................................................29
Hình 25 Arduino Uno........................................................................................30
Hình 26 Arduino Nano......................................................................................31
Hình 27 Arduino Mega.....................................................................................31
Hình 28 Arduino Due........................................................................................32
Hình 29 Arduino Leonardo..............................................................................33
Hình 30 Arduino Pro Mini...............................................................................33
Hình 31 Arduino Yun........................................................................................34
Hình 32 Phần mềm Arduino IDE....................................................................36
Hình 33 Giao diện Arduino IDE......................................................................37
Hình 34 Module wifi esp8266 ch340................................................................39
Hình 35 Sơ đồ chân esp8266 ch340..................................................................40
Hình 36 Module wifi esp8266 ch340................................................................42
Hình 37 Servo SG90..........................................................................................42 LỜI NÓI ĐẦU
Trong thời đại công nghệ số hiện nay, Internet of Things (IoT) đã trở
thành một lĩnh vực đầy tiềm năng và phát triển mạnh mẽ. IoT không chỉ là xu
hướng mới mà còn là một hệ thống thông minh kết nối các thiết bị và cung cấp
thông tin quan trọng để giúp chúng ta hiểu rõ hơn về thế giới xung quanh.
Chúng tôi xin trân trọng gửi đến quý thầy cô và các bạn học viên báo cáo
môn học "Đồ án lập trình hệ thống". Báo cáo này là kết quả của quá trình học
tập và nghiên cứu của chúng tôi trong suốt khóa học.
Trước tiên, chúng tôi xin trình bày một số khái niệm cơ bản về IoT, các
thiết bị cần thiết để làm nền tảng cho sự hiểu rõ về chủ đề này. Sau đó, chúng tôi
sẽ trình bày các nguyên tắc và phương pháp lập trình hệ thống IoT.
Báo cáo cũng sẽ tập trung vào các công nghệ và ngôn ngữ lập trình phổ
biến trong lĩnh vực IoT, bao gồm Arduino, Nodemcu esp8266, Google Assistant, Blynk và IFTTT.
Trong quá trình nghiên cứu, chúng tôi đã thực hiện một số dự án thực tế
và thử nghiệm để áp dụng kiến thức lập trình hệ thống IoT vào thực tế. Chúng
tôi hy vọng rằng báo cáo này sẽ cung cấp cho quý thầy cô và các bạn học viên
cái nhìn tổng quan về lĩnh vực này cũng như khả năng áp dụng các kiến thức đã
học vào các dự án thực tế.
Chúng tôi xin chân thành cảm ơn sự hướng dẫn, giảng dạy và hỗ trợ tận
tình của thầy cô trong suốt quá trình học tập. Mong rằng báo cáo này sẽ góp
phần nhỏ vào việc nâng cao kiến thức và kỹ năng của chúng tôi trong lĩnh vực lập trình hệ thống IoT. 1
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. Giới thiệu về IoT:
1.1.1. Khái niệm IoT:
- Internet of Things (IoT) là một thuật ngữ chỉ sự kết nối giữa các thiết bị điện
tử thông minh với nhau và với Internet.
- IoT cho phép các thiết bị này thu thập, truyền tải và chia sẻ dữ liệu một cách
tự động và không cần sự can thiệp của con người.
- Mục tiêu chính của IoT là tạo ra một mạng lưới thông minh, nơi mà các thiết
bị có khả năng trao đổi thông tin và làm việc cùng nhau để cải thiện hiệu
suất, tiện ích và sự tiện lợi trong cuộc sống hàng ngày.
Hình 1 Khái niệm về IoT.
- Các thiết bị trong hệ thống IoT có thể là bất kỳ thiết bị nào có khả năng kết
nối Internet, từ các thiết bị điện tử như điện thoại di động, máy tính bảng, đèn
thông minh, tủ lạnh thông minh, cho đến các thiết bị nhúng như cảm biến, bộ
điều khiển tự động, thiết bị y tế thông minh và nhiều hơn nữa.
- Những thiết bị này thường được trang bị các cảm biến và có khả năng thu
thập dữ liệu từ môi trường xung quanh. 2
Hình 2 Các thiết bị và cách hoạt động trong IoT.
- Với IoT, các thiết bị có thể giao tiếp với nhau và truyền dữ liệu qua Internet,
tạo ra một mạng lưới liên kết và tương tác. Dữ liệu được thu thập từ các thiết
bị này có thể được phân tích và sử dụng để đưa ra các quyết định thông minh,
cung cấp thông tin hữu ích và tự động hóa quy trình. 3
Hình 3 Chia sẻ dữ liệu trong mạng lưới IoT.
- Các ứng dụng của IoT rất đa dạng và lan rộng vào nhiều lĩnh vực bao gồm y
tế, công nghiệp, đô thị thông minh, nông nghiệp, giao thông và hơn thế nữa. Ví dụ:
o Trong lĩnh vực y tế, IoT có thể được sử dụng để giám sát sức khỏe của
bệnh nhân từ xa, theo dõi dữ liệu sinh học và đưa ra cảnh báo sớm về các vấn đề sức khỏe.
o Trong lĩnh vực công nghiệp, IoT có thể được áp dụng để theo dõi và
quản lý quá trình sản xuất, tăng cường an ninh và tiết kiệm năng
lượng. IoT cũng có thể được sử dụng trong lĩnh vực đô thị thông minh,
nông nghiệp thông minh, giao thông thông minh. 4
Hình 4 Các lĩnh vực áp dụng IoT.
- Tuy nhiên, việc triển khai IoT cũng đặt ra nhiều thách thức, bao gồm vấn đề
về bảo mật, quản lý dữ liệu và quyền riêng tư. Cần có các biện pháp bảo mật
mạnh mẽ để đảm bảo an toàn và bảo vệ dữ liệu cá nhân trong môi trường kết nối liên tục của IoT.
Hình 5 An toàn và bảo vệ dữ liệu trong IoT. 5
1.1.2. Xu hướng phát triển thế giới với IoT:
- Mở rộng ứng dụng IoT: IoT đang được áp dụng rộng rãi trong nhiều lĩnh
vực, bao gồm y tế, công nghiệp, đô thị thông minh, nông nghiệp, giao thông
và hơn thế nữa. Các công nghệ IoT được tích hợp vào các hệ thống tổng thể
để tạo ra các giải pháp thông minh và hiệu quả.
Hình 6 Mở rộng ứng dụng IoT.
- Liên kết nguồn lực: IoT tạo ra môi trường liên kết giữa các thiết bị và hệ
thống khác nhau, cho phép chia sẻ thông tin và tài nguyên. Ví dụ, các thiết bị
thông minh trong một hệ thống đô thị thông minh có thể tương tác với nhau
để cải thiện quản lý năng lượng, giao thông và dịch vụ công cộng. 6
Hình 7 Liên kết nguồn lực IoT.
- Trí tuệ nhân tạo và học máy: IoT kết hợp với trí tuệ nhân tạo (AI) và học máy
để phân tích dữ liệu và đưa ra các quyết định thông minh. Các hệ thống IoT
ngày càng trở nên thông minh hơn trong việc tự động hóa các tác vụ và cung
cấp dự đoán dựa trên dữ liệu.
Hình 8 IoT kết hợp với trí tuệ nhân tạo (AI) và học máy. 7
- 5G và kết nối tốc độ cao: Sự phát triển của mạng 5G đem lại kết nối tốc độ
cao và độ trễ thấp, tạo điều kiện thuận lợi cho việc triển khai các ứng dụng
IoT. Mạng 5G cung cấp khả năng kết nối hàng tỷ thiết bị cùng một lúc và hỗ
trợ truyền dữ liệu nhanh chóng, mở ra nhiều cơ hội mới cho IoT.
Hình 9 5G và kết nối tốc độ cao đối với IoT.
- Bảo mật và quản lý dữ liệu: Với sự gia tăng về số lượng thiết bị kết nối, bảo
mật và quản lý dữ liệu trong môi trường IoT trở thành một thách thức. Các
biện pháp bảo mật mạnh mẽ và quyền riêng tư là yếu tố quan trọng để đảm
bảo an toàn và tin cậy cho các hệ thống IoT. 8
Hình 10 Bảo mật và quản lý dữ liệu trong IoT.
- IoT và blockchain: Công nghệ blockchain đang được sử dụng để cung cấp
tính toàn vẹn dữ liệu và đảm bảo tính xác thực trong các ứng dụng IoT.
Blockchain giúp xác minh và ghi nhận các giao dịch và dữ liệu từ các thiết bị
IoT một cách an toàn và không thể thay đổi.
Hình 11 IoT và blockchain. 9
- Sự phát triển của edge computing: Edge computing là khái niệm mà xử lý dữ
liệu và tính toán được thực hiện tại nơi thu thập dữ liệu, gần với nguồn dữ
liệu. Điều này giúp giảm độ trễ và tăng tốc độ phản hồi trong các hệ thống
IoT, đồng thời giảm băng thông mạng và tiết kiệm năng lượng.
Hình 12 Sự phát triển của edge computing.
1.1.3. Thuật lợi và khó khăn khi sử dụng IoT: - Thuận lợi:
o Tiện lợi và tự động hóa: IoT cho phép tự động hóa các quy trình và tác vụ
hàng ngày, giúp tiết kiệm thời gian và công sức. Các thiết bị thông minh
có thể hoạt động một cách tự động dựa trên cài đặt và điều kiện đã được định sẵn.
o Giám sát và điều khiển từ xa: Với IoT, người dùng có thể giám sát và điều
khiển các thiết bị từ xa thông qua kết nối Internet. Ví dụ, bạn có thể kiểm
soát đèn, nhiệt độ trong nhà, hệ thống an ninh hoặc thiết bị gia đình thông
qua điện thoại di động.
o Quản lý năng lượng và tài nguyên: IoT cho phép theo dõi và quản lý hiệu
quả sử dụng năng lượng và tài nguyên. Các thiết bị thông minh có thể tự 10
động tắt hoặc điều chỉnh hoạt động để tiết kiệm năng lượng và tối ưu hóa sử dụng tài nguyên.
o Tăng cường an ninh: IoT cung cấp giải pháp an ninh thông minh, cho
phép theo dõi và bảo vệ các hệ thống và tài sản. Ví dụ, hệ thống giám sát
an ninh thông minh có thể gửi cảnh báo và hình ảnh từ camera để phát
hiện và phản ứng với các sự cố an ninh.
o Cải thiện chất lượng cuộc sống: IoT mang lại nhiều tiện ích và cải thiện
chất lượng cuộc sống. Ví dụ, trong lĩnh vực y tế, các thiết bị y tế thông
minh có thể theo dõi sức khỏe, thu thập dữ liệu và cung cấp chăm sóc y tế
từ xa, giúp người dùng theo dõi và quản lý sức khỏe một cách tốt hơn.
o Tăng cường hiệu suất và năng suất: IoT giúp tối ưu hóa quy trình sản xuất
và quản lý tại các công ty và nhà máy. Việc theo dõi và thu thập dữ liệu từ
các thiết bị và hệ thống cho phép phân tích và tối ưu hóa hoạt động, từ đó
cải thiện hiệu suất và năng suất.
o Tạo ra các dịch vụ mới và sáng tạo: IoT mở ra nhiều cơ hội cho việc phát
triển các dịch vụ mới và sáng tạo. Ví dụ, đô thị thông minh cung cấp các
dịch vụ tiện ích như giao thông thông minh, quản lý năng lượng và quản
lý rác thải thông qua kết nối IoT. - Khó khăn:
o Bảo mật và quyền riêng tư: Sự kết nối liên tục của các thiết bị IoT có thể
tạo ra các lỗ hổng bảo mật và đe dọa quyền riêng tư. Việc bảo vệ dữ liệu
và ngăn chặn các cuộc tấn công mạng trở thành một thách thức, đặc biệt
khi số lượng thiết bị IoT ngày càng tăng.
o Quản lý dữ liệu: IoT tạo ra lượng lớn dữ liệu từ các thiết bị kết nối. Quản
lý, lưu trữ và phân tích dữ liệu này trở thành một thách thức, đòi hỏi cơ sở
hạ tầng mạnh mẽ và khả năng xử lý dữ liệu mạnh mẽ.
o Tiêu chuẩn và tương thích: Một thách thức khác là đảm bảo tính tương
thích giữa các thiết bị IoT và các giao thức, tiêu chuẩn, nền tảng khác 11
nhau. Điều này đòi hỏi sự cộng tác và tiêu chuẩn hóa giữa các nhà cung
cấp và tổ chức để đảm bảo tính tương thích và sự tương tác hợp lý.
o Khả năng mở rộng và quản lý: Với sự gia tăng về số lượng thiết bị IoT,
quản lý và mở rộng hệ thống IoT trở thành một thách thức. Cần có kiến
thức và kỹ năng quản lý để duy trì và mở rộng một mạng lưới IoT phức tạp.
o Độ tin cậy và khả năng phục hồi: Sự phụ thuộc vào các thiết bị và mạng
kết nối có thể tạo ra sự cố và gián đoạn. Đảm bảo độ tin cậy của hệ thống
IoT và khả năng phục hồi sau sự cố là một thách thức quan trọng.
o Chi phí: Triển khai và duy trì hệ thống IoT có thể đòi hỏi đầu tư về cơ sở
hạ tầng, thiết bị và quản lý. Chi phí này có thể là một thách thức, đặc biệt
đối với các doanh nghiệp nhỏ và các tổ chức có nguồn lực hạn chế.
1.1.4. Lập trình hệ thống nhúng:
- Khái niệm lập trình hệ thống nhúng:
o Lập trình hệ thống nhúng (Embedded Systems Programming) là quá trình
phát triển phần mềm cho các hệ thống nhúng. Hệ thống nhúng là các hệ
thống điện tử được tích hợp vào các thiết bị và máy móc để thực hiện một
nhiệm vụ cụ thể. Chúng thường hoạt động trong môi trường có giới hạn
tài nguyên, bao gồm bộ nhớ, xử lý, năng lượng, và thường được tích hợp sâu vào các thiết bị.
o Lập trình hệ thống nhúng đòi hỏi kiến thức về phần cứng và phần mềm,
và thường được thực hiện bằng ngôn ngữ lập trình như C hoặc C++.
Người lập trình hệ thống nhúng phải biết cách tương tác với các thành
phần phần cứng như vi xử lý, bộ nhớ, cổng giao tiếp, và các thiết bị ngoại vi khác.
o Công việc của lập trình viên hệ thống nhúng bao gồm thiết kế và phát
triển phần mềm nhúng, tối ưu hóa hiệu năng hệ thống, quản lý tài nguyên,
và thử nghiệm và gỡ lỗi phần mềm nhúng. Họ cũng cần xem xét các yêu 12
cầu đặc biệt của hệ thống nhúng, bao gồm độ tin cậy, thời gian thực và tiêu thụ năng lượng.
Hình 13 Khái niệm lập trình nhúng.
- Thành phần cơ bản của lập trình nhúng:
o Microcontroller/Microprocessor: Đây là "bộ não" của hệ thống nhúng, nơi
xử lý các tác vụ và tính toán. Microcontroller thường tích hợp sẵn vi xử lý
(CPU), bộ nhớ (RAM và ROM), các cổng giao tiếp và các thiết bị ngoại
vi như ADC (Analog-to-Digital Converter), UART (Universal
Asynchronous Receiver/Transmitter), GPIO (General Purpose
Input/Output). Microprocessor là một chip CPU độc lập và yêu cầu thêm
các chip bên ngoài để thực hiện các chức năng như bộ nhớ và giao tiếp. 13
Hình 14 Microcontroller/Microprocessor.
o Hệ điều hành nhúng (Embedded Operating System): Đôi khi, hệ thống
nhúng sử dụng hệ điều hành nhúng để quản lý tài nguyên hệ thống, lập
lịch và thực thi các tác vụ. Các ví dụ về hệ điều hành nhúng bao gồm FreeRTOS, uC/OS, và mbed OS.
o Ngôn ngữ lập trình: Lập trình hệ thống nhúng thường sử dụng ngôn ngữ
lập trình như C hoặc C++. Ngôn ngữ này được chọn vì nó gần với phần
cứng, linh hoạt và có hiệu suất cao. Ngoài ra, ngôn ngữ hợp ngữ
(Assembly) cũng được sử dụng để tối ưu hóa mã máy và truy cập trực tiếp
vào các thanh ghi và các tài nguyên phần cứng.
Hình 15 Ngôn ngữ lập trình c/c++, assembly.
o Trình biên dịch và công cụ phát triển: Các trình biên dịch như GCC (GNU
Compiler Collection) và IAR Embedded Workbench được sử dụng để
biên dịch mã nguồn thành mã máy dành cho hệ thống nhúng. Công cụ gỡ 14
lỗi như GDB (GNU Debugger) và JTAG (Joint Test Action Group) cung
cấp khả năng theo dõi và gỡ lỗi các chương trình nhúng.
o Thiết bị ngoại vi: Hệ thống nhúng thường tương tác với các thiết bị ngoại
vi như cảm biến, động cơ, màn hình hiển thị, và các giao diện như UART,
I2C, SPI. Lập trình viên cần hiểu cách giao tiếp và kiểm soát các thiết bị
này thông qua mã lập trình.
o Tối ưu hóa và quản lý tài nguyên: Lập trình viên hệ thống nhúng phải tối
ưu hóa mã lập trình để sử dụng hiệu quả tài nguyên hạn chế của hệ thống
nhúng như bộ nhớ, xử lý và năng lượng. Họ phải quản lý tài nguyên một
cách cẩn thận và sử dụng các kỹ thuật tối ưu hóa như truy cập bộ nhớ hiệu
quả, xử lý sự kiện ngắn gọn và tiêu thụ năng lượng tối thiểu.
- Ứng dụng lập trình hệ thống nhúng:
o Thiết bị di động: Điện thoại thông minh, máy tính bảng, đồng hồ thông
minh và các thiết bị di động khác đều sử dụng lập trình nhúng để điều
khiển các chức năng và tương tác với người dùng.
o Ô tô: Trong ô tô, lập trình nhúng được sử dụng để điều khiển các hệ thống
như hệ thống động cơ, hệ thống phanh, hệ thống giải trí và động cơ lái tự
động. Hệ thống nhúng cũng giúp thu thập dữ liệu và cung cấp thông tin
trực tiếp cho người lái.
o Thiết bị y tế: Trong lĩnh vực y tế, lập trình nhúng được sử dụng trong các
thiết bị y tế như máy theo dõi sức khỏe, máy xạ trị, máy trợ thở và nhiều
thiết bị y tế khác. Lập trình nhúng cho phép thu thập dữ liệu y tế, theo dõi
các chỉ số sức khỏe và điều khiển các chức năng của các thiết bị này.
o Điều khiển công nghiệp: Trong môi trường công nghiệp, lập trình nhúng
được sử dụng trong các hệ thống điều khiển tự động và tự động hóa quy
trình sản xuất. Các hệ thống nhúng giúp kiểm soát và giám sát các quy
trình sản xuất, quản lý các cảm biến và actuator, và tối ưu hóa hiệu suất và
hiệu quả của hệ thống. 15
o Thiết bị gia dụng thông minh: Lập trình nhúng cũng được sử dụng trong
các thiết bị gia dụng thông minh như tủ lạnh, máy giặt, máy lạnh, đèn
chiếu sáng và hệ thống báo động. Các hệ thống nhúng này giúp điều khiển
và quản lý các chức năng của các thiết bị, tạo ra trải nghiệm tiện ích và
tiết kiệm năng lượng cho người dùng.
o Công nghệ thông tin và mạng: Lập trình nhúng cũng được sử dụng trong
các thiết bị mạng, thiết bị định vị GPS, camera an ninh, các thiết bị kết nối
IoT (Internet of Things) và nhiều ứng dụng khác trong lĩnh vực công nghệ thông tin và mạng.
- Ví dụ về lập trình nhúng:
o Điều khiển thiết bị gia dụng thông minh: điều khiển các chức năng của
thiết bị, nhận và xử lý dữ liệu từ các cảm biến, và tương tác với người
dùng thông qua giao diện người-máy.
Hình 16 Điều khiển thiết bị gia dụng thông minh trong lập trình nhúng.
o Điều khiển xe ô tô: điều khiển các chức năng như hệ thống phanh điện tử,
hệ thống điều khiển động cơ, hệ thống giảm xóc tự động, và hệ thống giải trí trên xe. 16
Hình 17 Điều khiển xe ô tô trong lập trình nhúng.
o Thiết bị y tế: kiểm soát các thiết bị này, thu thập dữ liệu y tế, và thực hiện
các chức năng liên quan đến sức khỏe và chăm sóc y tế.
Hình 18 Thiết bị y tế trong lập trình nhúng.
o Điều khiển công nghiệp: giao tiếp với các cảm biến và actuator, xử lý dữ
liệu và thực hiện các tác vụ điều khiển và giám sát. 17
Hình 19 Điều khiển công nghiệp trong lập trình nhúng.
1.1.5. Tổng quan mô hình đề tài:
- Mô hình xây dựng theo một ngôi nhà gồm có 2 phòng:
o Phòng khách: cửa ra vào, 1 bóng đèn. o Phòng ngủ: 1 bóng đèn.
- Mô hình được điều khiển bởi: o Các nút bấm vật lý.
o Điều khiển từ xa trên ứng dụng di động.
o Giọng nói bằng Google Assistant
- Mô hình sử dụng mạng wifi:
o Lưu trữ các trạng thái thiết bị lên cơ sở dữ liệu.
o Cập nhật thay đổi trạng thái của thiết bị từ cơ sở dữ liệu.
- Các chức năng của mô hình:
o Điều khiển đèn (bật / tắt) phòng ngủ qua ứng dụng di động, nút bấm
và giọng nói bằng Google Assistant. 18
o Điều khiển cửa (mở / đóng) phòng khách qua ứng dụng di động, nút
bấm và giọng nói bằng Google Assistant.
o Điều khiển đèn phòng khách (bật / tắt) qua ứng dụng di động, và
giọng nói bằng Google Assistant.
- Các thiết bị sử dụng trong mô hình: o Esp8266 (ch340). o Đèn (Led). o Dây nối. o Switch (Push button). o Bảng mạch. o Servo.
1.2. Tổng quan về nhà thông minh (hoặc mô hình khác):
1.2.1. Khái niệm nhà thông minh:
- Nhà thông minh (Smart Home) là một khái niệm đang ngày càng trở nên phổ
biến trong lĩnh vực IoT. Nó đề cập đến việc sử dụng các công nghệ và thiết
bị kết nối để tạo ra một môi trường sống thông minh và tiện ích hơn trong ngôi nhà. 19
Hình 20 Nhà thông minh (Smart Home)
1.2.2. Mục tiêu nhà thông minh:
- Mục tiêu của nhà thông minh là tăng cường sự thoải mái, tiện nghi, an ninh
và tiết kiệm năng lượng cho người sử dụng. Các hệ thống nhà thông minh
cho phép điều khiển từ xa và tự động hóa các chức năng trong nhà, bao gồm
ánh sáng, nhiệt độ, an ninh, âm thanh, đồ gia dụng và hệ thống giải trí.
Hình 21 Mục tiêu của nhà thông minh. 20
1.2.3. Các thành phần chính của một hệ thống nhà thông minh:
- Thiết bị kết nối: Đây là các thiết bị điện tử và cảm biến được kết nối với
mạng Internet và giao tiếp với nhau thông qua giao thức mạng như Wi-Fi,
Bluetooth hoặc Zigbee. Ví dụ: cảm biến chuyển động, cảm biến ánh sáng, bộ điều khiển nhiệt độ.
- Hệ thống điều khiển: Đây là nơi điều khiển và quản lý các thiết bị trong nhà
thông minh. Nó có thể là một ứng dụng trên điện thoại di động hoặc một
bảng điều khiển trung tâm.
- Giao thức mạng: Để cho phép các thiết bị trong nhà thông minh giao tiếp với
nhau, cần có các giao thức mạng như Wi-Fi, Zigbee, Z-Wave, MQTT, hay
Bluetooth. Các giao thức này cho phép truyền dữ liệu giữa các thiết bị và hệ thống điều khiển.
- Ứng dụng và giao diện người dùng: Người sử dụng có thể tương tác và điều
khiển hệ thống thông qua các ứng dụng trên điện thoại di động, máy tính
hoặc bảng điều khiển trung tâm. Giao diện người dùng thân thiện và dễ sử
dụng rất quan trọng để đảm bảo người dùng có thể tận hưởng và kiểm soát
các chức năng của nhà thông minh một cách dễ dàng. 21
Hình 22 Các thành phần chính của một hệ thống nhà thông minh. 22
CHƯƠNG 2: ARDUINO VÀ CÁC MÔDUN ĐIỀU KHIỂN
(HOẶC CÁC THIẾT BỊ)
2.1. Tổng quan về arduino:
2.1.1. Khái niệm về Arduino:
- Arduino là một nền tảng phát triển phần cứng mã nguồn mở (open-source
hardware) và phần mềm mã nguồn mở (open-source software). Nó cung cấp
một bộ công cụ phát triển linh hoạt và dễ sử dụng cho việc xây dựng các thiết
bị điện tử tương tác.
Hình 23 Khái niệm arduino.
- Arduino bao gồm một bo mạch chính (board) và một môi trường phát triển
tích hợp (Integrated Development Environment - IDE). Board Arduino được
thiết kế với các chân I/O (Input/Output) có thể được sử dụng để kết nối với
các linh kiện điện tử như cảm biến, đèn LED, động cơ, màn hình và nhiều thiết bị khác. 23
Hình 24 Bo mạch arduino.
- Arduino đã trở thành một công cụ phổ biến trong việc xây dựng các dự án
điện tử, từ những dự án nhỏ như đèn nhấp nháy, cửa tự động, đến các ứng
dụng phức tạp hơn như robot, hệ thống giám sát, và nhiều ứng dụng khác.
Với tính linh hoạt và cộng đồng người dùng lớn, Arduino đã trở thành một
công cụ phát triển phổ biến cho các nhà điện tử học, nhà phát triển phần cứng và người sáng tạo. 2.1.2.
Các loại arduino thường được sử dụng:
- Arduino Uno: Đây là loại Arduino phổ biến và phổ biến nhất. Nó có bốn
cổng I/O số, một cổng USB để kết nối với máy tính, một cổng nguồn, một
cổng ICSP và một cổng UART. 24 Hình 25 Arduino Uno.
- Arduino Nano: Arduino Nano là một phiên bản nhỏ gọn của Arduino Uno.
Nó có kích thước nhỏ hơn và phù hợp cho các dự án yêu cầu không gian nhỏ
hơn. Arduino Nano có cùng số cổng I/O như Arduino Uno. 25 Hình 26 Arduino Nano.
- Arduino Mega: Arduino Mega có nhiều cổng I/O hơn so với Arduino Uno,
với 54 cổng I/O số. Điều này làm cho Arduino Mega phù hợp cho các dự án
phức tạp và yêu cầu nhiều cổng I/O. Hình 27 Arduino Mega. 26
- Arduino Due: Arduino Due là một phiên bản mạnh mẽ của Arduino, sử dụng
vi điều khiển ARM Cortex-M3 32-bit. Nó có tốc độ xử lý nhanh hơn và bộ
nhớ lớn hơn so với các phiên bản Arduino khác. Hình 28 Arduino Due.
- Arduino Leonardo: Arduino Leonardo sử dụng vi điều khiển ATmega32u4
và hỗ trợ kết nối HID (Human Interface Device). Điều này cho phép nó dễ
dàng tích hợp với các thiết bị đầu vào như bàn phím, chuột và các thiết bị HID khác. 27
Hình 29 Arduino Leonardo.
- Arduino Pro Mini: Arduino Pro Mini là phiên bản nhỏ gọn và giản lược của
Arduino Uno. Nó không có cổng USB tích hợp, do đó cần sử dụng một
chương trình nạp ngoài để nạp mã nguồn vào board.
Hình 30 Arduino Pro Mini. 28
- Arduino Yun: Arduino Yun là một phiên bản đặc biệt, kết hợp giữa board
Arduino truyền thống và một module Wi-Fi. Điều này cho phép nó kết nối
trực tiếp với Internet và thực hiện các dự án IoT. Hình 31 Arduino Yun.
2.1.3. Ứng dụng của arduino:
- Dự án điện tử DIY (Làm it Yourself): Arduino được sử dụng rộng rãi trong
các dự án DIY, cho phép người dùng tạo ra các thiết bị và hệ thống tự làm
như đèn nhấp nháy, bộ điều khiển thiết bị gia đình, máy tính đồng hồ, và nhiều hơn nữa.
- Hệ thống đo lường và cảm biến: Arduino có thể kết nối với các cảm biến
khác nhau như cảm biến nhiệt độ, cảm biến ánh sáng, cảm biến gia tốc, cảm
biến độ ẩm và nhiều cảm biến khác. Điều này cho phép sử dụng Arduino
trong các ứng dụng đo lường, giám sát môi trường, và thu thập dữ liệu.
- Robot và tự động hóa: Arduino thường được sử dụng trong việc xây dựng
robot và hệ thống tự động hóa. Nó cung cấp các chức năng điều khiển động
cơ, giao tiếp với cảm biến và thực hiện các thuật toán điều khiển để điều
chỉnh các hành động và hoạt động của robot. 29
- IoT (Internet of Things): Arduino kết hợp với các mô-đun kết nối mạng như
Wi-Fi hoặc Bluetooth để tạo thành các ứng dụng IoT. Nó cho phép kiểm soát
và giám sát từ xa các thiết bị thông qua kết nối Internet, từ đó tạo ra các ứng
dụng như nhà thông minh, quản lý năng lượng, quản lý môi trường và nhiều ứng dụng khác.
- Nghệ thuật và hiệu ứng ánh sáng: Arduino có thể được sử dụng trong các dự
án nghệ thuật và hiệu ứng ánh sáng, cho phép tạo ra ánh sáng nhấp nháy, ánh
sáng theo nhạc, điều khiển đèn LED RGB, và tạo hiệu ứng ánh sáng động.
- Giáo dục: Arduino cung cấp một nền tảng giáo dục tuyệt vời để giúp học sinh
và sinh viên hiểu về điện tử, lập trình và hệ thống nhúng. Nó cũng được sử
dụng trong các khóa học STEM (Khoa học, Công nghệ, Kỹ thuật và Toán
học) để khuyến khích sự sáng tạo và khám phá của học sinh.
2.2. Phần mềm Arduino IDE:
2.2.1. Khái niệm về phần mềm Arduino IDE:
- Arduino IDE (Integrated Development Environment) là một môi trường phát
triển tích hợp được sử dụng để viết, biên dịch và nạp chương trình vào board
Arduino. Nó cung cấp một giao diện đồ họa đơn giản và dễ sử dụng, giúp
người dùng tạo và quản lý mã nguồn Arduino một cách thuận tiện.
- Arduino IDE được thiết kế để đơn giản hóa việc lập trình cho các board
Arduino. Nó hỗ trợ ngôn ngữ lập trình dựa trên C/C++, kết hợp với các thư
viện và chức năng đặc biệt để tương tác với các chân I/O và linh kiện điện tử. 30
Hình 32 Phần mềm Arduino IDE.
2.2.2. Giao diện của Arduino IDE:
- Ô chương trình (Sketch): Đây là nơi người dùng viết mã nguồn Arduino.
Arduino IDE cung cấp các chức năng lập trình cơ bản như tạo, mở, lưu và tải mã nguồn.
- Thư viện (Library): Arduino IDE đi kèm với một số thư viện tiêu chuẩn và
người dùng cũng có thể tải và cài đặt thêm các thư viện bổ sung từ cộng đồng Arduino. 31
- Serial Monitor: Đây là công cụ giúp theo dõi và giao tiếp với board Arduino
thông qua cổng Serial (COM port). Nó cho phép người dùng hiển thị và gửi
dữ liệu qua giao diện dòng văn bản. -
Nút nạp (Upload): Nút này được sử dụng để biên dịch chương trình và nạp
mã nguồn vào board Arduino thông qua kết nối USB.
Hình 33 Giao diện Arduino IDE.
2.2.3. Ứng dụng của Arduino IDE:
- Lập trình và nạp chương trình cho board Arduino: Arduino IDE cho phép
người dùng viết mã nguồn Arduino bằng ngôn ngữ C/C++ và biên dịch mã
thành mã máy tương ứng cho board Arduino. Sau đó, người dùng có thể sử
dụng Arduino IDE để nạp chương trình vào board thông qua kết nối USB.
- Phát triển dự án IoT: Arduino IDE được sử dụng rộng rãi trong việc phát
triển các dự án IoT (Internet of Things). Người dùng có thể sử dụng Arduino
IDE để lập trình các board Arduino kết hợp với các mô-đun kết nối mạng
như Wi-Fi hoặc Bluetooth, từ đó tạo ra các ứng dụng IoT như hệ thống giám
sát từ xa, điều khiển thông qua Internet, và thu thập dữ liệu từ các thiết bị thông minh. 32
- Xây dựng các dự án điện tử tự làm: Arduino IDE cung cấp một môi trường
lập trình đơn giản và dễ sử dụng cho việc xây dựng các dự án điện tử tự làm.
Người dùng có thể sử dụng Arduino IDE để viết mã và điều khiển các linh
kiện điện tử như đèn LED, cảm biến, động cơ và màn hình.
- Học tập và giáo dục: Arduino IDE được sử dụng trong lĩnh vực giáo dục để
giúp học sinh và sinh viên hiểu về điện tử, lập trình và hệ thống nhúng. Nó
cung cấp một giao diện đơn giản và dễ tiếp cận, cho phép người dùng tạo và
thử nghiệm các dự án điện tử cơ bản.
- Phát triển và chia sẻ mã nguồn: Arduino IDE cung cấp một cộng đồng lớn và
sôi động. Người dùng có thể sử dụng Arduino IDE để phát triển và chia sẻ
mã nguồn Arduino của mình với cộng đồng, giúp đóng góp và tận dụng sự
phát triển chung của cộng đồng Arduino.
2.3. Module wifi ESP8266: 2.3.1. Giới thiệu:
- ESP8266 là một module Wi-Fi nhỏ gọn và mạnh mẽ, được phát triển bởi
Espressif Systems. Nó tích hợp sẵn vi xử lý, giao diện Wi-Fi và các chân I/O,
cho phép kết nối và giao tiếp thông qua mạng Wi-Fi. ESP8266 đã trở thành
một trong những module phổ biến và được sử dụng rộng rãi trong các ứng dụng IoT và điện tử. 33
Hình 34 Module wifi esp8266 ch340.
2.3.2. Thông số kỹ thuật ESP8266: - Vi xử lý: o
Chip: Tích hợp vi xử lý 32-bit Tensilica Xtensa LX106. o
Tốc độ xung nhịp: Từ 80MHz đến 160MHz. - Wi-fi: o
Tiêu chuẩn Wi-Fi: 802.11 b/g/n. o
Chế độ hoạt động: Station, Access Point, Station+Access Point. o Băng tần: 2.4GHz. o
Tốc độ truyền dữ liệu: Lên đến 72Mbps. - Bộ nhớ: o
Bộ nhớ lập trình trong (Flash): Có sẵn từ 512KB đến 16MB. o
Bộ nhớ RAM: Từ 32KB đến 160KB. - Giao diện: o
GPIO: 9 chân GPIO kỹ thuật số. 34 o ADC: 1 chân ADC (0-1.0V). o
UART: Hỗ trợ UART cho giao tiếp nối tiếp. o SPI: Giao tiếp SPI. o I2C: Giao tiếp I2C. o PWM: Hỗ trợ PWM. - Nguồn cung cấp: o
Điện áp hoạt động: 3.3V DC. o
Dòng tiêu thụ tối đa: Khoảng 80mA.
- Kích thước và giao tiếp: o Giao tiếp: UART, SPI, I2C. o
Kích thước: Thông thường là 24mm x 16mm, có các biến thể khác nhau.
Hình 35 Sơ đồ chân esp8266 ch340.
2.3.3. Các ứng dụng của ESP8266: -
Hệ thống giám sát và điều khiển từ xa: ESP8266 có khả năng kết nối Wi-Fi,
cho phép thu thập dữ liệu từ các cảm biến và điều khiển các thiết bị từ xa. Ví
dụ: hệ thống giám sát nhiệt độ và độ ẩm trong nhà, điều khiển đèn, quạt và
các thiết bị điện tử thông qua ứng dụng di động hoặc trình duyệt web. 35
- Thiết bị IoT thông minh: ESP8266 có thể được sử dụng để xây dựng các thiết
bị IoT thông minh như bộ điều khiển tủ lạnh, bộ điều khiển thiết bị gia dụng,
hệ thống đèn chiếu sáng thông minh và hệ thống an ninh nhà thông minh.
- Mạng cảm biến không dây: ESP8266 có thể được sử dụng để tạo mạng cảm
biến không dây, thu thập dữ liệu từ các cảm biến như cảm biến nhiệt độ, cảm
biến độ ẩm, cảm biến ánh sáng và truyền dữ liệu đến một trung tâm kiểm
soát hoặc lưu trữ trực tuyến.
- Máy chủ web nhỏ: ESP8266 có thể hoạt động như một máy chủ web nhỏ,
cho phép tạo và chia sẻ các trang web động, giao diện điều khiển và hiển thị
dữ liệu từ board Arduino hoặc các thiết bị điện tử khác.
- Điều khiển đèn và thiết bị điện tử qua Wi-Fi: ESP8266 có thể được sử dụng
để điều khiển các đèn LED, động cơ, relay và các thiết bị điện tử khác thông
qua Wi-Fi. Điều này cho phép bạn tạo ra các hệ thống điều khiển từ xa đơn giản và linh hoạt.
- Bộ truyền thông không dây: ESP8266 có thể được sử dụng để tạo ra các bộ
truyền thông không dây như bộ điều khiển từ xa, điều khiển robot không dây
và truyền dữ liệu không dây giữa các thiết bị.
2.4. Các thiết bị (sử dụng trong đề tài):
- ESP8266 (ch340): Đây là board phát triển dựa trên vi điều khiển ESP8266,
một module Wi-Fi tích hợp và có khả năng kết nối với internet. Nó được sử
dụng để giao tiếp với các thiết bị khác và truyền/nhận dữ liệu thông qua giao thức Wi-Fi. 36
Hình 36 Module wifi esp8266 ch340.
- Servo SG90: Servo SG90 là một loại servo motor nhỏ gọn và phổ biến. Nó
có thể được điều khiển để xoay ở một góc cụ thể từ 0 đến 180 độ. Servo
SG90 thường có ba chân kết nối: chân nguồn (VCC), chân đất (GND) và
chân điều khiển (Signal). Chân điều khiển được kết nối với một chân GPIO
của ESP8266 để điều khiển chuyển động của servo. Hình 37 Servo SG90. 37
- LED (đèn LED): LED (Light Emitting Diode) là một thành phần điện tử phát
sáng. Nó có hai chân: chân dương (Anode) và chân âm (Cathode). Chân
dương của LED được kết nối với một chân GPIO của ESP8266 thông qua
một điện trở. Chân âm được kết nối với chân GND của ESP8266. Bằng cách
điều khiển chân GPIO, bạn có thể bật/tắt LED để tạo hiệu ứng ánh sáng hoặc
hiển thị trạng thái trong hệ thống IoT. Hình 38 Đèn LED.
- Công tắc KCD1: Công tắc KCD1 là một dạng công tắc hành trình (toggle
switch) được sử dụng trong các ứng dụng điện tử và điện lực. Công tắc
KCD1 có thiết kế nhỏ gọn và có khả năng chịu được dòng điện và điện áp
cao, thường được sử dụng trong các mạch điện công suất nhỏ và thiết bị điều khiển. 38
Hình 39 Công tắc KCD1. 39
CHƯƠNG 3: THIẾT KẾ VÀ CHẾ TẠO MÔ HÌNH
3.1. Yêu cầu chức năng:
- Điều khiển đèn (bật / tắt) phòng khách qua ứng dụng di động và giọng nói bằng Google Assistant.
- Điều khiển cửa (mở / đóng) phòng khách qua ứng dụng di động và
giọng nói bằng Google Assistant.
- Điều khiển đèn phòng ngủ (bật / tắt) bằng qua ứng dụng di động, nút
bấm và giọng nói bằng Google Assistant.
3.2. Sơ đồ kết nối:
Hình 40 Sơ đồ kết nối. 40
3.3. Sơ đồ thuật toán: 41
Hình 41 Sơ đồ thuật toán.
3.4. Ứng dụng Google Assistant: 3.4.1. IFTTT:
IFTTT (If This Then That) là một dịch vụ trực tuyến cho phép bạn tự
động hóa các hành động giữa các ứng dụng, dịch vụ và thiết bị khác nhau. Điều
đó có nghĩa là khi một sự kiện xảy ra (được gọi là "kích hoạt"), IFTTT sẽ kích
hoạt một hành động khác (được gọi là "hành động"). IFTTT hoạt động trên
nguyên tắc "nếu điều này xảy ra, thì hãy thực hiện điều đó".
Với IFTTT, bạn có thể tạo các quy tắc tự động hóa (applet) bằng cách kết
hợp các dịch vụ khác nhau thành các cặp kích hoạt hành động. Dưới đây là một
số chức năng chính của IFTTT:
- Kết nối ứng dụng và dịch vụ: IFTTT cung cấp sự kết nối giữa hàng phần trăm
ứng dụng và dịch vụ khác nhau, bao gồm Gmail, Facebook, Twitter, Instagram,
Spotify, Dropbox, Google Drive, Philips Hue, Nest, Amazon Alexa, and more than more.
- Tự động hóa các hành động: Bằng cách tạo applet, bạn có thể tự động hóa các
hành động như gửi email, tải ảnh lên mạng xã hội, tạo sự kiện lịch, đặt thông
báo, điều khiển thiết bị thông minh và nhiều hơn nữa.
- Kích hoạt: IFTTT cung cấp các trình kích hoạt (sự kiện kích hoạt) để kích hoạt
các applet. Ví dụ, trình kích hoạt có thể là một email mới, một thông báo từ ứng
dụng, trạng thái của thiết bị hoặc một sự kiện từ mạng xã hội.
- Hành động: Khi kích hoạt được kích hoạt, IFTTT sẽ thực hiện các hành động
liên quan. Ví dụ, hành động có thể là gửi email, tạo một bài đăng trên mạng xã
hội, tải xuống tệp tin, gửi thông báo đẩy, v.v.
- Tùy chỉnh và cấu hình: Bạn có thể tùy chỉnh các quy tắc applet của mình, chọn
trình kích hoạt và hành động phù hợp, cung cấp thông tin đầu vào cần thiết và
xác định các điều kiện kích hoạt. 42
- Tóm lại, IFTTT là một công cụ mạnh mẽ để tự động hóa các hành động giữa
các ứng dụng, dịch vụ và thiết bị khác nhau. Nó giúp bạn tiết kiệm thời gian tiết
kiệm và nỗ lực trong công việc quản lý các nhiệm vụ hàng ngày của mình và tạo
ra các kết nối thông minh giữa các nền tảng khác nhau.
Hình 42 Chức năng IFTTT 3.4.2. Chức năng:
- Điều khiển các thiết bị: người dùng có thể điều khiển các thiết bị thông qua
ứng dụng di dộng giọng nói Google Assistant. 43
3.5. Kết quả thực nghiệm: 3.5.1. Mô hình: 44 Hình 43 Mô hình. 45
3.5.2. Ứng dụng Blynk và Google Assistant:
Hình 44 Ứng dụng Blynk và Google Assistant. 46 KẾT LUẬN
Hiệu quả và tiện ích: Đồ án nhà thông minh đã thể hiện sự hiệu quả và
tiện ích trong việc tối ưu hóa quản lý và sử dụng các thiết bị trong nhà, đáp ứng
nhu cầu của người dùng một cách thông minh và tiện lợi. Các chức năng như
điều khiển đèn, cửa, các thiết bị và giám sát từ xa đã được thực hiện thành công.
Tích hợp và tương tác: Các thiết bị trong nhà đã được tích hợp và tương
tác với nhau một cách mượt mà và hợp nhất. Người dùng có thể điều khiển và
quản lý các thiết bị thông qua một giao diện đơn giản và trực quan.
Mở rộng và linh hoạt: Hệ thống nhà thông minh đã được thiết kế để dễ
dàng mở rộng và linh hoạt, cho phép tích hợp thêm các thiết bị và chức năng
mới theo nhu cầu sử dụng và phát triển trong tương lai.
Khả năng tương thích: Hệ thống nhà thông minh đã được xây dựng để
tương thích với các thiết bị và giao thức khác nhau, đảm bảo tính tương thích và khả năng mở rộng. 47 TÀI LIỆU THAM KHẢO
- Tra cứu sơ đồ mạch, tài liệu về thiết bị, sửa lỗi: o Google: google.com o ChatGPT: chat.openai.com
- Tham khảo ý tưởng, tài liệu học tập: o Thiết kế mô hình:
youtube.com/watch?v=TjFqCZDCySI&t=142s o Kết nối với Blynk:
youtube.com/watch?v=0LYmD8jv7xo
o Kết nối với Google Assistant: youtube.com/watch? v=ANdSdIlgsEw&t=13067s 48