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

Hộp Nông Nghiệp Thông Minh Ứng Dụng Iot.pdf

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

lOMoARcPSD|38592384

TR¯àNG Đ¾I HàC BÁCH KHOA HÀ NàI

BÁO CÁO MƠN HàC

Đề tài: Háp nông nghiệp thông minh ứng
dụng IOT

Học viên thực hiện MSSV Công việc
Nguyễn Đāc Thắng 20170902 Thiết kế triển khai phần
Nguyễn Đāc Thành 20172495M
Nguyễn Minh Huy 20170773 cāng
Lập trình nhúng
Tạ Trần Quang Huy 20170779
WebApp, Server,
Database

WebApp, Server,
Database

Giảng viên h°ßng dẫn: TS.Phạm Ngọc Hùng

Hà Nái, 2022

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

1. Đặt vấn đề
Āng dụng IOT trong nông nghiệp và sử dụng các phương pháp canh tác cho



năng suất cao như thÿy canh, khí canh khơng cịn là đề tài quá mới lạ. Các
phương pháp trên được nhiều nông trại sử dụng và đã cho thấy kết quả rõ rệt
như:

• Khơng cần sử dụng đất, hạn chế tối đa sâu bệnh và không cỏ dại
• Ít tốn cơng chăm sóc do hệ thống vận hành gần như tự động
• Kiểm soát được chất lượng sản phẩm và năng suất đầu ra
• Dễ dàng truy suất nguồn gốc, đảm bảo an tâm cho người sử dụng
Với những lợi ích đó, các nơng trại mong muốn đem thêm nhiều giống cây
mới về trồng để phục vụ nhu cầu cÿa người tiêu dùng. Tuy nhiên, với cùng một
loại cây, trồng ở các khu vực khác nhau thì cho kết quả khác nhau, chất lượng
khơng được như mong muốn.
Giải thích cho nguyên nhân này là bởi khí hậu ở các vùng là khác nhau, ngồi
nguồn dinh dưỡng, cây cịn phụ thuộc nhiều vào các yếu tố khí hậu như nhiệt
độ, độ ẩm, ánh sáng. Trong từng giai đoạn sinh trưởng, các yếu tố này ảnh
hưởng trực tiếp đến cách cây tiếp nhận nguồn dinh dưỡng và hướng phát triển
cÿa cây (ra lá hay phát triển rễ, thân).
Từ thực tế tại nông tại Delcofarm (Bắc Ninh), khi mang giống cây dưa lưới
kimoji Nhật về trồng tại Việt Nam, công ty đã phải mất tới hơn 10 vụ mới có thể
đưa ra được cơng thāc chuẩn cho quả có chất lượng tốt nhất. Công thāc này
được xây dựng từ các lần thử nghiệm, các ghi chép về nhiệt độ, ánh sáng, lượng
dinh dưỡng cung cấp cho cây trong từng giai đoạn phát triển.
Như vậy có thể thấy rằng nếu giải quyết tốt bài toán kiểm soát về chiếu sáng,
nhiệt độ, lượng nước, chất dinh dưỡng cũng như ghi lại một cách tự động quá
trình sinh trưởng cÿa cây sẽ giúp cho các nơng trại nhanh chóng tìm ra được
cơng thāc tốt nhất phù hợp với khí hậu vùng. Từ đó, có thể nhân rộng với nhiều
loại cây khác. 2 Để kiểm soát chất lượng đầu ra cÿa cây trồng, trên thế giới và
Việt Nam cũng đã đưa ra nhiều giải pháp để giải quyết vấn đề này. Dựa theo dự
án

bằng việc xây dựng một hộp kính với tên gọi: "Hộp nơng nghiệp thơng minh"
để giải quyết các vấn đề đã đặt ra.

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

2. Thiết kế hệ thống

2.1 Thiết kế khung cơ khí
a) Giới thiệu

