LUẬN VĂN NGHIÊN CỨU THIẾT KẾ THIẾT BỊ THEO DÕI VÀ CUNG CẤP CHẤT DINH DƯỠNG TỰ ĐỘNG CHO HỆ THỐNG THỦY CANH

Mã đồ án DTDHTN202302
Đánh giá: 5.0
Mô tả đồ án

     Luận văn có dung lượng 680MB. Bao gồm đầy đủ các file như: File chương trinh (Fille code html, resource, back end, front end, sơ đồ mạch, lưu đồ giải thuật, mạch in, hình mô phỏng mạch thực tế…); file word (Bản thuyết minh, nhiệm vụ đồ án, bìa đồ án, bản trình chiếu bảo vệ Power point…). Ngoài ra còn cung cấp rất nhiều các tài liệu chuyên ngành, các tài liệu phục vụ cho thiết kế luận văn, thư viện........... NGHIÊN CỨU THIẾT KẾ THIẾT BỊ THEO DÕI VÀ CUNG CẤP CHẤT DINH DƯỠNG TỰ ĐỘNG CHO HỆ THỐNG THỦY CANH.

Giá: 1,950,000 VND
Nội dung tóm tắt

MỤC LỤC

MỤC LỤC..............................................................................................................................................12

LỜI CẢM ƠN........................................................................................................................................13

TÓM TẮT LUẬN VĂN...........................................................................................................................14

CHƯƠNG 1: GIỚI THIỆU.................................................................................................................... 15

1.1. Tổng quan......................................................................................................................................15

1.2. Tình hình nghiên cứu trong và ngoài nước. ..................................................................................15

1.3. Nhiệm vụ luận văn. ........................................................................................................................17

1.3.1. Yêu cầu.......................................................................................................................................17

1.3.2. Kết quả cần đạt ..........................................................................................................................17

1.3.3. Phạm vi nghiên cứu và giới hạn đề tài ......................................................................................18

1.3.4. Phân chia công việc....................................................................................................................19

CHƯƠNG 2: CÁC VẤN ĐỀ LÝ THUYẾT LIÊN QUAN.. .....................................................................20

2.1. Phần cứng.....................................................................................................................................20

2.1.1. Module ESP32 - WROOM32......................................................................................................20

2.1.2. LCD 20x4 I2C............................................................................................................................ 22

2.1.3. Rotary Encoder EC11................................................................................................................ 24

2.1.4. Cảm biến nhiệt độ DS18B20......................................................................................................26

2.1.5. Cảm biến PH..............................................................................................................................27

2.1.6. Cảm biến TDS............................................................................................................................33

2.1.7. Module RTC DS3231.................................................................................................................37

2.1.8. SD Card.....................................................................................................................................38

2.1.9. Module Raspberry Pi.................................................................................................................38

2.1.10. Cảm biến mực nước................................................................................................................40

2.2. Phần mềm.................................................................................................................................... 40

2.2.1. Hệ điều hành thời gian thực FreeRTOS....................................................................................40

2.2.2. Ứng dụng Web (Web app).........................................................................................................44

2.2.3. Lý thuyết các giao thức mạng được sử dụng............................................................................46

2.2.4. MERN Stack & Socket.IO......................................................................................................... 53

2.2.5. Các công nghệ để xây dựng trang web................................................................................... 65

CHƯƠNG 3: THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG................................................................... 68

3.1. Yêu cầu....................................................................................................................................... 68

3.1.1. Đối với hệ thống cung cấp dinh dưỡng.....................................................................................68

3.1.2. Đối với dàn thủy canh...............................................................................................................68

3.2. Phân tích..................................................................................................................................... 68

3.2.1. Đối với hệ thống cung cấp dinh dưỡng.....................................................................................68

3.2.2. Đối với dàn thủy canh...............................................................................................................69

3.3. Thực hiện.....................................................................................................................................69

3.3.1. Khối nguồn................................................................................................................................71

3.3.2. Khối xử lý trung tâm................................................................................................................. 73

3.3.3. Khối cảm biến PH.................................................................................................................... 73

3.3.4. Khối cảm biến TDS.................................................................................................................. 74

3.3.5. Khối cảm biến mực chất lỏng.................................................................................................. 75

3.3.6. Khối thời gian thực RTC DS3231............................................................................................ 75

3.3.7. Khối âm thanh thông báo..........................................................................................................76

3.3.7. Khối thẻ nhớ SD card...............................................................................................................76

3.3.9. Khối LCD 20x4 I2C.................................................................................................................. 77

3.3.10. Khối điều khiển bơm chất dinh dưỡng.................................................................................. 77

3.3.11. Khối điều khiển bơm nước.................................................................................................... 78

3.3.12. Dàn thủy canh. ......................................................................................................................78

CHƯƠNG 4: THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM......................................................................80

4.1. Yêu cầu. .....................................................................................................................................80

4.1.1. Firmware..................................................................................................................................80

4.1.2. Software...................................................................................................................................80

4.2. Phân tích.....................................................................................................................................81

4.2.1. Firmware..................................................................................................................................81

4.2.2. Software. .................................................................................................................................81

4.3. Thực hiện....................................................................................................................................82

4.3.1. Firmware..................................................................................................................................82

