1. Trang chủ
  2. » Luận Văn - Báo Cáo

thiết kế vườn rau thông minh

58 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 58
Dung lượng 5,99 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (18)
    • 1.1 GIỚI THIỆU (18)
    • 1.2 MỤC TIÊU ĐỀ TÀI (19)
    • 1.3 GIỚI HẠN ĐỀ TÀI (19)
    • 1.4 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU (19)
      • 1.4.1 Đối tượng nghiên cứu (19)
      • 1.4.2 Phạm vi nghiên cứu (20)
    • 1.5 BỐ CỤC ĐỀ TÀI (20)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (21)
    • 2.1 CHUẨN GIAO TIẾP UART [1] (21)
      • 2.1.1 Giới thiệu (21)
      • 2.1.2 Cách truyền dữ liệu của chuẩn giao tiếp UART (22)
    • 2.2 CHUẨN GIAO TIẾP I2C [4] (23)
      • 2.2.1 Giới thiệu (23)
      • 2.2.2 Khung truyền I2C (24)
      • 2.2.3 Quá trình truyền nhận dữ liệu của I2C (0)
    • 2.3 CƠ SỞ DỮ LIỆU THỜI GIAN THỰC TRÊN FIREBASE [8] (0)
    • 2.4 ANDROID STUDIO (27)
  • CHƯƠNG 3: THIẾT KẾ HỆ THỐNG (29)
    • 3.1 GIỚI THIỆU (29)
      • 3.1.1 Yêu cầu phần cứng (29)
      • 3.1.2 Phần mềm (29)
    • 3.2 SƠ ĐỒ KHỐI VÀ CHỨC NĂNG TỪNG KHỐI (30)
    • 3.3 NGUYÊN LÝ HOẠT ĐỘNG CỦA HỆ THỐNG (31)
    • 3.4 THIẾT KẾ HỆ THỐNG PHẦN CỨNG (31)
      • 3.4.1 Khối cảm biến (31)
      • 3.4.2 Khối hiển thị (34)
      • 3.4.3 Khối xử lý trung tâm [9] (35)
      • 3.4.4 Khối truyền nhận dữ liệu Firebase (0)
      • 3.4.5 Khối nguồn (39)
      • 3.4.6 Sơ đồ nguyên lý (40)
    • 3.5 THIẾT KẾ PHẦN MỀM (41)
    • 3.6 LƯU ĐỒ THUẬT TOÁN PHẦN CỨNG (41)
      • 3.6.1 Lưu đồ thuật toán khối xử lí trung tâm (0)
      • 3.6.2 Lưu đồ thuật toán khối truyền nhận dữ liệu Firebase (0)
      • 3.6.3 Lưu đồ giải thuật điều khiển động cơ (0)
    • 3.7 LƯU ĐỒ GIẢI THUẬT ỨNG DỤNG TRÊN ANDROID (44)
      • 3.7.1. Lưu đồ nhận truyền dữ liệu giữa Firebase và ứng dụng (0)
      • 3.7.2 Lưu đồ tổng thể của ứng dụng (48)
  • CHƯƠNG 4: KẾT QUẢ VÀ ĐÁNH GIÁ (49)
    • 4.1 KẾT QUẢ THỰC HIỆN MÔ HÌNH (49)
    • 4.2 ĐÁNH GIÁ (54)
  • CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (56)
    • 5.1 KẾT LUẬN (56)
    • 5.2 HƯỚNG PHÁT TRIỂN (56)
  • TÀI LIỆU THAM KHẢO (57)

Nội dung

Nội dung thực hiện đề tài: Thiết kế vườn rau thông minh có chức năng bơm nước tự động, tính năng điều khiển bởi người dùng qua một phần mềm ứng dụng di động khi kết nối với mạng Internet

TỔNG QUAN

GIỚI THIỆU

Rau xanh không chỉ được xem là một mấu chốt thiết yếu trong chế độ dinh dưỡng của con người, nó rất quan trọng trong việc cung cấp khoáng chất và vitamin, góp phần vào sự cân bằng dinh dưỡng hàng ngày Tại Việt Nam, chúng ta đang đối mặt với thách thức lớn về ô nhiễm môi trường và an toàn thực phẩm Nguyên nhân chính của vấn đề này bao gồm việc sử dụng quá mức hoá chất độc hại, thuốc bảo vệ thực vật, chất kích thích sinh trưởng, và sự sử dụng nguồn đất và nước bị ô nhiễm để trồng rau Đa số người tiêu dùng thường tiếp xúc với các sản phẩm nông nghiệp như rau xanh, hoa quả mà không biết rõ nguồn gốc của chúng Thời đại nay, tối ưu công việc là ưu tiên của người lao động, việc làm vườn theo phong cách truyền thống không còn được ưa chuộng Người dân ở các thành phố lớn, dù bận rộn với công việc, vẫn mong muốn sở hữu một khu vườn để thư giãn hoặc đơn giản chỉ để sản xuất thực phẩm an toàn và vệ sinh Họ mong muốn có khả năng tự quản lý vườn và đồng thời muốn hệ thống tự động chăm sóc khi họ bận rộn Xu hướng trồng thực phẩm tại các khu vực thành thị đang ngày càng phổ biến, được thúc đẩy bởi sự áp dụng các công nghệ kỹ thuật hiện đại Nhanh chóng xuất hiện những thương hiệu làm vườn thông minh, mang lại lợi ích về tiết kiệm thời gian và chi phí, an toàn môi trường, và hệ thống tưới tự động

Trong bối cảnh Công nghiệp 4.0 và sự phát triển mạnh mẽ của Internet, IoT (Internet of Things) đang thay đổi cách con người nghĩ và làm việc Các ứng dụng IoT, như điều khiển và giám sát từ xa, hệ thống định vị, và an ninh an toàn, mang lại sự tiện lợi cho con người Khi kết hợp IoT vào quản lý và chăm sóc cây trồng, đặc biệt là rau xanh, chúng ta có thể tạo ra một hệ thống thông minh và tiện ích Hệ thống này không chỉ đạt được độ tin cậy cao nhờ tính chính xác của nó mà còn mở ra cánh cửa cho sự đổi mới trong nông nghiệp, nhờ vào ưu việt của công nghệ IoT

MỤC TIÊU ĐỀ TÀI

Thiết kế vườn rau thông minh đáp ứng các yêu cầu sau:

• Kiểm tra các thông số nhiệt độ không khí, độ ẩm môi trường, độ ẩm đất, điều kiện chiếu sáng