Phần khung hộp Smart Agribox là một khơng gian kín nơi cây trồng được đặt
trong đó để theo dõi sự sinh trưởng. Ngoài ra đây cũng là nơi chāa các cảm
biến, các cơ cấu chấp hành để thu thập dữ liệu và điều khiển. Với chāc năng
chÿ yếu để đặt các thiết bị, đối tượng thí nghiệm và mơ phỏng nhà kính nên
phần khung này không yêu cầu nhiều về mặt kỹ thuật. Tuy nhiên, việc thiết kế
vẫn đòi hỏi khung hộp phải được vững chắc, có thể tháo lắp linh hoạt, di
chuyển dễ dàng và có khả năng mở rộng.
b) Thiết kế

● Phần khung cơ khí được thiết kế để phù hợp với đối tượng: Làm những
thí nghiệm cơ bản, giáo dục.
● Vật liệu lựa chọn cho khung là tầm formex có độ dày 5mm. Vì formex có
đặc tính mềm và nhẹ nên dễ dàng gia công theo ý muốn. Mặc dù formex dễ
bị hỏng do va đập, tuy nhiên do sản phẩm chỉ là sản phẩm thử nghiệm, đối
tượng hướng đến là giáo dục và những thí nghiệm cơ bản nên sẽ khơng u
cầu sản phẩm phải có những đặc tính phù hợp với điều kiện mơi trường
khắc nghiệt cũng như những tác động bên ngoài như điều kiện ngoài trời.
● Do sản phẩm này có nhiều thiết bị cần lắp đặt bên ngoài: cảm biến, cơ

cấu chấp hành, ... do đó việc thiết kế phải nhấn mạnh được tính linh hoạt
cÿa khung, các phần cÿa khung dễ dàng tháo lắp để thuận tiện cho việc lắp
đặt và mở rộng hệ thống.
● Khung hộp này hướng tới việc có thể mở rộng ra thành nhà kính.

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

c) Kết quả

2.2 M¿ch thu thập giữ liệu và điều khiển
a) Đặt vấn đề và giải quyết

Sự sinh trưởng cÿa cây luôn chịu nhiều tác động từ các yếu tố môi trường. Bằng
việc kiểm soát tốt các điều kiện tác động lên cây như nguồn nước, ánh sáng, chất
dinh dưỡng, nhiệt độ, độ ẩm, ...người trồng sẽ có thể kiểm sốt được năng suất,
chất lượng cây trồng. Để làm được điều đó cần phải giám sát được các phản āng

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

cÿa cây mỗi khi các yếu tố mơi trường thay đổi, từ đó đưa ra các điều chỉnh thích
hợp để cây có điều kiện sinh trưởng tốt nhất. Điều này đặt ra các vấn đề:

● Cần phải đo lường được sự thay đổi cÿa các yếu tố nhiệt độ, độ ẩm,
lượng nước, ánh sáng.
● Cần phải có sự điều chỉnh thích hợp khi một yếu tố nào đó vượt ngưỡng
chịu đựng cÿa cây.

● Cần có bộ thơng số tính tốn dựa trên các điều kiện đầu vào để đầu ra
đáp āng kịp thời nhất.
● Các dữ liệu phải được lưu trữ trong suốt quá trình sinh trưởng cÿa cây để
đưa ra được bộ công thāc chuẩn cho từng loại cây cũng như để người trồng
có thể theo dõi.
● Người dùng có thể điều khiển, sử dụng dễ dàng, theo dõi các thông số
mọi lúc mọi nơi. Nhằm đáp āng điều đó, hệ thống Smart AgriBox cần có:
● Đầu vào: dữ liệu thu thập được các yếu tố nhiệt độ, lượng nước, ánh
sáng, ... từ các thiết bị cảm biến.
● Đầu ra: sự điều khiển thích hợp nhằm thay đổi các điều kiện môi trường
từ các thiết bị chấp hành như bơm, quạt, đèn led, ...
● Bộ xử lý tính tốn tốt, có khả năng đáp āng trong thời gian dài, ghi lại
quá trình sinh trưởng cÿa cây và thông báo cho người sử dụng.
● Dữ liệu được lưu trữ hàng ngày và truyền đi linh hoạt, nhanh, dễ xử lý.
b) Cấu trúc mạch