4.3.2. Software..................................................................................................................................92

CHƯƠNG 5: KẾT QUẢ THỰC HIỆN..............................................................................................106

5.1. Phần cứng.................................................................................................................................106

5.1.1. Bộ điều khiển..........................................................................................................................106

5.1.2. Dàn thủy canh.........................................................................................................................109

5.1.3. Thử nghiệm trồng rau thủy canh.............................................................................................111

5.2. Phần mềm..................................................................................................................................117

5.2.1. Thực hiện đăng nhập..............................................................................................................117

5.2.2. Thực hiện cài đặt thể tích chai và cài đặt cấu hình thủ công..................................................119

5.2.3. Cài đặt thông số cấu hình cho thiết bị qua profile cá nhan hoặc qua profile khuyên dùng.....121

5.2.4.  Xem đồ thị của các giá trị TDS, PH, nhiệt độ........................................................................124

5.3. Kết quả thử nghiệm..................................................................................................................126

CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN......................................................................127

6.1. Kết luận.....................................................................................................................................127

6.1.1. Ưu điểm.................................................................................................................................127

6.1.2. Nhược điểm...........................................................................................................................127

6.1.3. Kết luận..................................................................................................................................127

6.2. Hướng phát triển.......................................................................................................................128

PHẦN 7: TÀI LIỆU THAM KHẢO....................................................................................................129

PHẦN 8: PHỤ LỤC..........................................................................................................................131

8.1. Sơ đồ nguyên lý bo xử lý trung tâm..........................................................................................131

8.2. Hướng dẫn sử dụng thiết bị .....................................................................................................132

LỜI CẢM ƠN

Trong suốt bốn năm đại học, quá trình làm luận văn tốt nghiệp có lẽ là giai đoạn quan trọng nhất trong quãng đời mỗi sinh viên. Chính nó cũng sẽ là tiền đề giúp cho chúng em xác định được định hướng nghề nghiệp trong tương lai và trong quá trình thực hiện chúng em tích luỹ được những kiến thức quý báu, những kỹ năng nghiên cứu. Đó sẽ là những viên gạch nền tảng cực kỳ quan trọng để cho chúng em có thể vững bước trong giai đoạn đầu của quá trình lập nghiệp.

Làm luận văn ở trường đại học Bách Khoa đã khó, làm luận văn trong tình hình dịch bệnh đang diễn biến khá phức tạp ảnh hưởng không nhỏ đến quá trình học tập của sinh viên là một điều càng khó hơn. Chính vì vậy, chúng em xin chân thành cảm ơn thầy Bùi Quốc Bảo, người đã đồng hành trong suốt thời gian một năm dài làm luận văn. Cảm ơn thầy đã là ngọn đèn soi sáng, giúp chúng em   định hướng nghề nghiệp, truyền đạt những kiến thức và những kinh nghiệm quý báu của bản thân. Thật khó có thể tưởng tượng được, luận văn này làm sao có thể hoàn thành nếu không có sự giúp sức của thầy.

Ngoài ra, chúng em cũng xin gửi lời cảm ơn đến quý thầy cô ở Khoa Điện-Điện tử. Nhờ sự tận tình chỉ dạy trong suốt thời gian ngồi trên ghế giảng đường, làm bệ phóng cho chúng em có thể hoàn thành bài luận văn này.

Xin cảm ơn đến trường Đại học Bách Khoa - Đại học Quốc Gia TP.HCM. Thời gian bốn năm ở trường đại học có thể chẳng đáng gì khi so với thời gian cả cuộc đời, nhưng có thể đó là tất cả thời gian của một  thời thanh xuân. Cảm ơn trường đã tạo cho chúng em một môi trường học tập và rèn luyện bản thân. Cảm ơn vì đã là một phần trong tuổi trẻ của của tất cả các bạn sinh viên như chúng em.

Cuối cùng, chúng em xin cảm ơn đến gia đình, bạn bè đã luôn chia sẻ, ủng hộ, động viên và giúp  đỡ trong suốt quá trình học tập của bản thân.

Chúng em xin trân trọng cảm ơn!                 

                                                                                      Tp. Hồ Chí Minh, ngày … tháng … năm 20…

                                                                                  Sinh viên thực hiện

                                                                                ……………….

TÓM TẮT LUẬN VĂN

Luận văn này trình bày về quá trình nghiên cứu, thiết kế và thực hiện Thiết bị theo dõi và cung cấp chất dinh dưỡng cho hệ thống thủy canh. Bao gồm các nội dung chính:

1. Tìm hiểu về các vấn đề lý thuyết liên quan đến đề tài (Phần cứng sử dụng, các giao thức kết nối, các công nghệ để thiết kế phần mềm,…).

2. Thiết kế và thực hiện phần cứng (Thiết kế và thực hiện các mạch điện, dàn thủy canh,…)

3. Thiết kế và thực hiện phần mềm (Thiết kế một ứng dụng web bao gồm front-end, back-end, database,…)

4. Quá trình thử nghiệm hệ thống và các kết quả đạt được

5. Kết luận và hướng phát triển.

CHƯƠNG 1: GIỚI THIỆU

1.1. Tổng quan