• Thiết kế ứng dụng android để xem các chỉ số nhiệt độ không khí, độ ẩm môi trường, độ ẩm đất, điều kiện chiếu sáng của vườn rau

• Cài đặt các mức, chế độ tưới theo ý muốn

• Ứng dụng Android hiển thị hình ảnh trực tiếp của khu vườn thông qua camera

Dự án này không chỉ là bước tiến trong việc ứng dụng kiến thức thực hành, mà còn mở ra cơ hội học hỏi mới về quản lý môi trường và cảm biến Quá trình phát triển dự án sẽ là cơ hội để phát triển tư duy giải quyết vấn đề, tính tự giác và làm việc nhóm Ngoài ra, dự án này còn mang lại lợi ích thực tế trong việc quản lý vườn rau và đồng thời tạo nền tảng cho sự phát triển công nghiệp, nông nghiệp và trong lĩnh vực môi trường.

GIỚI HẠN ĐỀ TÀI

Đề tài thiết kế hệ thống vườn rau có hai ô trồng, có thể xem các chỉ số về nhiệt độ và độ ẩm môi trường, độ ẩm đất, ánh sáng giá trị của môi trường bằng cảm biến, có hai chế độ tưới của máy bơm, xem chỉ số và hình ảnh từ xa thông qua ứng dụng Android, khi kết nối mạng Internet sẽ trao đổi dữ liệu liên tục giữa Firebase, phần cứng và phần mềm.

ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

• Mạch Arduino Uno R3, NodeMCU ESP8266, ESP32 CAM

• Module cảm biến nhiệt độ, độ ẩm không khí, độ ẩm đất và ánh sáng

• Rơ le bật tắt máy bơm

• Cơ sở dữ liệu thời gian thực Firebase

• Dịch vụ lưu trữ đám mây Firebase Storage

• Phần mềm lập trình ứng dụng di động Android Studio

• Nghiên cứu sử dụng nhiều cảm biến cùng lúc, bật tắt rơ le

• Firebase lưu dữ liệu và hình ảnh từ camera

• Sử dụng ứng dụng Android giám sát và điều khiển từ xa

• Tái dùng lượng nước dư thừa.

BỐ CỤC ĐỀ TÀI

Báo cáo đề tài có bố cục gồm 5 chương:

• Chương 2: CƠ SỞ LÝ THUYẾT

• Chương 3: TÍNH TOÁN VÀ THIẾT KẾ

• Chương 4: KẾT QUẢ VÀ ĐÁNH GIÁ

• Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

CƠ SỞ LÝ THUYẾT

CHUẨN GIAO TIẾP UART [1]

UART là một kiểu giao thức truyền dữ liệu được sử dụng tương đối rộng rãi và đơn giản, bao gồm hai đường truyền độc lập dữ liệu là TX (truyền) và RX (nhận) UART là giao thức truyền dữ liệu không đồng bộ, nó là phương thức giao tiếp giữa hai phần cứng sử dụng mối giao tiếp nối tiếp không đồng bộ Tốc độ truyền của UART phải là ở một con số chuẩn và tốc độ giống nhau giữa hai thiết bị truyền và nhận, chẳng hạn như 9600, 38400, 115200 baud và một vài tốc độ khác UART có định nghĩa tốc độ truyền là số lượng bit dữ liệu mỗi giây được truyền tải Tốc độ có thể thay đổi linh hoạt dựa theo yêu cầu người dùng cũng như yêu cầu của các ứng dụng Dữ liệu được truyền qua đường truyền TX RX có dạng khung dữ liệu, sử dụng một bit bắt đầu, bit dừng, bit chẵn lẻ và bit dữ liệu

Giữa hai thiết bị truyền UART thì được kết nối bởi ba đường TX, RX và GND Chân RX của thiết bị nhận sẽ được nối tiếp với chân TX thiết bị gửi và ngược lại, đặc biệt lưu ý là GND phải được chập vào nhau để so sánh mức điện áp

Bảng 2.1 Chuẩn giao tiếp UART [1]

Số dây lượng sử dụng Hai dây

Tốc độ Từ 9600 đến 115200 tốc độ baud

Phương thức truyền của giao thức Không đồng bộ

Kiểu truyền Truyền theo kiểu nối tiếp

2.1.2 Cách truyền dữ liệu của chuẩn giao tiếp UART

UART sẽ truyền data qua một bus data, để chuyển gửi dữ liệu từ các thiết bị khác như Arduino đến UART Dữ liệu từ bus data được chuyển sang UART 1 dưới kiểu truyền song song Sau đó UART1 nhận tín hiệu sẽ bắt đầu tạo gói dữ liệu từ một bit Start, một bit Parity và một bit Stop Sau đó, gói dữ liệu được đưa ra qua các bit liên tiếp tại chân truyền TX UART 2 nhận gói dữ liệu theo từng bit tại chân RX của nó Tiếp theo, UART 2 thực hiện việc loại bỏ Start bit, Parity bit, và Stop bit Khi kết thúc, UART2 sẽ chuyển gói dữ liệu đó song song với bus dữ liệu ở ban đầu nhận

Hình 2.2 Khung dữ liệu UART [3]

Trong giao thức UART, dữ liệu là các gói, hay còn gọi là "Packets" Mỗi Packet bao gồm 1bit bắt đầu, khoảng từ 5 đến 9 bit dữ liệu, 1bit chẵn lẻ và 1 hoặc 2bit dừng

Start bit: UART sẽ giữ cho đường truyền ở mức cao khi chưa thực hiện việc truyền dữ liệu Khi bắt đầu quá trình gửi, đường truyền sẽ được UART bên gửi cho xuống mức thấp trong khoảng một chu kỳ thời gian Khi phát hiện sự chuyển đổi điện áp xuống thấp, UART 2 bắt đầu đọc các bit trong Packets ở tần số của tốc độ truyền

Data Frame: Các bit nào đang truyền sẽ hiện ở đây, nếu dùng bit kiểm tra chẵn lẻ thì có độ dài khung là khoảng 5 đến 8 bit, nếu không thì data frame có thể dài đến

9 bit Bit LSB được gửi đầu tiên trong khung truyền

Parity bit: Mô tả tính lẻ hoặc chẵn của một số, đây là phương thức để UART kiểm tra xem khi truyền có bị lỗi, có sự thay đổi hoặc mất mát dữ liệu hay không Khi truyền dữ liệu sẽ bị các lỗi về tốc độ truyền hoặc do khoảng cách truyền quá xa,

