Professional Documents
Culture Documents
HỒ CHÍ MINH
KHOA ĐIỆN ĐIỆN TỬ
BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
Tp HCM, ngày tháng năm
Chữ kí của giáo viên
(Kí và ghi rõ họ tên)
LỜI CẢM ƠN
Trong quá trình học tập tại trường Đại học Sư Phạm Kỹ thuật TP Hồ Chí
Minh và đặc biệt là trong khoảng thời gian chúng em học môn Cơ sở và Ứng
dụng Iots chúng em được sự giúp đỡ, hỗ trợ rất nhiều. Để hoàn thành báo cáo
môn học này, chúng em xin gửi lời cảm ơn chân thành đến thầy PGS.Ts. Phan
Văn Ca đã hướng dẫn, định hướng, giúp đỡ tận tình, giải đáp những thắc mắc
trong quá trình thực hiện báo cáo, giúp báo cáo đúng tiến độ và đúng định
hướng. Mặc dù đã cố gắng thực hiện báo cáo với sự nghiêm túc nhất nhưng báo
cáo vẫn không thể tránh được những sai sót do sự tìm hiểu về kiến thức và khả
năng nghiên cứu còn hạn chế. Rất mong nhận được sự góp ý từ quý thầy để rút
kinh nghiệm cho những báo cáo và đồ án môn học ở phía sau.
Một lần nữa chúng em xin chân thành cảm ơn!
v
MỤC LỤC
DANH MỤC HÌNH.......................................................................................................VII
DANH MỤC BẢNG ................................................................................................... VIII
vi
DANH MỤC HÌNH
Hình 2.1 – Hình sơ đồ chân NodeMCU ESP8266 .......................................................... 5
Hình 2.2 – Hình NodeMCU ESP8266 ............................................................................ 5
Hình 2.3 – Hình cảm biến lửa.......................................................................................... 7
Hình 2.4 – Hình buzzer ................................................................................................... 8
Hình 2.5 – Hình ICLM35 .............................................................................................. 10
Hình 3.1 – Sơ Đồ Nguyên Lý Toàn Mạch .................................................................... 15
Hình 3.2 – Giao diện webserver .................................................................................... 20
Hình 3.3 – Mạch thực tế ................................................................................................ 20
vii
DANH MỤC BẢNG
Bảng 2.1 – Thông số kỹ thuật của NodeMCU ESP8266 ................................................ 4
Bảng 2.2 – Thông số kỹ thuật của flame sensor .............................................................. 7
Bảng 2.3 – Thông số kỹ thuật của Buzzer ....................................................................... 8
Bảng 2.4 – Thông số kỹ thuật của ICLM35 .................................................................... 9
Bảng 3.1 – Nối chân giữa ESP8266 MCU với LM35 ................................................... 15
Bảng 3.2– Nối chân giữa ESP8266 MCU với Cảm biến lửa ........................................ 15
Bảng 3.3 – Nối chân giữa ESP8266 MCU với Motor Quạt .......................................... 15
Bảng 3.4 – Nối chân giữa ESP8266 MCU với Đèn ..................................................... 16
viii
ix
CHƯƠNG 1
GIỚI THIỆU
Xuất phát từ ý muốn xây dựng nên các công trình thông minh như: smart
home, smart office, smart farm,… Và dựa trên cơ sở kiến thức đã học trong môn
học IoTs cùng với những hiểu biết về các thiết bị điện tử, chúng tôi đã quyết định
thực hiện đề tài: ĐIỀU KHIỂN THIẾT BỊ TRONG NHÀ với mục đích để tìm
hiểu thêm về ESP8266 NodeMcu V3, làm quen với các thiết bị điện tử, cách lập
trình giao tiếp với máy tính và nâng cao hiểu biết cho bản thân. Do kiến thức còn
hạn hẹp nên chắc chắn không tránh khỏi những thiếu sót, hạn chế vì thế chúng tôi
rất mong có được sự góp ý và nhắc nhỡ từ giảng viên để có thể hoàn thiện đề tài
của mình.
Biết cách lập trình cho khối điều khiển trung tâm.
Biết cách lập trình để điều khiển thiết bị bằng ESP8266 NodeMcu V3.
Hoàn thành đầy đủ theo thiết kế.
Ý nghĩa khoa học: Đề tài mang đến cái nhìn khách quan về công nghệ từ
xa, việc kết nối với các thiết bị chuyên dùng.
Ý nghĩa thực tiễn: Đề tài là tiền đề để phát triển hệ thống giám sát bằng
cách sử dụng cảm biến để điều khiển theo ý muốn. Một bước tiến mới mở rộng
quy mô tự động hóa không chỉ ở các xí nghiệp, cơ quan, tổ chức mà có thể ứng
dụng trong hộ gia đình như hệ thống báo cháy, hệ thống chống trộm, hệ thống
điều khiển thiết bị trong nhà…
1
1.4 GIỚI HẠN CỦA ĐỀ TÀI
- Không điều khiển được ở môi trường không có mạng lưới thoại di
động.
- Bộ điều khiển trung tâm luôn ở trạng thái hoạt động do đó cần giải
quyết vấn đề tiết kiêm năng lượng.
- Cần có nguồn dự phòng khi mất điện.
- Điều khiển thiết bị quy mô hộ gia đình.
2
CHƯƠNG 2
CƠ SỞ LÝ THUYẾT VỀ LINH KIỆN TRONG
MẠCH
Kit NodeMCU ESP8266 là module wifi giá rẻ và được đánh giá rất cao cho
các ứng dụng liên quan đến Internet và Wifi cũng như các ứng dụng truyền nhận
sử dụng thay thế cho các module RF khác.
ESP8266 là một chip tích hợp cao, được thiết kế cho nhu cầu của một thế
giới kết nối mới, thế giới Internet of thing (IOT). Nó cung cấp một giải pháp kết
nối mạng Wi-Fi đầy đủ và khép kín, cho phép nó có thể lưu trữ các ứng dụng
hoặc để giảm tải tất cả các chức năng kết nối mạng Wi-Fi từ một bộ xử lý ứng
dụng.
ESP8266 có xử lý và khả năng lưu trữ mạnh mẽ cho phép nó được tích hợp
với các bộ cảm biến, vi điều khiển và các thiết bị ứng dụng cụ thể khác thông qua
GPIOs với một chi phí tối thiểu và một PCB tối thiểu.
ESP8266 có một cộng đồng các nhà phát triển trên thế giới rất lớn, cung
cấp nhiều Module lập trình mã mở giúp nhiều người có thể tiếp cận và xây dựng
ứng dụng rất nhanh.
3
Thông số kỹ thuật:
Bảng 2.1 – Thông số kỹ thuật của NodeMCU ESP8266
Điện áp cung cấp DC 5 ~ 9V
WiFi 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n
Hỗ trợ bảo mật WPA/WPA2
Bộ nhớ Flash 32MB
Cổng kết nối hỗ trợ USB-TTL CP2102 với cổng Micro-USB
Nhiệt độ hoạt động -40 ℃ ~ + 125 ℃
Giao tiếp dữ liệu UART / HSPI / I2C / I2S /GPIO / PWM
Kích thước các chân 2.54mm (0.1’’) với 15 pins x 2 dãy. Không hàn.
Led báo trạng thái GPIO16, nút Reset
Lập trình trên các ngôn ngữ C/C++, Micropython, NodeMCU - Lua
Khối lượng sản phẩm 0,0190 kg
Kích thước (L x W x H) 4,80 x 2,60 x 0,10 cm / 1,89 x 1,02 x 0,04 inch
4
Hình 2.1 – Hình sơ đồ chân NodeMCU ESP8266
Hình ảnh
5
khiển liên thông IC (Inter-Intergrated Circuit) nên nó được đặt tên là I2C. Tất cả
các chip có tích hợp và tương thích với I2C đều có thêm một giao diện tích hợp
trên Chip để truyền thông trực tiếp với các thiết bị tương thích I2C khác. Việc
truyền dữ liệu nối tiếp theo hai hướng 8 bit được thực thi theo 3 chế độ sau:
Chuẩn (Standard)-100 Kbits/sec Nhanh (Fast)-400 Kbits/sec Tốc độ cao (High
speed)-3.4 Mbits/sec Đường bus thực hiện truyền thông nối tiếp I2C gồm hai
đường là đường truyền dữ liệu nối tiếp SDA và đường truyền nhịp xung đồng hồ
nối tiếp SCL. Vì cơ chế hoạt động là đồng bộ nên nó cần có một nhịp xung tín
hiệu đồng bộ. Các thiết bị hỗ trợ I2C đều có một địa chỉ định nghĩa trước, trong
đó một số bit địa chỉ là thấp có thể cấu hình. Đơn vị hoặc thiết bị khởi tạo quá
trình truyền thông là đơn vị Chủ và cũng là đơn vị tạo xung nhịp đồng bộ, điều
khiển cho phép kết thúc quá trình truyền. Nếu đơn vị Chủ muốn truyền thông với
đơn vị khác nó sẽ gửi kèm thông tin địa chỉ của đơn vị mà nó muốn truyền trong
dữ liệu truyền. Đơn vị Tớ đều được gán và đánh địa chỉ thông qua đó đơn vị Chủ
có thể thiết lập truyền thông và trao đổi dữ liệu. Bus dữ liệu được thiết kế để cho
phép thực hiện nhiều đơn vị Chủ và Tớ ở trên cùng Bus. Quá trình truyền thông
I2C được bắt đầu bằng tín hiệu start tạo ra bởi đơn vị Chủ. Sau đó đơn vị Chủ sẽ
truyền đi dữ liệu 7 bit chứa địa chỉ của đơn vị Tớ mà nó muốn truyền thông, theo
thứ tự là các bit có trọng số lớn nhất MSB sẽ được truyền trước. Bit thứ tám tiếp
theo sẽ chứa thông tin để xác định đơn vị Tớ sẽ thực hiện vai trò nhận (0) hay gửi
(1) dữ liệu. Tiếp theo sẽ là một bit ACK xác nhận bởi đơn vị nhận đã nhận được
1 byte trước đó hay không. Đơn vị truyền (gửi) sẽ truyền đi 1 byte dữ liệu bắt đầu
bởi MSB. Tại điểm cuối của byte truyền, đơn vị nhận sẽ tạo ra một bit xác nhận
ACK mới. Khuôn mẫu 9 bit này (gồm 8 bit dữ liệu và 1 bit xác nhận) sẽ được lặp
lại nếu cần truyền tiếp byte nữa. Khi đơn vị Chủ đã trao đổi xong dữ liệu cần nó
sẽ quan sát bit xác nhận ACK cuối cùng rồi sau đó sẽ tạo ra một tín hiệu dừng
STOP để kết thúc quá trình truyền thông. I2C là một giao diện truyền thông đặc
biệt thích hợp cho các ứng dụng truyền thông giữa các đơn vị trên cùng một bo
mạch với khoảng cách ngắn và tốc độ thấp. Hầu hết các thiết bị hỗ trợ I2C hoạt
6
động ở tốc độ 400Kbps, một số cho phép hoạt động ở tốc độ cao vài Mbps. I2C
khá đơn giản để thực thi kết nối nhiều đơn vị vì nó hỗ trợ cơ chế xác định địa chỉ.
Cảm biến phát hiện lửa (flame sensor) thường dùng trong các hệ thống báo
cháy. Tầm hoạt động trong khoảng 80cm với góc quét 60°. Cảm biến nhận biết
được lửa tốt nhất với bước sóng 760nm - 1100nm. Mạch còn được tích hợp IC
LM393 để so sánh tạo mức tín hiệu và có thể chỉnh được độ nhạy bằng biến trở.
Cảm biến phát hiện lửa (flame sensor) có hai ngõ ra tín hiệu là Digital và
Analog rất dễ dử dụng.
Thông số kỹ thuật:
Bảng 2.2– Thông số kỹ thuật của flame sensor
Nguồn cấp 3.3V - 5VDC
Dòng tiêu thụ 15mA
Tín hiệu ra Digital 3.3 - 5VDC tùy nguồn cấp hoặc Analog
Khoảng cách 80 cm
Góc quét 60 độ
Kích thước 3.2 x 1.4 cm
7
Tính năng:
Khả năng phát hiện lửa hoặc nguồn sáng có bước sóng tương tự.
Sử dụng cảm biến hồng ngoại YG1006 với tốc độ đáp ứng nhanh và độ
nhạy cao.
Tích hợp IC LM393 để chuyển đổi ADC, tạo 2 ngõ ra cả số và tương tự,
rất linh động trong việc sử dụng.
Biến trở để tùy chỉnh độ nhạy cảm biến.
Có thể ứng dụng trong các hệ thống báo cháy, robot chữa cháy,…
2.3 BUZZER
Còi Buzzer 5VDC có tuổi thọ cao, hiệu suất ổn định, chất lượng tốt, được
sản xuất nhỏ gọn phù hợp thiết kế với các mạch còi buzzer nhỏ gọn, mạch báo
động.
Thông số kỹ thuật:
8
2.4 IC LM35
Nhiệt độ là một yếu tố ảnh hưởng rất quan trọng đến đời sống hằng ngày
của chúng ta. Việc đo và giám sát nhiệt độ đã trở nên rất quan trọng trọng việc sử
dụng nhiệt độ ví dụ trong lò nhiệt, phòng xử lý chất thải.... Trong nhiều trường
hợp người ta cần xác định đo nhiệt độ ở nhiều điểm trong một phòng, lò xử lý...
Việc xác định nhiệt độ ở nhiều điểm dẫn tới người ta có phương án xử lý chính
xác hơn.
Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện
áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius. Chúng cũng
không yêu cầu cân chỉnh ngoài vì vốn chúng đã được cân chỉnh. Cảm biến LM35
hoạt động bằng cách cho ra một giá trị hiệu điện thế nhất định tại chân Vout
(chân giữa) ứng với mỗi mức nhiệt độ.
Với ưu điểm như hoạt động khá chính xác với sai số ít, kích thước nhỏ và
giá thành thấp, IC cảm biến nhiệt độ LM35 là một trong những cảm biến tương
tự được sử dụng rất nhiều trong các ứng dụng đo nhiệt độ thời gian thực.
Thông số kĩ thuật
Bảng 2.4 – Thông số kỹ thuật của ICLM35
Điện áp hoạt động 4-20V DC
Công suất tiêu thụ 60uA
Khoảng đo nhiệt độ -55°C đến 150°C
Nhiệt độ thay đổi tuyến tính 10mV/°C
Độ chính xác thực tế 1/4°C ở nhiệt độ phòng và 3/4°C ngoài khoảng
2°C tới 150°C
Kiểu chân TO92
Kích thước 4.30mm × 4.30mm
9
Hình ảnh
10
CHƯƠNG 3
THIẾT KẾ HỆ THỐNG
11
o Z-Wave: Qúa trình giao tiếp tin cậy và an toàn, cài đặt đơn
giản, tương đối chậm, chỉ hỗ trợ tốc độ truyền dữ liệu lên tới
100 Kb/giây.
o Wifi: là hệ thống mạng không dây sử dụng sóng vô tuyến,
cũng giống như điện thoại di động, truyền hình và radio. Kết
nối Wifi thường là sự lựa chọn hàng đầu của rất nhiều kỹ sư
giải pháp bởi tính thông dụng và kinh tế của hệ thống wifi và
mạng LAN với mô hình kết nối trong một phạm vi địa lý có
giới hạn.
o Cellular: thích hợp với các ứng dụng IoT/M2M yêu cầu
khoảng cách truyền thông dài, hoặc không bị giới hạn bởi
khoảng cách địa lý,tiêu hao năng lượng lớn.
o Chọn wifi là giao thức để truyền thông.
12
3.4 THIẾT KẾ
Sơ đồ khối
13
Lưu đồ:
14
Sơ đồ nguyên lý
Bảng 3.2– Nối chân giữa ESP8266 MCU với Cảm biến lửa
ESP8266 MCU Cảm biến lửa
Pin D2 DO
3.3V VCC
GND GND
Bảng 3.3 – Nối chân giữa ESP8266 MCU với Motor Quạt
ESP8266 MCU Quạt
Pin D4 VCC
GND GND
15
Bảng 3.4 – Nối chân giữa ESP8266 MCU với Đèn
ESP8266 MCU Đèn
Pin D0 VCC
GND GND
3.5 MÔ PHỎNG
#include <ESP8266WebServer.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <SoftwareSerial.h>
#include <String.h>
#include <ESP8266mDNS.h>
//Wifi
const char* ssid = "4B";
const char* password = "135792468";
WiFiServer test(80);
ESP8266WebServer server(80);
digitalWrite(LED1, LOW);
digitalWrite(BUZZER, LOW);
digitalWrite(QUAT, LOW);
Serial.begin(115200);
16
Serial.println();
Serial.println();
Serial.print("Ket noi toi mang ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("Da ket noi WiFi");
test.begin();
Serial.println("Khoi dong Server");
Serial.println(WiFi.localIP());
}
void loop()
{
//Đọc nhiệt độ LM35, 1 giây đọc 1 lần
int reading = analogRead(LM35);
float voltage = reading * 3.0 / 1024.0;
tmp_lm35 = voltage * 100.0;
delay(100);
//i++;
//if (i==5)
{
//i=0;
j++;
tmp_tb=tmp_tb+tmp_lm35;
if (j>solan)
{
tmp=tmp_tb/solan;
tmp_tb=0;
j=0;
Stmp = String(tmp) + "°C";
Serial.println(Stmp);
}
}
17
}
if (req.indexOf("/?LED=OFF") != -1) {
digitalWrite(LED1, LOW);
valuel = LOW;
}
if (req.indexOf("/?QUAT=ON") != -1) {
digitalWrite(QUAT, HIGH);
valueq = HIGH;
}
if (req.indexOf("/?QUAT=OFF") != -1) {
digitalWrite(QUAT, LOW);
valueq = LOW;
}
if (valuel==HIGH) Sled = "Led đang bật"; else Sled = "Led đang tắt";
if (valueq==HIGH) Squat = "Quạt đang bật"; else Squat = "Quạt đang tắt";
18
s += " <caption style=\"color: red\"><h3>Giám sát nhiệt độ và độ ẩm trong
nhà</h3></caption>";
s += "<tr>";
s += "<td><h3 style=\"color: 009900\">LED</h3></td>";
s += "<td><h3 style=\"color: 009900\"<td><form menthod='get'><input
class='button' type='submit' name='LED' value='ON' ></form></td>";
s += "<td><h3 style=\"color: 009900\"<td><form menthod='get'><input
class='button' type='submit' name='LED' value='OFF' ></form></td>";
s += "<td><h3 style=\"color: 009900\"> " + Sled + "</h3></td>";
s += "</tr>";
s += " <tr>";
s += "<td><h3 style=\"color: 009900\">QUAT</h3></td>";
s += "<td><h3 style=\"color: 009900\"<td><form menthod='get'><input
class='button' type='submit' name='QUAT' value='ON' ></form></td>";
s += "<td><h3 style=\"color: 009900\"<td><form menthod='get'><input
class='button' type='submit' name='QUAT' value='OFF' ></form></td>";
s += "<td><h3 style=\"color: 009900\"> " + Squat + "</h3></td>";
s += "<tr>";
s += "</table>";
s += " <table border=\"1\", width=\" 40%\" style=\"padding-top:0\">";
s += " <caption style=\"color: red\"><h3>Trạng thái</h3></caption>";
s += "<tr>";
s += "<td><h3 style=\"color: 009900\">Nhiệt Độ</h3></td>";
s += "<td><h3 style=\"color: 009900\">"+Stmp+"</h3></td>";
s += "</tr>";
s += " <tr>";
s += "<td><h3 style=\"color: 009900\">Cảm biến cháy</h3></td>";
s += "<td><h3 style=\"color: 009900\">" + SFire + "</h3></td>" ;
s += "</tr>";
s += "</table>";
s += "</center>";
s += " </div>";
s += "</body>";
s += "</html>";
s += " <script type=\"text/javascript\" language=\"JavaScript\"
src=\"http://www.informatik.uni-leipzig.de/~duc/amlich/JavaScript/amlich-hnd.js\">;";
s += "</script>";
s += "<script language=\"JavaScript\">;";
s += "setOutputSize(\"small\");";
s += "document.writeln(printSelectedMonth());";
s += "</script> ";
s += "<table>";
s += "<tr>";
client.print(s);
delay(1);
19
3.6 THÀNH PHẨM
20
CHƯƠNG 4
Để thực hiện được các chức năng nêu trên, chúng tôi đã tìm hiểu, nghiên
cứu các vấn đề có liên quan tới đề tài như : ESP8266 NodeMcu V3, cảm biến
nhiệt độ, cảm biến lửa và các vấn đề khác liên quan tới đề tài. Cuối cùng, theo
nhận định chủ quan của chúng tôi thì báo cáo đã được hoàn thành đúng thời gian,
đạt được mục tiêu đề tài ra và đã trình bày khá đầy đủ các mảng kiến thức, các
vấn đề liên qua tới đề tài.
+ Chỉ điều khiển được trong phạm vi phủ sóng mạng Wi-fi.
+ Độ nhạy chưa cao.
+ Cảm biến lửa, cảm biến nhiệt độ chưa có thông số chính xác, chỉ mang
tính tương đối.
Mục tiêu đề ra dù đã được hoàn thành nhưng chỉ là một phần khía cạnh
trong tiêu chuẩn của điều khiển thiết bị. Vì vậy, để đề tài này thêm phong phú,
mang nhiều tính thực tế, ứng dụng cao hơn thì cần đưa thêm vào những yêu cầu
như sau :
+ Cần có sự điều khiển của người dùng khi sự cố xảy ra.
+ Có thể phát triển để điều khiển nhiều thiết bị hơn.
+ Xây dựng một sản phẩm hoàn thiện hơn cả về phần cứng và phầm mềm.
+ Xây dựng giao diện web đẹp hơn.
21
TÀI LIỆU THAM KHẢO
[1] TS Phan Văn Ca và ThS Trương Quang Phúc(2017), Cơ sở và ứng dụng
Internet Of Thinhgs, Đại học quốc gia thành phố Hồ Chí Minh
[2] http://nshopvn.com/arduino-nodemcu-lua-wifi-v3-ch340.html
[3] http://machungdung.com/coi-buzzer-5v-dc
[4] http://arduino.vn/bai-viet/1032-cam-bien-lua-mot-mo-dun-cam-bien-don-
gian-voi-ardunio
22