Bài báo cáo môn Hệ thống nhúng trong công nghiệp đề tài "Giám sát nhiệt độ, độ ẩm thông qua Thinkspeak bằng MCU ESP8266"

Bài báo cáo môn Hệ thống nhúng trong công nghiệp đề tài "Giám sát nhiệt độ, độ ẩm thông qua Thinkspeak bằng MCU ESP8266" của Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh với những kiến thức và thông tin bổ ích giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học vào thực tiễn cuộc sống. Mời bạn đọc đón xem!

 

lOMoARcPSD|36991220
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TPHCM
BÁO CÁO HỆ THỐNG NHÚNG TRONG CÔNG NGHIỆP
ĐỀ TÀI:
GIÁM SÁT NHIỆT ĐỘ, ĐỘ ẨM (DHT11) THÔNG QUA
THINKSPEAK BẰNG MCU ESP8266
GVHD: CCƯỜNG
HỌC : 1 M HỌC: 2023 - 2024
TP H CMINH 10/2023
lOMoARcPSD|36991220
MỤC LỤC
PHẦN MỞ ĐẦU............................................................................................................................1
1. Đặt vấn đề............................................................................................................................1
2. Mục tiêu của đề tài..............................................................................................................1
3. Nội dung đề tài....................................................................................................................1
4. Các linh kiện sử dụng trong đề tài:...................................................................................1
PHẦN NỘI DUNG.........................................................................................................................1
1. NodeMCU ESP
8266.............................................................................................................1
1.1 Data sheet NodeMCU
ESP8266.....................................................................................1
1.2 Thông số kỹ thuật NodeMCU
ESP8266........................................................................1
1.3 Chức Năng ESP 8266..................................................................................................1
1.4 Lập Trình Trên
ARDUINO.........................................................................................1
2. THINGSPEAK....................................................................................................................1
2.1 Giới thiệu......................................................................................................................1
2.2 Các tính năng của ThingSpeak..................................................................................1
2.3 Ứng Dụng và Trường Hợp Sử Dụng..........................................................................1
2.4 Cách làm việc với Thingspeak....................................................................................1
2.5 Tìm hiểu APP
ThingView............................................................................................1
2.6 Kết Luận.......................................................................................................................1
3. CẢM BIẾN NHIỆT ĐỘ VÀ ĐỘ ẨM DHT11..................................................................1
3.1 Giới thiệu......................................................................................................................1
3.2 Cấu tạo cảm biến nhiệt độ độ ẩm DHT11.................................................................2
3.3 Sơ đồ chân DHT11.......................................................................................................3
3.4 Thông số kĩ thuật DHT11...........................................................................................3
3.5 Cách sử dụng cảm biến DHT11..................................................................................3
4. SƠ ĐỒ..................................................................................................................................5
4.1 Sơ Đồ
Khối........................................................................................................................5
4.2 Sơ Đồ Kết
Nối...................................................................................................................6
lOMoARcPSD|36991220
4.3 Sơ Đồ Giải
Thuật.............................................................................................................7
5. LẬP TRÌNH PHẦN MỀM
(CODE)..................................................................................8
PHẦN KẾT LUẬN......................................................................................................................12
lOMoARcPSD|36991220
PHẦN MỞ ĐẦU
1. Đặt vấn đề
Hiện nay sự phát triển của thời đại công nghệ 4.0 một trong những khái niệm
nhận được sự quan tâm hàng đầu trên toàn thế giới. Trong đó hệ thống kết nối không
dây cũng là một hệ thống được rất nhiều người sử dụng. Việc phát minh và chế tạo
ra các thiết bthông minh khả năng điều khiển từ xa đang sẽ rất dược quan
tâm hữu ích cho cuộc sống hàng ngày. Vì mục tiêu công nghệ hiện đại hóa nên
nhóm chúng em đã chọn tìm hiểu đề tài “Giám sát nhiệt độ, độ ẩm (DHT11) thông
qua Thingspeak bằng Node MCU ESP8266”. Đề tài của nhóm chúng em giới thiệu
cho người tiêu dùng hiểu hơn về cách sử dụng Thingspeak để giám sát được nhiệt
độ cũng như độ ẩm từ xa bằng điện thoại hoặc máy tính. Như vậy, dù chúng ta
bất cứ nơi nào có internet đều có thể giám sát và điều khiển được các thiết bị đã kết
nối với module điều khiển.
2. Mục tiêu của đề tài
Có thể nhận tín hiệu từ cảm biến và điều khiển các thiết bị
Có chức năng giám sát và điều khiển từ xa qua app Thingspeak
3. Nội dung đề tài
Đề tài “Giám sát nhiệt độ, độ ẩm (DHT11) thông qua Thingspeak bằng Node MCU
ESP8266” sẽ cần phải thực hiện các nội dung sau:
Phần 1: Tìm hiểu datasheet NodeMCU ESP 8266, chức năng ch cài đặt trên
Arduino
Phần 2: Tìm hiểu ThingSpeak, cách làm việc của Thingspeak và app ThingView
Phần 3: Thông số cảm biến nhiệt độ, độ ẩm DHT11, chức năng và cách keert nối
Phần 4: Vẽ lưu đồ giải thuật, viết chương trình bằng Arduino
4. Các linh kiện sử dụng trong đề tài:
- NodeMCU ESP8266 CP2102.
lOMoARcPSD|36991220
- Cảm biến nhiệt độ DHT11.
- Dây cắm ( đực – đực).
Các linh kiện được sử dụng đều chức năng cụ thể ơng thích với nhau nên
được sử dụng trong đề tài y. Cảm biến DHT11 sẽ đo giá trị nhiệt độ, độ ẩm
được vi điều khiển NodeMCU ESP8266 đọc giá trị và vì ESP8266 có khả năng thu
phát wifi nên sẽ đưa giá trị đọc được lên đám mây của nền tảng Thingspeak, sau đó
ta thể quan sát được dữ liệu nhiệt độ độ ẩm thông qua app Thingview trên
Smartphone.
lOMoARcPSD|36991220
PHẦN NỘI DUNG
1. NodeMCU ESP 8266
1.1 Data sheet NodeMCU ESP8266
Hình: NodeMCU Development Board Pinout Configuration
TXD2, RXD2 (RXD0 & TXD0) and UART1 (RXD1 & TXD1).
UART1 is used to upload the firmware/program.
Name
Description
Pin category
Power
Micro-USB,
,3V, GND, Vin
3
Micro-USB:
NodeMCU can be powered through
the USB port
3.3V:
Regulated 3.3V can be supplied to this pin to
power the board
GND:
Ground pins
Vin:
External Power Supply
Control pins
EN,RST
The pin and the button resets the microcontroller
Analog Pin
A0
Used to measure analog voltage in the range of 0-
3.3
V
GPIO Pins
GPIO1 to
GPIO16
NodeMCU has 16 general purpose input-output
pins on its board
SPI Pins
SD1, CMD, SD0,
CLK
NodeMCU has four pins available for SPI
communication.
UART Pins
TXD0, RXD0,
NodeMCU has two UART interfaces, UART0
lOMoARcPSD|36991220
I2C Pins NodeMCU has I2C functionality support but due to
the internal functionality of these pins, you have to
find which pin is I2C.
1.2 Thông số kỹ thuật NodeMCU ESP8266
Microcontroller: Tensilica 32-bit RISC CPU Xtensa LX106
Operating Voltage: 3.3V
Input Voltage: 7-12V
Digital I/O Pins (DIO): 16
Analog Input Pins (ADC): 1
UARTs: 1
SPIs: 1
I2Cs: 1
Flash Memory: 4 MB
SRAM: 64 KB
Clock Speed: 80 MHz
USB-TTL based on CP2102 is included onboard, Enabling Plug n Play
PCB Antenna
Small Sized module to fit smartly inside your IoT projects
1.3 Chức Năng ESP 8266
Kit RF thu phát Wifi ESP8266 NodeMCU là kit phát triển dựa trên nền chip Wifi
SoC ESP8266 với thiết kế dễ sử dụng đặc biệt thể sử dụng trực tiếp trình
lOMoARcPSD|36991220
biên dịch của Arduino để lập trình nạp code, điều y khiến việc sử dụng lập
trình các ứng dụng trên ESP8266 trở nên rất đơn giản.
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.
Kit RF thu phát Wifi ESP8266 NodeMCU sử dụng chip nạp giao tiếp UART
mới ổn định nhất CP2102 khả năng tự nhận Driver trên tất cả các hệ điều
hành Window Linux, đây phiên bản cải tiến từ dòng sử dụng IC nạp giao
tiếp UART giá rẻ kém ổn định CH340.
1.4 Lập Trình Trên ARDUINO
1.4.1 Chuẩn bị
- 1x ESP8266 v3
- 1x USB TTL (ví dụ PL2303 hoặc CP210x)
- 1x Arduino IDE bản mới nhất
1.4.2. Tiến hành
a. Cài đặt chương trình
Để tiến hành cài đặt thư viện và chức năng nạp code cho IDE chúng ta thực hiện:
lOMoARcPSD|36991220
Vào file -> Preferences, vào textbox Additional Broad Manager URL thêm đường
link sau: http://arduino.esp8266.com/stable/package_esp8266com_index.json Click
OK để chấp nhận.
lOMoARcPSD|36991220
Tiếp theo vào ToolBoardBoards Manager
Sau đó khi trình m kiếm hoàn tất, ta kéo xuống click chọn ESP8266 by
ESP8266 Community, click vào Install rồi chờ phần mềm tự động dowlload
cài đặt.
b. Chọn board để lập trình cho ESP 8266
Kết nối mudule USB-to-UART vào máy tính. Vào ToolBoardGeneric
ESP8266 Module, chọn cổng COM ơng ứng với module USB-to-UART tương
ứng.
Chọn chế độ nạp Arduino as ISP. Hoàn thành quá trình thiết lập.
lOMoARcPSD|36991220
2. THINGSPEAK
2.1 Giới thiệu
ThingSpeak được ioBridge ra mắt vào năm 2010 là một nền tảng mà bạn có thể
trực quan hóa và phân tích dữ liệu trên đám mây. Nó là một sản phẩm Matlap và có
thể xử lý, phân tích dữ liệu trực tiếp từ đám mây. Chủ yêu được sử dụng trong
các dự án IoT để theo dõi những thay đổi về giá cảm biến
2.2 Các tính năng của ThingSpeak
- Thiết bị có thể dễ dàng cấu hình và gửi dữ liệu tới ThingSpeak bằng cách sửdụng
các giao thức truyền thông
- Có thể xem dữ liệu trong thời gian thực
- Có thể nhận dữ liệu từ phần mềm bên thứ ba
- Có thể sử dụng với Matlap để phân tích dữ liệu
- Không cần server và phần mềm web để xây ựng prototype hệ thống IoT
- Tự thực hiện các hành động và giao tiếp bằng phần mềm của bên thứ3
2.3 Ứng Dụng và Trường Hợp Sử Dụng
2.3.1. IoT (Internet of Things) và ThingSpeak
- ThingSpeak chủ yếu được sử dụng trong lĩnh vực IoT:
- Quản Thiết Bị: ThingSpeak cho phép người dùng kết nối quản hàng
loạtthiết bị IoT, từ cảm biến đo nhiệt độ, độ ẩm đến bộ điều khiển từ xa.
- Theo dõi Thời Gian Thực: Người dùng có thể theo dõi dữ liệu từ các thiết bị IoTở
bất kỳ đâu trên thế giới mà có kết nối internet.
- Tích hợp Dễ Dàng: ThingSpeak cung cấp API mạnh mẽ để tích hợp với các thiếtbị
và ứng dụng khác, giúp xây dựng các hệ thống IoT phức tạp.
2.3.2. Giám Sát Môi Trường
ThingSpeak thích hợp cho các ứng dụng liên quan đến giám sát môi trường:
- Giám Sát Chất Lượng Không Khí: Các cảm biến đo khí, bụi, và khí CO2 thểgửi
dữ liệu đến ThingSpeak để theo dõi chất lượng không khí trong môi trường.
- Theo Dõi Thời Tiết: ThingSpeak thể được sử dụng để thu thập trực quan
hóa dữ liệu thời tiết như nhiệt độ, độ ẩm, áp suất, và mức nước.
lOMoARcPSD|36991220
- Giám Sát Tình Trạng Môi Trường: Nó cung cấp giải pháp cho việc giám sát môi
trường các công trình xây dựng, trong công nghiệp, trong các dự án bảo vệ
môi trường.
2.3.3 Theo Dõi Cảm Biến và Thiết Bị Từ Xa
ThingSpeak hữu ích để theo dõi và quản lý các cảm biến và thiết bị từ xa:
- Theo Dõi Điện Năng: ThingSpeak thể được sử dụng để theo dõi sử dụng
điệnnăng và hiệu suất của các thiết bị điện từ xa, giúp tiết kiệm năng lượng.
- Theo Dõi Vận Hành Công Nghiệp: Trong môi trường công nghiệp, ThingSpeakcó
thể giúp theo dõi và điều khiển các quy trình và thiết bị từ xa.
- Theo Dõi Khí Độc Hại: Các cảm biến theo dõi khí độc hại và báo cáo dữ liệulên
ThingSpeak để cảnh báo về tình trạng nguy hiểm.
2.3.4 Nghiên Cứu và Phát Triển Sản Phẩm
ThingSpeak hỗ trợ nghiên cứu và phát triển sản phẩm:
- Dự Án Nghiên Cứu: Nghiên cứu khoa học dự án thử nghiệm thể sử
dụngThingSpeak để thu thập và phân tích dữ liệu.
- Phát Triển Sản Phẩm IoT: ThingSpeak nền tảng linh hoạt để phát triển sảnphẩm
IoT và các ứng dụng thông minh dựa trên dữ liệu từ các thiết bị IoT.
- Thử Nghiệm Đánh Giá: ThingSpeak cho phép các công ty nhân
thửnghiệm và đánh giá các ứng dụng mới mà họ đang phát triển.
2.4 Cách làm việc với Thingspeak
Bước 1: Tạo tài khoản ThingSpeak
- Truy cập vào địa chỉ https://thingspeak.com chọn Sign Up để đăng một tài
khoản miễn phí. Điền đầy đủ các thông tin yêu cầu bạn sẽ nhận email yêu cầu
xác thực tài khoản email.
- Sau khi xác thực, bạn sẽ có thể login vào và thấy các thông tin về tài khoản
lOMoARcPSD|36991220
Bước 2: Tạo Data Channel
- Sau khi login, bạn cần tạo một data channel để lưu trữ dữ liệu. Trong My Channels
bạn chọn New Channel và điền các thông tin cần thiết
- đây mình tạo 1 channel để chứa các dữ liệu từ cảm biến thu được trong phòng
ngủ của mình với Field 1 là temperature và Field 2 là humidity
lOMoARcPSD|36991220
Bước 3: Lấy URL cần thiết để upload dữ liệu
- Để upload hay lấy dữ liệu về bạn cần biết URL để truy cập. Bạn mở channel mới
tạo và tìm đến tab API Keys và sẽ thấy được các URL để get hay upload data:
Bước 4: Upload dữ liệu từ Blocky
- Bạn upload chương trình sau vào Blocky
- Sau khi Blocky chạy bắt đầu upload dữ liệu lên ThingSpeak, bạn thể xem
các dữ liệu này trong Channel, tab Private View
lOMoARcPSD|36991220
2.5Tìm hiểu APP ThingView
- ThingView một công cụ hoàn hảo để xem ơng tác với các kênh ThingSpeak
của bạn một cách dễ dàng. Nó hoạt động cho cả các kênh công cộng và riêng tư.
- Bạn thể xem dữ liệu trong nhiều loại biểu đthiết lập khung thời gian, phạm
vi ngày tháng thậm chí số lượng kết quả để hiện thị
- Bạn có thể tải xuống và chia sẻ dữ liệu của mình với bạn bè
- Để có thể sử dụng ThingView bạn cần có tài khoản ThingSpeak và một khóa API
hợp lệ. Ứng dụng rất đơn giản và dễ sử dụng. Chỉ cần nhập ID kênh để lấy dữ liệu
cho kênh đó. Ứng dụng sẽ tự động hiển thị dữ liệu dưới dạng biểu đ
Logo phần mềm ThingView
2.6Kết Luận
2.6.1 Điểm nổi bật về ThingSpeak
lOMoARcPSD|36991220
- ThingSpeak một dịch vụ IoT (Internet of Things) cung cấp nền tảng trực quan
hóa dữ liệu và quản lý dựa trên đám mây.
- ThingSpeak cho phép người dùng dễ dàng gửi, lưu trữ và trực quan hóa dữ liệu t
các thiết bị và cảm biến khác nhau.
- Hệ thống ThingSpeak cung cấp API mạnh mẽ để tích hợp dữ liệu với các ứng dụng
và thiết bị khác.
2.6.2 Lợi ích và tiềm năng ứng dụng
- IoT: ThingSpeak giúp kết nối và quản lý dữ liệu từ hàng loạt thiết bị IoT, làm cho
việc theo dõi và điều khiển từ xa trở nên dễ dàng.
- Giám sát môi trường: Dự án liên quan đến giám sát môi trường như đo chất lượng
không khí, nhiệt độ, độ ẩm có thể sử dụng ThingSpeak để lưu trữ trực quan hóa
dữ liệu.
- Nghiên cứu và phát triển sản phẩm: ThingSpeak cung cấp một cơ sở hạ tầng đám
mây linh hoạt cho các dự án nghiên cứu phát triển sản phẩm, giúp tiết kiệm thời
gian và nguồn lực.
2.6.3 Lời khuyên khi sử dụng ThingSpeak
- Quản lý bảo mật: Đảm bảo rằng dữ liệu được gửi lên ThingSpeak được bảo vệ an
toàn và không thể truy cập bởi người không có quyền.
- Đảm bảo tích hợp chính xác: Khi tích hợp với các ứng dụng và thiết bị khác, hãy
kiểm tra rằng dữ liệu được đồng bộ và truyền tải đúng cách.
- Theo dõi giới hạn miễn phí: ThingSpeak có mức giới hạn miễn phí cho tài khoản,
vậy y kiểm tra quản thường xuyên để tránh việc vượt quá giới hạn sử
dụng.
2.6.4 Tham khảo tài liệu hỗ trợ:
- Sử dụng tài liệu hỗ trợ cộng đồng ThingSpeak để giải quyết các vấn đề hoặc
tìm hiểu cách sử dụng một cách hiệu quả.
lOMoARcPSD|36991220
- ThingSpeak là một công cụ mạnh mẽ để quản lý và trực quan hóa dữ liệu IoT, và
việc hiểu rõ các lợi ích và lời khuyên khi sử dụng nó có thể giúp bạn tận dụng tối
đa khả năng của nền tảng này trong các dự án của bạn.
3. CẢM BIẾN NHIỆT ĐỘ VÀ ĐỘ ẨM DHT11
3.1 Giới thiệu.
DHT11 một cảm biến nhiệt độ độ ẩm thường được sdụng. Cảm
biến đi kèm với một NTC chuyên dụng để đo nhiệt độ một bộ vi điều khiển 8
bit để xuất các giá trị nhiệt độ độ ẩm dưới dạng dữ liệu nối tiếp. Cảm biến cũng
được hiệu chuẩn tại nhà máy và do đó dễ dàng giao tiếp với các bộ vi điều khiển
khác.
3.2 Cấu tạo cảm biến nhiệt độ độ ẩm DHT11.
- Cảm biến DHT11 bao gồm một phần tử cảm biến độ ẩm điện dung một điện
trở nhiệt để cảm nhận nhiệt độ. Tụ điện cảm biến độm hai điện cực với chất
nền giữ ẩm làm chất điện môi giữa chúng. Thay đổi giá trị điện dung xảy ra với
sự thay đổi của các mức độ ẩm. IC đo, xử lý các giá trị điện trở đã thay đổi này
chuyển chúng thành dạng k thuật số.
- Để đo nhiệt độ, cảm biến này sử dụng một nhiệt điện trở hệ số nhiệt độ âm, m
giảm giá trị điện trở của khi nhiệt độ tăng. Để được giá trị điện trở lớn hơn
ngay cả đối với sự thay đổi nhỏ nhất của nhiệt độ, cảm biến này thường được làm
bằng gốm bán dẫn hoặc polymer.
lOMoARcPSD|36991220
3.3 Sơ đồ chân DHT11.
- Điện áp hoạt động: 3V - 5V DC
- Dòng điện tiêu thụ: 2.5mA
- Phạm vi cảm biến độ ẩm: 20% - 90% RH, sai số ±5%RH
- Phạm vi cảm biến nhiệt độ: 0°C ~ 50°C, sai số ±2°C
- Tần số lấy mẫu tối đa: 1Hz (1 giây 1 lần)
- Kích thước: 23 * 12 * 5 mm
3.5 Cách sử dụng cảm biến DHT11.
- Cảm biến DHT11 được hiệu chuẩn tại nhà máy và xuất dữ liệu nối tiếp, do đó rất
dễ thiết lập. Sơ đồ kết nối cho cảm biến này như bên dưới.
Số
châ
n
Mô tả
Tên chân
1
Vcc
Nguồn 3.5V đến 5.5V
2
Data
Đầu ra cả nhiệt độ, độ ẩm thông qua dữ liệu
nối tiếp
3
NC
Không kết nối nên không sử dụng
4
Ground
Nối đất
3.4
Thông số kĩ thuật DHT
11.
lOMoARcPSD|36991220
- Chân dữ liệu được kết nối với chân I / O của vi điều khiển và một điện trở kéo lên
5K được sử dụng. Chân dữ liệuy xuất ra giá trị của cả nhiệt độ độ ẩm dưới
dạng dữ liệu nối tiếp. Nếu muốn giao tiếp DHT11 với Arduino thì có các thư viện
được tạo sẵn cho nó sẽ giúp bạn bắt đầu nhanh chóng.
- Nếu đang giao tiếp với một số vi điều khiển khác thì datasheet được cung cấp
bên dưới sẽ rất hữu ích. Đầu ra được đưa ra bởi chân dữ liệu sẽ theo thứ tự dữ
liệu số nguyên độ m 8 bit + 8 bit dữ liệu thập phân đẩm + dữ liệu số nguyên
nhiệt độ 8 bit + dữ liệu nhiệt độ phân đoạn 8 bit + bit chẵn lẻ 8 bit. Để yêu cầu
module DHT11 gửi những dữ liệu này, chân I / O phải được đặt ở mức thấp trong
giây lát và sau đó được giữ ở mức cao.
lOMoARcPSD|36991220
4. SƠ ĐỒ
4.1 Sơ Đồ Khối
lOMoARcPSD|36991220
4.2 Sơ Đồ Kết Nối
lOMoARcPSD|36991220
4.3 Sơ Đồ Giải Thuật
5. LẬP TRÌNH PHẦN MỀM (CODE)
#include <DHT.h>
lOMoARcPSD|36991220
#include <ESP8266.WiFi.h>
#define DHTPIN 5 ; //Tín hiệu ra của DHT11 được kết nối với chân 5 ESP
#define DHTTYPE DHT11; //loại sử dụng là DHT11
DHT dht (DHTPIN, DHTTYPE);
/* ------------Khai báo để DHT kết nối với WiFi để đẩy dữ liệu lên server--------------*/
Const char* ssid = “……………”; // Tên mạng không dây của bạn (SSID)
Const char* password = “………….” ; // Mật khẩu mạng Wifi của bạn
/*--------------------------------Cài đặt ThingSpeak--------------------------------------------*/
Const int channelID = ……….; //Mỗi tài khoảng sẽ có 1 ID riêng
String write APIKey = “…………………..”; //ESP gửi dữ liệu, TS dựa vào key để hiển thị
dữ liệu lên server (copy trên ThingSpeak)
Const char* server = “api.thingspeak.com”;// khai báo sever mà để DHT kết nối
Const int postingInterval = 10*1000; //10 giây gửi dữ liệu 1 lần
void setup()
{
lOMoARcPSD|36991220
Serial.begin(115200); //khai báo giao tiếp với máy tính
dht.begin(); //Cho phép module cảm biến hoạt động
Serial.println("Connecting ");
WiFi.begin(ssid, password); //kết nối với wifi bằng tài khoản
While (WiFi.status() != WL_CONNECTED) //Nếu kết nối được
{
Serial.print(".");
delay(100);
}
Serial.println(“\r\nWiFi connected”); //in ra trên màn hình “Wifi đã được kết nối”
}
Void loop()
{
Delay(postingInterval); // chờ rồi xuất dữ liệu lên lại float docdoam =
dht.readHumidity(); //đọc độ ẩm của DHT bằng biến docdoam float docnhietdo =
lOMoARcPSD|36991220
dht.readTemperature(); //đọc nhiệt độ của DHT bằng biến docnhietdo if
(isnan(docdoam) || isnan(docnhietdo))
{
Serial.println("Không đọc được cảm biến DHT!"); //Nếu đọc không được giá trị
return; } if
(client.connect(server,80)) // Đưa dữ liệu lên web
{
String body = “field1=” + String (docnhietdo, 1) + “&field2=” + String
(docdoam, 1);
// Vùng 1: Nhiệt độ ----- Vùng 2: Độ ẩm
/*------------------------XUẤT DỮ LIỆU RA MÀN HÌNH-------------------------*/
client.print("POST /update HTTP/1.1\n"); //xuất dữ liệu lên web
client.print("Host: api.thingspeak.com\n"); //in ra cái host
client.print("Connection: close\n"); client.print("X-
THINGSPEAKAPIKEY: "+apiKey+"\n"); client.print("Content-Type:
application/x-www-form-urlencoded\n"); client.print("Content-Length: ");
lOMoARcPSD|36991220
client.print(body.length()); client.print("\n\n");
client.print(body); client.print("\n\n");
Serial.printf(“Nhiet do%s Do am %s\r\n”,
String (docnhietdo, 1).c_str() ,
String (docdoam, 1).c_str());
//xuất dữ liệu lên màn hình xem có chạy được hay không và dữ liệu có
đẩy được lên ThingSpeak hay không.
}
client.stop();
PHẦN KẾT LUẬN
Công nghệ kết nối không y mang lại rất nhiều lợi ích cho cuộc sống hiện
nay. Qua đề tài chúng em tìm hiểu. Có thể thấy được việc giám sát nhiệt độ, độ ẩm
từ xa rất nhiều ng dụng trong trông trọt chăn nuôi. Người sdụng thể
giám sát cũng nđiều chỉnh nhiệt độ phù hợp không cần đến tận nơi. Thông
qua app người dùng thể thao tác nhanh tiện lợi. Bên cạnh việc ứng dụng vào
nông nghiệp, đề tài nhóm chúng em tìm hiểu còn có thể sử dụng trong các
Smarthome…
| 1/26

Preview text:

lOMoARcPSD| 36991220
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TPHCM
BÁO CÁO HỆ THỐNG NHÚNG TRONG CÔNG NGHIỆP
ĐỀ TÀI: GIÁM SÁT NHIỆT ĐỘ, ĐỘ ẨM (DHT11) THÔNG QUA
THINKSPEAK BẰNG MCU ESP8266
GVHD: VŨ CHÍ CƯỜNG
NHÓM THỰC HIỆN: NHÓM 3
HỌC KÌ: 1 – NĂM HỌC: 2023 - 2024
TP HỒ CHÍ MINH 10/2023 lOMoARcPSD| 36991220 MỤC LỤC
PHẦN MỞ ĐẦU............................................................................................................................1
1. Đặt vấn đề............................................................................................................................1
2. Mục tiêu của đề tài..............................................................................................................1
3. Nội dung đề tài....................................................................................................................1
4. Các linh kiện sử dụng trong đề tài:...................................................................................1
PHẦN NỘI DUNG.........................................................................................................................1 1. NodeMCU ESP
8266.............................................................................................................1 1.1 Data sheet NodeMCU
ESP8266
.....................................................................................1 1.2
Thông số kỹ thuật NodeMCU
ESP8266
........................................................................1 1.3
Chức Năng ESP 8266..................................................................................................1 1.4 Lập Trình Trên
ARDUINO
.........................................................................................1
2. THINGSPEAK....................................................................................................................1 2.1
Giới thiệu......................................................................................................................1 2.2
Các tính năng của ThingSpeak..................................................................................1 2.3
Ứng Dụng và Trường Hợp Sử Dụng..........................................................................1 2.4
Cách làm việc với Thingspeak....................................................................................1 2.5 Tìm hiểu APP
ThingView
............................................................................................1 2.6
Kết Luận.......................................................................................................................1
3. CẢM BIẾN NHIỆT ĐỘ VÀ ĐỘ ẨM DHT11..................................................................1 3.1
Giới thiệu......................................................................................................................1 3.2
Cấu tạo cảm biến nhiệt độ độ ẩm DHT11.................................................................2 3.3
Sơ đồ chân DHT11.......................................................................................................3 3.4
Thông số kĩ thuật DHT11...........................................................................................3 3.5
Cách sử dụng cảm biến DHT11..................................................................................3
4. SƠ ĐỒ..................................................................................................................................5 4.1 Sơ Đồ
Khối
........................................................................................................................5 4.2 Sơ Đồ Kết
Nối
...................................................................................................................6 lOMoARcPSD| 36991220 4.3 Sơ Đồ Giải
Thuật
.............................................................................................................7
5. LẬP TRÌNH PHẦN MỀM
(CODE)..................................................................................8
PHẦN KẾT LUẬN......................................................................................................................12 lOMoARcPSD| 36991220 PHẦN MỞ ĐẦU 1. Đặt vấn đề
Hiện nay sự phát triển của thời đại công nghệ 4.0 một trong những khái niệm
nhận được sự quan tâm hàng đầu trên toàn thế giới. Trong đó hệ thống kết nối không
dây cũng là một hệ thống được rất nhiều người sử dụng. Việc phát minh và chế tạo
ra các thiết bị thông minh có khả năng điều khiển từ xa đang và sẽ rất dược quan
tâm và hữu ích cho cuộc sống hàng ngày. Vì mục tiêu công nghệ hiện đại hóa nên
nhóm chúng em đã chọn tìm hiểu đề tài “Giám sát nhiệt độ, độ ẩm (DHT11) thông
qua Thingspeak bằng Node MCU ESP8266”. Đề tài của nhóm chúng em giới thiệu
cho người tiêu dùng hiểu hơn về cách sử dụng Thingspeak để giám sát được nhiệt
độ cũng như độ ẩm ở từ xa bằng điện thoại hoặc máy tính. Như vậy, dù chúng ta ở
bất cứ nơi nào có internet đều có thể giám sát và điều khiển được các thiết bị đã kết
nối với module điều khiển.
2. Mục tiêu của đề tài
Có thể nhận tín hiệu từ cảm biến và điều khiển các thiết bị
Có chức năng giám sát và điều khiển từ xa qua app Thingspeak
3. Nội dung đề tài
Đề tài “Giám sát nhiệt độ, độ ẩm (DHT11) thông qua Thingspeak bằng Node MCU
ESP8266” sẽ cần phải thực hiện các nội dung sau:
Phần 1: Tìm hiểu datasheet NodeMCU ESP 8266, chức năng và cách cài đặt trên Arduino
Phần 2: Tìm hiểu ThingSpeak, cách làm việc của Thingspeak và app ThingView
Phần 3: Thông số cảm biến nhiệt độ, độ ẩm DHT11, chức năng và cách keert nối
Phần 4: Vẽ lưu đồ giải thuật, viết chương trình bằng Arduino
4. Các linh kiện sử dụng trong đề tài: - NodeMCU ESP8266 CP2102. lOMoARcPSD| 36991220
- Cảm biến nhiệt độ DHT11.
- Dây cắm ( đực – đực).
Các linh kiện được sử dụng đều có chức năng cụ thể và tương thích với nhau nên
được sử dụng trong đề tài này. Cảm biến DHT11 sẽ đo giá trị nhiệt độ, độ ẩm và
được vi điều khiển NodeMCU ESP8266 đọc giá trị và vì ESP8266 có khả năng thu
phát wifi nên sẽ đưa giá trị đọc được lên đám mây của nền tảng Thingspeak, sau đó
ta có thể quan sát được dữ liệu nhiệt độ và độ ẩm thông qua app Thingview trên Smartphone. lOMoARcPSD| 36991220 PHẦN NỘI DUNG 1. NodeMCU ESP 8266
1.1 Data sheet NodeMCU ESP8266
Hình: NodeMCU Development Board Pinout Configuration Pin category Name Description Power Micro-USB,
Micro-USB: NodeMCU can be powered through 3,3V, G ND, Vin the USB port
3.3V: Regulated 3.3V can be supplied to this pin to power the board GND: Ground pins
Vin: External Power Supply Control pins EN,RST
The pin and the button resets the microcontroller Analog Pin A0
Used to measure analog voltage in the range of 0- 3.3 V GPIO Pins GPIO1 to
NodeMCU has 16 general purpose input-output GPIO16 pins on its board SPI Pins
SD1, CMD, SD0, NodeMCU has four pins available for SPI CLK communication. UART Pins TXD0, RXD0,
NodeMCU has two UART interfaces, UART0 TXD2, RXD2
(RXD0 & TXD0) and UART1 (RXD1 & TXD1).
UART1 is used to upload the firmware/program. lOMoARcPSD| 36991220 I2C Pins
NodeMCU has I2C functionality support but due to
the internal functionality of these pins, you have to find which pin is I2C.
1.2 Thông số kỹ thuật NodeMCU ESP8266
Microcontroller: Tensilica 32-bit RISC CPU Xtensa LX106 Operating Voltage: 3.3V Input Voltage: 7-12V Digital I/O Pins (DIO): 16 Analog Input Pins (ADC): 1 UARTs: 1 SPIs: 1 I2Cs: 1 Flash Memory: 4 MB SRAM: 64 KB Clock Speed: 80 MHz
USB-TTL based on CP2102 is included onboard, Enabling Plug n Play PCB Antenna
Small Sized module to fit smartly inside your IoT projects
1.3 Chức Năng ESP 8266
Kit RF thu phát Wifi ESP8266 NodeMCU là kit phát triển dựa trên nền chip Wifi
SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếp trình lOMoARcPSD| 36991220
biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng và lập
trình các ứng dụng trên ESP8266 trở nên rất đơn giản.
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.
Kit RF thu phát Wifi ESP8266 NodeMCU sử dụng chip nạp và giao tiếp UART
mới và ổn định nhất là CP2102 có khả năng tự nhận Driver trên tất cả các hệ điều
hành Window và Linux, đây là phiên bản cải tiến từ dòng sử dụng IC nạp và giao
tiếp UART giá rẻ kém ổn định CH340.
1.4 Lập Trình Trên ARDUINO 1.4.1 Chuẩn bị - 1x ESP8266 v3
- 1x USB TTL (ví dụ PL2303 hoặc CP210x)
- 1x Arduino IDE bản mới nhất 1.4.2. Tiến hành a. Cài đặt chương trình
Để tiến hành cài đặt thư viện và chức năng nạp code cho IDE chúng ta thực hiện: lOMoARcPSD| 36991220
Vào file -> Preferences, vào textbox Additional Broad Manager URL thêm đường
link sau: http://arduino.esp8266.com/stable/package_esp8266com_index.json Click
OK để chấp nhận. lOMoARcPSD| 36991220
Tiếp theo vào ToolBoardBoards Manager
Sau đó khi trình tìm kiếm hoàn tất, ta kéo xuống và click chọn ESP8266 by
ESP8266 Community, click vào Install rồi chờ phần mềm tự động dowlload và cài đặt. b.
Chọn board để lập trình cho ESP 8266
Kết nối mudule USB-to-UART vào máy tính. Vào ToolBoardGeneric
ESP8266 Module, chọn cổng COM tương ứng với module USB-to-UART tương ứng.
Chọn chế độ nạp Arduino as ISP. Hoàn thành quá trình thiết lập. lOMoARcPSD| 36991220 2. THINGSPEAK 2.1 Giới thiệu
ThingSpeak được ioBridge ra mắt vào năm 2010 là một nền tảng mà bạn có thể
trực quan hóa và phân tích dữ liệu trên đám mây. Nó là một sản phẩm Matlap và có
thể xử lý, phân tích dữ liệu trực tiếp từ đám mây. Chủ yêu nó được sử dụng trong
các dự án IoT để theo dõi những thay đổi về giá cảm biến
2.2 Các tính năng của ThingSpeak
- Thiết bị có thể dễ dàng cấu hình và gửi dữ liệu tới ThingSpeak bằng cách sửdụng
các giao thức truyền thông
- Có thể xem dữ liệu trong thời gian thực
- Có thể nhận dữ liệu từ phần mềm bên thứ ba
- Có thể sử dụng với Matlap để phân tích dữ liệu
- Không cần server và phần mềm web để xây ựng prototype hệ thống IoT
- Tự thực hiện các hành động và giao tiếp bằng phần mềm của bên thứ3
2.3 Ứng Dụng và Trường Hợp Sử Dụng
2.3.1. IoT (Internet of Things) và ThingSpeak
- ThingSpeak chủ yếu được sử dụng trong lĩnh vực IoT:
- Quản lý Thiết Bị: ThingSpeak cho phép người dùng kết nối và quản lý hàng
loạtthiết bị IoT, từ cảm biến đo nhiệt độ, độ ẩm đến bộ điều khiển từ xa.
- Theo dõi Thời Gian Thực: Người dùng có thể theo dõi dữ liệu từ các thiết bị IoTở
bất kỳ đâu trên thế giới mà có kết nối internet.
- Tích hợp Dễ Dàng: ThingSpeak cung cấp API mạnh mẽ để tích hợp với các thiếtbị
và ứng dụng khác, giúp xây dựng các hệ thống IoT phức tạp. 2.3.2.
Giám Sát Môi Trường
ThingSpeak thích hợp cho các ứng dụng liên quan đến giám sát môi trường:
- Giám Sát Chất Lượng Không Khí: Các cảm biến đo khí, bụi, và khí CO2 có thểgửi
dữ liệu đến ThingSpeak để theo dõi chất lượng không khí trong môi trường.
- Theo Dõi Thời Tiết: ThingSpeak có thể được sử dụng để thu thập và trực quan
hóa dữ liệu thời tiết như nhiệt độ, độ ẩm, áp suất, và mức nước. lOMoARcPSD| 36991220
- Giám Sát Tình Trạng Môi Trường: Nó cung cấp giải pháp cho việc giám sát môi
trường ở các công trình xây dựng, trong công nghiệp, và trong các dự án bảo vệ môi trường. 2.3.3
Theo Dõi Cảm Biến và Thiết Bị Từ Xa
ThingSpeak hữu ích để theo dõi và quản lý các cảm biến và thiết bị từ xa:
- Theo Dõi Điện Năng: ThingSpeak có thể được sử dụng để theo dõi sử dụng
điệnnăng và hiệu suất của các thiết bị điện từ xa, giúp tiết kiệm năng lượng.
- Theo Dõi Vận Hành Công Nghiệp: Trong môi trường công nghiệp, ThingSpeakcó
thể giúp theo dõi và điều khiển các quy trình và thiết bị từ xa.
- Theo Dõi Khí Độc Hại: Các cảm biến theo dõi khí độc hại và báo cáo dữ liệulên
ThingSpeak để cảnh báo về tình trạng nguy hiểm. 2.3.4
Nghiên Cứu và Phát Triển Sản Phẩm
ThingSpeak hỗ trợ nghiên cứu và phát triển sản phẩm:
- Dự Án Nghiên Cứu: Nghiên cứu khoa học và dự án thử nghiệm có thể sử
dụngThingSpeak để thu thập và phân tích dữ liệu.
- Phát Triển Sản Phẩm IoT: ThingSpeak là nền tảng linh hoạt để phát triển sảnphẩm
IoT và các ứng dụng thông minh dựa trên dữ liệu từ các thiết bị IoT.
- Thử Nghiệm và Đánh Giá: ThingSpeak cho phép các công ty và cá nhân
thửnghiệm và đánh giá các ứng dụng mới mà họ đang phát triển.
2.4 Cách làm việc với Thingspeak
Bước 1: Tạo tài khoản ThingSpeak
- Truy cập vào địa chỉ https://thingspeak.com và chọn Sign Up để đăng kí một tài
khoản miễn phí. Điền đầy đủ các thông tin yêu cầu và bạn sẽ nhận email yêu cầu
xác thực tài khoản email.
- Sau khi xác thực, bạn sẽ có thể login vào và thấy các thông tin về tài khoản lOMoARcPSD| 36991220 Bước 2: Tạo Data Channel
- Sau khi login, bạn cần tạo một data channel để lưu trữ dữ liệu. Trong My Channels
bạn chọn New Channel và điền các thông tin cần thiết
- Ở đây mình tạo 1 channel để chứa các dữ liệu từ cảm biến thu được trong phòng
ngủ của mình với Field 1 là temperature và Field 2 là humidity lOMoARcPSD| 36991220
Bước 3: Lấy URL cần thiết để upload dữ liệu
- Để upload hay lấy dữ liệu về bạn cần biết URL để truy cập. Bạn mở channel mới
tạo và tìm đến tab API Keys và sẽ thấy được các URL để get hay upload data:
Bước 4: Upload dữ liệu từ Blocky
- Bạn upload chương trình sau vào Blocky
- Sau khi Blocky chạy và bắt đầu upload dữ liệu lên ThingSpeak, bạn có thể xem
các dữ liệu này trong Channel, tab Private View lOMoARcPSD| 36991220
2.5Tìm hiểu APP ThingView
- ThingView là một công cụ hoàn hảo để xem và tương tác với các kênh ThingSpeak
của bạn một cách dễ dàng. Nó hoạt động cho cả các kênh công cộng và riêng tư.
- Bạn có thể xem dữ liệu trong nhiều loại biểu đồ và thiết lập khung thời gian, phạm
vi ngày tháng thậm chí số lượng kết quả để hiện thị
- Bạn có thể tải xuống và chia sẻ dữ liệu của mình với bạn bè
- Để có thể sử dụng ThingView bạn cần có tài khoản ThingSpeak và một khóa API
hợp lệ. Ứng dụng rất đơn giản và dễ sử dụng. Chỉ cần nhập ID kênh để lấy dữ liệu
cho kênh đó. Ứng dụng sẽ tự động hiển thị dữ liệu dưới dạng biểu đồ
Logo phần mềm ThingView 2.6Kết Luận
2.6.1 Điểm nổi bật về ThingSpeak lOMoARcPSD| 36991220
- ThingSpeak là một dịch vụ IoT (Internet of Things) cung cấp nền tảng trực quan
hóa dữ liệu và quản lý dựa trên đám mây.
- ThingSpeak cho phép người dùng dễ dàng gửi, lưu trữ và trực quan hóa dữ liệu từ
các thiết bị và cảm biến khác nhau.
- Hệ thống ThingSpeak cung cấp API mạnh mẽ để tích hợp dữ liệu với các ứng dụng và thiết bị khác.
2.6.2 Lợi ích và tiềm năng ứng dụng
- IoT: ThingSpeak giúp kết nối và quản lý dữ liệu từ hàng loạt thiết bị IoT, làm cho
việc theo dõi và điều khiển từ xa trở nên dễ dàng.
- Giám sát môi trường: Dự án liên quan đến giám sát môi trường như đo chất lượng
không khí, nhiệt độ, độ ẩm có thể sử dụng ThingSpeak để lưu trữ và trực quan hóa dữ liệu.
- Nghiên cứu và phát triển sản phẩm: ThingSpeak cung cấp một cơ sở hạ tầng đám
mây linh hoạt cho các dự án nghiên cứu và phát triển sản phẩm, giúp tiết kiệm thời gian và nguồn lực.
2.6.3 Lời khuyên khi sử dụng ThingSpeak
- Quản lý bảo mật: Đảm bảo rằng dữ liệu được gửi lên ThingSpeak được bảo vệ an
toàn và không thể truy cập bởi người không có quyền.
- Đảm bảo tích hợp chính xác: Khi tích hợp với các ứng dụng và thiết bị khác, hãy
kiểm tra rằng dữ liệu được đồng bộ và truyền tải đúng cách.
- Theo dõi giới hạn miễn phí: ThingSpeak có mức giới hạn miễn phí cho tài khoản,
vì vậy hãy kiểm tra và quản lý thường xuyên để tránh việc vượt quá giới hạn sử dụng.
2.6.4 Tham khảo tài liệu hỗ trợ:
- Sử dụng tài liệu hỗ trợ và cộng đồng ThingSpeak để giải quyết các vấn đề hoặc
tìm hiểu cách sử dụng một cách hiệu quả. lOMoARcPSD| 36991220
- ThingSpeak là một công cụ mạnh mẽ để quản lý và trực quan hóa dữ liệu IoT, và
việc hiểu rõ các lợi ích và lời khuyên khi sử dụng nó có thể giúp bạn tận dụng tối
đa khả năng của nền tảng này trong các dự án của bạn.
3. CẢM BIẾN NHIỆT ĐỘ VÀ ĐỘ ẨM DHT11 3.1 Giới thiệu.
DHT11 là một cảm biến nhiệt độ và độ ẩm thường được sử dụng. Cảm
biến đi kèm với một NTC chuyên dụng để đo nhiệt độ và một bộ vi điều khiển 8
bit để xuất các giá trị nhiệt độ và độ ẩm dưới dạng dữ liệu nối tiếp. Cảm biến cũng
được hiệu chuẩn tại nhà máy và do đó dễ dàng giao tiếp với các bộ vi điều khiển khác.
3.2 Cấu tạo cảm biến nhiệt độ độ ẩm DHT11.
- Cảm biến DHT11 bao gồm một phần tử cảm biến độ ẩm điện dung và một điện
trở nhiệt để cảm nhận nhiệt độ. Tụ điện cảm biến độ ẩm có hai điện cực với chất
nền giữ ẩm làm chất điện môi giữa chúng. Thay đổi giá trị điện dung xảy ra với
sự thay đổi của các mức độ ẩm. IC đo, xử lý các giá trị điện trở đã thay đổi này và
chuyển chúng thành dạng kỹ thuật số.
- Để đo nhiệt độ, cảm biến này sử dụng một nhiệt điện trở có hệ số nhiệt độ âm, làm
giảm giá trị điện trở của nó khi nhiệt độ tăng. Để có được giá trị điện trở lớn hơn
ngay cả đối với sự thay đổi nhỏ nhất của nhiệt độ, cảm biến này thường được làm
bằng gốm bán dẫn hoặc polymer. lOMoARcPSD| 36991220
3.3 Sơ đồ chân DHT11. Số Tên chân Mô tả châ n 1 Vcc Nguồn 3.5V đến 5.5V 2 Data
Đầu ra cả nhiệt độ, độ ẩm thông qua dữ liệu nối tiếp 3 NC
Không kết nối nên không sử dụng 4 Ground Nối đất
3.4 Thông số kĩ thuật DHT 11.
- Điện áp hoạt động: 3V - 5V DC
- Dòng điện tiêu thụ: 2.5mA
- Phạm vi cảm biến độ ẩm: 20% - 90% RH, sai số ±5%RH
- Phạm vi cảm biến nhiệt độ: 0°C ~ 50°C, sai số ±2°C
- Tần số lấy mẫu tối đa: 1Hz (1 giây 1 lần)
- Kích thước: 23 * 12 * 5 mm
3.5 Cách sử dụng cảm biến DHT11.
- Cảm biến DHT11 được hiệu chuẩn tại nhà máy và xuất dữ liệu nối tiếp, do đó rất
dễ thiết lập. Sơ đồ kết nối cho cảm biến này như bên dưới. lOMoARcPSD| 36991220
- Chân dữ liệu được kết nối với chân I / O của vi điều khiển và một điện trở kéo lên
5K được sử dụng. Chân dữ liệu này xuất ra giá trị của cả nhiệt độ và độ ẩm dưới
dạng dữ liệu nối tiếp. Nếu muốn giao tiếp DHT11 với Arduino thì có các thư viện
được tạo sẵn cho nó sẽ giúp bạn bắt đầu nhanh chóng.
- Nếu đang giao tiếp nó với một số vi điều khiển khác thì datasheet được cung cấp
bên dưới sẽ rất hữu ích. Đầu ra được đưa ra bởi chân dữ liệu sẽ theo thứ tự là dữ
liệu số nguyên độ ẩm 8 bit + 8 bit dữ liệu thập phân độ ẩm + dữ liệu số nguyên
nhiệt độ 8 bit + dữ liệu nhiệt độ phân đoạn 8 bit + bit chẵn lẻ 8 bit. Để yêu cầu
module DHT11 gửi những dữ liệu này, chân I / O phải được đặt ở mức thấp trong
giây lát và sau đó được giữ ở mức cao. lOMoARcPSD| 36991220 4. SƠ ĐỒ 4.1 Sơ Đồ Khối lOMoARcPSD| 36991220
4.2 Sơ Đồ Kết Nối lOMoARcPSD| 36991220
4.3 Sơ Đồ Giải Thuật 5.
LẬP TRÌNH PHẦN MỀM (CODE) #include lOMoARcPSD| 36991220 #include
#define DHTPIN 5 ; //Tín hiệu ra của DHT11 được kết nối với chân 5 ESP
#define DHTTYPE DHT11; //loại sử dụng là DHT11
DHT dht (DHTPIN, DHTTYPE);
/* ------------Khai báo để DHT kết nối với WiFi để đẩy dữ liệu lên server--------------*/
Const char* ssid = “……………”; // Tên mạng không dây của bạn (SSID)
Const char* password = “………….” ; // Mật khẩu mạng Wifi của bạn
/*--------------------------------Cài đặt ThingSpeak--------------------------------------------*/
Const int channelID = ……….; //Mỗi tài khoảng sẽ có 1 ID riêng
String write APIKey = “…………………..”; //ESP gửi dữ liệu, TS dựa vào key để hiển thị
dữ liệu lên server (copy trên ThingSpeak)
Const char* server = “api.thingspeak.com”;// khai báo sever mà để DHT kết nối
Const int postingInterval = 10*1000; //10 giây gửi dữ liệu 1 lần void setup() { lOMoARcPSD| 36991220
Serial.begin(115200); //khai báo giao tiếp với máy tính
dht.begin(); //Cho phép module cảm biến hoạt động
Serial.println("Connecting ");
WiFi.begin(ssid, password); //kết nối với wifi bằng tài khoản
While (WiFi.status() != WL_CONNECTED) //Nếu kết nối được { Serial.print("."); delay(100); }
Serial.println(“\r\nWiFi connected”); //in ra trên màn hình “Wifi đã được kết nối” } Void loop() {
Delay(postingInterval); // chờ rồi xuất dữ liệu lên lại float docdoam =
dht.readHumidity(); //đọc độ ẩm của DHT bằng biến docdoam float docnhietdo = lOMoARcPSD| 36991220
dht.readTemperature(); //đọc nhiệt độ của DHT bằng biến docnhietdo if
(isnan(docdoam) || isnan(docnhietdo)) {
Serial.println("Không đọc được cảm biến DHT!"); //Nếu đọc không được giá trị return; } if
(client.connect(server,80)) // Đưa dữ liệu lên web {
String body = “field1=” + String (docnhietdo, 1) + “&field2=” + String (docdoam, 1);
// Vùng 1: Nhiệt độ ----- Vùng 2: Độ ẩm
/*------------------------XUẤT DỮ LIỆU RA MÀN HÌNH-------------------------*/
client.print("POST /update HTTP/1.1\n"); //xuất dữ liệu lên web
client.print("Host: api.thingspeak.com\n"); //in ra cái host
client.print("Connection: close\n"); client.print("X-
THINGSPEAKAPIKEY: "+apiKey+"\n"); client.print("Content-Type:
application/x-www-form-urlencoded\n"); client.print("Content-Length: "); lOMoARcPSD| 36991220
client.print(body.length()); client.print("\n\n");
client.print(body); client.print("\n\n");
Serial.printf(“Nhiet do%s – Do am %s\r\n”,
String (docnhietdo, 1).c_str() ,
String (docdoam, 1).c_str());
//xuất dữ liệu lên màn hình xem có chạy được hay không và dữ liệu có
đẩy được lên ThingSpeak hay không. } client.stop(); PHẦN KẾT LUẬN
Công nghệ kết nối không dây mang lại rất nhiều lợi ích cho cuộc sống hiện
nay. Qua đề tài chúng em tìm hiểu. Có thể thấy được việc giám sát nhiệt độ, độ ẩm
từ xa có rất nhiều ứng dụng trong trông trọt và chăn nuôi. Người sử dụng có thể
giám sát cũng như điều chỉnh nhiệt độ phù hợp mà không cần đến tận nơi. Thông
qua app người dùng có thể thao tác nhanh và tiện lợi. Bên cạnh việc ứng dụng vào
nông nghiệp, đề tài nhóm chúng em tìm hiểu còn có thể sử dụng trong các Smarthome…