…Khi khung truyền sang thiết bị nhận, nó sẽ bắt đầu đếm tổng số bit là 1, và kiểm tra xem đó là một con số chẵn hay lẻ Từ đó kiểm tra tính chính xác của việc truyền dữ liệu bằng cách nếu parity bit là số 0 thì phải là chẵn ngược lại thì nếu parity bit là số 1 thì phải là con số lẻ, nếu không trùng khớp thì dữ liệu đã bị lỗi.

CHUẨN GIAO TIẾP I2C [4]

Giao thức I2C là một chuẩn giao tiếp đồng bộ nối tiếp, được phát triển bởi Philips Semiconductors Các bit dữ liệu được truyền lần lượt một theo chu kỳ đều đặn được xác định bởi một tín hiệu thời gian và chỉ sử dụng hai dây truyền tín hiệu duy nhất Sử dụng I2C để kết nối với nhiều loại IC, hoặc là vi điều khiển, EEPROM, mạch hiển thị, và các thiết bị IoT khác

I2C có cấu tạo đơn giản, bao gồm hai dây là:

 SCL: Xung nhịp đồng hồ sẽ được tạo bởi Master

 SDA: Đường dùng để nhận dữ liệu

Giao thức I2C là việc giao tiếp, trao đổi dữ liệu giữa các thiết bị Slave và Master Trong kiểu giao tiếp này, đường truyền SCL và đường lệnh SDA sẽ được điều khiển bởi Master, thường là một vi điều khiển Các thiết bị IC, vi điều khiển Slave sẽ nhận dữ liệu và lệnh từ Master

Master và Slave kết nối với nhau ở chế độ Open Drain thông qua hai dây SDL và SDA Để tránh tình trạng ngắn mạch, không có thiết bị nào trên I2C có thể kéo SCL và SDA lên mức cao (HIGH) và ngược lại, bất kỳ thiết bị nào cũng kéo xuống được mức thấp (LOW), sẽ không có tính trạng một bên cố gắng kéo lên mức cao trong khi một bên đang cố gắng kéo xuống mức thấp

Vì vậy, để ngăn chặn hiện tượng trên, một điện trở (thường là khoảng 1 - 4,7 kΩ) được sử dụng để duy trì mức cao mặc định trên đường bus

Giao tiếp I2C hiện hỗ trợ hai chế độ tốc độ khác nhau:

 Chế độ hoạt động chuẩn hoạt động với tốc độ 100 kBit/s

 Chế độ hoạt động tốc độ thấp với tốc độ 10 kBit/s

 Khối bắt đầu: Cho biết việc truyền dữ liệu sẽ bắt đầu

 Bit địa chỉ: Được sử dụng để phân biệt giữa nhiều IC hoặc thiết bị trong quá trình truyền nhận Thường là 7 bit, nhưng có thể là 8, 9, hoặc 10 bit tùy thuộc vào yêu cầu cụ thể

 Bit read/ write: Có tác dụng kiểm tra xem Master đang gửi hay nhận dữ liệu Nếu bit này bằng ‘0’ thì tương ứng với Master gửi dữ liệu và ngược lại, nếu nó bằng ‘1’ là nhận dữ liệu

 Bit ACK/NACK: Sử dụng để xác nhận sự trùng khớp giữa các địa chỉ Nếu giống nhau, Slave trả về giá trị '0', ngược lại là '1'

 Khối bit dữ liệu: Chứa dữ liệu muốn gửi, độ dài của nó là 8 bit

 Kết thúc: Dấu hiệu thông báo kết thúc quá trình gửi

2.2.3 Quá trình truyền nhận dữ liệu của I2C

Bắt đầu quá trình truyền dữ liệu, Master kéo lần lượt SCL và SDA xuống mức thấp Sau đó, gửi đi một địa chỉ dài 7 bit cùng bit Read/Write tới Slave nhận dữ liệu

Hình 2.5 Sau khi Master gửi xung Start [7]

Thiết bị Slave so sánh địa chỉ nhận được với địa chỉ của nó Nếu giống nhau, đường dây SDA sẽ được kéo xuống mức thấp cũng như cho bit ACK/NACK xuống

0 Nếu khác nhau thì cả đường đó đều được giữ giá trị mặc định là '1'

Trong quá trình truyền, bit Read/Write ở mức cao hoặc thấp sẽ xác định Master gửi hoặc nhận dữ liệu, mức thấp là gửi, mức cao là nhận Khi dữ liệu gửi thành công, ACK/NACK sẽ xuống mức thấp để thông báo cho Master gửi tiếp dữ liệu Khi Slave thành công nhận dữ liệu, Master sẽ gửi tín hiệu bằng cách nâng SDA và SCL từ mức thấp lên mức cao, tín hiệu dừng sẽ cho các Slave biết rằng quá trình gửi dữ liệu đã xong

2.3 CƠ SỞ DỮ LIỆU THỜI GIAN THỰC TRÊN FIREBASE [8]

Firebase lần đầu tiên được ra mắt là vào năm 2012 bởi hai nhà phát triển James Tamplin và Andrew Lee từ công ty Envole, Firebase là công cụ lưu trữ cơ sở dữ liệu dựa trên lưu trữ đám mây nhằm hỗ trợ người dùng dễ dàng thiết kế phần mềm di động, thiết kế web và các ứng dụng có dùng cơ sở dữ liệu

Firebase Realtime Database là một chức năng lưu trữ dữ liệu trực tuyến thời gian thực được chính Firebase phát triển Dịch vụ này cung cấp người dùng một cơ sở dữ liệu đám mây NoSQL, trong đó dữ liệu này có dạng cây JSON và cập nhật liên tục gần như tức thì giữa các phần cứng và nguồn dữ liệu Đồng thời nó còn cho phép lưu trữ và đồng bộ hóa dữ liệu trong thời gian thực giữa các ứng dụng di động, máy chủ và các hệ thống web

Hình 2.7 Cơ sở dữ liệu thời gian thực của firebase

Android Studio là một công cụ phát triển phần mềm di động Android chính thức và mạnh mẽ, nó có sự tin cậy cao và được sử dụng phổ biến trong các mô hình phát triển ứng dụng Đây hoàn toàn một môi trường lập trình hoàn hảo cho việc tạo ra ứng dụng Android và là một nền tảng linh hoạt dễ quản lý cũng như triển khai dự án

