Tải bản đầy đủ (.pdf) (62 trang)

Xây dựng hệ thống iot điều khiển môi trường nhà lưới thích hợp cho sinh trưởng và canh tác cây dưa lưới

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 (2.36 MB, 62 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Phạm Đình Bình

XÂY DỰNG HỆ THỐNG IOT ĐIỀU KHIỂN MƠI
TRƯỜNG NHÀ LƯỚI THÍCH HỢP CHO SINH
TRƯỞNG VÀ CANH TÁC CÂY DƯA LƯỚI

KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành : Kỹ thuật công nghệ điện tử - viễn thông

HÀ NỘI -2023


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Phạm Đình Bình

XÂY DỰNG HỆ THỐNG IOT ĐIỀU KHIỂN MƠI
TRƯỜNG NHÀ LƯỚI THÍCH HỢP CHO SINH
TRƯỞNG VÀ CANH TÁC CÂY DƯA LƯỚI

KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành : Kỹ thuật công nghệ điện tử - viễn thông

Cán bộ hướng dẫn : TS. Phạm Minh Triển

HÀ NỘI -2023



TĨM TẮT
Tóm tắt: Internet of Things (IoT) đã mở đường cho việc số hóa những thứ hàng ngày kết
nối với nhau thông qua internet. Do sự ra đời mạnh mẽ của IoT trong những năm gần đây, các
nghiên cứu đã nhằm thực hiện mong muốn ấp ủ từ lâu của con người là làm cho cuộc sống trở nên
đơn giản và tốt đẹp hơn theo nhiều cách. Đề tài "Xây dựng hệ thống IoT điều khiển mơi trường
nhà lưới thích hợp cho sinh trưởng và canh tác cây dưa lưới" được em lựa chọn vì cây dưa lưới là
loại cây trồng có hiệu quả kinh tế cao và tiềm năng phát triển trong nông nghiệp. Sử dụng công
nghệ IoT cho phép đo đạc và thu thập dữ liệu về các yếu tố môi trường như độ ẩm, nhiệt độ, ánh
sáng và độ ẩm của đất, từ đó giúp điều khiển và quản lý môi trường tốt hơn để đạt được năng suất
cao hơn và giảm thiểu chi phí sản xuất. Bên cạnh đó, việc sử dụng IoT cũng giúp cho việc quản lý
và giám sát cây trồng trở nên dễ dàng và chính xác hơn, từ đó giúp người nơng dân có thể đưa ra
quyết định kịp thời và hiệu quả hơn trong quá trình canh tác. Vì vậy, đề tài này là một sự lựa chọn
phù hợp để nghiên cứu và phát triển trong lĩnh vực nông nghiệp, đặc biệt là đối với cây dưa lưới,
một loại cây trồng có tiềm năng kinh tế cao.

Từ khóa: Internet of Things, hệ thống iot điều khiển mơi trường nhà lưới thích hợp cho
sinh trưởng và canh tác cây dưa lưới.

i


LỜI CAM ĐOAN
Tơi xin cam đoan tồn bộ đồ án tốt nghiệp là kết quả từ việc tôi học hỏi và nghiên
cứu của cá nhân tôi dưới sự hướng dẫn của Tiến sĩ Phạm Minh Triển, khơng có bất cứ hành
động sao chép y ngun cơng trình nghiên cứu của tác giả khác. Các tài liệu mà tôi tham
khảo được trích dẫn rõ ràng và đã được liệt kê đầy đủ trong mục “Tài liệu tham khảo”.

Hà Nội, ngày


tháng

năm 2023

Sinh viên thực hiện

Phạm Đình Bình

ii


LỜI CẢM ƠN
Đồ án tốt nghiệp của tôi đã được thực hiện tại Phịng thí nghiệm thuộc trường Đại
học Cơng nghệ – Đại học Quốc Gia Hà Nội. Tiến sĩ Phạm Minh Triển đã hướng dẫn và chỉ
dạy tôi một cách tận tình trong suốt quá trình làm đồ án này. Tôi muốn gửi lời cảm ơn chân
thành đến thầy vì sự hỗ trợ nhiệt tình chu đáo của thầy.
Tơi cũng muốn bày tỏ lịng biết ơn của mình đến tồn bộ giáo viên tại trường Đại
học Cơng nghệ – Đại học Quốc Gia Hà Nội. Trong suốt quá trình học tập tại trường các
thầy cô đã cung cấp cho tôi rất nhiều những kiến thức quan trọng về kiến thức chuyên ngành
cũng như cả kiến thức xã hội để tơi có thể phát triển và hồn thành đồ án tốt nghiệp.
Cuối cùng, tơi muốn cảm ơn gia đình, bạn bè và các thành viên trong lớp K64ĐACLC2 đã luôn ở bên cạnh, giúp đỡ và động viên tôi trong q trình nghiên cứu đồ án.
Tơi rất biết ơn và cảm kích sự hỗ trợ đó.
Tơi xin chân thành cảm ơn tất cả!

iii


MỤC LỤC
MỞ ĐẦU ................................................................................................................... 1
CHƯƠNG 1. LÝ THUYẾT TỔNG QUAN ........................................................... 2

1.1.

Tổng quan về hệ thống .............................................................................. 2

1.2.

Espressif’s ESP8266EX ............................................................................ 2

1.3.

Công nghệ kết nối không dây Wifi ............................................................ 3

1.4.

Giao thức truyền thông MQTT ................................................................. 4

1.5.

Giao thức HTTP ........................................................................................ 5

1.6.

Giao tiếp One Wire .................................................................................... 7

1.7.

Bộ chuyển đổi tương tự - số ADC ............................................................. 8

1.8.


Server Nodejs ............................................................................................ 9

1.9.

React js ...................................................................................................... 9

1.10.

Hệ quản lý cơ sở dữ liệu MySql .............................................................. 10

CHƯƠNG 2. THIẾT KẾ HỆ THỐNG ................................................................ 12
2.1. Yêu cầu thiết kế hệ thống ............................................................................. 12
2.1.1. Yêu cầu chức năng của hệ thống ........................................................... 12
2.2. Thiết kế hệ thống .......................................................................................... 13
2.2.1. Thiết kế hệ thống phần cứng ................................................................. 13
2.2.2. Thiết kế hệ thống phần mềm theo dõi và điều khiển ............................. 23
CHƯƠNG 3. THỰC THI HỆ THỐNG VÀ ĐÁNH GIÁ KẾT QUẢ................ 35
3.1. Kết nối thiết bị ............................................................................................. 35
3.1.1. Kết nối mô-đun ESP8266 NodeMCU với Temperature and humidity
sensor DHT11 ............................................................................................................. 35
3.1.2. Kết nối mô-đun ESP8266 NodeMCU với Soil Moisture Sensor .......... 35
3.1.3. Kết nối mô-đun ESP8266 NodeMCU với Photodiode Light Sensor .... 36

iv


3.2. Tích hợp và thử nghiệm mơ hình hệ thống giám sát .................................... 37
3.3.Thử nghiệm hệ thống tự động duy trì độ ẩm đất và nhiệt độ mơi trường ..... 39
3.4.Thử nghiệm hệ thống điều khiển các hệ thống theo các giai đoạn cây trồng đã
được cài đặt trước ........................................................................................................... 40

3.5. Kết quả đạt được........................................................................................... 45
3.6. Định hướng phát triển................................................................................... 46
KẾT LUẬN............................................................................................................. 48
TÀI LIỆU THAM KHẢO ..................................................................................... 50

v


BẢNG CHỮ VIẾT TẮT

Từ/Cụm từ viết tắt

Từ/Cụm từ đầy đủ

IoT

Internet of Things

SoC

System on Chip

GPIO

General Purpose Input/Output

VCC

Voltage Common Collector


GND

Ground

UART

Universal Asynchronous Receiver Transmitter

MQTT

Message Queuing Telemetry Transport

MISO

Master In Slave Out

MOSI

Master Out Slave In

SCLK

Serial Clock

MQTT

Message Queuing Telemetry Transport

PWM


Pulse Width Modulation

CS

Chip Select

vi


DANH MỤC HÌNH VẼ
Chương 1
Hình 1. 1. Kiến trúc của hệ dựa trên cơng nghệ IOT……………………………… 2
Hình 1. 2. Kết nối trong mạng lưới MQTT………………………………………... 4
Hình 1. 3. Mơ hình HTTP…………………………………………………………..6
Hình 1. 4. Giao tiếp One Wire……………………………………………………... 7
Hình 1. 5. Bộ chuyển đổi tương tự - số ADC……………………………………… 8
Chương 2
Hình 2. 1. Sơ đồ khối của hệ thống. ........................................................................ 13
Hình 2. 2. Modulde ESP8266 NodeMCU Lua CP2102. ......................................... 14
Hình 2. 3. Sơ đồ chân GPIO của ESP32. ................................................................ 17
Hình 2. 4. Cảm biến DHT11 có 4 chân. .................................................................. 18
Hình 2. 5. Cảm biến DHT11 có 3 chân. .................................................................. 18
Hình 2. 6. Sơ đồ kết nối vi xử lý. ............................................................................ 19
Hình 2. 7. Cảm biến độ ẩm trong đất. ..................................................................... 20
Hình 2. 8. Cảm biến ánh sáng photodiode............................................................... 21
Hình 2. 9. Module relay ........................................................................................... 22
Hình 2. 10. Định nghĩa các API endpoint. ............................................................... 26
Hình 2. 11. Giao diện hiển thị trạng thái mơi trường và hệ thống điều khiển. ........ 28
Hình 2. 12. Giao diện hiển thị dữ liệu theo bảng..................................................... 29
Hình 2. 13. Giao diện hiển thị dữ liệu theo đồ thị. .................................................. 29

Hình 2. 14. Sơ đồ thuật tốn hệ thống tưới tự động theo logic duy trì nhiệt độ và độ
ẩm. ........................................................................................................................... 30
Hình 2. 15. Giao diện hệ thống điều khiển thiết bị tự động. ................................... 30
Hình 2. 16. Lưu độ thuật toán hệ thống điều khiển thiết bị theo giai đoạn. ............ 31
Hình 2. 17. Chỉnh thời gian các giai đoạn. .............................................................. 32
Hình 2. 18. Thêm các chế độ điều khiển thiết bị hàng ngày cho giai đoạn. ............ 32
Hình 2. 19. Các giai đoạn sau khi được cài đặt chế độ. .......................................... 33
Hình 2. 20. Bảng dữ liệu trên MySQL. ................................................................... 34

vii


Chương 3
Hình 3. 1.Sơ đồ kết nối ESP8266 với DHT11. ........................................................ 35
Hình 3. 2. Sơ đồ kết nối ESP8266 với cảm biến độ ẩm. ......................................... 36
Hình 3. 3. Sơ đồ kết nối ESP8266 với cảm biến ánh sáng. ..................................... 36
Hình 3. 4. Node cảm biến. ....................................................................................... 37
Hình 3. 5. Node master. ........................................................................................... 37
Hình 3. 6. Dữ liệu mơi trường buổi sáng. ................................................................ 38
Hình 3. 7. Dữ liệu mơi trường buổi trưa. ................................................................. 38
Hình 3. 8. Dữ liệu mơi trường buổi tối. ................................................................... 38
Hình 3. 9. Hệ thống tự động đang bật các thiết bị. .................................................. 39
Hình 3. 10. Tin nhắn giao tiếp giữa giao diện và node master điều khiển. ............. 39
Hình 3. 11. Hệ thống tự tắt thiết bị khi thỏa mãn điều kiện. ................................... 40
Hình 3. 12. Mơ hình hệ thống mơ phỏng tưới nhỏ giọt. .......................................... 40
Hình 3. 13. Chế độ hoạt động Auto. ........................................................................ 41
Hình 3. 14. Chế độ bơm giai đoạn 1. ....................................................................... 42
Hình 3. 15. Chế độ bơm giai đoạn 2. ....................................................................... 42
Hình 3. 16. Chế độ bơm giai đoạn 3 ........................................................................ 43
Hình 3. 17. Hệ thống tự động bơm. ......................................................................... 43

Hình 3. 18. Hệ thống tại thời điểm 17 giờ 30 phút. ................................................. 44
Hình 3. 19. Hệ thống tại thời điểm 17 giờ 32 phút. ................................................. 44
Hình 3. 20. Quản lý các chế độ trên MySql. ........................................................... 45

viii


DANH MỤC BẢNG
Chương 2
Bảng 2. 1. Thông số kĩ thuật Modulde ESP8266 NodeMCU Lua CP2102. ........... 15
Bảng 2. 2. Kết nối DHT11 với ESP8266. ................................................................ 19
Bảng 2. 3. Kết nối cảm biến độ ẩm đất với esp8266. .............................................. 21
Bảng 2. 4. Kết nối cảm biến ánh sáng với ESP8266. .............................................. 22
Bảng 2. 5. Kết nối relay với ESP8266. .................................................................... 23

Chương 3

Bảng 3. 1. Các giai đoạn sinh trưởng cây dưa lưới. ................................................ 41

ix


MỞ ĐẦU
Hiện nay, trong lĩnh vực nông nghiệp, công nghệ IoT đang được sử dụng rộng rãi để
giúp nâng cao năng suất và hiệu quả canh tác cây trồng. Trong đó, việc áp dụng IoT vào
việc điều khiển mơi trường nhà lưới cho sinh trưởng và canh tác cây dưa lưới là một giải
pháp tiên tiến và hiệu quả.
Mục tiêu của đề tài là nghiên cứu, thiết kế và xây dựng một hệ thống IoT điều khiển
môi trường nhà lưới cho sinh trưởng và canh tác cây dưa lưới. Hệ thống sẽ sử dụng các cảm
biến để thu thập thông tin về nhiệt độ, độ ẩm, ánh sáng và độ pH của đất trong nhà lưới.

Dựa trên các thông tin thu thập được, hệ thống sẽ tự động điều khiển các thiết bị như máy
bơm, quạt,…theo các điều kiện cài đặt hoặc thời gian định trước để tạo ra môi trường thích
hợp cho cây dưa lưới sinh trưởng và phát triển tốt nhất.
Đồ án được bố cục thành các phần như sau:
• Mở đầu: Trình bày bối cảnh, mục tiêu, đối tượng nghiên cứu của đồ án.
• Chương 1: Lý thuyết tổng quan – Trình bày các khái niệm cơ bản về IoT, các
cảm biến, máy bơm, quạt,... và các chuẩn ghép nối được sử dụng trong đồ án.
• Chương 2: Thiết kế hệ thống – Trình bày về những yêu cầu cần phải đạt được,
thiết kế tổng thể hệ thống và trình bày thơng tin về các linh kiện được sử dụng trong thiết
kế.
• Chương 3: Thực thi hệ thống và đánh giá kết quả - Trình bày việc kết nối các
thiết bị và thực thi hệ thống.
• Kết luận: Tổng kết lại các công việc đã thực hiện được các kết quả đã làm được
và rút ra trong suốt quá trình thực hiện đồ án.
Với việc áp dụng IoT vào việc điều khiển môi trường nhà lưới cho sinh trưởng và
canh tác cây dưa lưới, đề tài này mong muốn giúp nâng cao năng suất và chất lượng sản
phẩm, đồng thời giảm thiểu sự lãng phí tài nguyên và thời gian canh tác của người nông
dân.

1


CHƯƠNG 1. LÝ THUYẾT TỔNG QUAN
1.1. Tổng quan về hệ thống
Hệ thống điều khiển môi trường nhà lưới trên nền tảng cơng nghệ loT tn theo kiến
trúc như hình dưới đây.

Hình 1. 1. Kiến trúc của hệ dựa trên cơng nghệ IOT.

-


Khối cảm biến: Chịu trách nhiệm kết nối các thiết bị cảm biến để thu thập dữ liệu về

-

tình trạng của khơng khí nhiệt độ, độ ẩm trong nhà lưới. Các cảm biến sử dụng bao
gồm: nhiệt độ, độ ẩm khơng khí, độ ẩm đất , ánh sáng.
Vi điều khiển: Xử lý các dữ liệu trả về từ cảm biến để tính tốn ra các thơng số và

-

gửi lên Server và lưu trữ trong cơ sở dữ liệu.
Server, cơ sở dữ liệu: Thực hiện lưu trữ dữ liệu được tính tốn bởi vi sử lý và các
u cầu từ client.
Web dashboard: Hiển thị các thông tin về trạng thái của môi trường nhà lưới và điều
khiển các chức năng trong nhà lưới.

1.2. Espressif’s ESP8266EX
ESP8266EX của Espressif là một giải pháp tích hợp cao SoC Wi-Fi để đáp ứng nhu
cầu ngày càng tăng của người dùng về sử dụng điện năng hiệu quả, thiết kế nhỏ gọn và hiệu
suất đáng tin cậy trong ngành công nghiệp Internet của các vật liệu. Với khả năng mạng
Wi-Fi hoàn chỉnh và độc lập, ESP8266EX có thể thực hiện hoặc làm việc như một ứng
dụng độc lập hoặc làm con thụ hưởng từ một host MCU. Khi ESP8266EX đóng vai trị là
máy chủ ứng dụng, nó sẽ khởi động nhanh chóng từ flash. Bộ đệm tốc độ cao tích hợp giúp
tăng hiệu suất hệ thống và tối ưu hóa bộ nhớ hệ thống. Ngồi ra, ESP8266EX cũng có thể
được áp dụng vào bất kỳ thiết kế vi điều khiển nào như một bộ chuyển đổi Wi-Fi thông qua
các giao diện SPI/SDIO hoặc UART. ESP8266EX tích hợp các cơng tắc anten, balun RF,
bộ khuếch đại cơng suất, bộ khuếch đại thu tín hiệu tiếng ồn thấp, bộ lọc và các mô-đun
quản lý điện năng. Thiết kế nhỏ gọn giảm thiểu kích thước PCB và yêu cầu ít mạch ngồi.
Ngồi các chức năng Wi-Fi, ESP8266EX cịn tích hợp một phiên bản nâng cao của bộ xử

lý 32-bit series L106 Diamond của Tensilica và SRAM trên chip. Nó có thể được kết nối
2


với các cảm biến và các thiết bị khác thông qua các chân GPIO. Bộ kit phát triển phần mềm
(SDK) là bộ kit đã cung cấp các mã mẫu cho nhiều ứng dụng khác nhau [2]. Nền tảng kết
nối thông minh của Espressif Systems (ESCP) cho phép tính năng phức tạp bao gồm:
• Chuyển đổi nhanh giữa chế độ ngủ và chế độ hồi tỉnh để tiết kiệm năng lượng.
• Điều chỉnh ngưỡng sóng vơ tuyến để hoạt động tiết kiệm điện năng.
• Xử lý tín hiệu tiên tiến.
• Hủy tạp âm và cơ chế đồng thời RF để giảm thiểu nhiễu từ các tín hiệu điện thoại
di động, Bluetooth, DDR, LVDS, LCD.
1.3. Công nghệ kết nối không dây Wifi
Wi-Fi là một hệ thống mạng không dây được sử dụng để kết nối các thiết bị như máy
tính, máy tính bảng, điện thoại thông minh và các thiết bị khác với internet. Nó dựa trên
chuẩn kết nối IEEE 802.11 và được truyền tín hiệu vơ tuyến từ bộ định tuyến không dây
đến một thiết bị ở gần. Thiết bị này chuyển tín hiệu thành dữ liệu mà bạn có thể sử dụng.
Sau đó, thiết bị truyền tín hiệu vơ tuyến trở lại bộ định tuyến để kết nối với internet bằng
dây hoặc cáp [3].
Mạng Wi-Fi hiện đại hoạt động giống như kết nối mạng Ethernet cục bộ có dây
(LAN). Tuy nhiên, sự khác biệt duy nhất là chúng sử dụng các tần số phổ để truyền dữ liệu
trong khoảng cách ngắn với tốc độ cao. Tiêu chuẩn Wi-Fi được phát triển bởi Hội Kỹ sư
Điện và Điện tử (IEEE) để cung cấp khả năng truy cập không dây trong khu vực cục bộ,
thường là trong nhà hoặc tòa nhà văn phòng.
Trong nước ta, hiện nay chuẩn Wi-Fi được sử dụng phổ biến nhất là 802.11g và
802.11n. Tuy vậy, được sử dụng phổ biến nhất vẫn là 802.11 nó hoạt động ở 2 dải tần
2.4GHz và 5GHz.
Ưu điểm của kết nối Wi-Fi là tính tiện dụng, đơn giản gọn nhẹ so với kết nối trực
tiếp bằng cáp truyền thống. Điều này khiến mạng Wi-Fi đặc biệt phù hợp với các ứng dụng
IoT nhờ vào tính linh hoạt của nó.


3


1.4. Giao thức truyền thông MQTT
MQTT là một giao thức truyền thông cho việc gửi và nhận tin nhắn trong mơ hình
publish/subscribe. Nó thường được sử dụng cho các thiết bị IoT có băng thơng thấp, độ tin
cậy cao và khả năng hoạt động trên các mạng lưới không ổn định. MQTT dựa trên một máy
chủ trung gian nhẹ, được thiết kế để có tính mở và khơng đặc trưng cho bất kỳ ứng dụng
cụ thể nào. Giao thức này rất đơn giản và dễ dàng cài đặt [5].

Hình
2. Kết
Hình1.1.2
. Kếtnối
nốitrong
trongmạng
mạnglưới
lướiMQTT.
MQTT
(Nguồn: />
Một số ưu điểm nổi bật của MQTT là có thể sử dụng ở băng thơng thấp, độ tin cậy
cao và có thể sử dụng ngay cả khi hệ thống mạng khơng ổn định, tốn rất ít byte cho việc
kết nối với máy chủ và có thể kết nối để giữ trạng thái liên tục xuyên suốt,đặc biệt có thể
kết nối nhiều thiết bị (MQTT thiết bị) thông qua một máy chủ MQTT. Giao thức này sử
dụng được trong mơi trường có độ trễ cao và băng thơng thấp, dễ dàng kết nối nên nó là
một giao thức lý tưởng và phù hợp cho các ứng dụng và hệ thống IoT [6].
Kiến trúc của MQTT bao gồm các thành phần lõi như sau:
-


MQTT broker (máy chủ trung tâm): Có thể được cung cấp dưới dạng mã
nguồn mở hoặc phiên bản thương mại và có thể được tích hợp với các dịch
4


vụ đám mây. Nhiệm vụ của máy chủ trung tâm là lọc các tin nhắn theo chủ
đề và phân phối chúng đến các thiết bị/ứng dụng đã đăng ký với các chủ đề
-

đó.
MQTT clients (khách hàng): Là các thiết bị/ứng dụng kết nối đến máy chủ
trung tâm để thực hiện truyền nhận dữ liệu.
Chủ đề (topics): Mỗi MQTT client truyền/nhận dữ liệu thông qua các chủ đề
được quản lý bởi máy chủ trung tâm. Một client đăng ký nhận dữ liệu từ một
chủ đề, được gọi là người đăng ký, còn một client gửi dữ liệu đi, được gọi là
nhà xuất bản. Để nhận dữ liệu từ một nhà xuất bản, người đăng ký phải đăng
ký theo dõi một chủ đề cụ thể. Khi một nhà xuất bản gửi dữ liệu đến chủ đề
đó, máy chủ trung tâm lọc và chuyển tiếp tin nhắn đến người đăng ký tương
ứng. Một MQTT client có thể đăng ký nhận dữ liệu từ nhiều chủ đề và cũng
có thể là một nhà xuất bản đến nhiều chủ đề khác nhau [6].

1.5. Giao thức HTTP
HTTP là một giao thức ứng dụng được sử dụng nhiều và phổ biến trong các hệ thống
thông tin phân phối, cộng tác và đa phương tiện. Nó đã trở thành nền tảng cho giao tiếp dữ
liệu trên World Wide Web (WWW) từ những năm 1990. Giao thức này là không trạng thái
(stateless) và được sử dụng cho nhiều mục đích khác nhau như các phương thức yêu cầu,
mã trạng thái và các header.
HTTP được sử dụng trên cơ sở TCP/IP để phân phối dữ liệu trên WWW, bao gồm
các tệp HTML, các tập tin ảnh và nhiều loại tài nguyên khác. Cổng mặc định của HTTP là
TCP 80, tuy nhiên cổng khác cũng có thể được sử dụng. Giao thức này cung cấp một cách

tiêu chuẩn hóa để các máy tính có thể giao tiếp với nhau. Chi tiết kỹ thuật của HTTP xác
định cách thức xây dựng và gửi yêu cầu từ phía client đến server, và cách mà server phản
hồi lại các yêu cầu này.
HTTP có ba đặc trưng cơ bản giúp nó trở thành một giao thức đơn giản nhưng mạnh
mẽ.
-

Thứ nhất, nó là giao thức không liên tục (connectionless), nghĩa là khi Client
gửi yêu cầu, nó ngắt kết nối với Server và chờ đợi phản hồi. Server xử lý yêu
cầu và thiết lập lại kết nối để gửi phản hồi.

5


-

-

Thứ hai, HTTP là một phương tiện độc lập (media-independent), cho phép
gửi bất kỳ loại dữ liệu nào, miễn là Server và Client biết cách kiểm soát nội
dung dữ liệu.
Thứ ba, HTTP là Stateless, nghĩa là Server và Client chỉ biết về nhau trong
một yêu cầu hiện tại và quên tất cả về nhau sau đó. Tuy nhiên, Client và trình
duyệt có thể giữ lại thơng tin giữa các u cầu khác nhau trên các trang web
[7].

Hình Hình
1. 3. Mơ
1.3.hình
Mơ hình

HTTP.
HTTP
( Nguồn:
/>
Giao thức HTTP là một kiểu giao thức sử dụng tín hiệu yêu cầu/phản hồi, với cấu
trúc Client/Server. Trong đó, các trình duyệt web và thiết bị tìm kiếm đóng vai trị như một
Client, và các Server web đóng vai trò như một Server. Việc gửi yêu cầu được thực hiện
bởi Client, với các thông tin như phương thức yêu cầu, URI và phiên bản giao thức. Có thể

6


gửi một thông báo MIME chứa thông tin chỉnh sửa yêu cầu, thông tin Client và nội dung
đối tượng qua một kết nối TCP/IP.
Sau khi nhận được yêu cầu, Server sẽ trả lời bằng một dòng trạng thái bao gồm phiên
bản giao thức và mã thành công hoặc lỗi, và sau đó gửi một thơng báo MIME chứa thơng
tin Server, thông tin thực thể đa phương tiện và nội dung đối tượng có thể qua kết nối
TCP/IP.
1.6. Giao tiếp One Wire
One Wire là một chuẩn giao tiếp được phát triển bởi hãng Dallas Semiconductor
(Maxim) và chỉ sử dụng một dây để truyền và nhận dữ liệu. Chuẩn giao tiếp này là loại
khơng đồng bộ bán song cơng (half-duplex), có nghĩa là tại một thời điểm chỉ có thể truyền
hoặc nhận dữ liệu. Khi khơng có dữ liệu trên đường truyền, tín hiệu trên đó phải ở mức cao.
Để đảm bảo điều này, cần kết nối dây truyền với nguồn thông qua một điện trở kéo lên
(pull-up resistor). Giá trị của điện trở kéo lên có thể khác nhau tùy thuộc vào các thiết bị sử
dụng chuẩn One Wire [15].

1.4.tiếp
Giao
OneNguồn:

Wire )
Hình 1. Hình
4. Giao
Onetiếp
Wire.(

Chuẩn giao tiếp One Wire có hai chế độ hoạt động: standard và overdrive. Ở chế độ
standard, tốc độ truyền dữ liệu là 15.4kbps, trong khi chế độ overdrive có tốc độ truyền là
125kbps.
Chuẩn giao tiếp One Wire sử dụng mơ hình master - slave. Trên một đường truyền
chỉ có một thiết bị là master cịn các thiết bị khác là các slave, nhưng chỉ có một thiết bị là
master. Mỗi thiết bị slave được lưu trữ một địa chỉ 64-bit duy nhất trong bộ nhớ ROM của

7


nó. Thiết bị master có thể nhận biết được giữa các slave thông qua địa chỉ của chúng. Trong
8 byte (64 bit) của địa chỉ, có 3 phần chính:
-

Để xác định loại thiết bị, byte đầu tiên được gửi chứa mã họ của thiết bị
(family codes).

-

Tiếp theo, sử dụng 6 byte để truyền địa chỉ riêng của từng thiết bị, với 48 bit
được tùy biến.

-


Cuối cùng, byte cuối cùng được dùng để kiểm tra tính tồn vẹn của dữ liệu
với cyclic redundancy check (CRC).

1.7. Bộ chuyển đổi tương tự - số ADC
ADC là viết tắt của "Analog to Digital Converter" hay "bộ chuyển đổi tương tự sang
kỹ thuật số". Nó là một loại mạch điện tử được sử dụng để chuyển đổi giá trị điện áp liên
tục (analog) sang giá trị số (kỹ thuật số) để các thiết bị kỹ thuật số có thể hiểu và sử dụng
được. ADC rất hữu ích trong các ứng dụng điện tử, nó giúp cho các tín hiệu analog có thể
được xử lý và tính tốn bởi các thiết bị kỹ thuật số như vi xử lý, vi điều khiển, máy tính và
các thiết bị điện tử khác [16].

HìnhHình
1. 5. 1.5.
Bộ chuyển
Bộ chuyển
đổi tương
đổi tương
tự - số
tự -ADC.(
số ADC.
Nguồn:
/>
Để chuyển đổi tín hiệu tương tự trong thế giới thực như nhiệt độ, độ ẩm,... thành tín
hiệu số để máy tính có thể hiểu và xử lý được, ta cần chuyển đổi tín hiệu tương tự này thành
dạng điện áp. Bộ chuyển đổi tương tự-số ADC sẽ đọc các giá trị điện áp này và chuyển đổi
chúng thành tín hiệu số tương tự.
Q trình chuyển đổi này liên quan đến việc lượng tử hóa đầu vào. Thay vì thực hiện
việc chuyển đổi liên tục, bộ ADC sẽ thực hiện việc chuyển đổi theo chu kì, lấy mẫu tín hiệu
đầu vào và giới hạn băng thơng của tín hiệu.
Một vài tham số cần lưu ý khi sử dụng bộ chuyển đổi tương tự-số ADC là:

8


-

Độ phân giải: Độ phân giải của ADC phụ thuộc vào số bit, ADC có càng nhiều
bit thì độ phân giải càng lớn hơn. Độ phân giải được xác định bởi kích thước
bậc thang (step size) được tính bằng trọng số của LSB. Kích thước bậc thang
là khoảng giá trị của Vout thay đổi khi giá trị đầu vào tương tự thay đổi qua

-

mỗi bậc.
Tốc độ lấy mẫu: Là số lượng chuyển đổi từ tương tự sang kỹ thuật số mà bộ
chuyển đổi có thể thực hiện mỗi giây. Tốc độ lấy mẫu phụ thuộc hoàn toàn
vào loại bộ chuyển đổi và độ chính xác cần thiết. Nếu cần đọc rất chính xác,
ADC thường dành nhiều thời gian hơn để xem xét tín hiệu đầu vào và nếu
khơng cần độ chính xác cao thì nó có thể đọc rất nhanh. Nguyên tắc chung và
quan trọng là phải chọn ADC tùy thuộc vào ứng dụng.

1.8. Server Nodejs
Server hệ thống được lập trình bằng Nodejs. Nodejs là một nền tảng được xây dựng
dựa trên ngôn ngữ JavaScript để xây dựng các ứng dụng mạng nhanh và có thể mở rộng
được trong tương lai. Nodejs sử dụng kiến trúc hướng sự kiện event-driven, khơng chặn
(non-blocking), làm cho nó nhẹ hơn và hiệu quả hơn, hoàn hảo cho các ứng dụng real-time
sử dụng nhiều dữ liệu chạy trên các thiết bị phân tán [1]. Với tính năng non-blocking I/O,
Node.js cho phép xử lý các yêu cầu của nhiều client cùng lúc, đồng thời giúp giảm thời
gian chờ đợi của các kết nối tới server. Hệ thống sử dụng thiết bị nhúng Arduino để thu thập
dữ liệu và gửi tới server để xử lý. Node.js có thể được sử dụng để viết các chương trình trên
các thiết bị này để gửi dữ liệu tới server và nhận phản hồi từ server. Các dữ liệu sẽ được xử

lý ở server này và lưu vào các cơ sở dữ liệu.
1.9. React js
React là một thư viện JavaScript để hiển thị giao diện người dùng (UI). Giao diện
người dùng được xây dựng từ các đơn vị nhỏ như nút, văn bản và hình ảnh. React cho phép
bạn kết hợp chúng thành các thành phần có thể tái sử dụng, lồng nhau. Từ các trang web
đến ứng dụng điện thoại, mọi thứ trên màn hình có thể được chia thành các thành phần [4].
Một số điểm mạnh và tác dụng của React:

9


Khả năng tái sử dụng: React cho phép người dùng sử dụng các thành phần
(components) để tạo nên giao diện người dùng. Các thành phần này có thể tái sử dụng trong
các ứng dụng khác nhau, giúp cho việc phát triển ứng dụng nhanh hơn và dễ bảo trì hơn.
Hiệu suất cao: React sử dụng Virtual DOM để quản lý các thay đổi trên giao diện
người dùng. Thay vì thực hiện các thay đổi trực tiếp trên DOM như các thư viện khác, React
sẽ thực hiện các thay đổi trên Virtual DOM và chỉ cập nhật lại những phần thay đổi thực
sự. Điều này giúp cải thiện hiệu suất ứng dụng và làm cho ứng dụng chạy mượt hơn.
Dễ dàng quản lý trạng thái: React cho phép người dùng quản lý trạng thái của ứng
dụng một cách dễ dàng. Người dùng có thể sử dụng Redux hoặc Context API để quản lý
trạng thái của ứng dụng một cách hiệu quả.
Hỗ trợ tốt cho SEO: Với React, người dùng có thể dễ dàng tạo các ứng dụng web
động tốt cho SEO. React cho phép người dùng render trên server và hiển thị nội dung đầy
đủ khi các cơng cụ tìm kiếm truy cập trang web của bạn.
Cộng đồng lớn: React có một cộng đồng lớn và sôi động. Điều này đảm bảo rằng
người dùng có thể tìm thấy các tài ngun hữu ích, giải đáp các thắc mắc, và có thể tương
tác với những người khác trong cộng đồng để cải thiện kỹ năng của mình.
1.10. Hệ quản lý cơ sở dữ liệu MySql
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS) sử
dụng ngơn ngữ truy vấn có cấu trúc (SQL). Nó được phát triển và phân phối bởi Oracle

Corporation và có sẵn dưới dạng sản phẩm phần mềm miễn phí hoặc có phí tương ứng với
các tính năng bổ sung. Nó có thể chạy trên hầu hết các nền tảng, bao gồm Linux, UNIX và
Windows, và thường được sử dụng cho các ứng dụng web. SQL là một trong những ngôn
ngữ phổ biến nhất để thêm, truy cập và quản lý nội dung trong cơ sở dữ liệu. MySQL là
một phần không thể thiếu của hầu hết các ứng dụng web mã nguồn mở sử dụng PHP, ví
dụ như WordPress, Joomla, Magento và Drupal. MySQL có nhiều ưu điểm như:
-

Phát hành theo giấy phép nguồn mở, khơng u cầu chi phí sử dụng.

-

Xử lý các tập hợp lớn với chức năng của các gói cơ sở dữ liệu mạnh mẽ.

-

Sử dụng dạng chuẩn của ngôn ngữ SQL.

10


-

Hoạt động được trên nhiều hệ điều hành và tương thích với nhiều ngơn ngữ
bao gồm PHP, PERL, C, C ++, JAVA,...

-

Hoạt động rất nhanh và có thể xử lý tốt các tập dữ liệu lớn.


-

Thân thiện với PHP, ngôn ngữ được đánh giá cao nhất để phát triển web.

-

Hỗ trợ cơ sở dữ liệu lớn lên đến 50 triệu hàng hoặc nhiều hơn trong một
bảng và có thể tăng mức giới hạn kích thước tệp của một bảng lên tới 8 triệu
terabyte (TB).

-

Tùy biến theo yêu cầu của lập trình viên thơng qua giấy phép GPL mã nguồn
mở.

-

Dựa trên mơ hình client-server và được hỗ trợ bởi các chương trình tiện ích
quản trị cơ sở dữ liệu MySQL.

MySQL có khả năng lưu trữ và truy cập dữ liệu trên nhiều công cụ lưu trữ khác nhau
như InnoDB, CSV và NDB. Điều này cho phép người dùng MySQL tùy chỉnh để đạt được
hiệu suất và độ bền tốt hơn. Hơn nữa, MySQL cũng hỗ trợ tính năng sao chép dữ liệu và
phân vùng bảng để tối ưu hóa hiệu suất. Điều đáng chú ý là, người dùng MySQL có thể
truy cập dữ liệu của mình bằng các lệnh SQL tiêu chuẩn, không cần phải học thêm các lệnh
mới.
MySQL được viết bằng C và C++, và nó có sẵn trên hơn 20 nền tảng khác nhau bao
gồm Mac, Windows, Linux và Unix. Điều này cho phép người dùng sử dụng MySQL trên
nhiều hệ thống khác nhau mà không cần phải lo lắng về tính tương thích.. Hệ quản trị cơ
sở dữ liệu quan hệ (RDBMS) có khả năng hỗ trợ cơ sở dữ liệu lớn với hàng triệu bản ghi

và hỗ trợ đa dạng loại dữ liệu, bao gồm các số ngun có chữ ký hoặc khơng chữ ký, với
độ dài từ 1 đến 8 byte(s); FLOAT; DOUBLE; CHAR; VARCHAR; BINARY;
VARBINARY; TEXT; BLOB; DATE; TIME; DATETIME; TIMESTAMP; YEAR; SET;
ENUM; và các kiểu OpenGIS. Ngoài ra, các loại chuỗi với độ dài cố định và biến đổi cũng
được hỗ trợ trong RDBMS [8].

11


CHƯƠNG 2. THIẾT KẾ HỆ THỐNG
2.1. Yêu cầu thiết kế hệ thống
2.1.1. Yêu cầu chức năng của hệ thống
Trong đề tài “xây dựng hệ thống iot điều khiển môi trường nhà lưới thích hợp cho
sinh trưởng và canh tác cây dưa lưới”, yêu cầu của một hệ thống được xây dựng thực hiện
tốt các nhiệm vụ chức năng cơ bản như sau:
-

Theo dõi các chỉ số môi trường: Hệ thống cần có các thiết bị cảm biến để
đo đạc các thông số như nhiệt độ, độ ẩm, ánh sáng,... từ đó cung cấp cho

-

người quản lý thơng tin chi tiết về môi trường canh tác của cây dưa lưới.
Điều khiển thiết bị tự động: Hệ thống sẽ được thiết kế để tự động điều khiển
các thiết bị như bơm nước, quạt gió, đèn trồng,... để đảm bảo cây dưa lưới
được sinh trưởng tốt nhất trong các giai đoạn phát triển. Hệ thống được thiết
kế để người nơng dân có thể tùy chỉnh thời gian điều khiển các thiết bị sao
cho phù hợp với từng điều kiện khí hậu canh tác khác nhau ở bất kỳ đâu qua
mạng internet đảm bảo cho môi trường sinh trưởng của cây trường luôn được


-

-

-

kiểm soát và đảm bảo tốt nhất.
Quản lý dữ liệu và hiển thị: Hệ thống sẽ lưu trữ và quản lý dữ liệu từ các
cảm biến, đồng thời hiển thị thông tin về mơi trường, q trình canh tác, và
kết quả đạt được trên giao diện người dùng để người quản lý dễ dàng theo dõi
và điều khiển.
Tiết kiệm năng lượng: Hệ thống cần được thiết kế sao cho tiêu thụ năng
lượng thấp nhất có thể, từ đó giảm thiểu chi phí điện năng trong q trình sử
dụng.
Hỗ trợ tính tương thích và mở rộng: Hệ thống cần được thiết kế để dễ dàng
tích hợp với các thiết bị và cơng nghệ khác trong tương lai, từ đó tạo nên một
hệ thống mở rộng, đáp ứng được các nhu cầu canh tác cây trồng hiện nay và
tương lai.

12


Với những chức năng cơ bản trên, hệ thống được xây dựng như hình dưới đây:

Hình 2. 1. Sơ đồ khối của hệ thống.

Chức năng cụ thể của các khối như sau:
-

Khối cảm biến: Được sử dụng để thu thập dữ liệu (nhiệt độ, độ ẩm, ánh sáng) xung

quanh cây trồng, kết nối với ESP8266 hoạt động như một nút và gửi dữ liệu đến
gateway.

-

Bộ điều khiển: Bao gồm hệ thống bơm và đèn, quạt, hoạt động dựa trên dữ liệu điều

-

khiển từ người sử dụng.
Node: Gửi dữ liệu từ cảm biến đến gateway, nhận dữ liệu từ gateway để điều khiển
các bộ điều khiển.
Gateway: Hoạt động như một kết nối giữa máy chủ và các node.
Server: Điều khiển xử lý các yêu cầu lưu trữ, xử lý các yêu cầu từ phía client và trả
về các thơng tin tương ứng.
Cơ sở dữ liệu: Là nơi lưu trữ các dữ liệu từ các cảm biến và sử dụng để hiển thị trên
giao diện người dùng.
Trang điều khiển web: Giao diện người dùng hiển thị dữ liệu thu thập từ các cảm
biến và điều khiển các bộ điều khiển.

2.2. Thiết kế hệ thống
2.2.1. Thiết kế hệ thống phần cứng
Từ thiết kế hệ thống trên, hệ thống iot điều khiển môi trường nhà lưới sẽ sử dụng
những linh kiện và thiết bị sau đây.
13


2.2.1.1. ESP8266
ESP8266 là một vi mạch SoC được sử dụng chủ yếu để phát triển các ứng
dụng IoT và được thiết kế bởi hãng Espressif Systems. Với khả năng TCP/IP và bộ vi điều

khiển truy cập vào bất kỳ mạng Wi-Fi nào, nó cung cấp giải pháp để đáp ứng các yêu cầu
của các ngành công nghiệp IoT, bao gồm chi phí, năng lượng, hiệu năng và thiết kế [9].
Mơ-đun Wi-Fi ESP8266 được thiết kế để hỗ trợ khả năng kết nối internet với các
ứng dụng nhúng và có thể hoạt động như một ứng dụng phục vụ (slave) hoặc độc lập. Nếu
mô-đun ESP8266 được sử dụng như một ứng dụng phục vụ cho máy chủ vi điều khiển, thì
nó có thể được sử dụng làm bộ điều hợp Wi-Fi cho bất kỳ loại vi điều khiển nào sử dụng
UART hoặc SPI. Nếu nó được sử dụng như một ứng dụng độc lập, thì nó sẽ cung cấp các
chức năng của bộ vi điều khiển và mạng Wi-Fi.

Hình 2. 2. Modulde ESP8266 NodeMCU Lua CP2102.( Nguồn:
/>
ESP8266 sử dụng giao thức MQTT để truyền nhận dữ liệu. MQTT (Message
Queuing Telemetry Transport) là giao thức truyền thơng điệp theo mơ hình xuất bản/đăng
ký, được sử dụng cho các thiết bị IoT với băng thơng thấp, độ tin cậy cao và có thể sử dụng
ngay cả khi hệ thống mạng không ổn định. Nó tốn ít băng thơng cho việc kết nối với máy
chủ và kết nối có thể giữ trạng thái mở xuyên suốt, cho phép kết nối nhiều thiết bị (MQTT

14


×