Hệ thống trồng rau thủy canh, hay còn gọi là “Trồng rau không cần đất” hay “Trồng rau trong nước” đã trở nên ngày càng phổ biến trong nông nghiệp, không chỉ ở quy mô nhỏ mà còn cả trong sản xuất với số lượng lớn vì tính đơn giản, hiệu quả và dễ thực hiện ở các vùng không có đất canh tác như các hộ gia đình ở thành phố, khu chung cư,…

Từ đó, nhóm chúng em đưa ra giải pháp: Thiết bị theo dõi và cung cấp chất dinh dưỡng tự động cho hệ thống thủy canh, giúp người dùng có thể theo dõi và tự động hóa khâu cung cấp chất dinh dưỡng cho hệ thống thủy canh.

1.2. Tình hình nghiên cứu trong và ngoài nước

Hiện tại trên thị trường (chủ yếu là thị trường nước ngoài) có một số đơn vị sản xuất và cung cấp hệ thống tương tự với các tính năng, chủng loại và mẫu mã khác nhau. 

Sản phẩm cho phép theo dõi và tự động điều chỉnh nồng độ chất dinh dưỡng phù hợp với từng loại cây trồng, phù hợp với các hệ thống thủy canh quy mô vừa và lớn.

1.3. Nhiệm vụ luận văn

Từ như cầu thực tế và các sản phẩm đã có trên thị trường, chúng em đưa ra nhiệm vụ của đề tài luận văn: Nghiên cứu, phát triển thiết bị theo dõi và cung cấp chất dinh dưỡng tự động cho hệ thống thủy canh, bao gồm các nhiệm vụ chính sau:

1.3.1. Yêu cầu

- Thiết bị cho phép theo dõi nồng độ chất dinh dưỡng (TDS) và nồng độ PH của dung dịch thủy canh, tự động điều chỉnh lượng chất dinh dưỡng theo như đã cài đặt để phù hợp với từng loại cây trồng.

- Cho phép theo dõi trực tiếp tại thiết bị thông qua màn hình LCD và thông qua trình duyệt web trên máy tính.

- Cho phép cài đặt thông số, cân chỉnh cảm biến.

- Giá thành hợp lý cho quy mô sản xuất vừa và nhỏ.

1.3.2. Kết quả cần đạt

1.3.2.1. Phần cứng và phần dẻo (Hardware and Firmware)

Phần cứng và phần dẻo của thiết bị cần đạt các yêu cầu:

- Xây dựng sơ đồ khối của hệ thống, tìm hiểu nhiệm vụ từng khối chức năng.

- Tìm hiểu để lựa chọn các loại cảm biến cần sử dụng (nguyên lí hoạt động, chuẩn giao tiếp,…).

- Tìm hiểu các giao thức kết nối mạng (MQTT, HTTP,..) để đưa dữ liệu từ thiết bị lên server.

- Lựa chọn vi điều khiển chính cho thiết bị, tìm hiểu tài liệu của nhà sản xuất (datasheet) để lập trình cho vi điều khiển.

1.3.2.2. Phần mềm (software)

Phần mềm cần đạt các yêu cầu:

- Tìm hiểu về cách một Web Application hoạt động.

- Tìm hiểu, xây dựng Web Server để nhận và xử lý dữ liệu từ thiết bị gửi lên.

- Tìm hiểu cách để trao đổi dữ liệu thông qua server MQTT để lưu vào database MongoDB.

CHƯƠNG 2: CÁC VẤN ĐỀ LÝ THUYẾT LIÊN QUAN

2.1. Phần cứng

2.1.1. Module ESP32 - WROOM32

2.1.1.1. Giới thiệu

Module ESP32 – WROOM- 32 (ESP-WROOM-32) là một module vi điều khiển tích hợp WiFi + BLE (System on Chip – SoC) phát triển bởi Espressif, được sử dụng phổ biến trong các ứng dụng IoT (Internet of Things) hiện nay bởi hiệu năng mạnh mẽ và giá cả hợp lý. Có thể bắt gặp chúng trong những ứng dụng về mạng cảm biến không dây tiết kiệm điện năng (low-power sensor networks) hay nhà thông minh (Smart Home), tới những ứng dụng phức tạp hơn như mã hóa giọng nói (voice encoding), phát trực tiếp âm nhạc (music streaming), giải mã MP3 (MP3 decoding), …

2.1.1.2. Ứng dụng trong đề tài

Đề tài sử dụng module ESP – WROOM32 làm vi điều khiển trung tâm, xử lý các yêu cầu ở phía thiết bị như: Đọc cảm biến, hiện thị LCD, kết nối WiFi để gửi dữ liệu lên server,…

2.1.2. LCD 20x4 I2C

2.1.2.1. Giới thiệu

LCD (Liquid Crystal Display) với driver HD44780 được sử dụng phổ biến trong các ứng dụng vi điều khiển với nhiều ưu điểm như: Cho phép hiển thị các ký tự đa dạng, trực quan (chữ, số và ký tự đồ họa), dễ dàng đưa vào mạch với nhiều giao thức giao tiếp khác nhau, tốn ít tài nguyên hệ thống và giá thành rẻ,…

2.1.2.2. Ứng dụng trong đề tài