Hiện nay, Android Studio mang đến hai ngôn ngữ lập trình chính là Java và Kotlin Tuy vậy, trong cộng đồng phát triển ứng dụng Android (và đặc biệt là trong dự án này), Java được sử dụng làm ngôn ngữ chính Để bắt đầu thiết kế và phát triển một ứng dụng Android bằng Android Studio, người phát triển thực hiện hai công việc chính:

Hình 2.8 Một giao diện Android Studio đang được thiết kế o Người phát triển chịu trách nhiệm tạo ra giao diện bên ngoài màn hình như biểu tượng, nút nhấn, hình ảnh, và các yếu tố khác o Các thành phần này có thể mang theo chức năng cụ thể hoặc không có chức năng nào, thường được đặc trưng và lưu trữ trong các tệp tin có định dạng xml

Hình 2.9 Một số chức năng được lập trình ở phần java class o Giao diện sẽ được thiết kế dựa trên yêu cầu chức năng đặt ra, người phát triển sẽ lập trình để triển khai các chức năng cho mỗi trang hoặc thành phần của ứng dụng o Các tệp tin chứa mã nguồn của các chức năng thường được lưu trữ dưới định dạng java

Android Studio không chỉ cung cấp một môi trường làm việc hiệu quả cho việc tạo ra giao diện và thiết kế các chức năng mà còn cung cấp tính năng kiểm tra, gỡ lỗi, và triển khai ứng dụng một cách thuận tiện, giúp tối ưu hoá việc triển khai ý tưởng và đảm bảo chất lượng ứng dụng Android đầu ra.

ANDROID STUDIO

Android Studio là một công cụ phát triển phần mềm di động Android chính thức và mạnh mẽ, nó có sự tin cậy cao và được sử dụng phổ biến trong các mô hình phát triển ứng dụng Đây hoàn toàn một môi trường lập trình hoàn hảo cho việc tạo ra ứng dụng Android và là một nền tảng linh hoạt dễ quản lý cũng như triển khai dự án

Hiện nay, Android Studio mang đến hai ngôn ngữ lập trình chính là Java và Kotlin Tuy vậy, trong cộng đồng phát triển ứng dụng Android (và đặc biệt là trong dự án này), Java được sử dụng làm ngôn ngữ chính Để bắt đầu thiết kế và phát triển một ứng dụng Android bằng Android Studio, người phát triển thực hiện hai công việc chính:

Hình 2.8 Một giao diện Android Studio đang được thiết kế o Người phát triển chịu trách nhiệm tạo ra giao diện bên ngoài màn hình như biểu tượng, nút nhấn, hình ảnh, và các yếu tố khác o Các thành phần này có thể mang theo chức năng cụ thể hoặc không có chức năng nào, thường được đặc trưng và lưu trữ trong các tệp tin có định dạng xml

Hình 2.9 Một số chức năng được lập trình ở phần java class o Giao diện sẽ được thiết kế dựa trên yêu cầu chức năng đặt ra, người phát triển sẽ lập trình để triển khai các chức năng cho mỗi trang hoặc thành phần của ứng dụng o Các tệp tin chứa mã nguồn của các chức năng thường được lưu trữ dưới định dạng java

Android Studio không chỉ cung cấp một môi trường làm việc hiệu quả cho việc tạo ra giao diện và thiết kế các chức năng mà còn cung cấp tính năng kiểm tra, gỡ lỗi, và triển khai ứng dụng một cách thuận tiện, giúp tối ưu hoá việc triển khai ý tưởng và đảm bảo chất lượng ứng dụng Android đầu ra

THIẾT KẾ HỆ THỐNG

GIỚI THIỆU

Đề tài "Thiết kế Vườn Rau Thông Minh" bao gồm cả phần cứng và phần mềm, và cả hai đều có các yêu cầu cụ thể:

Phần cứng hệ thống có thể khả năng xử lý dữ liệu từ các cảm biến nhiệt độ, độ ẩm, ánh sáng và hiển thị thông số lên màn hình LCD 16x2, kết nối với mạng Wifi và có khả năng truyền nhận dữ liệu với Firebase và các phần cứng khác trong hệ thống, chụp hình từ camera và gửi lên Firebase, đọc cảm biến ánh sáng và bật đèn nếu điều kiện ánh sáng kém, bật động cơ bơm nước theo chu kỳ, bật động cơ bơm nước thông qua nút nhấn

Nhóm bắt đầu bằng việc vẽ lưu đồ giải thuật và viết mã cho từng khối chức năng Sau khi hoàn thiện mã cho mỗi khối và đảm bảo chúng hoạt động ổn định khi chạy độc lập, nhóm tiến hành quá trình hợp nhất để tạo và điều chỉnh chương trình chung cho toàn bộ hệ thống Mục tiêu là đảm bảo giải thuật của toàn hệ thống hoạt động một cách hiệu quả nhất Đối với ứng dụng Android, có thể điều khiển và giám sát vườn rau từ xa, có các yêu cầu chính sau đây:

 Hiển thị các giá trị nhiệt độ và độ ẩm môi trường, ánh sáng, độ ẩm đất và hình ảnh từ vườn rau

 Lựa chọn chế độ tưới

 Lựa chọn thời gian cho một chu kỳ tự động tưới

SƠ ĐỒ KHỐI VÀ CHỨC NĂNG TỪNG KHỐI

Hình 3.1 Sơ đồ khối hệ thống

Các khối có chức năng như sau:

 Khối xử lý trung tâm: Lấy và tính toán xử lý chuỗi dữ liệu từ cảm biến, Firebase Bật đèn led và bật động cơ bơm nước dựa theo thông tin nhận được

 Khối nguồn: Cung cấp nguồn hoạt động cho toàn hệ thống, có tính liên tục, ổn định

 Khối cảm biến: Đọc liên tục giá trị nhiệt độ, độ ẩm không khí, độ ẩm đất, ánh sáng

 Khối hiển thị: hiện giá trị đọc được từ cảm biến

 Khối nút nhấn: Nhấn nút bật động cơ điều khiển máy bơm

 Khối động cơ: Bật động cơ theo chỉ thị từ khối xử lý trung tâm

 Khối đèn: Bật đèn khi điều kiện ánh sáng kém

 Khối Firebase: Lưu dữ liệu và hình ảnh, tương tác với khối xử lý trung tâm

 Khối truyền nhận dữ liệu Firebase: Là trung gian trong giao tiếp giữa khối xử lý trung tâm và Firebase Gửi dữ liệu nhận từ khối xử lý trung tâm lên Firebase và ngược lại, gửi dữ liệu nhận từ Firebase về khối xử lý trung tâm

 Khối camera: Chụp hình mỗi phút và gửi hình ảnh lên Storage của Firebase.