Từ những yêu cầu đặt ra, mạch Smart AgriBox được thiết kế thành 4 khối
mạch cơ bản, có chāc năng như sau:
● Khối cảm biến (Sensors): gồm tất cả cảm biến thu thập giữ liệu ( ánh
sáng, nhiệt độ, độ ẩm )
● Khối điều khiển (Actuators): các thiết bị chấp hành đơn giản như bơm,
đèn .
● Khối xử lý (Processor): là vi điều khiển ESP32
● Khối nguồn (Power): cung cấp năng lượng để các mạch có thể làm việc
ổn định.

Downloaded by Huyen DO ()

lOMoARcPSD|38592384


Hình 1 Sơ đồ cấu trúc mạch tổng quan

c) Cơ sở lí thuyết
- ESP32: Bộ não cÿa hệ thống Smart AgriBox chính là mạch vi điều
khiển ESP32. Đây là nơi tất cả các dữ liệu từ môi trường được tập
trung, phân tích, tính tốn trước khi đưa ra các lệnh để điều khiển. Hơn
nữa, cịn có nhiệm vụ 24 gửi các dữ liệu lên cloud để lưu trữ và đưa
thông tin đến người dùng. Dưới đây là những đặc điểm thông số cÿa
ESP32

Hình 2 Mạch điều khiển ESP32

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

CPU

• CPU: Xtensa Dual-Core LX6 microprocessor.
• Chạy hệ 32 bit
• Tốc độ xử lý 160MHZ up to 240 MHz
• Tốc độ xung nhịp đọc flash chip 40mhz --> 80mhz (tùy chỉnh khi lập trình)
• RAM: 520 KByte SRAM