LCD sẽ giao tiếp với vi điều khiển ESP32 thông qua module I2C để hiển thị thông số cảm biến (Nồng độ chất dinh dưỡng hòa tan TDS, độ PH và nhiệt độ). Đồng thời màn hình cũng kết hợp với núm xoay encoder để cài đặt các thông số cho thiết bị (cài các giá trị ngưỡng, điều khiển cập nhật firmware,…).

2.1.4. Cảm biến nhiệt độ DS18B20

2.1.4.1. Giới thiệu

Cảm biến nhiệt độ DS18B20 là loại cảm biến nhiệt độ trả về tín hiệu số, được ứng dụng rộng rãi trong các ứng dụng cần đo nhiệt độ theo thời gian thực với nhiều ưu điểm như: Sai số nhỏ và kích thước nhỏ, giá thành rẻ, giao tiếp đơn giản và đặc biệt là có loại có khả năng chống nước, phù hợp cho các ứng dụng cần đo đạc nhiệt độ của chất lỏng.

2.1.4.2. Ứng dụng trong đề tài

Cảm biến nhiệt độ DS18B20 được sử dụng để theo dõi nhiệt độ của dung dịch thủy canh, đồng thời tham gia hiệu chuẩn giá trị TDS đọc được (giá trị TDS phụ thuộc vào nhiệt độ của dung dịch).

2.1.6. Cảm biến TDS

2.1.6.1. Giới thiệu

TDS (Total Dissolved Solids) là chỉ số thể hiện tổng chất rắn hòa tan (tổng số ion mang điện tích, bao gồm muối, khoáng chất, kim loại,…) tồn tại trong một thể tích nước nhất định. TDS được đo bằng đơn vị mg/l (milligram/litter) hoặc thông dụng hơn là ppm (parts per milion) với 1ppm = 1mg/l.

Vì các chất rắn hòa tan trong nước làm tăng độ dẫn điện của dung dịch, việc đo TDS bản chất là đo độ dẫn điện của dung dịch (EC – Electrical Conductivity) và ước tính giá trị TDS dựa vào kết quả đo.

Hoạt động:

Mạch chia làm 6 khối chính: Khối tạo xung (1), khối khuếch đại (2), khối chỉnh lưu chính xác (3), khối lọc (4), khối nguồn (5) và đầu dò cảm biến (6). Nguyên lý hoạt động như sau:

- Khối (1) tạo xung vuông có tần số khoảng 1.7Khz (tần số được quyết định bởi giá trị C4 và R5), được khuếch đại thông qua Opamp U2A với hệ số khuếch đại

- Điện áp ra của U2A được đưa đến U2C qua đầu dò cảm biến (đóng vai trò như một điện trở, giá trị điện trở cao thấp sẽ quyết định hệ số khuếch đại, từ đó quyết định đến điện áp ngõ ra U2C).

2.1.6.2. Ứng dụng trong đề tài

TDS là chỉ số quan trọng trong trồng cây thủy canh, nó cho biết nồng độ chất dinh dưỡng có trong dung dịch cung cấp cho cây. Hệ thống cần đọc được giá trị TDS để có thể nắm bắt và điều chỉnh nồng độ chất dinh dưỡng phù hợp với các loại cây cũng như các giai đoạn phát triển khác nhau của cây.

2.1.9. Module Raspberry Pi

2.1.9.1. Giới thiệu

Module Raspberry Pi là một máy tính nhúng (small Single-Board Computers – SBCs), được phát triển tại Anh với mục đích ban đầu là thúc đẩy việc giảng dạy về khoa học máy tính tại trường học. Trải qua nhiều phiên bản với phần cứng ngày càng mạnh mẽ, Raspberry Pi đã được sử dụng phổ biến trong các ứng dụng liên quan tới IoT (Internet of Things).

2.1.9.2. Ứng dụng trong đề tài

Module Raspberry Pi 4 được sử dụng để thực thi máy chủ (Node JS server), đồng thời là nơi chứa cơ sở dữ liệu (MongoDB database) cho hệ thống.

2.2. Phần mềm

2.2.1. Hệ điều hành thời gian thực FreeRTOS

2.2.1.1. Giới thiệu

FreeRTOS là một hệ điều hành nhúng thời gian thực (Real Time Operating System) mã nguồn mở    được phát triển bởi Real Time Engineers Ltd, sáng lập và sở hữu bởi Richard Barry [9].

2.2.1.3. Hoạt động

Một RTOS hoạt động có các chức năng cơ bản sau đây:

- Bộ lập lịch (Scheduler)

- Các dịch vụ thời gian thực (Realtime Servers)

- Đồng bộ và xử lý thông điệp.

2.2.3. Lý thuyết các giao thức mạng được sử dụng

2.2.3.1. MQTT

2.2.3.1.1. Định nghĩa

MQTT là từ viết tắt của cụm Message Queuing Telemetry Transport (tạm dịch: Giao thức truyền thông điệp). Đây là một trong những giải pháp tiêu chuẩn của IoT (Internet of Things) vì quá trình truyền tải của MQTT rất nhẹ, độ chính xác cao và khả năng kết nối băng thông hiệu quả. MQTT còn được hiểu là một giao thức nhắn tin thông minh và đơn giản, được tạo ra nhằm phục vụ cho các thiết bị hạn chế về băng thông.

2.2.3.1.2. Lịch sử hình thành

