Tải bản đầy đủ (.docx) (28 trang)

Đồ án thiết kế hệ thống nhúng, học viện công nghệ bưu chính viễn thông (1)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.29 MB, 28 trang )

Bộ Thông Tin Và Truyền Thông
Học Viện Công Nghệ Bưu Chính Viễn Thơng
Khoa Kỹ thuật – Điện tử I

Đồ án môn học:
ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG
Đề tài:
Giám sát nhiệt độ, độ ẩm trên nền tảng IoT

Giảng viên hướng dẫn: Ts. Nguyễn Ngọc Minh
Sinh viên thực hiện: Phạm Mạnh Tuấn – B17DCDT206
Từ Phú Lâm – B17DCDT104
Nguyễn Văn Linh – B17DCDT110

Hà Nội, tháng 5, năm 2021
1


Lời cảm ơn

Đầu tiên nhóm chúng em xin gửi lời cảm ơn sâu sắc đến thầy Nguyễn Ngọc Minh,
người đã giúp đỡ chúng em rất nhiều về định hướng nghiên cứu, đưa ra nhứng nhận
xét, đánh giá, góp ý đối với đồ án môn học Đồ Án Thiết Kế Hệ Thống Nhúng trong
suốt thời gian thực hiện.
Qua việc học và tìm hiểu những kiến thức liên quan đồng thời thực hành, làm việc trực
tiếp với những công cụ liên quan đến mơn học Đồ Án Thiết Kế Hệ Thống Nhúng,
nhóm chúng em đã rút ra được rất nhiều bài học bổ ích phục vụ cho q trình học tập
và nghiên cứu sau này.
Chúng em xin chân thành cảm ơn thầy cô đã giảng dạy chúng em, đặc biệt là các thầy
cô giáo trong khoa Điện-Điện tử. Xin cảm ơn các bạn sinh viên trong khoa đã giúp đỡ
tôi rất nhiều mặt: như phương tiện, sách vở, ý kiến …


Mặc dù đã rất cố gắng hoàn thành đồ án này song cung khơng tránh khỏi những sai
sót, mong thầy cơ và các bạn đóng góp những ý kiến q báu để đồ án được thành công
hơn.
Một lần nữa xin được gửi lời cảm ơn đến thầy!
Nhóm sinh viên thực hiện

2


Nhận xét của giảng viên hướng dẫn
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
………………………………………………


3


Mục lục
Lời nói đầu............................................................................................................6
I.

Chương I. Mở đầu.......................................................................................7
1.

Đặt vấn đề................................................................................................7

2.

Lý do chọn đề tài.....................................................................................7

3.

Mục đích nghiên cứu..............................................................................7

II. Chương II. Giới thiệu Node MCU Esp8266, Module DHT11 & Modulo
NRF24L01............................................................................................................7
1.

Node MCU Esp8266................................................................................7
a.

Giới thiệu chung...................................................................................7

b.


Sơ đồ chân............................................................................................8

2.

Modulo DHT11......................................................................................11

3.

Modulo thu phát NRF24L01................................................................12
a.

Giới thiệu tổng quan..........................................................................12

b.

Sơ đồ chân..........................................................................................13

III. Chương III. Tìm hiểu Webserver...........................................................14
1.

Tìm hiểu Web Server............................................................................14

2.

Web Server trên Esp8266.....................................................................14

3.

Các chế độ hoạt động của Node MCU Esp8266.................................15


IV. Chương IV. Nghiên cứu giám sát nhiệt độ, độ ẩm trên các nền tảng
IoT(Web & Blynk App & Máy chủ Thingspeak)...........................................15
1.

Website...................................................................................................15

2.

Blynk App..............................................................................................16

3.

Máy chủ Thingspeak............................................................................16

V.

Chương V. Xây dựng chương trình.........................................................16
1.

Xây dựng sơ đồ khối.............................................................................16
a.

Module Node MCU sử dụng là Web Server....................................16

b.

Modulo Node MCU kết nối App Blynk...........................................17

c.


Modulo Node MCU với Thingspeak................................................18

2.

Sơ đồ nguyên lý.....................................................................................18
a.