o 520 KB SRAM liền chip – (trong đó 8 KB RAM RTC tốc độ cao – 8
KB RAM RTC tốc độ thấp (dùng ở chế độ DeepSleep).

Hß trợ 2 giao tiếp khơng dây
• Wi-Fi: 802.11 b/g/n/e/i


• Bluetooth: v4.2 BR/EDR and BLE
Hß trợ tất cả các lo¿i giao tiếp
• 8-bit DACs (digital to analog) 2 cổng
• Analog (ADC) 12-bit 16 cổng.
• I²C – 2 cổng
• UART – 3 cổng
• SPI – 3 cổng (1 cổng cho chip FLASH)
• I²S – 2 cổng
• SD card /SDIO/MMC host

• Slave (SDIO/SPI)

• Ethernet MAC interface with dedicated DMA and IEEE 1588 support

• CAN bus 2.0

• IR (TX/RX)
• Băm xung PWM (tất cả các chân)
• Ultra low power analog pre-amplifier’

- Khối cảm biến:

Khối cảm biến có chāc năng thu thập dữ liệu mơi trường như nhiệt độ, độ
ẩm, cường độ ánh sáng .... Mỗi loại cảm biến đo trên thị trường hiện nay
đều có khả năng đáp āng nhanh, độ chính xác cao, tuy nhiên mỗi loại lại có
một cách kết nối riêng với vi điều khiển. Dưới đây là các loại cảm biến
được dùng và các chuẩn kết nối với chúng.

Bảng 1 Thông số kĩ thuật các cảm biến sử dụng


Cảm biến Thông số kĩ thuật Độ phân giải: Chân kết nối với ESP32
Cảm biến nhiệt Nhiệt độ: Độ 0.1%RH Độ Data - GPIO 4
độ, độ ẩm phân giải: 0.1°C chính xác: VCC - 3.3v
Độ chính xác: GND - GND
±0.5℃ Dải đo: - ±2%RH (25°C)

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

40 ~ 80°C Dải đo: 0 ~
99.9%RH

Cảm biến ánh Nguồn: 3~5VDC SCL - GPIO 22
sáng BH1750 Điện áp giao tiếp: TTL 3.3~5VDC SDA - GPIO 21
Chuẩn giao tiếp: I2C VCC - 3.3 V
Cảm biến độ ẩm Khoảng đo: 1 -> 65535 lux GND - GND
đất Kích cỡ: 21*16*3.3mm
VCC - 3.3v
Điện áp làm việc 3.3V ~ 5V GND - GND
A0 - GPIO36
Có lỗ cố định để lắp đặt thuận tiện

PCB có kích thước nhỏ 3.2 x 1.4 cm

Sử dung chip LM393 để so sánh, ổn
định làm việc

Hình 3 Các chuẩn kết nối giữa cảm biến với ESP32 được sử dụng


2.3 Kết quả sau khi thi công

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

Hình 4 Phần cứng sau khi kết nối

3. Thiết kế phần mềm āng dụng
3.1 Giao diện người dùng WebApp
Web Aplication (WebApp) là một āng dụng phần mềm sử dụng trình duyệt web và
công nghệ web và thực hiện các chāc năng hoặc nhiệm vụ cụ thể qua internet. Āng
dụng web IoT có nghĩa là thiết bị IoT sử dụng giao diện người dùng và giao diện người
dùng cuối cÿa āng dụng web để thu thập dữ liệu, phân tích dữ liệu đó và sau đó hiển
thị kết quả.
WebApp có các chāc năng chính như sau:
• Hiển thị thơng tin từ cảm biến gồm giá trị hiện thời và biểu đồ giá trị theo
thời gian
• Điều khiển cơ cấu chấp hành như bơm, đèn ... Có thể điều khiển ở 2 chế độ
tự động và chỉnh thÿ công.
• Đăng kí người dùng và thêm thiết bị
Từ các yêu cầu trên āng dụng người dùng được thiết kế như hình dưới đây:

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

Hình 5 Giao diện đăng nhập
Hình 6 Giao diện đăng kí


Downloaded by Huyen DO ()

lOMoARcPSD|38592384

Hình 7 Giao diện thêm thiết bị

Hình 8 Giao diện hiển thị thơng tin và điều khiển

3.2 Xây dựng c¡ sở dữ liệu, server
3.2.1 Gißi thiệu chung
Giao thức HTTPs
● Giao thāc được sử dụng trong chương trình khi truyền dữ liệu từ App lên Cloud.
● Khái niệm HTTP (HyperText Transfer Protocol): Là giao thāc truyền tải siêu
văn bản, được dùng để liên hệ thông tin giữa máy cung cấp dịch vụ (Web
server) và máy sử dụng dịch vụ (web client).
3.2.2 Xây dựng c¡ sở dữ liệu

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

Xây dựng cơ sở dữ liệu là một bước vô cùng quan trọng khi xây dựng bất cā một
chương tình nào. Để xây dựng cơ sở dữ liệu cho bài tốn: āng dụng IOT= nó phải thỏa mãn một số yêu cầu sau:

• Một người dùng có thể đăng kí, đăng nhập, đăng xuất một tài khoản duy nhất
• Tài khoản Admin có thể đăng kí admin, xóa thơng tin người dùng cũng như là

quản lý các thiết bị trên server.
• Một người dùng có thể đăng kí một hoặc nhiều thiết bị và có thể quản lý từng


thiết bị trong đó.
• Mỗi một thiết bị sẽ chỉ có một người dùng được đăng kí.
• Người đã đăng kí thiết bị có thể xem thông tin cảm biến cÿa thiết bị cũng như

điều chỉnh các thông số điều khiển thiết bị.
Sau khi xác định yêu cầu cÿa hệ thống cần làm gì sẽ cần xây dựng hệ thống sẽ làm
những cơng việc gì, làm với những đối tượng nào sẽ có điều sau:
• Các đối tượng cÿa hệ thống: Admin, người dùng, thiết bị, điều khiển, cảm biến:
• Các chāc năng chính:

▪ Admin:
• Quản lý người dùng.

▪ Người dùng:
• Thêm, xóa iết bị.

▪ Thiết bị:
• Thêm, chỉnh sửa, xóa thơng tin cÿa thiết bị.

▪ Cảm biến
• Nhận dữ liệu cảm biến từ thiêt bị.

▪ Điều khiển:
• Nhận và gửi thơng tin tín hiệu điều khiển đến từng thiết bị.

Với các đối tượng ta có các thuộc tính cÿa chúng với:
• Người dùng: mã ng°ái dùng, username, họ và tên, giới tính, số điện thoại,
email, mật khu.
ã Thit b: mó thit bò, tên thiết bị, tên cây trồng, ngày trồng.

• Cảm biến: mã cảm biến, mã thiết bị, cảm biến độ ẩm đất, cảm biến độ ẩm
không khí, cảm biến độ ẩm ánh sáng, nhiệt độ.
• Điều khiển: mã điều khiển, mã cảm biến tự động, giá trị điều khiển bơm, giá trị
điều khiển đèn ánh sáng.

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

3.2.3 Hình 2.3. 1 Sơ đồ cơ sở dữ liệu cho bài tốn hộp trồng cây thơng minh ứng dụng IOT

Xây dựng Server bằng RESTful Api vßi NodeJS

Hình 2.3. 2 Ví dụ về REST API

REST là từ viết tắt cÿa Representational State Transfer. Đó là kiến trúc tiêu chuẩn web
và giao thāc HTTP. RESTful là một trong những kiểu thiết kế API được sử dụng phổ
biến nhất ngày nay. Trọng tâm cÿa REST quy định cách sử dụng các HTTP method (như
GET, POST, PUT, DELETE...) và cách định dạng các URL cho āng dụng web để quản

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

lý các resource. Có 4 hoạt động chÿ yếu ta có thể kể đến khi làm việc với server: lấy dữ
liệu ở một định dạng nào đó ví dụ như JSON (GET), tạo dữ liệu mới (POST), cập nhật dữ
liệu (PUT), xóa dữ liệu. REST hoạt động chÿ yếu dựa vào giao thāc HTTP. Các hoạt
động cơ bản nêu trên sẽ sử dụng những phương thāc HTTP riêng. Những phương thāc
hay hoạt động này thường được gọi là CRUD tương āng với Create, Read, Update,
Delete – Tạo, Đọc, Sửa, Xóa. Mỗi phương thāc trên phải được API gọi thơng qua để gửi

chỉ thị cho server phải làm gì.

Sau khi tạo sever bằng express generator, ta kết nối với mongodb bằng thư viện
mongoose và định nghĩa các Collection dựa trên cơ sở dữ liệu bên trên.

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

Hình 2.3. 3 Định nghĩa về collection User
Downloaded by Huyen DO ()

lOMoARcPSD|38592384

Sau khi định dạng giữ liệu cho người dùng ta sẽ định nghĩa các API hoạt động trên
người dùng đấy bao gồm 3 chāc năng chính:

Chāc năng Phương thāc Link

Kiểm tra là đã đăng nhập chưa Get /auth

Đăng kí người dùng POST /auth/register

Đăng nhập POST /auth/login

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

Hình 9 API đăng nhập của server

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

Hình 10 Kiểm tra chức năng đăng nhập của server bằng POSTMAN

4. Lập trình vi điều khiển ESP32
Để nạp chương trình cho vi điều khiển ESP32 nhóm em sử dụng phần mềm Arduino
IDE.

Hình 11 Phần mềm nạp chương trình Arduino IDE

Do ESP32 là vi điều khiển phổ biến, sử dụng rộng rãi do đó hỗ trợ nhiều thư viện cho
các loại cảm biến. Từ các thư viện cảm biến có sẵn thực hiện đọc giữ liệu cảm biến và
điều khiển các cơ cấu chấp hành.
ESP32 gửi bản tin lên server thông qua HTTP dưới định dạng json sử dụng thư viện
HTTPclient và ArduinoJson.

Downloaded by Huyen DO ()

lOMoARcPSD|38592384

Hình 12 Các hàm đọc cảm biến và điều khiển cơ cấu chấp hành
Downloaded by Huyen DO ()

lOMoARcPSD|38592384

Hình 13 Gửi dữ liệu lên server thơng dưới dạng Json qua POST
Downloaded by Huyen DO ()



×