MQTT chính thức ra đời vào cuối những năm 1990. Giao thức này được phát minh bởi hai kỹ sư tài năng – Andy Stanford-Clark và Arlen Nipper. Nhiệm vụ của MQTT là “phương tiện” giao tiếp giữa hai thiết bị. Điển hình là đường ống dầu khí và SCADA (hệ thống giám sát và thu thập dữ liệu).

2.2.3.2. HTTP

2.2.3.2.1. Giới thiệu

HTTP (Hypertext Transfer Protocol) là giao thức giao tiếp giữa web server và client. Giao thức này sử dụng mô hình client - server, trong đó client sẽ thực hiện request HTTP đến server web và server sẽ xử lý và trả về response với dữ liệu (image, css, js, html, xml, json ...) tương ứng với request của client. Mỗi tương tác HTTP bao gồm một request và response. Theo bản chất của nó HTTP là Stateless. Stateless có nghĩa là sau khi client gửi dữ liệu lên server, server thực thi xong, trả kết quả thì “quan hệ” giữa client và server bị “cắt đứt”. Tất cả các request đều tách biệt với nhau vì vậy mọi request phải tự chứa đủ thông tin để thực hiện request. Điều đó có nghĩa là mỗi transaction của mô hình dựa trên thông điệp của HTTP được xử lý riêng biệt với nhau.

2.2.3.2.2. Một số khái niệm liên quan

2.2.3.2.2.1. URL

URL (Uniform Resource Locator) có lẽ là khái niệm được biết đến nhiều nhất của Web, nó cũng là một trong những khái niệm quan trọng và hữu ích nhất. URL là một địa chỉ web được sử dụng để xác định tài nguyên trên Web.

2.2.3.2.2.2. Protocol

Thông thường chúng là HTTP (hoặc HTTPS cho phiên bản HTTP an toàn). Ngoài ra còn có các giao thức thường dùng khác:

File Transfer Protocol (FTP) - là giao thức chuẩn được sử dụng để truyền tệp giữa máy khách và máy chủ qua mạng.

2.2.4. MERN Stack & Socket.IO

2.2.4.1. RESTfull API

2.2.4.1.1. Khi niệm RESTfull API

RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource. Nó chú trọng vào tài nguyên hệ thống (tệp văn bản, ảnh, âm thanh, video, hoặc dữ liệu động…), bao gồm các trạng thái tài nguyên được định dạng và được truyền tải qua HTTP.

API (Application Programming Interface) là một tập các quy tắc và cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác. API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML.

2.2.4.1.3. JSON Web Token

JSON Web Token (JWT) là một chuẩn mở (RFC 7519) định nghĩa một cách nhỏ gọn và khép kín để truyền một cách an toàn thông tin giữa các bên dưới dạng đối tượng JSON. Thông tin này có thể được xác minh và đáng tin cậy vì nó có chứa chữ ký số. JWTs có thể được ký bằng một thuật toán bí mật (với thuật toán HMAC) hoặc một public / private key sử dụng mã hoá RSA.

2.2.4.2. MongoDB

2.2.4.2.1. Khái niệm về NoSQL

Cơ sở dữ liệu NoSQL là viết tắt của Not Only SQL hoặc Not SQL. Trong đó thì cơ sở dữ liệu quan hệ RDBMS sẽ dùng cú pháp SQL khi cần lưu trữ, cũng như trích xuất dữ liệu. Còn đối với hệ thống cơ sở dữ liệu NoSQL sẽ bao gồm hàng loạt những công nghệ cơ sở dữ liệu với khả năng lưu trữ ở dạng cấu trúc, bán cấu trúc hoặc phi cấu trúc, hay dạng đa hình.

2.2.4.2.2. Khái niệm MongoDB

MongoDB là một cơ sở dữ liệu NoSQL, một dạng database hướng tài liệu. Chúng thường được sử dụng để lưu trữ dữ liệu khối lượng lớn. MongoDB không sử dụng cấu trúc dạng bảng như relational database. Thay vào đó, MongoDB sẽ lưu trữ dữ liệu dưới dạng Document JSON. Vì vậy, mỗi một collection sẽ các các kích cỡ và các document khác nhau. Bên cạnh đó, việc các dữ liệu được lưu trữ trong document kiểu JSON dẫn đến chúng được truy vấn rất nhanh.

2.2.4.2.5. Ưu điểm của MongoDB

- Đầu tiên có thể nhắc đến là tính linh hoạt lưu trữ dữ liệu theo các kích cỡ khác nhau. Do dữ liệu dưới dạng hướng tài liệu JSON nên bạn có thể chèn vào thoải mái bất cứ thông tin gì bạn muốn.

- Khác với RDBMS, dữ liệu ở đây không bị ràng buộc và không phải tuân theo khuôn khổ nhất định. Điều này giúp bạn tiết kiệm thời gian cho việc kiểm tra sự thỏa mãn về cấu trúc nếu muốn chèn, xóa, cập nhật hay thay đổi các dữ liệu trong bảng.

- MongoDB dễ dàng mở rộng hệ thống bằng cách thêm node vào cluster – cụm các node chứa dữ liệu giao tiếp với nhau.

2.2.5. Các công nghệ để xây dựng trang web

2.2.5.1. NGINX

