You are on page 1of 33

ĐẠI HỌC QUỐC GIA TP.

HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ
---------------o0o---------------

THIẾT KẾ HỆ THỐNG NHÚNG

HỆ THỐNG GIÁM SÁT NÔNG NGHIỆP CÔNG


NGHỆ IOT

GVHD: Trần Hoàng Quân


Nhóm 1:

Họ và tên SV MSSV
Mai Hoàng Minh 1914158
Trần Nguyễn Thanh Tú 1811326
Nguyễn Văn Tuấn Đức 1811976

TP. HỒ CHÍ MINH, THÁNG 11 NĂM 2021


Lời cảm ơn GVHD: Trần Hoàng Quân

LỜI CẢM ƠN
Nhóm đồ án chân thành gửi lời cảm ơn đến thầy Trần Hoàng Quân đã tận tình

hướng dẫn, giúp đỡ về các kiến thức chuyên ngành trong suốt quá trình chúng em thực

hiện sản phẩm.

Chúng em cũng thật sự biết ơn những thầy cô giáo trong khoa Điện đã giảng

dạy chu đáo, cung cấp những kiến thức nền tảng và chuyên sâu góp phần quan trọng

để chúng em có thể hoàn thành đề tài này.

Do ảnh hưởng của đại dịch Covid-19 nên báo cáo và sản phẩm mô phỏng

không thể tránh khỏi những thiếu sót nhất định. Chúng em mong sẽ nhận được sự

thông cảm và những góp ý quý báu của thầy.

Tp. Hồ Chí Minh, ngày 25 tháng 11 năm 2021


Sinh viên
Mai Hoàng Minh
Trần Nguyễn Thanh Tú
Nguyễn Văn Tuấn Đức

i
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

TÓM TẮT BÀI TẬP LỚN

Bài tập lớn này trình bày về hệ thống giám sát nông nghiệp bằng công nghệ IOT
với chức năng giám sát, theo dõi nhiệt độ, độ ẩm, độ ẩm đất, cường độ ánh sáng của
môi trường thông qua các module cảm biến, sau đó gửi dữ liệu về app điện thoại để
người dùng tiện theo dõi.
Sản phẩm mô phỏng hệ thống tập trung nghiên cứu phương thức giao tiếp giữa vi
xử lý Atmega328p với các cảm biến, ESP8266 Node MCU.
Thiết kế giao diện app điện thoại Blynk IOT liên kết với phần cứng và hoạt động
thông qua code Arduino IDE.

ii
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

MỤC LỤC

1. GIỚI THIỆU............................................................................................................................1

1.1 Tổng quan.........................................................................................................................1

1.2 Nhiệm vụ đề tài.................................................................................................................2

1.3 Phân chia công việc trong nhóm.......................................................................................2

1.4 Theo dõi tiến trình sản phẩm.............................................................................................2

2. LÝ THUYẾT............................................................................................................................3

2.1 CHUẨN GIAO TIẾP I2C.......................................................................................................3

2.2 CHUẨN GIAO TIẾP UART..................................................................................................4

3. THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG..........................................................................5

3.1 Yêu cầu thiết kế......................................................................................................................5

3.2 Phân tích thiết kế....................................................................................................................5

3.2.1 Vi điều khiển Atmega328p...............................................................................................5

3.2.2 Module RF thu phát Wifi ESP8266 NodeMCU Mini D1................................................7

3.2.3 Cảm biến cường độ ánh sáng GY-302 BH1750...............................................................8

3.2.4 Cảm biến độ ẩm đất điện dung........................................................................................9

3.2.5 Cảm biến nhiệt độ và độ ẩm DHT12.............................................................................10

3.3 Bảng giá thành các linh kiện phần cứng..............................................................................11

4. YÊU CẦU HỆ THỐNG..........................................................................................................11

5. THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM..........................................................................12

4.1 Yêu cầu phần mềm...............................................................................................................12

4.2 Giới thiệu các phần mềm......................................................................................................12