Sơ đồ Node MCU vs DHT 11 hiển thị trên Webser........................18

b.

Sơ đồ Node MCU vs DHT 11 hiển thị trên App Blynk...................19
4


c.
3.

VI.

Sơ đồ Node MCU vs DHT 11 hiển thị trên Thingspeak.................19
Chương trình.........................................................................................20

a.

Thiết kế giao diện Web Site...............................................................20

b.


Thiết kế giao diện trên app blynk....................................................22

c.

Giao diện Thingspeak........................................................................23

Chương VI. Kết quả.................................................................................24

1.

Sản phẩm thiết kế.................................................................................24

2.

Kết quả giám sát nhiệt độ, độ ẩm........................................................25

3.

Nhận xét, đánh giá................................................................................27

Phụ lục................................................................................................................27
Tài liệu tham khảo.............................................................................................28

5


Lời nói đầu
Nhắc đến sự phát triển của thời đại công nghiệp 4.0, một trong những khái niệm nhận
được sự quan tâm hàng đầu trên tồn thế giới chính là Internet Vạn Vật hay còn được
gọi là Internet of things (IoT).

Sự phát triển của IoT đã và đang đem lại những tác động mạnh mẽ lên nhiều mặt của
công việc và đời sống. Chúng ta có thể bắt gặp ngay rất nhiều những ứng dụng thực tế
của IoT như: Nhà thơng minh(smart house), Transport & Logistics, Chăm sóc sức
khỏe, Y tế, Ngành công nhiệp nặng, Giám sát sự thay đổi nhiệt độ của mơi
trường(nhiệt độ, độ ẩm)…..
Vì vậy thơng qua mơn học, chúng em đã tìm hiểu, xây dựng thực tế về lĩnh vực Giám
sát sự thay đổi nhiệt độ của môi trường(nhiệt độ, độ ẩm) một trong những lợi ích mà
IoT mang lại thông qua Node MCU ESP82266 & Modulo cảm biến DHT11 với việc
gửi dữ liệu giám sát thu được lên trang Web cục bộ tự xây dựng, hay lên Blynk app
ứng dụng thông minh trên thiết bị điện thoại và Lên máy chủ Thingspeak sử dụng điện
toán đám mây.

6


I.

Chương I. Mở đầu
1. Đặt vấn đề

Nhiệt độ và độ ẩm là hai yếu tố vô cùng quan trọng ảnh hưởng đến sự phát triển cũng
như năng suất và chất lượng của ngành nông nghiệp hay đơn giản hơn để con người
biết được các yếu tố thay đổi của thời tiết đến mơi trường. Trong điều kiện biến đổi khí
hậu với những thay đổi thất thường như hiện nay cần có những sản phẩm, thiết bị đo
đạc, giám sát nhiệt độ, đổ ẩm của môi trường để theo dõi sự biến đổi khí hậu, thời tiết.
Vì vậy có rất nhiều vi xử lý ra đời nhằm mục đích giúp con người có thể biết được
nhiệt độ, độ ẩm để học có thể xem bất kỳ lúc nào, ở đâu như vi xử lý Arduino vs DHT,
STM vs DHT.
2. Lý do chọn đề tài
Với những vi xử lý đã nêu trên, mỗi cái đều có những ưu, nhược điểm khác nhau.

Nhưng tất cả đều mang lại cho người học cách tìm tịi, nghiên cứu, đánh giá. Vì vậy
trong đồ án này nhóm chúng em sử dụng vi xử lý phổ biến Node MCU có tích hợp
chip Wifi ESP8266 kết hợp với modilo cảm biến nhiệt độ, độ ẩm DHT 11 giám sát
nhiệt độ, độ ẩm trên 3 nền tảng IoT phổ biến gửi dữ liệu lên Web, điện thoại, máy chủ.
3.
-

II.

Mục đích nghiên cứu
Nắm rõ được nguyên lý hoạt động của Node MCU Esp 8266, DHT11
Xây dựng chương trình web đơn giản đề giám sát nhiệt độ, độ ẩm
Tìm hiểu gửi dữ liệu lên máy chủ Thingspeak, nền tảng IoT phổ biến
Giám sát nhiệt độ, độ ẩm trên smart phone bằng Blynk App