NGINX là một phần mềm web server mã nguồn mở, sử dụng kiến trúc hướng sự kiện (event-driven), bất đồng bộ (asynchronous). Mục tiêu ban đầu để phục vụ HTTP cache nhưng sau được áp dụng vào reverse proxy, HTTP load balancer và các giao thức truyền mail như IMAP4, POP3, và SMTP.

NGINX chính thức ra đời vào tháng 10/2014. Đây là phần mềm giúp server có tốc độ và khả năng mở rộng lớn nhất, đồng thời, xử lý và thao tác trên hàng nghìn kết nối cùng lúc. Do đó, rất nhiều “ông lớn” công nghệ hiện nay đều lựa chọn NGINX như Google, Adobe, Netflix, WordPress…

2.2.5.2. PM2

PM2 là một trình quản lý các process (tiến trình) dành cho các ứng dụng Nodejs. Nó được viết bằng chính Nodejs và Shell. PM2 cũng được tích hợp bộ cân bằng tải (load balancer).

CHƯƠNG 3: THIẾT KẾ VÀ THỰC HIỆN PHẦN CỨNG

3.1. Yêu cầu

Thiết kế và thực hiện hệ thống cung cấp chất dinh dưỡng và dàn thủy canh quy mô nhỏ để kiểm chứng hệ thống.

3.1.1. Đối với hệ thống cung cấp dinh dưỡng

- Hoạt động với điện áp 1 pha 220V

- Đầu vào thiết bị có các cổng cảm biến: Cảm biến TDS, cảm biến PH, cảm biến nhiệt độ, cảm biến mực nước thấp và cảm biến mực nước cao.

- Đầu ra thiết bị điều khiển 4 bơm định lượng 12VDC/5W cung cấp chất dinh dưỡng và điều khiển 1 bơm 220VAC/15W để cấp nước cho thùng chứa.

- Giao diện người dùng cho phép theo dõi các thông số cảm biến: TDS, PH, nhiệt độ tức thời. Đồng thời cho phép cài đặt thông số cho hệ thống.

3.1.2. Đối với dàn thủy canh

- Thiết kế tho dạng “thủy canh hồi lưu”, nước được pha chất dinh dưỡng sẽ được máy bơm bơm lên từ một thùng chứa, đi qua hệ thống ống để cây trồng hấp thụ và cuối cũng sẽ trở lại thùng chứa.

- Quy mô tầm 10  - 20 cây, khoảng cách các cây đủ lớn để cây phát triển tốt.

3.2. Phân tích

3.2.1. Đối với hệ thống cung cấp dinh dưỡng

- Ở phía thiết bị, cần chọn vi xử lý có tích hợp module WiFi hoặc ethenet để có thể kết nối và gửi dữ liệu tới server. Đồng thời vi xử lý cũng cần đủ mạnh và có đủ ngoại vị cần thiết (UART, SPI, I2C,…) để có thể xử lý nhiều tác vụ cùng lúc (ưu tiên chọn vi xử lý có hỗ trợ hệ điều hành thời gian thực (RTOS) để đơn giản quá trình lập trình cho hệ thống).

- Lựa chọn cảm biến nhiệt độ có khả năng chống nước để phù hợp với điều kiện làm việc của cảm biến (được nhúng trong dung dịch), đồng thời có thể giao tiếp trực tiếp với vi điều khiển mà không cần module trung gian.

- Cần lựa chọn một máy tính nhúng để chạy sever và database, yêu cầu nhỏ gọn, đáp ứng đủ nhu cầu thử nghiệm (khoảng dưới 10 users), có thể làm việc liên tục 24/24.

3.2.2. Đối với dàn thủy canh

- Chọn vật liệu làm khung bằng nhựa để giảm giá thành, phù hợp với mô hình thử nghiệm.

- Thùng được dung dịch thủy canh có dung tích đủ cho từ 10- 20 cây rau, cần có 1 ngăn nhỏ để chứa cảm biến lấy mẫu. Chọn bơm nước cho dàn phù hợp với dung tích của thùng.

3.3.7. Khối âm thanh thông báo

Hoạt động: Sử dụng một còi buzzer được điều khiển thông qua transistor Q3 để tạo ra các âm thanh thông báo cho hệ thống.

3.3.9. Khối LCD 20x4 I2C

Hoạt động: IC PCF8574A giúp chuyển đổi giao tiếp 4bits của LCD thành giao tiếp I2C giúp giảm số IO cần kết nối với vi điều khiển.

3.3.12. Dàn thủy canh

- Sử dụng ống PVC để làm hệ thống dẫn nước và khung cho dàn thủy canh.

- Sử dụng 2 thùng chứa: Thùng chính có dung tích 30L chứa dung dịch thủy canh (dung dịch đã có pha chất dinh dưỡng), thùng phụ có dung tích 15L chứa nước để bổ sung cho thùng chính khi cần.

- Sử dụng một bơm 220VAC/18W để bơm dung dịch thủy canh lên dàn, dung dịch sẽ chảy qua các ống, được cây hấp thụ và cuối cùng trở về lại thùng chứa.

CHƯƠNG 4: THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM

4.1. Yêu cầu

4.1.1. Firmware

Xây dựng chương trình trên vi điều khiển ESP32 thực hiện các chức năng:

- Đọc cảm biến, xử lý tín hiệu và hiển thị giá trị lên LCD.

- Điều khiển 4 bơm chất dinh dưỡng và 1 bơm nước.

- Gửi dữ liệu lên MQTT broker theo lịch đã cài sẵn.

- Nhận thông tin cài đặt từ sever thông qua MQTT.

- Lưu dữ liệu trong vòng 1 tháng vào thẻ nhớ SD card.

4.1.2. Software

Xây dựng một ứng dụng web với frontend, backend và database cho phép người sử dụng:

- Tạo tài khoản, thêm thiết bị vào tài khoản (một tài khoản có thể thêm nhiều thiết bị).

- Việc đăng nhập cần phải có quá trình xác thực người dùng.

- Theo dõi trạng thái kết nối của thiết bị (online hay offline).

4.2. Phân tích

4.2.1. Firmware

Để thực hiện được yêu cầu đặt ra, cần chia chương trình thành các tác vụ nhỏ và lập lịch để thực hiện (sử dụng hệ điều hành thời gian thực FreeRTOS).

4.2.2. Software

Để xây dựng một website nhóm đã sử các thành phần bao gồm: MongoDB, ExpressJs, React, Node.js và Socket.io.

Quy trình hoạt động của ứng dụng:

+ Bước 1: Người dùng thực hiện đăng nhập hoặc đăng kí tài khoản.

+ Bước 2: Thực hiện kết nối wifi cho thiết bị. Sau khi thiết bị kết nối với wifi, thiết bị sẽ gửi một gói tin đến server, server nhận được gói tin và sẽ lưu ID của thiết bị mới vào database.

+ Bước 3: Thực hiện thêm thiết bị qua ID của thiết bị và đặt tên cho thiết bị. Sau khi thêm thiết bị, dữ liệu từ thiết bị sẽ được lưu vào database của server. Từ đó web app sẽ thực hiện cập nhật dữ liệu lên trang web.

4.3.2. Software

4.3.2.1. Backend

Back-end sẽ có nhiệm vụ:

- Truyền/nhận dữ liệu qua MQTT broker và thực hiện bóc tách dữ liệu nhận được thông qua các topic.

- Xử lý những yêu cầu HTTP và thực hiện trả lời những yêu cầu ấy.

- Thực hiện tương tác với database MongoDB để nhập và truy vấn dữ liệu.

CHƯƠNG 5: KẾT QUẢ THỰC HIỆN

5.1. Phần cứng

5.1.1. Bộ điều khiển

Do đề tài thực hiện với quy mô nhỏ nên nhóm lựa chọn phương thức làm mạch in thủ công để tiết kiệm chi phí.

Làm mạch in, hàn linh kiện, kết nối các cảm biến và đưa vào hộp bảo vệ: Sắp xếp các linh kiện như mạch nguồn, mạch xử lý và mạch cảm biến tối ưu để đủ không gian và tránh nhiễu.

5.1.2. Dàn thủy canh

- Bộ phận lấy mẫu: Dung dịch quay trở lại thùng chứa được trích một phần để đưa vào bộ phận lấy mẫu, bên trong chứa các cảm biến: TDS, PH và nhiệt độ.

- Cảm biến mực nước cao và thấp được kết nối trên một ống trụ và có thể thay đổi độ cao giúp linh hoạt trong việc lựa chọn mức dung dịch trong thùng chứa.

5.1.3. Thử nghiệm trồng rau thủy canh

Quá trình thử nghiệm diễn ra trong vòng 1 tháng và trải qua các bước:

5.1.3.1. Bơm nước để kiểm tra rò rỉ

Bơm nước lên tầng trên của dàn thủy canh, quan sát nước chảy qua các lỗ để chứa cây trồng và quay trở lại thùng chứa, phát hiện rò rỉ và khắc phục.

5.1.3.2. Hiệu chuẩn cảm biến

5.1.3.2.1. Cảm biến PH

Sử dụng 2 gói hiệu chuẩn PH 4.01 và 6.86, mỗi gói hòa lần lượt với 250ml nước để hiệu chỉnh cảm biến PH. Cụ thể được trình bày trong Hướng dẫn sử dụng thiết bị.

5.1.3.2.2. Cảm biến TDS

Sử dụng gói hiệu chuẩn 1000ppm để hiệu chuẩn cảm biến TDS, cụ thể được trình bày trong hướng dẫn sử dụng thiết bị.

5.1.3.3. Thêm dụng dịch vào chai chứa

Sử dụng bộ dung dịch thủy canh dành cho rau ăn lá (đã có đủ khoáng chất cho cây) , cho vào chai đựng dung dịch tương ứng.

5.2. Phần mềm

Ở bước thử nghiệm này, nhóm sẽ sử dụng một tài khoản đã được thêm sẵn thiết bị để tiện cho việc thử nghiệm, hướng dẫn sử dụng Web App chi tiết sẽ được nêu ở Phần 8: Phụ lục.

Việc thử nghiệm Web Application bao gồm:

- Thực hiện kiểm tra việc nhận các các giá trị cảm biến gửi lên.

- Thực hiện gửi các thông số cấu hình cho thiết bị qua các cách cài đặt khác nhau

5.3. Kết quả thử nghiệm