4.2.1 Phần mềm lập trình Arduino IDE.................................................................................12

4.2.2 Phần mềm viết ứng dụng Blynk IOT.............................................................................13

4.3 Thực hiện phần mềm............................................................................................................17

4.3.1. Lưu đồ giải thuật............................................................................................................17

iii
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

6. THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG..........................................................................3

7. KẾT QUẢ THỰC HIỆN..........................................................................................................4

8. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN................................................................................6

8.1 Kết luận.............................................................................................................................6

8.2 Hướng phát triển..............................................................................................................6

9. TÀI LIỆU THAM KHẢO........................................................................................................6

10. PHỤ LỤC.............................................................................................................................6

10.1. Video giới thệu sản phẩm.....................................................................................................6

10.2. Mã nguồn chương trình........................................................................................................6

iv
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

DANH SÁCH HÌNH MINH HỌA

Hình 2- 1 Sơ đồ chuẩn giao tiếp I2C..........................................................................................3

Hình 2- 2 Sơ đồ giao tiếp chuẩn UART......................................................................................4

Hình 3- 1 Vi điều khiển Atmega328p.........................................................................................5

Hình 3- 2 Module RF thu phát wifi ESP8266.............................................................................7

Hình 3- 3 Cảm biến cường độ ánh sáng GY-302 BH1750.........................................................8

Hình 3- 4 Cảm biến độ ẩm đất điện dung...................................................................................9

Hình 3- 5 Cảm biến nhiệt độ và độ ẩm DHT12........................................................................10

Hình 4- 1 Cách thức hoạt động của Blynk................................................................................14

Hình 6 – 1 Schematic khối ph

v
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

DANH SÁCH BẢNG SỐ LIỆU

Bảng 3- 1 Bảng giá thành linh kiện..........................................................................................11

vi
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

1. GIỚI THIỆU

1.1 Tổng quan

Nông nghiệp luôn là vấn đề trọng yếu của mỗi quốc gia trong việc bảo đảm an
ninh lương thực, nó là một trong hai ngành sản xuất vật chất quan trọng của nền
kinh tế. Là khu vực sản xuất chủ yếu, đảm bảo đời sống cho xã hội, là thị trường
rộng lớn cung cấp nguyên liệu và tiêu thụ sản phẩm của nền kinh tế và tích lũy
cho công nghiệp. Việt Nam hiện nay vẫn còn là một nước sản xuất chủ yếu về
nông nghiệp với trên 66,9% dân số cả nước tập trung sống ở vùng nông thôn[1],
lao động nông nghiệp chiếm tới 42% lao động trong toàn xã hội[2].
Ngày nay, nước ta đang hướng tới xây dựng một nền công nghiệp phát triển,
điều đó mang lại nhiều lợi ích cho đất nước nhưng cũng kèm theo nhiều hệ lụy,
đặc biệt là ô nhiễm môi trường, một trong những mảng chịu thiệt hại rất lớn từ vấn
đề trên chính là ngành nông nghiệp. Bên cạnh đó, trong nhiều năm qua, sản xuất
nông nghiệp ở Việt Nam gặp rất nhiều khó khăn do các hiện tượng thời tiết cực
đoan ngày càng diễn biến phức tạp do ảnh hưởng của biến đổi khí hậu toàn cầu,
làm ảnh hưởng to lớn đến năng suất cũng như chất lượng các sản phẩm từ nông
nghiệp.
Cùng với đó, việc chuyển dịch cơ cấu kinh tế theo hướng công nghiệp, dịch
vụ, đã làm giảm đáng kể nhân lực trong nông nghiệp, và theo nhiều dự báo số
lượng này sẽ tiếp tục gia tăng trong những năm tới, điều này đưa tới những bài
toán cho việc giải quyết vấn đề nhân lực trong các ngành nông nghiệp.[3]
Chính vì vậy, việc tìm kiếm những giải pháp mới để ổn định và nâng cao chất
lượng sản phẩm, năng suất thu hoạch trở thành ưu tiên hàng đầu của nhà nước
trong những năm qua. Do đó, những ứng dụng công nghệ được đưa vào trong việc
chăm sóc, thu hoạch trong nông nghiệp để khắc phục vấn đề thiên tai, môi trường,
cũng như tiết kiệm nhân lực, đồng thời gia tăng năng suất cây trồng, đơn giản hóa
việc quản lý.
Một trong những ứng dụng công nghệ nổi bật được đưa vào trong nông nghiệp
trong những năm gần đây là Internet of thing ( viết tắt là IOT) đã và đang đem lại