NGUYÊN LÝ HOẠT ĐỘNG CỦA HỆ THỐNG

Quá trình hoạt động của hệ thống sẽ tuân theo thứ tự đã được kiệt kê sau đây:

 Khối xử lý trung tâm và các ngoại vi khác như cảm biến ánh sáng, nhiệt độ, độ ẩm, LCD, … sẽ khởi động Dữ liệu sẽ bắt đầu được gửi và nhận liên tục lên Firebase thông qua Esp8266 sau khi kết nối được wifi LCD sẽ hiện giá trị đo được từ cảm biến

 Hệ thống sẽ bắt đầu đếm thời gian cho đến khi đến chu kỳ bơm sẽ bật động cơ bơm nước, sau khi bơm sẽ bắt đầu đếm chu kỳ mới Nhận giá trị từ Firebase để cài đặt thời gian chu kỳ bơm nước tuỳ theo người nhập

 Khi có tín hiệu từ nút nhấn vật lý, hệ thống bật và tắt lần lượt từng máy bơm Bật đèn nếu ánh sáng kém để chụp ảnh không bị tối

 Camera sau khi kết nối mạng wifi sẽ bắt đầu chụp và gửi ảnh lên storage Firebase mỗi phút với định dạng ảnh JPG.

THIẾT KẾ HỆ THỐNG PHẦN CỨNG

DHT11 là một loại module cảm biến nhiệt độ, độ ẩm phổ biến, được sử dụng rộng rãi nhờ vào chi phí thấp và tính dễ sử dụng của nó DHT11 có khả năng gửi dữ liệu chỉ với một dây truyền data Dữ liệu của DHT11 có tính chuẩn xác cao vì nó đã tích hợp một bộ tiền xử lý tín hiệu Điều này giúp việc sử dụng dễ dàng, dễ tiếp cận

15 hơn và làm cho nó thành một thiết bị tin dùng trong các ứng dụng đo lường, giám sát nhiệt độ, độ ẩm trong môi trường Với ưu điểm về chi phí và tính đơn giản, cảm biến DHT11 thường được tích hợp trong các dự án điện tử và IoT, nơi yêu cầu theo dõi để điều khiển thiết bị dựa trên điều kiện môi trường

Hình 3.2 Sơ đồ mạch cảm biến DHT11 Bảng 3.1 Đặc điểm thông số DHT11 Điện áp yêu cầu 3V - 5V (DC)

DHT11 gồm 2 chân cấp nguồn, và 1 chân gửi tín hiệu data Hiện nay, có hai loại cho DHT11 thông dụng ngoài thị trường: 3 chân và 4 chân

3.4.1.2 Cảm biến độ ẩm đất

Cảm biến độ ẩm đất (Soil Moisture Sensor) là một thành phần quan trọng được sử dụng trong các hệ thống tưới nước tự động, vườn thông minh, và các ứng dụng khác liên quan đến quản lý độ ẩm của đất Nó giúp xác định mức độ ẩm của đất thông qua phần đầu, sau đó giá trị sẽ được gửi về dưới dạng tín hiệu Analog hoặc Digital thông qua hai chân tương ứng

Hình 3.3 Sơ đồ mạch cảm biến độ ẩm đất

Khi đất có ẩm cao, cảm biến sẽ đưa ra trạng thái đầu ra ở mức 0, khi đất khô sẽ gửi mức 1 Độ nhạy của cảm biến được tinh chỉnh tự do thông qua việc sử dụng một biến trở

Bảng 3.2 Thông số kỹ thuật cảm biến độ ẩm đất Điện áp yêu cầu 3.3V-5V

Cảm biến ánh sáng có đặc tính điện trở biến đổi theo điều kiện ánh sáng nhận được, được tạo ra từ chất bán dẫn với đặc điểm có trở kháng cao và không có tiếp giáp Trong điều kiện tối, quang trở có điện trở lên đến vài Megaohm Khi có ánh sáng, điện trở giảm xuống mức vài trăm Ohm Độ chính xác của cảm biến là ± 5%RH và ±2o

Nguyên lý hoạt động là khi photon có đủ năng lượng va chạm vào, nó sẽ kích thích electron rời khỏi phân tử, tạo ra electron tự do trong chất bán dẫn, làm tăng khả

17 năng dẫn điện của chất Khả năng dẫn điện sẽ thay đổi dựa vào lượng photon đã hấp thụ

Hình 3.4 Sơ đồ mạch cảm biến ánh sáng

Có nhiều loại thiết bị hỗ trợ hiển thị thông số như LCD 20x4, TFT, Nhưng để đảm bảo hiển thị thông tin một cách tối ưu và tận dụng tính nhỏ gọn, nhóm thực hiện đã quyết định sử dụng màn hình LCD 16x2 Đặc điểm của màn hình này là ít kết nối chân, đồng thời sử dụng giao thức giao tiếp nối tiếp đồng bộ I2C Màn hình LCD 16x2 không chỉ nhỏ gọn mà còn giảm số lượng dây cần kết nối bằng cách sử dụng giao thức I2C Điều này giúp tối ưu hóa thiết kế phần cứng, làm cho nó trở nên gọn gàng và dễ dàng trong việc kết nối Việc sử dụng chỉ 2 chân giao tiếp là SCL và SDA cũng giúp tiết kiệm tài nguyên và làm cho quá trình giao tiếp Arduino UNO trở nên thuận tiện Sử dụng chuẩn giao thức kết nối I2C, giúp đơn giản hóa quá trình kết nối với LCD 16x2

Hình 3.5 Sơ đồ mạch LCD 16x2

Hệ thống được lắp thêm đèn led để chiếu sáng Khi điều kiện ánh sáng kém, khối xử lý trung tâm sẽ cho bật đèn led, tránh bị quá tối khi camera chụp hình

Hình 3.6 Sơ đồ mạch led chiếu sáng

3.4.3 Khối xử lý trung tâm [9]

