Hướng dẫn từng bước Thiết kế nhà thông minh - Thiết kế hệ thống nhúng - Học Viện Kỹ Thuật Mật Mã

Trong thời đại hiện nay, nhà thông minh đã trở thành xu hướng được nhiều gia đình hướng tới bởi sự an toàn, tiện nghi và tiết kiệm năng lượng. Từ việc điều khiển ánh sáng, nhiệt độ đến hệ thống an ninh và giải trí đều có thể được quản lý dễ dàng trong ngôi nhà thông minh chỉ qua một vài thao tác trên smartphone hoặc giọng nói. Vậy nhưng không phải ai cũng biết cách thiết kế các tính năng phù hợp với từng không gian sống trong ngôi nhà. Vậy hãy cùng Lumi tìm hiểu chi tiết các bước thiết kế nhà thông minh giúp biến ngôi nhà của bạn thành không gian sống hiện đại, tiện nghi hơn bao giờ hết. Tài liệu giúp bạn tham khảo và đạt kết quả tốt. Mời bạn đọc đón xem!

lOMoARcPSD|4 7892172
lOMoARcPSD|4 7892172
5. // Đnh template Blynk
6. #define BLYNK_TEMPLATE_ID "TMPL6950Uwoay"
7. #define BLYNK_TEMPLATE_NAME "smartHome"
8. #define BLYNK_AUTH_TOKEN "_w3_vShGB0IEKDvvxBDGpXbMC222zB3P"
9.
10. // Khai báo thư vin DHT, Blynk, Wifi
11. #include <WiFi.h>
12. #include <WiFiClient.h> // t
a
o m
ô
t máy đ
ê
co th
ê
k
ê
t n
ô
i v
ơ
i m
ô
t đ
a IP đa
đ
ươ
c đ
nh nghia
13. #include <BlynkSimpleEsp32.h>
LAB 1
1. Thiết kế nhà thông minh
- Điều khiển đèn các phòng
- Theo dõi nhiệt độ, độ ẩm
2. Hệ thống gồm
- ESP32
- Digital Humidity and Temperature sensor
- LED
- Relay Modul
- Điện trở
3. phỏng trên Wokwi
4. Code
lOMoARcPSD|4 7892172
14.#include <DHT.h>
15.
16.#define BLYNK_PRINT Serial
17.
18. const int Lounge = 23; // Đ
nh nghia s
ô
19. const int Dining = 22; // Đnh nghia sô
chân k
ê
t n
ô
i v
ơ
i thi
ê
t b
chân k
ê
t n
ô
i v
ơ
i thi
ê
t b
Lounge
Dining
20. const int Bedroom = 21; // Đnh nghia sô
21.
chân k
ê
t n
ô
i v
ơ
i thi
ê
t b
Bedroom
22. #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
23. #define DHTPIN 12 //Đnh nghia sô chân kêt nôi vơi cm biên DHT
đ
c d
li
u t
25. float temp,humi ; //Khai báo biên đê
26.
l
ư
u tr
giá tr
nhi
t đ
ô
đ
ô
m
27. //Kêt nôi Wifi
28. char auth[] = "_w3_vShGB0IEKDvvxBDGpXbMC222zB3P"; //Khai báo biên lưu tr
ma thông o xác thc Blynk
29. char ssid[] = "Wokwi-GUEST"; //Khai báo bi
ê
n l
ư
u tr
tên m
a
ng WiFi (SSID)
30. char pass[] = ""; // Khai báo biên lưu tr
31.
mt khu mang WiFi
32.void setup()
33.{
34. Serial.begin (115200);
35. dht.begin(); //Khi đông cm biên DHT
36.pinMode(Lounge, OUTPUT); // Thiêt đt chân đa gn cho đèn phòng ch
output
37.pinMode(Dining, OUTPUT); // Thiêt đt chân đa gn cho đèn phòng ăn
output
38.pinMode(Bedroom, OUTPUT); // Thiêt đt chân đa gn cho đèn phòng ng
output
39. Blynk.begin (auth,ssid,pass);
40.}
41. // đo nhit đô đô m trong nhà
42. void DHT22Read(){
43. float temp = dht.readTemperature(); //Đc d
li
u nhi
t đ
ô
đ
ô
m t
c
m bi
ê
n DHT22 b
ng cách g
i c ph
ươ
ng th
c readTemperature() c
a đ
ô
i
t
ươ
ng dht
44. float humi = dht.readHumidity(); //Đc d
li
u nhi
t đ
ô
đ
ô
m t
c
m
biên DHT22 bng cách gi các phương thc readHumidity() ca dôi tương dht
45. Serial.println("Nhiet do: " + String(temp) + "°C");
46. Serial.println("Do am: " + String(humi) + "%");
47. Serial.println("---");
48. Blynk.virtualWrite(V3, temp); //Gi giá tr
nhi
t đ
ô
lên Blynk thông qua
các b
ô
ghi
o V3
49. Blynk.virtualWrite(V4, humi); //Gi giá tr đô m lên Blynk thông qua
các b
ô
50.}
51.
ghi
o V4
lOMoARcPSD|4 7892172
52.void loop() {
53.
54. Blynk.run(); //s dung đê duy tri kêt nôi, gi nhn d liu
55. DHT22Read(); //đ
ê
đ
c g
i d
li
u nhi
t đ
ô
đ
ô
m lên Blynk
56.
57.}
58.
59.BLYNK_CONNECTED() // K
ê
t n
ô
i thành công v
ơ
i n
n t
ng Blynk
60.{
61. Blynk.syncVirtual(V0);
62. Blynk.syncVirtual(V1);
63. Blynk.syncVirtual(V2);
64.}
65.
66.BLYNK_WRITE(V0) // Hàm Blynk điu khiên đèn phòng ch
67. {
68.
69.
70.
71.
int p = param.asInt(); // Đ
c giá tr
t
switch widget Blynk c
a
đèn phòng ch
digitalWrite(Lounge, p);
}
72.BLYNK_WRITE(V1) // Hàm Blynk điu khiên đèn phòng ăn
73. {
74.
75.
76.
77.
int s = param.asInt(); // Đ
c giá tr
t
switch widget Blynk c
a đèn
phòng ăn
digitalWrite(Dining, s);
}
78.BLYNK_WRITE(V2) // Hàm Blynk đi
u khi
ê
n đèn phòng ngh
79. {
80.
81.
82.
int r = param.asInt(); // Đc giá tr t switch widget Blynk ca
đèn phòng ng
digitalWrite(Bedroom, r);
}
5. Link wokwi
https://wokwi.com/projects/381264330164891649
| 1/4