1
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

nhiều kết quả thành công, dần dần được áp dụng và phổ biến trên nhiều diện tích
canh tác nông nghiệp, vì vậy chúng em chọn đề tài “ hệ thống giám sát nông
nghiệp công nghệ IOT” nhằm có hiểu biết thêm về tác động của công nghệ tới
khả năng phát triển của cây trồng, cũng như quản lý của người điều khiển, bên
cạnh đó là nghiên cứu thêm về các ứng dụng công nghệ điện tử được đưa vào.

1.2 Nhiệm vụ đề tài

Mục tiêu của đề tài là xây dựng được một hệ thống IoT trong nông nghiệp có
khả năng giám sát nhiệt độ, độ ẩm, độ ẩm đất, cường độ ánh sáng (thông qua các cảm
biến). Hệ thống này cho phép thực hiện các thao tác giám sát – điều khiển trên một
trang web thông qua WiFi và một ứng dụng Android.

1.3 Phân chia công việc trong nhóm


Thành viên Nhiệm vụ
Mai Hoàng Minh Nhóm trưởng, lên kế hoạch, code chương trình, xây dựng giải
thuật, thiết kế phần cứng, thi công mạch, kiểm tra mạch.
Trần Nguyễn Thanh Tú Kiểm tra mạch, xây dựng giải thuật, lên ý tưởng và viết báo
cáo
Nguyễn Văn Tuấn Đức Kiểm tra mạch, xây dựng giải thuật, lên ý tưởng và viết báo
cáo

1.4Theo dõi tiến trình sản phẩm

Week

3-4-5 6-7 8-9 10-11 12-13 13-14

1.System requirement x

2.System specification x

3.Design hardware part X

3.1 Schemactic X x

3.2 PCB x x

4.Develop software part

2
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

5.Viết giải thuật X

4.2. Viết code x x x

5. Thi công và kiểm tra x x

2. LÝ THUYẾT

2.1 CHUẨN GIAO TIẾP I2C

I2C có tên đầy đủ là Intergrated-Circuit, là một loại bus nối tiếp được phát triển bởi
hãng sản xuất linh kiện điện tử Philips.

Do có tính năng vượt trội và đơn giản, I2C đã được chuẩn hóa và sử dụng rộng rãi
trong các module truyền thông giao tiếp của vi mạch tích hợp ngày nay.

Hình 2- 1 Sơ đồ chuẩn giao tiếp I2C

CẤU TẠO VÀ NGUYÊN LÝ HOẠT ĐỘNG:

Giao tiếp I2C chỉ sử dụng 2 dây để truyền dữ liệu giữa các thiết bị:

 SDA (Serial Data): đường truyền dữ liệu theo 2 hướng


 SCL (Serial Clock): đường truyền tín hiệu xung nhịp

I2C là một giao thức truyền thông nối tiếp, vì vậy dữ liệu được truyền từng bit dọc
theo một đường duy nhất (đường SDA).
3
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

2.2 CHUẨN GIAO TIẾP UART

Hình 2- 2 Sơ đồ giao tiếp chuẩn UART

UART có tên đầy đủ là Universal Asynchronous Receiver-Transmitter.

Đây là một mạch tích hợp được sử dụng trong việc truyền dẫn dữ liệu nối tiếp giữa
máy tính và các thiết bị ngoại vi.

Trong UART, việc giao tiếp giữa 2 thiết bị có thể được thực hiện thông qua 2 phương
thức là giao tiếp dữ liệu nối tiếp và giao tiếp dữ liệu song song.