Hiện nay, có thể tìm được rất nhiều vi mạch nhúng được thị trường cung cấp đa dạng để đáp ứng nhu cầu học tập, nghiên cứu, và phát triển sản phẩm chuyên sâu cho khách hàng, bao gồm học sinh, sinh viên và các doanh nghiệp Các loại vi mạch nhúng phổ biến bao gồm ARM, Intel Galileo, Altera, Arduino, Raspberry Pi, và nhiều loại khác Board Arduino Uno R3 đã được nhóm thiết kế chọn làm thiết bị xử lý trung tâm Lựa chọn này được đưa ra do vi điều khiển này phổ biến và dễ dàng lập trình

Nó đáp ứng với các phân khúc thiết kế hệ thống và thỏa mãn được các yếu tố ban đầu

19 mà nhóm đã đề ra Arduino Uno R3 cung cấp sự thuận tiện và tính ổn định trong việc phát triển và thử nghiệm, giúp nhóm hoàn thiện đề tài một cách hiệu quả

Hình 3.7 Sơ đồ mạch Arduino Uno R3

Arduino Uno R3 được cung cấp bởi Arduino, nó sử dụng vi điều khiển ATmega328 Bảng mạch này được trang bị các chân đầu vào/đầu ra Digital và Analog, tạo điều kiện cho việc giao tiếp với các thiết bị ngoại vi [4]

Bảng 3.3 Thông số của Arduino Uno R3

Vi điều khiển sử dụng ATmega328 8bit Điện áp để hoạt động 5V DC (dùng cổng USB)

Tần số Arduino hoạt động 16 MHz

Dòng điện tiêu thụ 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào tối đa 6-20V DC

Dòng tối đa trên mỗi chân I/O 30 mA

Dòng ra tối đa (chân 5V) 500 mA

Dòng ra tối đa (chân 3.3V) 50 mA

Bộ nhớ flash 32 KB (ATmega328) với 0.5KB được dùng bởi bootloader

Arduino Uno R3 được trang bị cổng USB, giúp hỗ trợ gỡ lỗi và cấp nguồn Bo mạch được tích hợp vi điều khiển Atmega328, đồng thời tích hợp nhiều tính năng như hẹn giờ, ngắt, bộ đếm, chân PWM, CPU, chân I/O Arduino Uno R3 cung cấp

14 chân I/O digital và 6 chân analog cho phép kết nối với thiết bị ngoại vi và các mạch mở rộng Bo mạch chỉ cần nguồn 5V để hoạt động, có thể lấy nguồn từ cổng USB Ngoài ra, Arduino Uno R3 còn hỗ trợ nguồn điện cắm ngoài lên đến 12V

3.4.4 Khối truyền nhận dữ liệu Firebase

Khối truyền nhận dữ liệu Firebase đóng vai trò then chốt trong việc trao đổi dữ liệu từ Arduino lên Firebase Nhóm thực hiện sử dụng mạch Wifi ESP8266 NodeMCU để đảm nhận vai trò này

Hình 3.8 Sơ đồ mạch ESP8266

ESP8266 NodeMCU là một mạch được xây dựng dựa trên chip Wifi SoC ESP8266 Thiết kế của kit này được tối ưu hóa để dễ tiếp cận, có khả năng dùng Arduino IDE để lập trình và nạp mã, nó mang lại thuận tiện, hiệu quả khi thực hiện những ứng dụng liên quan ESP8266 NodeMCU thường được ưa chuộng trong các

THIẾT KẾ PHẦN MỀM

Hiểu được mong muốn giám sát khu vườn từ xa của người dùng, nhóm đã thực hiện phát triển ra ứng dụng chạy trên Android để người dùng tiện theo dõi Ứng dụng này sẽ tích hợp các chức năng sau đây:

 Nhập tên loại rau mong muốn

 Hiển thị các thông số môi trường của khu vườn

 Kết nối Firebase Storage để cập nhật hình ảnh mỗi phút một lần

 Tùy chọn chế độ tưới.

LƯU ĐỒ THUẬT TOÁN PHẦN CỨNG

3.6.1 Lưu đồ thuật toán khối xử lí trung tâm

Khối xử lí trung tâm được thiết kế theo lưu đồ sau:

Hình 3.12 Lưu đồ thuật toán khối xử lý trung tâm

Khi bắt đầu khối xử lý trung tâm khởi động Arduino và các cảm biến cũng như khởi động màn hình LCD và động cơ bơm nước Sau đó, Arduino sẽ chờ đợi kết nối từ ESP8266 bằng kết nối UART Khi thành công sẽ bắt đầu điều khiển động cơ bơm nước dựa trên dữ liệu nhận được, có thể cài đặt thời gian chu kỳ mỗi lần bơm

Hệ thống sau đó kiểm qua nút nhấn xem có tín hiệu được nhấn hay không, hoặc kiểm tra biến bật máy bơm nhận được từ ESP8266, nếu một trong hai thoả điều kiện thì bật máy bơm nước

Kiểm tra giá trị ánh sáng xem nếu ánh sáng kém thì bật đèn led, nhằm đảm bảo môi trường ánh sáng thuận lợi cho camera chụp hình

3.6.2 Lưu đồ thuật toán khối truyền nhận dữ liệu Firebase

ESP8266 là thiết bị giao tiếp trung gian Firebase và Arduino Nó nhận dữ liệu từ Arduino để gửi lên Firebase, và ngược lại, cũng nhận dữ liệu từ Firebase để chuyển qua cho Arduino Lưu đồ khối truyền nhận dữ liệu Firebase như sau:

Hình 3.13 Lưu đồ giải thuật khối truyền nhận dữ liệu Firebase

3.6.3 Lưu đồ giải thuật điều khiển động cơ

Bật động cơ bơm khi nhận tín hiệu bơm từ Arduino khi biến đếm chu kỳ được đếm đến 0 giây, hoặc khi nhận tín hiệu bật động cơ lập tức Tín hiệu bơm có để được gửi từ ứng dụng di động Lưu đồ của khối như sau:

Hình 3.14 Lưu đồ giải thuật điều khiển động cơ.

LƯU ĐỒ GIẢI THUẬT ỨNG DỤNG TRÊN ANDROID

3.7.1 Lưu đồ nhận truyền dữ liệu giữa Firebase và ứng dụng

Sau khi nhận giá trị độ ẩm môi trường thì sẽ so sánh với mức đã cài làm ngưỡng (ở đây là 85), nếu độ ẩm vượt quá ngưỡng thì sẽ xuất giá trị ra màn hình là màu xanh, còn nếu thấp hơn thì sẽ là màu đen