Chương II. Giới thiệu Node MCU Esp8266, Module DHT11
& Modulo NRF24L01
1. Node MCU Esp8266
a. Giới thiệu chung

ESP8266 là một mạch vi điều khiển có thể giúp chúng ta điều khiển các thiết bị điện
tử. Điều đặc biệt của nó, đó là sự kết hợp của module Wifi tích hợp sẵn bên trong con
vi điều khiển chính. Hiện nay, ESP8266 rất được giới nghiên cứu tự động hóa Việt
Nam ưa chuộng vì giá thành rẻnhưng lại được tích hợp sẵn Wifi, bộ nhớ flash 8Mb!
Kit RF thu phát Wifi ESP8266 NodeMCU được dùng cho các ứng dụng cần kết nối,
thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liên quan đến
IoT.

7



H1. Node MCU Esp8266
Node MCU ESP8266 gồm:









b.

IC chính: ESP8266
Phiên bản firmware: NodeMCU Lua
Chip nạp và giao tiếp UART: CP2102.
GPIO tương thích hồn tồn với firmware Node MCU.
Cấp nguồn: 5VDC MicroUSB hoặc Vin.
GIPO giao tiếp mức 3.3VDC
Tích hợp Led báo trạng thái, nút Reset, Flash.
Tương thích hồn tồn với trình biên dịch Arduino.
Kích thước: 25 x 50 mm
Sơ đồ chân

8


H0.Sơ đồ chân bộ kit Node MCU ESP8266
GPIO được kết nối với Chip Flash

GPIO6 đến GPIO11 thường được kết nối với chip flash trong bo mạch ESP8266. Vì
vậy, những chân này khơng được khuyến khích sử dụng.
Chân được sử dụng trong khi khởi động
ESP8266 có thể bị ngăn khơng cho khởi động nếu một số chân được kéo MỨC THẤP
hoặc MỨC CAO. Danh sách sau đây cho thấy trạng thái của các chân khi khởi động:
GPIO16: chân ở mức cao khi khởi động
GPIO0: lỗi khởi động nếu kéo mức thấp
GPIO2: chân ở mức cao khi khởi động, không khởi động được nếu kéo mức thấp
GPIO15: lỗi khởi động nếu kéo mức cao
GPIO3: chân ở mức cao khi khởi động
GPIO1: chân ở mức cao khi khởi động, không khởi động được nếu kéo mức thấp
GPIO10: chân ở mức cao khi khởi động
GPIO9: chân ở mức cao khi khởi động
Chân mức cao khi khởi động
Có một số chân xuất ra tín hiệu 3.3V khi ESP8266 khởi động. Điều này sẽ là vấn đề
cần phải quan tâm nếu bạn có relay hoặc thiết bị ngoại vi khác được kết nối với các
GPIO đó. Các GPIO sau xuất tín hiệu mức cao khi khởi động: GPIO16, GPIO3,
GPIO1, GPIO10, GPIO9
Ngoài ra, các GPIO khác, ngoại trừ GPIO5 và GPIO4, có thể xuất ra tín hiệu điện áp
thấp khi khởi động, có thể có vấn đề nếu chúng được kết nối với transistor hoặc relay.
Đầu vào analog
ESP8266 chỉ hỗ trợ đọc analog trong một GPIO. GPIO đó được gọi là ADC0 và nó
thường được đánh dấu trên màn lụa là A0.

9


Điện áp đầu vào tối đa của chân ADC0 là 0 đến 1V nếu bạn đang sử dụng chip trần
ESP8266. Nếu bạn đang sử dụng bo phát triển như bộ ESP8266 12-E NodeMCU, thì
dải điện áp đầu vào là 0 đến 3,3V vì bo này có bộ chia điện áp bên trong.