Giao tiếp dữ liệu nối tiếp: dữ liệu có thể được truyền qua một cáp hoặc một đường dây
ở dạng bit-bit và chỉ cần hai cáp. Nó yêu cầu số lượng mạch hay như dây rất ít. Giao
tiếp này rất hữu ích trong các mạch ghép hơn giao tiếp song song.

Giao tiếp song song: dữ liệu được truyền qua nhiều cáp cùng lúc. Yêu cầu nhiều mạch
và số lượng dây nối. Kiểu song song tuy tốn kém nhưn đổi lại tốc độ rất nhanh.

Một số thông số chính:

 Baud rate : tốc độ baud tức khoảng thời gian để 1 bit được truyền đi, được cài
đặt giống nhau ở cả phần gởi và nhận.
 Frame: khung truyền quy định về mỗi lần truyền bao nhiêu bit.
 Start bit: bit đầu tiên được truyền trong 1 Frame. Báo hiệu cho thiết bị nhận có
một gói dữ liệu sắp đc truyền đến. Đây là bit bắt buộc

4
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

 Data: dữ liệu cần truyền, trọng số nhỏ nhất (LSB) được truyền trước sau đó đến
lượt trọng số lớn nhất MSB.
 Parity bit: kiểm tra dữ liệu truyền có đúng không
 Stop bit: một hoặc các bit báo cho thiết bị rằng các bit đã được truyền xong.
Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn
của dữ liệu. Đây là bit bắt buộc

ỨNG DỤNG CỦA UART: thường được sử dụng trong các bộ vi điều khiển yêu cầu
tính chính xác và chúng cũng có sẵn trong các thiết bị liên lạc khác nhau như giao tiếp
không dây, thiết bị GPS, module Bluetooth và nhiều ứng dụng khác.

3. THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG

3.1 Yêu cầu thiết kế

Sản phẩm mô phỏng hệ thống giám sát nông nghiệp có nhiệm vụ theo dõi và đo
đạc các thông số nhiệt độ, độ ẩm, độ ẩm đất, cường độ ánh sáng thông qua các cảm
biến kết nối với module ESP8266. Sau đó gửi dữ liệu đo lên màn hình điện thoại
thông qua app Blynk.

3.2 Phân tích thiết kế


3.2.1 Vi điều khiển Atmega328p

Hình 3- 1 Vi điều khiển Atmega328p

5
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

Vi điều khiển chip đơn của Atmel thuộc họ megaAVR. Nó là một bộ vi điều khiển tiên
tiến và có nhiều chức năng, tiêu thụ dòng điện thấp. Thông số kỹ thuật chi tiết có trong
bảng dưới đây

THÔNG SỐ GIÁ TRỊ


Kiểu CPU 8 bit AVR
Tốc độ CPU lớn nhất 20MHz
Performance 20 MIPS at 20 MHz
Flash memory 32KB
SRAM 2KB
EEPROM 1KB
Package pin count 28 hoặc 32
Capacitive touch sensing
16
channels
Maximum I/O pins 23
External Interrupts 2
USB Interface No

Chi tiết chân của ATMEGA 328P-PU:

STT CHÂN CHỨC NĂNG


1 PC6 Reset
2 PD0 Chân kỹ thuật số (RX)
3 PD1 Chân kỹ thuật số (TX)
4 PD2 Chân kỹ thuật số
5 PD3 Chân kỹ thuật số (PWM)
6 PD4 Chân kỹ thuật số
7 VCC Điện áp dương
8 GND Nối đất
9 XTAL Dao động tinh thể
10 XTAL Dao động tinh thể
11 PD5 Chân kỹ thuật số (PWM)
12 PD6 Chân kỹ thuật số (PWM)
13 PD7 Chân kỹ thuật số
14 PB0 Chân kỹ thuật số
15 PB1 Chân kỹ thuật số (PWM)
16 PB2 Chân kỹ thuật số (PWM)
17 PB3 Chân kỹ thuật số (PWM)