Preview text:

lOMoARcPSD|47892172 lOMoARcPSD|47892172 LAB 1
1. Thiết kế nhà thông minh

- Điều khiển đèn các phòng
- Theo dõi nhiệt độ, độ ẩm 2. Hệ thống gồm - ESP32
- Digital Humidity and Temperature sensor - LED - Relay Modul - Điện trở
3. Mô phỏng trên Wokwi 4. Code 5. // Định template Blynk
6. #define BLYNK_TEMPLATE_ID "TMPL6950Uwoay"
7. #define BLYNK_TEMPLATE_NAME "smartHome"
8. #define BLYNK_AUTH_TOKEN "_w3_vShGB0IEKDvvxBDGpXbMC222zB3P" 9.
10. // Khai báo thư viện DHT, Blynk, Wifi 11. #include
12. #include // tao môt máy đê co thê kêt nôi vơi môt địa IP đa đươc định nghia 13. #include lOMoARcPSD|47892172 14.#include 15.
16.#define BLYNK_PRINT Serial 17.
18. const int Lounge = 23; // Định nghia sô chân kêt nôi vơi thiêt bị Lounge
19. const int Dining = 22; // Định nghia sô chân kêt nôi vơi thiêt bị Dining
20. const int Bedroom = 21; // Định nghia sô chân kêt nôi vơi thiêt bị Bedroom 21. 22. #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
23. #define DHTPIN 12 //Định nghia sô chân kêt nôi vơi cảm biên DHT
24. DHT dht(DHTPIN, DHTTYPE); // Khai báo môt đôi tương DHT đê đọc dữ liệu từ cảm biên DHT
25. float temp,humi ; //Khai báo biên đê lưu trữ giá trị nhiệt đô và đô ẩm 26. 27. //Kêt nôi Wifi
28. char auth[] = "_w3_vShGB0IEKDvvxBDGpXbMC222zB3P"; //Khai báo biên lưu trữ
ma thông báo xác thực Blynk
29. char ssid[] = "Wokwi-GUEST"; //Khai báo biên lưu trữ tên mang WiFi (SSID)
30. char pass[] = ""; // Khai báo biên lưu trữ mật khẩu mang WiFi 31. 32.void setup() 33.{
34. Serial.begin (115200);
35. dht.begin(); //Khởi đông cảm biên DHT 36.pinMode(Lounge, OUTPUT);
// Thiêt đặt chân đa gắn cho đèn phòng chờ là output 37.pinMode(Dining, OUTPUT);
// Thiêt đặt chân đa gắn cho đèn phòng ăn là output 38.pinMode(Bedroom, OUTPUT);
// Thiêt đặt chân đa gắn cho đèn phòng ngủ là output
39. Blynk.begin (auth,ssid,pass); 40.}
41. // đo nhiệt đô đô ẩm trong nhà 42. void DHT22Read(){ 43.
float temp = dht.readTemperature(); //Đọc dữ liệu nhiệt đô và đô ẩm từ
cảm biên DHT22 bằng cách gọi các phương thức readTemperature() của đôi tương dht 44.
float humi = dht.readHumidity(); //Đọc dữ liệu nhiệt đô và đô ẩm từ cảm
biên DHT22 bằng cách gọi các phương thức readHumidity() của dôi tương dht 45.
Serial.println("Nhiet do: " + String(temp) + "°C"); 46.
Serial.println("Do am: " + String(humi) + "%"); 47. Serial.println("---"); 48.
Blynk.virtualWrite(V3, temp); //Gửi giá trị nhiệt đô lên Blynk thông qua các bô ghi ảo V3 49.
Blynk.virtualWrite(V4, humi); //Gửi giá trị đô ẩm lên Blynk thông qua các bô ghi ảo V4 50.} 51. lOMoARcPSD|47892172 52.void loop() { 53.
54. Blynk.run(); //sử dung đê duy tri kêt nôi, gửi và nhận dữ liệu
55. DHT22Read(); //đê đọc và gửi dữ liệu nhiệt đô và đô ẩm lên Blynk 56. 57.} 58.
59.BLYNK_CONNECTED() // Kêt nôi thành công vơi nền tảng Blynk 60.{ 61. Blynk.syncVirtual(V0); 62. Blynk.syncVirtual(V1); 63. Blynk.syncVirtual(V2); 64.} 65.
66.BLYNK_WRITE(V0) // Hàm Blynk điều khiên đèn phòng chờ 67. { 68.
int p = param.asInt(); // Đọc giá trị từ switch widget Blynk của đèn phòng chờ 69. digitalWrite(Lounge, p); 70. } 71.
72.BLYNK_WRITE(V1) // Hàm Blynk điều khiên đèn phòng ăn 73. { 74.
int s = param.asInt(); // Đọc giá trị từ switch widget Blynk của đèn phòng ăn 75. digitalWrite(Dining, s); 76. } 77.
78.BLYNK_WRITE(V2) // Hàm Blynk điều khiên đèn phòng nghỉ 79. { 80.
int r = param.asInt(); // Đọc giá trị từ switch widget Blynk của đèn phòng ngủ 81. digitalWrite(Bedroom, r); 82. } 5. Link wokwi
https://wokwi.com/projects/381264330164891649
Document Outline

  • 1.Thiết kế nhà thông minh
  • 2.Hệ thống gồm
  • 3.Mô phỏng trên Wokwi
  • 5. Link wokwi https://wokwi.com/projects/381264330