Đèn LED trên bo mạch
Hầu hết các bo phát triển ESP8266 đều có đèn LED tích hợp. Đèn LED này thường
được kết nối với GPIO2. Đèn LED hoạt động với logic ngược. Gửi tín hiệu CAO để
tắt và tín hiệu THẤP để bật.
Chân RST: Khi chân RST được kéo THẤP, ESP8266 sẽ reset. Thao tác này cũng
giống như nhấn nút reset trên bo mạch.
GPIO0: Khi GPIO0 được kéo THẤP, nó sẽ đặt ESP8266 vào chế độ bộ nạp khởi
động. Thao tác này cũng giống như nhấn nút FLASH / BOOT trên bo mạch.
GPIO16: GPIO16 có thể sử dụng để đánh thức ESP8266 khỏi chế độ ngủ sâu. Để
đánh thức ESP8266 khỏi chế độ ngủ sâu, GPIO16 phải được kết nối với chân RST.
I2C: ESP8266 khơng có chân I2C phần cứng, nhưng nó có thể được triển khai trong
phần mềm. Vì vậy, bạn có thể sử dụng bất kỳ GPIO nào làm I2C. Thông thường, các
GPIO sau được sử dụng làm chân I2C: GPIO5: SCL, GPIO4: SDA
SPI Các chân được sử dụng làm SPI trong ESP8266 là: GPIO12: MISO, GPIO13:
MOSI, GPIO14: SCLK, GPIO15: CS
Các chân PWM: ESP8266 cho phép phần mềm PWM ở tất cả các chân I / O: GPIO0
đến GPIO16. Tín hiệu PWM trên ESP8266 có độ phân giải 10-bit.
Chân ngắt: ESP8266 hỗ trợ chân ngắt trong bất kỳ GPIO nào, ngoại trừ GPIO16.
2. Modulo DHT11
DHT11 là cảm biến có thể đọc được nhiệt độ và độ ẩm cùng lúc.
Cấu tạo gồm 4 chân:





VCC (chân nguồn dương)
DATA (chân tín hiệu)
NC (Not Connected - chân này chúng ta khơng dùng đến)
GND (chân nối đất).


10


H2. DHT11
Dữ liệu truyền về của DHT11 gồm 40bit dữ liệu theo thứ tự: 8 bit biểu thị phần
nguyên của độ ẩm + 8 bit biểu thị phần thập phân của độ ẩm + 8 bit biểu thị phần
nguyên của nhiệt độ + 8 bit biểu thị phần thập phân của nhiệt độ + 8 bit check sum.
Ví dụ: ta nhận được 40 bit dữ liệu như sau:
0011 0101

0000 0000

0001 1000

0000 0000

0100 1101

Tính tốn:
8 bit checksum: 0011 0101 + 0000 0000 + 0001 1000 + 0000 0000
= 0100 1101
Độ ẩm: 0011 0101 = 35H = 53% (ở đây do phần thập phân có giá trị 0000 0000, nên
ta bỏ qua khơng tính phần thập phân)
Nhiệt độ: 0001 1000 = 18H = 24°C (ở đây do phần thập phân có giá trị 0000 0000,
nên ta bỏ qua khơng tính phần thập phân)
3. Modulo thu phát NRF24L01
a. Giới thiệu tổng quan

11



H3. NRF24L01
Mạch thu phát RF NRF24L01+ 2.4Ghz sử dụng chip truyền sóng NRF24L01+ mới
nhất từ hãng Nordic với nhiều cải tiến so với chip NRF24L01 cũ về tốc độ truyền,
khoảng cách, độ nhạy, bổ sung thêm pipelines, buffers, và tính năng auto-retransmit
nhưng vẫn tương thích ngược với phiên bản cũ về cách sử dụng ..., NRF24L01+ hoạt
động trên dải tần 2.4GHz và sử dụng giao tiếp SPI, khoảng cách tối đa trong điều
khiện không vật cản lên đến 100m.
Thông số kỹ thuật:









Điện thế hoạt động: 1.9~3.6VDC
Tần số thu phát: 2.4GHz.
Truyền được 100m trong môi trường mở với 250kbps baud.
Tốc độ truyền dữ liệu qua sóng: 250kbps to 2Mbps.
Tự động bắt tay (Auto Acknowledge).
Tự động truyền lại khi bị lỗi (auto Re-Transmit).
Multiceiver - 6 Data Pipes.
Bộ đệm dữ liệu riêng cho từng kênh truyền nhận: 32 Byte separate TX and RX