Hình 3.15 Lưu đồ đọc dữ liệu độ ẩm

Sau khi nhận giá trị nhiệt độ thì sẽ so sánh với mức đã cài làm ngưỡng (ở đây là 33), nếu giá trị nhiệt độ trên 33 thì sẽ xuất giá trị ra màn hình là màu xanh, còn nếu thấp hơn thì sẽ là màu đen

Hình 3.16 Lưu đồ đọc dữ liệu nhiệt độ

Sau khi nhận giá trị độ ẩm đất thì sẽ tiến hành kiểm tra nếu giá trị đó là 0 thì sẽ là đất ẩm, còn 1 là đất khô

Hình 3.17 Lưu đồ đọc dữ liệu độ ẩm đất

Sau khi nhận giá trị ánh sáng thì sẽ tiến hành kiểm tra nếu giá trị đó là 0 thì sẽ là ánh sáng tốt, còn 1 là ánh sáng kém

Hình 3.18 Lưu đồ đọc dữ liệu ánh sáng Ứng dụng sẽ lấy hình ảnh xuống từ Storage Firebase, rồi cứ mỗi một phút thì sẽ cập nhật hình ảnh mới nhất

Hình 3.19 Lưu đồ nhận hình ảnh

Cài đặt giá trị bơm ban đầu (ví dụ: 8 tiếng, 12 tiếng, ) sau đó sẽ chọn chế độ mặc định hoặc tưới ngay Ở chế độ mặc định người dùng sẽ lựa chọn thời gian cụ thể mà họ mong muốn, sau khi chọn thời gian thì nhấn nút xác nhận để gửi lên Firebase, còn chế độ tưới ngay thì khi chọn sẽ kích hoạt máy bơm và thời gian bơm sẽ là 15 giây

Hình 3.20 Lưu đồ chọn chế độ máy bơm

3.7.2 Lưu đồ tổng thể của ứng dụng

Sau khi tổng hợp các lưu đồ chức năng truyền nhận dữ liệu giữa Firebase và ứng dụng vào trong thiết kế chính thì cho ra được lưu đồ giải thuật tổng thể sau

Hình 3.21 Lưu đồ tổng thể ứng dụng

Khi mở ứng dụng lên thì nó sẽ khởi tạo các đối tượng hiển thị và con trỏ để trỏ tới Firebase đã liên kết Kết nối mạng Internet là yêu cầu bắt buộc nếu muốn trao đổi dữ liệu với Firebase, nếu chưa kết nối mạng thì sẽ hiện thông báo yêu cầu người dùng mở kết nối mạng Ngược lại, nếu đã kết nối mạng thành công, thì ứng dụng sẽ tự động kết nối đến Firebase và bắt đầu quá trình truyền nhận dữ liệu

KẾT QUẢ VÀ ĐÁNH GIÁ

KẾT QUẢ THỰC HIỆN MÔ HÌNH

Dưới đây là mô hình hoàn thiện của hệ thống khi được cấp nguồn Mô hình được làm từ nhựa mica trong suốt, bao gồm hai khu vực trồng cây, một hộp chứa linh kiện, màn hình LCD 16x2 và nút nhấn được đặt trên hộp linh kiện, một camera được đặt tại góc Động cơ bơm nước được đặt dưới mô hình, chìm trong bể chứa nước, ống bơm nước được dán xung quanh cạnh mô hình khu vực trồng cây Đèn led được dán tại các góc của mô hình, sẽ được bật khi điều kiện ánh sáng kém Động cơ bơm nước sẽ bơm theo chu kỳ mặc định là 8 tiếng một lần, chu kỳ bật động cơ bơm có thể thay đổi bằng cách thao trên ứng dụng di động

Hình 4.1 Mô hình hoàn thiện hệ thống

Hình 4.2 Mô hình nhìn từ trên xuống

Một màn hình LCD hiển thị các giá trị của cảm biến của từng khu vực trồng cây Nút nhấn khi nhấn sẽ bật toàn bộ động cơ bơm nước theo thứ tự lần lượt, sau đó cài biến đếm lại từ đầu

Hình 4.3 Màn hình LCD và nút nhấn

Các dữ liệu như thông số cảm biến, chu kỳ bơm sẽ được lưu trên Realtime Database Firebase, các dữ liệu này sẽ được gửi nhận, đồng bộ liên tục

Hình 4.4 Định dạng dữ liệu trên Firebase

Camera sau khi kết nối Wifi sẽ chụp một tấm hình mỗi phút và gửi lên

Storage Firebase, có thể xem hình trên ứng dụng điện thoại

Hình 4.5 Hình ảnh từ Camera ESP-32

Hình ảnh được lưu trữ với định dạng JPG, được đặt tên là photo Camera sau khi chụp một tấm hình mới và gửi lên Firebase, hình mới sẽ được lưu đè lên hình cũ, nhằm tránh đầy thư mục lưu trữ

Hình 4.6 Thư mục lưu trữ hình ảnh Storage Firebase Ứng dụng Android được thiết kế có biểu tưởng như hình bên dưới

Hình 4.7 Icon ứng dụng điện thoại

Khi bật ứng dụng lên sẽ hiển thị màn hình chính của ứng dụng, trên màn hình chính có các số liệu chi tiết như tên loại rau, nhiệt độ và độ ẩm không khí, độ ẩm đất, ánh sáng, các chế độ tưới và hình ảnh khu vườn

Hình 4.8 Giao diện chính của ứng dụng

Người dùng có thể đặt tên rau cho từng vườn theo ý muốn, sau đó nhấn nút

Hình 4.9 Cài đặt tên rau

Có thể thay đổi chu kỳ bơm nước bằng cách chọn các ô như 8 tiếng, 12 tiếng,

24 tiếng và bấm xác nhận thì chu kỳ tưới sẽ cập nhật lên phần cứng Nếu người dùng

37 muốn tưới cây thủ công có thể tích chọn ô “Thủ công” và bấm xác nhận việc bật máy bơm

Hình 4.10 Chọn chế độ tưới.

ĐÁNH GIÁ

Khi đã hoàn thiện hệ thống, nhóm thực hiện đưa ra đánh giá như sau:

 Các cảm biến có thời gian đáp ứng tương đối nhanh, gần như tức thì

 Nút nhấn bật động cơ bơm có độ trễ một giây, phải nhấn trong vòng một giây mới bật động cơ

 Các thông số hiển thị trên LCD có độ trễ dưới 300 mili giây

 Tốc độ gửi và nhận dữ liệu từ Firebase xuống phần cứng còn chậm, độ trễ từ 2 đến 4 giây

 Tốc độ gửi nhận dữ liệu giữa ứng dụng di động và Firebase có độ trễ dưới