Hệ thống hoạt động ổn định, các thành phần giao tiếp và truyền dữ liệu hiệu quả, chất dinh dưỡng được kiểm soát và vổ sung theo giá trị cài đặt, cây trồng phát triển xanh tốt:

CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1. Kết luận

6.1.1. Ưu điểm

- Hệ thống ứng dụng mô hình IoT, là xu thể của tương lai giúp việc giám sát và quản lý thiết bị trở nên hiệu quả hơn.

- Hệ thống hoạt động hiệu quả và ổn định, góp phần giảm bớt công sức cho việc chăm sóc dàn cây thủy canh.

- Thành phần cấu tạo đơn giản, dễ dang thay thế khi gặp sự cố

- Tính năng của hệ thống được phát triển dựa trên nhu cầu của người sử dụng, giúp việc sử dụng cũng như cập nhật, bảo trì hệ thống được đơn giản và thuận lợi.

- Giá thành rẻ phù hợp với các mô hình sản xuất thủy canh có quy mô vừa và nhỏ.

6.1.2. Nhược điểm

- Do giới hạn của đề tài (thời gian nghiên cứu, kinh phí,…) nên các thành phần ở phía máy chủ của hệ thống (MQTT broker, database, back-end sever) mới chỉ dừng lại ở mức độ mô hình, chưa thể đưa ra sử dụng với quy mô lớn.

- Do chất lượng của các cảm biến TDS và PH chưa cao, tín hiệu đọc về vẫn có còn sai số tương đối lớn (dẫn đến phải hiệu chuẩn cảm biến thường xuyên).

- Hệ thống vẫn chưa thể thực hiện gửi các giá trị cấu hình theo chu trình phát triển của cây một cách tự động. Nghĩa là người dùng chỉ cần chọn loại cây và hệ thống sẽ tự động gửi các giá trị cấu hình tùy thuộc vào từng thời điểm phát triển của cây.

- Hiện tại web app đang sử dụng socketio nhưng về đồ thị vẫn chưa thể cập nhật real-time.

- Giao diện Web chưa được xây dựng tốt với những thiết bị có kích thước và độ phần giải khác nhau.

6.1.3. Kết luận

Tuy vẫn còn những hạn chế cần phải khắc phục nhưng hệ thống đã đạt được hầu hết các mục tiêu được đề ra trong phần nhiệm vụ. Đồng thời, sau gần 5 tháng thực hiện đề tài nhóm sinh viên đã rút ra được những kinh nghiệm quý giá trong quá trình và thiết kế, thực hiện một hệ thống:

- Trong quá trình tìm hiểu lý thuyết, phải xác định rõ lý thuyết cần đọc để tránh lan man trong quá trình tìm hiểu.

- Cần đề ra kế hoạch và thực hiện kế hoạch một cách nghiêm túc, trành trì hoãn ảnh hưởng đến tiến độ đề tài.

- Cuối cùng, đây cũng là cơ hội để sinh viên rèn luyện khả năng viết báo cáo, có thể nói là một kỹ năng cần thiết trong tương lai.

6.2. Hướng phát triển

  Đề tài có khả năng ứng dụng thực tế cao, đặc biệt là trong các hộ gia đình hoặc hệ thống thủy canh vừa và nhỏ. Một số hướng phát triển để đề tài trở nên hoàn thiện hơn:

- Sử dụng các cảm biến chất lượng cao chuyên dùng trong môi trường công nghiệp để nâng cao độ chính xác của phép đo và giảm tần suất hiệu chuẩn cảm biến.

- Các thành phần linh kiện như mạch in, hộp bảo vệ,... cần được gia công thay vì làm thủ công bằng tay, giúp tăng sự ổn định cho hệ thống.

- Phát triển hệ thống thể thực hiện gửi các giá trị cấu hình theo chu trình phát triển của cây một cách tự động.

- Đồ thị có thể cập nhật các giá trị real-time.

- Phát triển thêm App điện thoại có chức năng gồm tự động kết nối wifi cho ESP32 tương tự như ESP32 Smartconfig và các chức năng hiện có và sẽ phát triển trong tương lai của Web App.

- Web App có thể gửi các thống báo hoặc cảnh báo đến người dùng thông qua tin nhắn SMS hoặc email.

PHẦN 7: TÀI LIỆU THAM KHẢO

1. Kyle T. Gabrief, Automated Hydroponic System Build, https://kylegabriel.com/projects/2020/06/automated-hydroponic-system-build.html, truy cập 30/05/2022.

2. Thump Agri and Horti Tech, Automatic Fertigation Machine Dosing System for Hydroponic System,

https://www.mobilegrowsystem.com/Automatic-Fertigation-Machine-Dosing-System-for-Hydroponic-System-pd44751974.html, truy cập 30/05/2022.

3. Espressif, ESP-IDF Programing Guide,

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/index.html, truy cập 30/05/2022.

4. Espressif, ESP-WROOM-32, https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf, truy cập 30/05/2022.

5. Vishay, 20x4 Character LCD,

https://www.vishay.com/docs/37314/lcd020n004l.pdf, truy cập 30/05/2022.

6. Maxim Intergrated, DS18B20

"TẢI VỀ ĐỂ XEM ĐẦY ĐỦ LUẬN VĂN"