FIFOs.
b. Sơ đồ chân


H4. Sơ đồ chân NRF24L01
Bảng chức năng chân của NRF24L01
Pin Number

Pin Name

Viết tắt

Chức năng

12


1

Ground

Ground

Chân nối đất

2

Vcc

Power

Chân nối nguồn 3.3V


3

CE

Chip Enable

Cho phép giao tiếp SPI

4

CSN

Chip select NOT

Pin này phải luôn được giữ ở mức
cao, nếu khơng, nó sẽ vơ hiệu hóa

5
6

SPI
Cung cấp xung đồng hồ sử dụng mà

SCK

Serial Clock

MOSI

giao tiếp SPI hoạt động

Master out Slave In Được kết nối với chân MOSI của
MCU, để mô-đun nhận dữ liệu từ

7

MISO

MCU
Master in Slave out Được kết nối với chân MISO của
MCU, để mô-đun gửi dữ liệu từ

8

IRQ

Interrupt

MCU
Nó là một chân thấp hoạt động và
chỉ được sử dụng khi cần ngắt

III.

Chương III. Tìm hiểu Webserver
1. Tìm hiểu Web Server.

Máy chủ web có nghĩa là web máy chủ, là máy tính lớn được kết nối với mạng mở
rộng máy tính hợp nhất. Máy chủ chứa tồn bộ dữ liệu mà nó được quyền quản lý.
Mỗi máy chủ có một IP riêng và có thể đọc nhiều dạng ngơn ngữ như HTML, HTM,
File,… Máy chủ có dung lượng lớn và tốc độ rất cao để có thể lưu trữ và vận hành dữ

liệu tốt trên internet. Thông qua đặc biệt của cổng giao tiếp của mỗi máy chủ mà máy
tính hệ thống có khả năng hoạt động trơn tru hơn. Máy chủ phải liên tục bảo đảm hoạt
động để có thể cung cấp dữ liệu cho mạng lưới máy tính của nó.
Web Server có thể là phần cứng hoặc phần mềm cũng có thể bao gồm cả hai:
Phần cứng: Máy chủ web là một máy tính lưu trữ các tệp ảnh, HTML tài liệu, CSS, tệp
JavaScript của một trang web và chuyển chúng đến thiết bị của người dùng cuối. Máy
chủ được kết nối internet và truy cập thông qua một miền tên như Mozilla.org.

13


Phần mềm: Máy chủ web bao gồm một số phần điều khiển người dùng truy cập đến
tệp lưu trữ trên một HTTP máy chủ. HTTP server là một phần mềm, nó có khả năng
hiểu được các trang web địa chỉ (URL) và trình duyệt giao thức được sử dụng để xem
các trang web (HTTP).
Bất cứ khi nào một trình duyệt cần đến tệp được lưu trữ trên máy chủ, trình duyệt gửi
tệp u cầu đó thơng qua HTTP. Khi request to server true (phần cứng), HTTP (phần
mềm) sẽ gửi tài liệu được yêu cầu trở lại thông qua HTTP.
2. Web Server trên Esp8266
Sử dụng Esp8266 như là 1 Web Server đóng vai trị là 1 máy chủ, giống máy tính chứa
trang website(trang web). Thiết lập nội dung website có trong Web Server, thay vì
dùng 1 máy tính, dùng esp là 1 webserve. Khi sử dụng máy tính, điện thoại kết nối
Internet sẽ truy cập vào Web Server xem nội dung của Website.
Để truy cập vào Website cần địa chỉ IP của Web Server chứa Website đó.
3. Các chế độ hoạt động của Node MCU Esp8266
Chế độ Accesspoint: Node MCU Esp8266 hoạt động ở chế độ Accesspoint như là 1
điểm phát wifi để các thiết bị khác truy cập vào. Khi đó điểm phát wifi này sẽ có 1 địa
chỉ IP gateway vd 192.168.1.1(có thể thiết lập). Nó sẽ cấp Ip cho những thiết bị truy
cập vào nó
Chế độ Station: Chúng ta có điểm truy cập mạng wifi(điểm phát wifi để thiết bị khác

truy cập), nó sẽ có địa chỉ gateway riêng. Các thiết bị truy cập vào điểm truy cập sẽ
được nó cấp cho 1 địa chỉ IP. Trong trường hợp này ta sử dụng chip Esp như là 1 máy
chủ chứa web server. Kết nối với điểm truy cập wifi thì ta nhận được IP của Esp do
điểm truy cập cấp cho.
Esp hoạt động ở cả hai chế độ Accesspoint và Station: Vừa là điểm phát wifi vừa là
điểm truy cập wifi.