300 mili giây, có thể chậm hơn nếu điều kiện mạng wifi kém Ưu điểm của mô hình:

 Linh kiện dễ tìm kiếm và có giá thành rẻ

 Tiết kiệm nước, lượng nước dư khi tưới sẽ về bể nước và được sử dụng lại

 Dễ tiếp cận do đa phần chạy tự động

 Phải sử dụng nhiều nguồn để cung cấp cho hệ thống hoạt động

 Các ống bơm nước do tự chế nên khả năng bơm bị giảm so với tính toán ban đầu

 Đôi khi việc truyền nhận dữ liệu chậm do chất lượng mạng

 Đôi khi hệ thống hoạt động không như mong đợi và phát sinh lỗi

Ngày đăng: 07/06/2024, 16:36

HÌNH ẢNH LIÊN QUAN

Hình  ảnh  hoặc  một  danh  sách  các gạch đầu dòng. - thiết kế vườn rau thông minh
nh ảnh hoặc một danh sách các gạch đầu dòng (Trang 7)
Hình 2.1 UART  [2] - thiết kế vườn rau thông minh
Hình 2.1 UART [2] (Trang 22)
Hình 2.8 Một giao diện Android Studio đang được thiết kế - thiết kế vườn rau thông minh
Hình 2.8 Một giao diện Android Studio đang được thiết kế (Trang 27)
Hình 2.9 Một số chức năng được lập trình ở phần java class - thiết kế vườn rau thông minh
Hình 2.9 Một số chức năng được lập trình ở phần java class (Trang 28)
Hình 3.1 Sơ đồ khối hệ thống - thiết kế vườn rau thông minh
Hình 3.1 Sơ đồ khối hệ thống (Trang 30)
Hình 3.3 Sơ đồ mạch cảm biến độ ẩm đất - thiết kế vườn rau thông minh
Hình 3.3 Sơ đồ mạch cảm biến độ ẩm đất (Trang 33)
Hình 3.5 Sơ đồ mạch LCD 16x2 - thiết kế vườn rau thông minh
Hình 3.5 Sơ đồ mạch LCD 16x2 (Trang 35)
Hình 3.6 Sơ đồ mạch led chiếu sáng - thiết kế vườn rau thông minh
Hình 3.6 Sơ đồ mạch led chiếu sáng (Trang 35)
Hình 3.7 Sơ đồ mạch Arduino Uno R3 - thiết kế vườn rau thông minh
Hình 3.7 Sơ đồ mạch Arduino Uno R3 (Trang 36)
Hình 3.11 bên dưới sẽ thể hiện hoàn chỉnh toàn bộ các khối và sơ đồ đi dây  giữa các thiết bị ngoại vi và Arduino - thiết kế vườn rau thông minh
Hình 3.11 bên dưới sẽ thể hiện hoàn chỉnh toàn bộ các khối và sơ đồ đi dây giữa các thiết bị ngoại vi và Arduino (Trang 40)
Hình 3.12 Lưu đồ thuật toán khối xử lý trung tâm - thiết kế vườn rau thông minh
Hình 3.12 Lưu đồ thuật toán khối xử lý trung tâm (Trang 42)
Hình 3.13 Lưu đồ giải thuật khối truyền nhận dữ liệu Firebase. - thiết kế vườn rau thông minh
Hình 3.13 Lưu đồ giải thuật khối truyền nhận dữ liệu Firebase (Trang 43)
Hình 3.14 Lưu đồ giải thuật điều khiển động cơ. - thiết kế vườn rau thông minh
Hình 3.14 Lưu đồ giải thuật điều khiển động cơ (Trang 44)
Hình 3.15  Lưu đồ đọc dữ liệu độ ẩm. - thiết kế vườn rau thông minh
Hình 3.15 Lưu đồ đọc dữ liệu độ ẩm (Trang 45)
Hình 3.20 Lưu đồ chọn chế độ máy bơm. - thiết kế vườn rau thông minh
Hình 3.20 Lưu đồ chọn chế độ máy bơm (Trang 47)
Hình 3.19 Lưu đồ nhận hình ảnh. - thiết kế vườn rau thông minh
Hình 3.19 Lưu đồ nhận hình ảnh (Trang 47)
Hình 3.21 Lưu đồ tổng thể ứng dụng. - thiết kế vườn rau thông minh
Hình 3.21 Lưu đồ tổng thể ứng dụng (Trang 48)
Hình 4.1 Mô hình hoàn thiện hệ thống - thiết kế vườn rau thông minh
Hình 4.1 Mô hình hoàn thiện hệ thống (Trang 49)
Hình 4.2 Mô hình nhìn từ trên xuống - thiết kế vườn rau thông minh
Hình 4.2 Mô hình nhìn từ trên xuống (Trang 50)
Hình 4.3 Màn hình LCD và nút nhấn - thiết kế vườn rau thông minh
Hình 4.3 Màn hình LCD và nút nhấn (Trang 50)
Hình 4.5 Hình ảnh từ Camera ESP-32 - thiết kế vườn rau thông minh
Hình 4.5 Hình ảnh từ Camera ESP-32 (Trang 51)
Hình 4.4 Định dạng dữ liệu trên Firebase - thiết kế vườn rau thông minh
Hình 4.4 Định dạng dữ liệu trên Firebase (Trang 51)
Hình 4.6 Thư mục lưu trữ hình ảnh Storage Firebase. - thiết kế vườn rau thông minh
Hình 4.6 Thư mục lưu trữ hình ảnh Storage Firebase (Trang 52)
Hình 4.7 Icon ứng dụng điện thoại - thiết kế vườn rau thông minh
Hình 4.7 Icon ứng dụng điện thoại (Trang 52)
Hình 4.8 Giao diện chính của ứng dụng. - thiết kế vườn rau thông minh
Hình 4.8 Giao diện chính của ứng dụng (Trang 53)
Hình 4.9 Cài đặt tên rau. - thiết kế vườn rau thông minh
Hình 4.9 Cài đặt tên rau (Trang 53)
Hình 4.10 Chọn chế độ tưới. - thiết kế vườn rau thông minh
Hình 4.10 Chọn chế độ tưới (Trang 54)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w