6
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

18 PB4 Chân kỹ thuật số


19 PB5 Chân kỹ thuật số
20 AVcc Điện áp dương
21 AREF Tham chiếu Analog
22 GND Nối đất
23 PC0 Đầu vào Analog
24 PC1 Đầu vào Analog
25 PC2 Đầu vào Analog
26 PC3 Đầu vào Analog
27 PC4 Đầu vào Analog
28 PC5 Đầu vào Analog

3.2.2 Module RF thu phát Wifi ESP8266 NodeMCU Mini D1

Hình 3- 2 Module RF thu phát wifi ESP8266

Module này có chức năng cảm biến độ ẩm và nhiệt độ qua cảm biến DHT11, mạch có
thiết kế nhỏ gọn, tiện lắp đặt với nhiều kiểu chân cắm khác nhau. Các phiên bản khác
có thể kể tới như D1 Mini hay D1 Mini Pro.

Thông số kỹ thuật chi tiết:

THÔNG SỐ GIÁ TRỊ


Điện áp sử dụng 5VDC
Chân kết nối D4
Kích thước 34.2*25.6 mm

7
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

3.2.3 Cảm biến cường độ ánh sáng GY-302 BH1750

Hình 3- 3 Cảm biến cường độ ánh sáng GY-302 BH1750

Cảm biến cường độ ánh sáng BH1750 Digital Light Sensor được sử dụng để đo cường
độ ánh sáng theo đơn vị lux, càm biến có ADC nội và bộ tiền xử lý nên giá trị được trả
ra là giá trị trực tiếp cường độ ánh sáng lux mà không phải qua bất kỳ xử lý hay tính
toán nào thông qua giao tiếp I2C. Linh kiện có độ chính xác cao, cường độ ánh sáng
được đưa về trực tiếp. Thông số kỹ thuật chi tiết có trong bảng dưới đây:

THÔNG SỐ GIÁ TRỊ


Điện áp nguồn 3VDC-5VDC
Điện áp giao tiếp TTL: 3.3-5VDC
Chuẩn giao tiếp I2C
Khoảng đo 1-65535 lux
Kích thước 21*16*3mm

Một số ví dụ về cường độ của ánh sáng:

 Vào buổi tối: 0.001 - 0.02 lux


 Ánh trăng: 0.02 - 0.3 lux
8
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

 Trời nhiều mây trong nhà: 5 - 50 lux


 Trời nhiều mây ngoài trời: 50 - 500 lux
 Trời nắng trong nhà: 100 - 1000 lux
 Ánh sáng cần thiết để đọc sách: 50 - 60 lux
3.2.4 Cảm biến độ ẩm đất điện dung

Hình 3- 4 Cảm biến độ ẩm đất điện dung

Cảm biến độ ẩm đất điện dung đầu ra là tín hiệu tương tự (analog signal).Cảm biến
độ ẩm đất arduino là loại cảm biến độ ẩm đất mới - cảm biến điện dung với độ bền và
tuổi thọ cao hơn nhiều các loại cảm biến điện trở thông thường. Cảm biến đo độ ẩm
đất này hoạt động với điện áp 3.3V đến 5.5V, đặc biệt nó hoạt động ngay cả trên bảng
điều khiển Arduino 3.3V. Chỉ cần sử dụng một máy tính thu nhỏ như Raspberry Pi chỉ
cần một module chuyển đổi ADC (analog digital converter) để hoạt động.

Thông số kỹ thuật chi tiết có trong bảng dưới đây:

THÔNG SỐ GIÁ TRỊ


Điện áp hoạt động 3.3VDC-5VDC
Điện áp đầu ra 0-3VDC
Giao diện PH2.54-3P
Kích thước 98*23mm (LxW)
Khối lượng 20 gram

9
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

3.2.5 Cảm biến nhiệt độ và độ ẩm DHT12

Hình 3- 5 Cảm biến nhiệt độ và độ ẩm DHT12