IV.

Chương IV. Nghiên cứu giám sát nhiệt độ, độ ẩm trên các
nền tảng IoT(Web & Blynk App & Máy chủ Thingspeak)
1. Website

14


Website là một tập hợp các trang thơng tin có chứa nội dung văn bản, chữ số, âm
thanh, hình ảnh, video… được lưu trữ trên máy chủ web server và có thể truy cập từ xa
thơng qua mạng Internet. Phân loại website theo cấu trúc và cách hoạt động
Website tĩnh: Chủ yếu dùng html, css, javascript
Website động: ngoài dùng html, css, javascript cịn dùng thêm một số ngơn ngữ lập
trình server như ASP.NET, PHP… và một số cơ sở dữ liệu như: MySQL, SQL Server.
Trong dự án này, chúng tôi sẽ tạo ra một độc lập web máy chủ sử dụng NodeMCU
ESP8266 hiển thị nhiệt độ và ẩm độ với DHT11 cảm biến sử dụng Arduino IDE. Trên
thực tế, web máy chủ mà chúng tơi sẽ xây dựng nên có thể dễ dàng truy cập bằng bất
kỳ thiết bị nào có trình duyệt trên mạng của bạn. NodeMCU ESP8266 Giám sát Nhiệt
độ và Độ ẩm DHT11 / DHT22 với Bộ quản lý web máy chủ
Máy chủ web: Web máy chủ không đồng bộ sẽ tự động cập nhật nhiệt độ và độ ẩm.
Chúng tôi không cần phải làm mới trang web để cập nhật dữ liệu. Trên thực tế, chúng
tôi đã sử dụng CSS tùy chỉnh để tạo ra các loại trang web.

2. Blynk App
Trong một ứng dụng IoT như smart home, chúng ta cần một giao diện để người dùng
có thể dễ dàng theo dõi và điều khiển các thiết bị trong hệ thống. Các nhà cung cấp
giải pháp smart home sẽ có những ứng dụng khác nhau cho hệ thống của riêng họ. Để
xây dựng smart home cho riêng bạn, chúng ta sẽ sử dụng Blynk app.
Ưu điểm:
Dễ sử dụng: chỉ cần cài đặt từ app store của Android hoặc Apple, sau đó đăng ký tài
khoản và mất không quá 5 phút để làm quen. Bạn chỉ cần kéo thả để xây dựng giao
diện điều khiển cho riêng mình mà khơng cần lập trình gì hết.
Đầy đủ tính năng và đẹp: Giao diện của Blynk rất thân thiện với người dùng và rất
đẹp, và hỗ trợ rất nhiều loại tính năng khác nhau đáp ứng gần như tất cả nhu cầu bạn
có trong 1 ứng dụng quản lý smart home.
Mã nguồn mở: Bạn có thể tự cài đặt một máy chủ Blynk trong nhà bạn và tự do thay
đổi các cấu hình theo ý muốn.
3. Máy chủ Thingspeak
ThingSpeak là một cloud service khá nổi tiếng và phổ biến trong cộng đồng IoT, cho
phép người dùng dữ liệu lên clound và từ clound lấy dữ liệu về qua giao thức HTTP.
Ngoài ra với giao diện đồ họa hiển thị dữ liệu khá bắt mắt chắc chắn sẽ là một dự án
thú vị cho các bạn yêu thích IoT.
Node cảm biến: bao gồm NRF24L01 được giao tiếp với bất kỳ Bảng vi điều khiển nào
như Arduino hoặc NodeMCU ESP8266. Trong trường này, nhóm em dùng NodeMCU
làm Mạch Node cảm biến. Node cảm biến chứa một Bộ cảm biến có dữ liệu sẽ được
truyền đến Cổng thông qua mô-đun thu phát NRF24L01. Ví dụ trong bài này, nhóm

15


em sử dụng Cảm biến độ ẩm & nhiệt độ DHT11. Do đó, nhóm em sẽ gửi dữ liệu về
độ ẩm và nhiệt độ đến Gateway.
Gateway (đầu thu): nhóm em sẽ kết nối Bo mạch NodeMCU ESP8266-12E với môđun thu phát NRF24L01. Đây là Bộ thu hay còn được gọi là Gateway. Gateway có khả

năng kết nối với Mạng WiFi. Gateway nhận dữ liệu nhiệt độ và độ ẩm không dây
thông qua mô-đun thu phát NRF24L01. Gateway bây giờ sẽ tải giá trị Nhiệt độ & Độ
ẩm lên Máy chủ Thingspeak.

V.

Chương V. Xây dựng chương trình

1. Xây dựng sơ đồ khối
a. Module Node MCU sử dụng là Web Server

H4.Sơ đồ khối
b. Modulo Node MCU kết nối App Blynk

16


H6. Sơ đồ khối

c. Modulo Node MCU với Thingspeak

H7. Sơ đồ khối

2. Sơ đồ nguyên lý
a. Sơ đồ Node MCU vs DHT 11 hiển thị trên Webser

17


H8. Sơ đồ Node MCU1 dùng là Web Sever

Sơ đồ nối chân:
-Nối GND (DHT11) với GND (Node MCU)
-Nối Vcc(DHT11) với V(in) của Esp
-Nối chân Data(DHT11) với pin D1

b. Sơ đồ Node MCU vs DHT 11 hiển thị trên App Blynk

H9. Sơ đồ MCU2 với LCD
Sơ đồ nối chân:
-Nối GND (DHT11) với GND (Node MCU)
-Nối Vcc(DHT11) với V(in) của Esp
-Nối chân Data(DHT11) với pin với D3

18


c. Sơ đồ Node MCU vs DHT 11 hiển thị trên Thingspeak
Sơ đồ cảm mạch cảm biến(Node Sensor)

H10. Node MCU/NRF24L01 & DHT11
Đây là kết nối chân NRF24L01 với NodeMCU ESP8266 Board:
-MISO kết nối với chân D6 của NodeMCU
-MOSI kết nối với chân D7 của NodeMCU
-SCK kết nối với chân D5 của NodeMCU
-CE kết nối với chân D4 của NodeMCU
-CSN kết nối với chân D2 của NodeMCU
-GND và VCC của NRF24L01 được kết nối với GND và 3.3V của NodeMCU
-Cảm biến Nhiệt độ & Độ ẩm DHT11 được kết nối với chân D1 của NodeMCU. Kết
nối VCC & GND của nó với NodeMCU 3.3V & GND Pin.
Sơ đồ mạch nhận dữ liệu(Gate way)


H11. Node MCU/NRF24L01
Đây là kết nối chân NRF24L01 với NodeMCU ESP8266 Board:
-MISO kết nối với chân D6 của NodeMCU
-MOSI kết nối với chân D7 của NodeMCU

19


-SCK kết nối với chân D5 của NodeMCU
-CE kết nối với chân D4 của NodeMCU
-CSN kết nối với chân D2 của NodeMCU
-GND và VCC của NRF24L01 được kết nối với GND và 3.3V của NodeMCU
3. Chương trình
a. Thiết kế giao diện Web Site
HTML là gì?
HTML là chữ viết tắt của Hypertext Markup Language. Nó giúp người dùng tạo và
cấu trúc các thành phần trong trang web hoặc ứng dụng, phân chia các đoạn văn,
heading, links, blockquotes

HTML không phải là ngôn ngữ lập trình, đồng nghĩa với việc nó khơng thể tạo ra các
chức năng “động” được. Nó chỉ giống như Microsoft Word, dùng để bố cục và định
dạng trang web.
Khi làm việc với HTML, chúng ta sẽ sử dụng cấu trúc code đơn giản (tags và
attributes) để đánh dấu lên trang web. Ví dụ, chúng ta có thể tạo một đoạn văn bằng
cách đặt văn bản vào trong cặp tag mở và đóng văn bản