Cảm biến nhiệt độ và độ ẩm DHT12 là một phiên bản cải tiến so với DHT12, rất thông
dụng, có chi phí rẻ, dễ lấy dữ liệu trực tiếp thông qua chuẩn giao tiếp 1 wire ( giao tiếp
kỹ thuật số 1 dây truyền dữ liệu duy nhất.

Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp chúng ta nhận được dữ liệu chính
xác mà không phải qua bất kỳ tính toán nào.

Thông số kỹ thuật chi tiết như sau:

THÔNG SỐ GIÁ TRỊ


Chuẩn giao tiếp I2C, 1 wire
Tầm đo nhiệt độ -20 - +60 C
Tầm đo độ ẩm 20-95 RH
Sai số nhiệt độ -+ 0.5 C
Sai số độ ẩm -+0.1 C
Nguồn cấp 2.7-5.5 V
Dòng hoạt động 1mA
Dòng tĩnh 60uA

10
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

3.3 Bảng giá thành các linh kiện phần cứng


LINH KIỆN GIÁ THÀNH (VND)
Vi điều khiển ATMEGA 328P 39.000
Cảm biến cường độ ánh sáng GY-302 BH1750 29.000
Cảm biến độ ẩm đất điện dung 29.000
Cảm biến nhiệt độ và độ ẩm DHT12 59.000
Module RF thu phát Wifi ESP 8266 39.000
L7805CV 3.000
Đế pin 18650 2 cell có chân hàn 10.000
Đế IC 28PIN DIP 1.000
Bảng 3- 1 Bảng giá thành linh kiện

4. YÊU CẦU HỆ THỐNG

Name: Hệ thống theo dõi môi trường nhà kính

Purpose: Hệ thống đọc cảm biến và gửi về ứng dụng trên điện thoại

Input: Tín hiệu thu được từ các cảm biến

Use case:

1. Atmega 328p đọc dữ liệu từ cảm biến


2. Esp 8266 nhận dữ liệu thông qua giao tiếp UART
3. Esp 8266 phát dữ liệu thông qua Wifi
4. Ứng dụng điện thoại nhận dữ liệu và phát lên màn hình

Performancce:

- Thời gian đáp ứng nhanh, gần như ngay lập tức
- Sử dụng nguồn DC 5V từ pin Li-ion
- Gọn nhẹ, giá thành rẻ < 500.000
- Dễ dàng sử dụng

Power: 2 pin Li-ion 4.2V 6800mAh

Physical size/weight:

- Kích cỡ: 10cm x 5cm x 5cm


- Trọng lượng: Nhỏ hơn 300 gam

11
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

Installation: Hoạt động trong nhà kính => yêu cầu các linh kiện khi hàn xong phải được cố
định, bo mạch chịu được thời tiết ẩm ướt, tiếp xúc ánh nắng liên tục.

Certification: Vật liệu được chọn (bảng mạch, meca, dây nối,… ) đảm bảo an toàn điện và
thân thiện môi trường.

5. THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM

4.1 Yêu cầu phần mềm

Các yêu cầu về phần mềm để hệ thống vận hành với chức năng: lấy dữ liệu từ cảm biến và
hiển thị lên màn hình app trên điện thoại.

4.2 Giới thiệu các phần mềm


4.2.1 Phần mềm lập trình Arduino IDE
Arduino IDE là một phần mềm mã nguồn mở chủ yếu được sử dụng để viết và biên
dịch mã vào module Arduino.
Đây là một phần mềm Arduino chính thức, giúp cho việc biên dịch mã trở nên dễ dàng
mà ngay cả một người bình thường không có kiến thức kỹ thuật cũng có thể làm được.
Nó có các phiên bản cho các hệ điều hành như MAC, Windows, Linux và chạy trên
nền tảng Java đi kèm với các chức năng và lệnh có sẵn đóng vai trò quan trọng để gỡ
lỗi, chỉnh sửa và biên dịch mã trong môi trường.
Có rất nhiều các module Arduino như Arduino Uno, Arduino Mega, Arduino
Leonardo, Arduino Micro và nhiều module khác.
Mỗi module chứa một bộ vi điều khiển trên bo mạch được lập trình và chấp nhận
thông tin dưới dạng mã.
Mã chính, còn được gọi là sketch, được tạo trên nền tảng IDE sẽ tạo ra một file Hex,
sau đó được chuyển và tải lên trong bộ điều khiển trên bo.
Môi trường IDE chủ yếu chứa hai phần cơ bản: Trình chỉnh sửa và Trình biên dịch,
phần đầu sử dụng để viết mã được yêu cầu và phần sau được sử dụng để biên dịch và
tải mã lên module Arduino.
Môi trường này hỗ trợ cả ngôn ngữ C và C ++.

12
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

Khi người dùng viết mã và biên dịch, IDE sẽ tạo file Hex cho mã. File Hex là các file
thập phân Hexa được Arduino hiểu và sau đó được gửi đến bo mạch bằng cáp USB.
Mỗi bo Arduino đều được tích hợp một bộ vi điều khiển, bộ vi điều khiển sẽ nhận file
hex và chạy theo mã được viết.

4.2.2 Phần mềm viết ứng dụng Blynk IOT


Giới thiệu về App Blynk IOT:
 Cung cấp API & giao diện người dùng tương tự cho tất cả các thiết bị và phần
cứng được hỗ trợ
 Kết nối với server bằng cách sử dụng:
o Wifi
o Bluetooth và BLE
o Ethernet
o USB (Serial)
o GSM
o …
 Các tiện ích trên giao diện được nhà cung cấp dễ sử dụng
 Thao tác kéo thả trực tiếp giao diện mà không cần viết mã
 Dễ dàng tích hợp và thêm chức năng mới bằng cách sử dụng các cổng kết nối ảo
được tích hợp trên blynk app
 Theo dõi lịch sử dữ liệu
 Thông tin liên lạc từ thiết bị đến thiết bị bằng Widget
 Gửi email, tweet, thông báo realtime, v.v.

13
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

Hình 4- 1 Cách thức hoạt động của Blynk

Hướng dẫn sử dụng App Blynk IOT:

Bước 1: Truy cập vào địa chỉ https://blynk.io/, sau đó tạo tài khoản thông qua gmail
của mình

Bước 2: Sau khi đăng nhập, tạo templates mới bằng cách chọn vào “New Template”.

Bước 3: Sau khi tạo thành công, màn hình sẽ hiển thị template của mình.

Bước 4: Chọn mục “Datastreams”, sau đó chọn “New Datastream” để tạo các thông số
cho từng thiết bị hiển thị trên app.

14
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

Bước 5: Sau khi tạo thành công Datastream, chọn mục “Web Dashboard” để thiết kế
giao diện bằng cách kéo thả các mục có sẵn (Cài đặt các mục theo như Datastream đã
tạo).

Bước 6: Chọn mục Info, sao chép phần “FIRMWARE CONFIGURATION” vào đầu
phần code trong Arduino IDE.

15
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

Bước 7: Tải app Blynk IOT cho điện thoại, sau đó đăng nhập gmail đã đăng ký trên
web blynk.io

Bước 8: Chọn mục “Add new device”, sau đó chọn “Connect to Wi-Fi”  “Ready”
(nhớ bật định vị trước khi nhấn), App sẽ quét được mạng wifi của vi xử lý, sau đó
chọn để kết nối.

Bước 9: Sau khi kết nối với mạng wifi của vi xử lý, tiếp tục kết nối với mạng wifi
network của mình cho vi xử lý.

Bước 10: Sau khi hoàn thành tất cả các bước, màn hình giao diện thiết kế app sẽ hiển

thị. Chọn để kéo thả các thiết bị có sẵn (cài đặt theo datastream đã tạo trên web).

16
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

Bước 11: Sau khi thiết kế giao diện app, chọn để thoát ra, app sẽ tự động chạy.

4.3 Thực hiện phần mềm


4.3.1. Lưu đồ giả i thuậ t

Atmega 328p:

17
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

Esp8266

App:

18
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

6. THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG

Hình 6 -1: Schematic sản phẩm

19
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

7. KẾT QUẢ THỰC HIỆN

20
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

21
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

8. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

8.1 Kết luận


Ưu điểm:
Sản phẩm có ưu điểm là thời gian thực thi nhanh, chính xác, độ ổn định cao, chi
phí vừa phải. Sản phẩm gọn nhẹ dễ thi công và lắp đặt.
Nhược điểm:
Chưa có nhiều chức năng để chọn. Thuật toán có thể chưa là tối ưu.

8.2 Hướng phát triển

Để sản phẩm có thể đến tay người dùng, nhóm có định hướng như sau:

- Thêm rơ-le để bật máy bơm khi đất không đủ độ ẩm, bật đèn dây tóc để tăng
nhiệt độ cho nhà kính.
- Sử dụng nguồn 220V trực tiếp để tránh tháo ra thay pin nhiều lần
- Thay các cảm biến có chất lượng tốt hơn để đảm bảo nhu cầu người dùng

9. TÀI LIỆU THAM KHẢO

1. Trang web: http://arduino.vn/


2. Trang web: https://www.instructables.com/
3. Sách Embedded C Programming and the ATMEL AVR 2nd Edition
4. Sách Introduction to Embedded Systems Using ANSI C and the Arduino
Development Environment by David Russell, Mitchell Thornton (z-lib.org)

10.PHỤ LỤC

10.1. Video giới thệu sản phẩm

Project_HTN

10.2. Mã nguồn chương trình

- Code Atmega 328p

#include <avr/io.h>

#include <stdio.h>

22
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

#include <avr/interrupt.h>

#include "MoiSensor.h"

#include "HumTemSensor.h"

#include "LuxSensor.h"

#include <ArduinoJson.h>

#include <SoftwareSerial.h>

const byte RX = 2;

const byte TX = 3;

SoftwareSerial mySerial = SoftwareSerial (RX, TX);

void setup()

Serial.begin(9600);

mySerial.begin(9600);

void loop() {

MoiSensor();

HumTemSensor();

LuxSensor();

StaticJsonDocument<1000> doc;

JsonObject data = doc.to<JsonObject>();

23
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

data["ND"] = nhietdo;

data["DA"] = amkhi;

data["DAD"] = amdat;

data["AS"] = lux;

serializeJson(data, mySerial);

doc.clear();

delay(500);

- Code Esp8266

#include <ArduinoJson.h>

#include <SoftwareSerial.h>

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

BlynkTimer timer;

#define BLYNK_TEMPLATE_ID "TMPLrKy2uL9D"

#define BLYNK_DEVICE_NAME "Test"

char auth[] = "v4SVd2nq0_g8TOXDJTqKi6g0hlUzv6t0";

char ssid[] = "Viettel_Bay Cham";

char pass[] = "1234567890";

24
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

const byte RX = D6;

const byte TX = D5;

float nhietdo;

float amkhi;

float amdat;

float lux;

SoftwareSerial mySerial = SoftwareSerial(RX,TX);

void setup()

Serial.begin(9600);

mySerial.begin(9600);

while (!Serial) continue;

Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);

timer.setInterval(1000L, json);

void loop()

Blynk.run();

timer.run();

void json()

25
Hệ thống giám sát nông nghiệp công nghệ IOT GVHD: Trần Hoàng Quân

StaticJsonDocument<1000> doc;

DeserializationError err = deserializeJson(doc, mySerial);

JsonObject data = doc.as<JsonObject>();

nhietdo = data["ND"];

amkhi = data["DA"];

amdat = data["DAD"];

lux = data["AS"];

if (err)

doc.clear();

return;

if (nhietdo && amkhi && amdat && lux)

Blynk.virtualWrite(V0, nhietdo);

Blynk.virtualWrite(V1, amkhi);

Blynk.virtualWrite(V2, amdat);

Blynk.virtualWrite(V3, lux);

doc.clear();

delay(500);

26

You might also like