HTML hoạt động như thế nào?
HTML documents là files kết thúc với đuôi .html hay .htm. Bạn có thể xem chúng
bằng cách sử dụng bất kỳ trình duyệt web nào (như Google Chrome, Safari, hay
Mozilla Firefox). Trình duyệt đọc các files HTML này và xuất bản nội dung lên

internet sao cho người đọc có thể xem được nó.
Thơng thường, trung bình một web chứa nhiều trang web HTML, ví dụ như: trang chủ,
trang about, trang liên hệ, tất cả đều cần các trang HTML riêng.
Mỗi trang HTML chứa một bộ các tag (cũng được gọi là elements), bạn có thể xem
như là việc xây dựng từng khối của một trang web. Nó tạo thành cấu trúc cây thư mục
bao gồm section, paragraph, heading, và những khối nội dung khác.
Hầu hết các HTML elements đều có tag mở và tag đóng với cấu trúc như <tag></tag>.
Cấu trúc cơ bản của trang HTML có dạng như sau, thường gồm 3 phần:
<!Doctype>: Phần khai báo chuẩn của html hay xhtml.
<head></head>: Phần khai báo ban đầu, khai báo về meta, title, css, javascript…
<body></body>: Phần chứa nội dung của trang web, nơi hiển thị nội dung.
Cấu trúc cơ bản:
<!DOCTYPE html>

20


<html>
<head>
<title>Tiêu đề trang web</title>
</head>

<body>
...Phần thân viết ở đây...
</body>
</html>

H12. Giao diện Trang Web

b. Thiết kế giao diện trên app blynk

Cài đặt các thông số chi tiết nhiệt độ, độ ẩm: Để tiến hành cài đặt các thông số cho
cảm biến ta thực hiện các bước sau:
Click vào GAUGE để tiến hành cài đặt thông số.
Cài đặt thông số nhiệt độ
Ở mục GAUGE 1: Đặt tên cho thang đo nhiệt độ (temperature).
INPUT: Cấu hình cho PIN cần kết nối, ở đây mình chọn Virtual > V6 (0~1023) đổi lại
(0~50).
LABELS: e.g: Temp:/pin/độ c.
REFRESH INTERVAL: Vào Push chọn tốc độ đọc cảm biến nhiệt độ (sec).

21


Cài đặt thông số độ ẩm
Ở mục GAUGE 2 : Đặt tên chothang đo độ ẩm (humidity).
INPUT: Cấu hình cho PIN cần kết nối, ở đây mình chọn Virtual > V5 (0~1023) đổi lại
(0~100).
LABELS: e.g: Temp:/pin/% (Độ ẩm đơn vị là %).
REFRESH INTERVAL: Vào Push chọn tốc độ đọc cảm biến độ ẩm (sec).

B1

B2

22


B3

B4


c. Giao diện Thingspeak
Bước 1: Truy cập và tạo tài khoản bằng cách điền thơng tin
chi tiết (có thể sử dụng tài khoản matlab đã có từ trước).
Bước 2: Tạo một kênh mới bằng cách nhấp vào “Channel” và điền vào các chi tiết sau
như thể hiện trong hình ảnh bên dưới.

23


Bước 3: Nhấp vào API Key, chúng ta sẽ thấy thơng báo "Write API Key". Sao chép
Khóa API. Điều này rất quan trọng, nó sẽ được yêu cầu trong đoạn chương trình phần
Gateway

Bước 4: Nhấp vào “Private view” và tùy chỉnh cửa sổ hiển thị theo ý muốn.

VI.

Chương VI. Kết quả
1. Sản phẩm thiết kế

H13. Sản phẩm thiết kế Node MCU&DHT&LCD
(dùng cho web server & AppBlynk)

24


H14.Node MCU cảm biến & Node MCU Gateway
(Modulo không dây NRF)
2. Kết quả giám sát nhiệt độ, độ ẩm


H15. Kết quả hiển thị trên Web Server

25


×