Giới thiệu tình hình nghiên cứu hiện nay
Hiện nay, cùng với sự phát triển của xã hội, đời sống ngày càng được nâng cao, thời đại công nghệ 4.0 mọi thứ gần như là tự động, việc áp dụng công nghệ khoa học kỹ thuật vào đời sống công việc hằng ngày thực sự rất cần thiết Song song đó là sự phát triển của các ngành khoa học kỹ thuật, công nghệ kỹ thuật điện tử mà trong đó đặc biệt là ứng dụng hệ thống điều khiển tự động đóng vai trò rất quan trọng trong nhiều lĩnh vực khoa học kỹ thuật, quản lý, công nghiệp, quản lý thông tin và đặc biệt là nông nghiệp. Nông nghiệp luôn là vấn đề hàng đầu của các nước đối với vấn đề đảm bảo an ninh lương thực vì nó là một trong các lĩnh vực sản xuất vật chất chủ yếu của nền kinh tế Là ngành sản xuất chủ yếu để bảo đảm lượng thực và thực phẩm tiêu dùng cho xã hội và là thị trường lớn cung ứng nguyên v ật liệu và tiêu thụ hàng hoá của nền kinh tế và tích luỹ cho công nghiệp hoá Việt Nam hiện nay vẫn đang 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 Tuy nhiên trong nhiều năm quy mô cũng như chất lượng và sản lượng nông nghiệp của nước ta luôn thấp hơn so với các nước khác mà nguyên nhân chính là việc công nghệ sản xuất của nước ta quá lạc hậu, dựa quá nhiều vào việc thực hiện bằng tay chân Mô hình trồng trọt và chăm sóc cây tự động đang là một trong những kỹ thuật tự động được áp dụng nhiều trong các khu vườn. Giải phóng được sức lao động của người dân, thông qua App ứng dụng trên điện thoại, người dùng có thể dễ dàng theo dõi, điều khiển từ xa các hệ thống bơm tưới, thống kê được các thông số của môi trường, ngoài ra hệ thống còn được điều chỉnh và điều khiển hoàn toàn tự động và áp dụng công nghệ khoa học kỹ thuật vào quy trình giám sát và sản xuất Với những kiến thức đã học được trong nhiều năm trong đại học, đặc biệt là kiến thức về công nghệ kỹ thuật máy tính, tiếp xúc nhiều với các linh kiện điện tử cũng như là sự phát triển mạnh mẽ của IoT trong cuộc cách mạng công nghiệp 4.0 nói chung và sự phát triển của hệ thống chăm sóc theo dõi khu vườn nói riêng Nhóm thực hiện đã quyết định đề xuất đề tài “Thiết kế và thi công hệ thống giám sát chăm sóc cây trồng”.
Mục tiêu đề tài
Sự cần thiết, quan trọng cũng như tính khả thi và lợi ích của hệ thống cũng chính là lý do để chọn và thực hiện đề tài Đề tài “Thiết kế và thi công hệ thống giám sát chăm sóc cây trồng” đã thực hiện nhằm đạt được các mục tiêu sau:
• Tìm hiểu được cơ sở lý thuyết của việc thiết kế và thi công hệ thống giám sát và điều khiển các thiết bị trong mô hình trồng cây thông minh.
• Nghiên cứu về module ESP32, cảm biến nhiệt độ, độ ẩm, độ ẩm đất, cảm biến dòng điện, cách kết nối giữa các module để hoàn thành mô hình.
• Xây dựng phần cứng có chức năng đo được nhiệt độ môi trường, độ ẩm không khí và độ ẩm đất, bật tắt máy bơm tưới, máy bơm phun sương tự động hoặc bằng tay, cung cấp các thông tin lên LCD để người dùng có thể giám sát trực tiếp tại nông trại, phần cứng phát hiện được các linh kiện bị lỗi trong hệ thống.
• Xây dựng phần mềm có các chức năng để người sử dụng giám sát các thông số của nông trại từ xa như nhiệt độ môi trường, độ ẩm đất và độ ẩm không khí, cảnh báo đến người dùng khi điều kiện môi trường vượt quá ngưỡng đối với sự phát triển của cây trồng, ứng dụng còn có kiểm tra được lịch sử đo tại từng thời điểm để người dùng nắm được tình hình môi trường ứng dụng có biểu đồ cột thể hiện các lần đo nhiệt độ, biểu đồ Pie thể hiện độ ẩm đất, độ ẩm không khí Ngoài ra người sử dụng còn có thể bật tắt máy bơm tưới, máy phun sương từ xa, hiển thị được linh kiện nào đang bị hỏng hoặc đang hoạt động bình thường thông qua ứng dụng.
• Cân chỉnh, hoàn thiện được mô hình khu vườn trồng cây.
Giới hạn đề tài
Phạm vi tập đồ án này, nhóm thực hiện chỉ thiết kế và thi công hệ thống giám sát và điều khiển hệ thống giám sát chăm sóc một số cây trồng trong một khu vườn với kích thước nhỏ.
Hệ thống chỉ áp dụng đối với một số cây trồng.
Phương pháp nghiên cứu
Những phương pháp nghiên cứu mà nhóm đã sử dụng trong đề tài này:
• Phương pháp tổng hợp tài liệu lý thuyết: Đọc datasheet module
ESP32, cảm biến nhiệt độ và độ ẩm, cảm biến độ ẩm đất.
• Phương pháp phân tích nghiên cứu: Tìm hiểu sự sinh trưởng của cây trồng để đưa ra những phương pháp hợp lý giúp cây trồng phát triển.
• Phương pháp chuyên gia: Tham khảo ý kiến, tư vấn trực tiếp từ giáo viên hướng dẫn, các bạn cùng lớp, các anh chị khóa trên, Sau đó nhóm thực hiện tập hợp những ýkiến trả lời làm cơ sở viết bài báo cáo.
• Phương pháp thu thập tài liệu: Xem các bài giảng liên quan đến các module cảm biến, cách xây dựng ứng dụng trên Android Studio, đọc thêm tài liệu từ các mạng xã hội.
• Phương pháp phân tích và tổng hợp: Phân tích và tổng hợp những nội dung cần thiết để làm cơ sở viết bài báo cáo.
Đối tượng và phạm vi nghiên cứu
• Nghiên cứu nguyên sơ đồ nguyên lý cũng như cách hoạt động của phần cứng module ESP32, cảm biến nhiệt độ và độ ẩm DHT21, cảm biến dòng ZMCT103C, cảm biến độ ẩm đất, máy bơm tưới, máy phun sương, …
• Nghiên cứu và tìm hiểu về cách lập trình ứng dụng điện thoại trên
Android Studio cũng và các ngôn ngữ lập trình khác liên quan đến ứng dụng.
• Nghiên cứu về cơ sở dữ liệu Firebase, cách giao tiếp giữa Firebase và Android Studio, giao tiếp giữa Firebase và phần cứng.
• Nghiên cứu và tìm hiểu cách lập trình trên trình biên dịch Arduino, cũng như tìm hiểu thêm các thư viện có sẵn trên trình biên dịch.
• Nghiên cứu các giao thức kết nối và giao tiếp giữa các module với nhau.
Phạm vi nghiên cứu: Nghiên cứu dựa trên các mô hình đã có sẵn, tích hợp và ứng dụng những tính năng mới cho đề tài.
Bố cục quyển báo cáo
Bài báo cáo này gồm có 5 chương:
Chương này giới trình bày tình hình nghiên cứu hiện nay, tính cấp thiết của đề tài, mục đích nghiên cứu, phương pháp nghiên cứu, đối tượng và phạm vi nghiên cứu, phương phán nghiên cứu và bố cục đồ án, nguyên nhân và động lực để hoàn thành đề tài và các phương pháp nghiên cứu.
Chương 2: Cơ sở lý thuyết.
Chương này trình bày cơ sở lý luận và những vấn đề thực tiễn liên quan đến đề tài. Chương 3: Thiết kế và thi công hệ thống.
Chương này trình bày chi tiết ý tưởng thiết kế, lựa chọn và tính toán giải pháp thiết kế hệ thống, sơ đồ khối, lưu đồ giải thuật, thiết kế ứng dụng trên phần mềm Android, viết chương trình cho hệ thống, thiết kế sơ đồ mạch in PCB và dựng mô hình khu vườn trồng cây.
Chương 4: Kết quả thực hiện.
Chương này trình bày các kết quả đã đạt được trong đề tài sau khi hoàn thành khảo sát, giải thích các chức năng hoạt động của hệ thống, kèm với hình ảnh thực tế để minh họa.
Chương 5: Kết luận và hướng phát triển.
Chương này trình bày các vấn đề đã được giải quyết của đề tài, đồng thời đề ra các hướng phát triển xa hơn (hoàn thiện hơn) cho đề tài.
Giới thiệu sơ về IoT Internet of Things
IoT được gọi tắt là Internet of things được dịch là Internet kết nối vạn vật hiện nay đang ảnh hưởng đến của chúng ta ở nhiều khía cạnh và mức độ khác nhau, từ máy điều hòa điều hòa không khí mà chúng ta có thể điều khiển qua điện thoại thông minh hoặc thậm chí là chiếc đồng hồ thông minh đang theo dõi các hoạt động hằng ngày IoT là một mạng lưới khổng lồ với các thiết bị được kết nối với nhau thông qua Internet Các thiết bị này có khả năng thu thập và chia sẻ dữ liệu về cách chúng được sử dụng cũng như môi trường mà chúng đang được vận hành Tất cả các dữ liệu được thu thập bằng các cảm biến, được gắn trong mọi thiết bị mà chúng ta sử dụng Một bóng đèn mà chúng ta bật bằng ứng dụng điện thoại thông minh, cũng được gọi là một thiết bị IoT. Một thiết bị IoT có thể đơn giản như đồ chơi của trẻ em hoặc lớn hơn là một chiếc xe tải không người lái, phức tạp hơn là một động cơ phản lực, chứa hàng ngàn cảm biến thu thập và truyền dữ liệu, để đảm bảo nó hoạt động hiệu quả. Ởdữ án lớn hơn các thành phố thông minh đang được lắp đầy các cảm biến để giúp chúng ta hiểu và kiếm soát môi trường IoT đưa ra một ngôn ngữ chung để các thiết bị có thể giao tiếp với nhau.
2.1.2 Cấu trúc của hệ thống IoT
Cấu trúc của hệ thống IoT gồm 4 phần chính: Thiết bị (Things), trạm kết nối (Gateways), hạ tầng mạng (Network and Cloud), dịch vụ (Services).
Hình 2.1 Cấu trúc của hệ thống IoT
Thiết bị: Ở tầng thiết bị, có các thiết bị rất quen thuộc với chúng ta như máy in, máy hút bụi,máy xay sinh tố, đồng hồ, camera, thiết bị đo, công tắc, bóng đèn, … Nhưng các thiết bị này đều được gắn các cảm biến, làm nhiệm vụ thu thập dữ liệu từ môi trường.
Trạm kết nối: Các trạm kết nối ở đây đóng vai trò trung gian cho việc kết nối các thiết bị với điện toán đám mây được an toàn và thuận tiện hơn trong việc kết nối.
Hạ tầng mạng và điện toán đám mây : Cơ sở hạ tầng mạng bao gồm những thiết bị định tuyến, các dữ liệu từ các tầng bên dưới như thiết bị, muốn gửi qua Internet phải qua các bộ định tuyến để gửi đúng vị trí của máy chủ nằm trong trung tâm dữ liệu.
Dịch vụ: Các ứng dụng do các công ty công nghệ hoặc chính người dùng tạo ra để giúp việc tối ưu hóa việc sử dụng các sản phẩm IoT dễ dàng hơn và tận dụng tối đa chức năng của chúng.
2.1.3 Ưu điểm và nhược điểm Ưu điểm:
- Việc kiểm soát ra vào có thể thực hiện thuận tiện mọi lúc mọi nơi thông qua mạng Internet.
-Dữ liệu được lưu trữ trong cơ sở dữ liệu để tiết kiệm thời gian và tiền bạc và tăng tính linh hoạt của dữ liệu.
-IoT là giải pháp giúp tự động hóa mọi thứ để nâng cao chất lượng cuộc sống Nhược điểm:
-Với sự tiện lợi của việc kết nối và chia sẻ thông tin trên Internet, khi nhiều thiết bị kết nối với nhau, việc đánh cắp thông tin có thể xảy ra.
-Do kết cấu của hệ thống luôn có mối quan hệ mật thiết với nhau nên khi hệ thống gặp sự cố sẽ có khả năng gây hư hỏng các thiết bị kết nối.
Tổng quan về phần mềm lập trình cho vi điều khiển
2.2.1 Giới thiệu về phần mềm Arduino IDE
Arduino IDE là phần mềm dùng để lập trinh vi điều khiển, phần mềm thường lập trình bởi các ngôn ngữ lập trình C và C ++ nên phổ biến với sinh viên để lập trình nhúng Cách dễ dàng hơn Phần mềm hỗ trợ tương thích đa nền tảng vớiMac, Dựa trên Windows, Linux và Java với các chức năng và lệnh tích hợpChỉnh sửa và biên dịch mã đóng một vai trò rất quan trọng trong môi trường này.Phần mềm hỗ trợ nhiều module Arduino như Arduino Mega, Arduino Uno Không những thế phần mềm còn hỗ trợ lập trình các module ESP như ESP8266ESP32 Mỗi mô-đun sẽ chứa vi điều khiển được lập trình trên bảng Chấp nhận thông tin ở dạng mã (còn được gọi là bản phác thảo) bao gồm các nền tảng IDE.Sau đó, nó sẽ tạo một tệp hex để chuyển và tải lên bộ điều khiển của bảng.
Hình 2.2 Trình biên dịch Arduino
Tuy là phần mềm mã nguồn mở nhưng khả năng bảo mật thông tin của Arduino IDE là vô cùng tuyệt vời, khi phát hiện lỗi nhà phát hành sẽ vá nó và cập nhật rất nhanh khiến thông tin của người dùng không bị mất hoặc rò rỉ ra bên ngoài.
Arduino có một module quản lý bo mạch, nơi người dùng có thể chọn bo mạch mà họ muốn làm việc cùng và có thể thay đổi bo mạch thông qua Menu Quá trình sửa đổi lựa chọn cũng liên tục tự động cập nhật để các dữ liệu có sẵn trong bo mạch và dữ liệu sửa đổi đồng nhất với nhau Bên cạnh đó, Arduino IDE cũng giúp bạn tìm ra lỗi từ code mà bạn viết, qua đó giúp bạn sửa lỗi kịp thời tránh tình trạng bo mạch Arduino làm việc với code lỗi quá lâu dẫn đến hư hỏng hoặc tốc độ xử lý bị giảm sút [1]
Hình 2.2 Sự đa dạng và phong phú về thư viện
Arduino IDE tích hợp với hơn 700 thư viện, được viết và chia sẻ bởi các nhà xuất bản Phần mềm Arduino và các thành viên của cộng đồng Arduino Mọi người đều có thể sử dụng chúng cho các dự án của riêng mình mà không tốn bất kỳ khoản tiền nào.
2.2.2 Các thao tác cơ bản trên phần mềm lập trình Arduino
Hình 2.3 Một số tính năng thường xuyên sử dụng trên phần mềm Bảng 1 Thao tác trên Android IDE
Verify Kiểm tra lỗi phần code chuẩn bị truyền xuống cho bo mạch Arduino.
Upload Giúp nhập đoạn code vào bo mạch Arduino.
New Tạo một sketch mới
Open Mở một sketch hiện có sẵn
Save Lưu sketch vào IDE
Serial Monitor Mở serial monitor.
Tổng quan về phần mềm lập trình Android Studio
2.3.1 Giới thiệu sơ về hệ điều hành Arduino
Hình 2.4 Logo hệ điều hành Android
Android là m ột hệ điều hành dựa trên Linux được thiết kế cho Các thiết bị di động thông minh như điện thoại thông minh và máy tính bảng có màn hình cảm ứng Gi ống như Giấy phép Google (Apache), đây là loại giấy phép ít ràng buộc hơn nên các nhà phát triển đã và đang nhanh chóng chạm tay vào Android Phân phối sản phẩm của mình một cách nhanh chóng và tự do trên các nền tảng lập trình ứng dụng Android có thể sử dụng nhiều loại ngôn ngữ lập trình khác nhau ngôn ngữ thông dụng Các biến được sử dụng trong phát triển ứng dụng Android có thể bao gồm: Java, Kotin, AngularJS, C#, HTML và CSS.
2.3.2 Giới thiệu về phần mềm lập trình Android Studio
Hiện nay, có rất nhiều phần mềm hỗ trợ phát triển ứng dụng Android chạy được trên cả điện thoại và ứng dụng IoT, chẳng hạn như MIT App Inventor, dựa trên kéo từ nền tảng Nền tảng này cho phép các nhà phát triển tạo ứng dụng cho hệ điều hành Android Sử dụng giao diện người dùng đồ họa, nền tảng này cho phép người dùng kéo và thả các khối mã để tạo ứng dụng có thể sử dụng trên thiết bị Android Và phải kể đến một ứng dụng khá nổi tiếng trong lĩnh vựcIoT là App Blynk, một phần mềm mã nguồn mở Ứng dụng này giúp người dùng điều khiển phần cứng từ xa, hiển thị dữ liệu cảm biến, lưu trữ dữ liệu, chuyển đổi dữ liệu hoặc làm nhiều việc khác Trong đó Android Studio là một công cụ chính thức và mạnh mẽ nhất dành cho các ứng dụng di động Đây là IDE (Môi trường phát triển tích hợp) chính thức cho nền tảng Android, được phát triển với sự hỗ trợ mạnh mẽ của Google Được sử dụng để tạo hầu hết các ứng dụng chúng ta sử dụng hàng ngày.
Hình 2.6 Giao diện phần mềm lập trình Android Studio
Công việc của Android Studio là cung cấp giao diện người dùng để xây dựng ứng dụng và xử lý hầu hết việc quản lý tệp phức tạp ở hậu trường Ngôn ngữ lập trình được sử dụng ở đây là Java và nó được cài đặt riêng trên thiết bị Android Studio cấp phép cho Android SDK Trong khi Android Studio là trình soạn thảo chương trình (IDE), Android SDK là tập hợp các công cụ để xây dựng ứng dụng, các mô hình máy ảo Android (được sử dụng để thử nghiệm ứng dụng) cần thiết để tạo ứng dụng Android Ngôn ngữ lập trình chính cho Android là Java Java là một trong những ngôn ngữ lập trình được sử dụng nhiều nhất trên thế giới, với khoảng 9 triệu lập trình viên Hệ điều hành Android của Google sử dụng Java làm nền tảng ứng dụng Android Mặc dù Android Java không hoàn toàn giống với Java thông thường, nhưng nó cũng có nhiều điểm chung.
2.3.3 Các thao tác sử dụng cở bản trên ph ần mềm Android Studio
Mở ứng dụng Android Studio sau đó bấm File => New Project
Hình 2.7 Giao diện khởi tạo Project trên Android Studio
Trong phần Phone and Tablet, bấm chọn “Empty Activity”
Hình 2.8 Giao diện Phone and Tablet Ở bước này ta tiến hành đặt tên, chọn thư mục lưu trữ cho project cũng như cài đặt các cấu hình cơ bản.
Hình 2.9 Giao diện cấu hình cho project
Khi tạo xong project ta tiến hành thiết kế giao diện, đặt các đối tượng cho ứng dụng như: image view, button, text view, linear layout, …Các đối tượng này được tích hợp sẵn trong phần mềm nên thuận tiện cho việc sắp xếp thiết kế giao diện cho ứng dụng, hoặc có thể sử dụng ngôn ngữ lập trình XML để thiết kế giao diện ứng dụng.
Hình 2.10 Giao diện của ứng dụng khi thiết kế
Phần lập trình ngôn ngữ XML được tạo ra tương ứng với bước sắp xếp các đối tượng được phần mềm Android Studio hỗ trợ Ta cũng có thể dùng các câu lệnh để sửa lại giao diện thiết kế.
Hình 2.11 Giao diện lập trình tương ứng với giao diện thiết kế Ở bước lập trình bằng ngôn ngữ Java, đầu tiên ta phải tiến hành ánh xạ các đối tượng để thực hiện liên kết hoạt động cho các đối tượng ở phần thiết kế giao diện,sau đó thực hiện liên kết ứng dụng với Firebase và đẩy dữ liệu lên cơ sở dữ liệu.
Hình 2.12 Giao diện lập trình Java 2.3.4 Ưu điểm và nhược điểm của Android Stuidio Ưu điểm:
• Hệ điều hành thân thiện và dễ dàng sử dụng.
• Khả năng chạy nhiều ứng dụng cùng lúc.
• Vì là mã nguồn mở nên được nhiều nhà phát triển lựa chọn để phát triển ứng dụng.
• Sở hữu kho ứng dụng Google Play, tại đây có rất nhiều sản phẩm được người dùng sử dụng miễn phí.
• Bên cạnh những ưu điểm của mã nguồn mở, nó cũng gây ra những nhược điểm như dễ bị tấn công bởi phần mềm độc hại chất lượng thấp và các lỗi bảo mật.
• Quản lý chất lượng ứng dụng phức tạp
Tổng quan về firebase
2.4.1 Giới thiệu về cơ sở dữ liệu Firebase
Hình 2.13 Giao diện ứng dụng Firebase
Firebase là cơ sở dữ liệu thời gian thực dựa trên đám mây máy chủ do Google cung cấp s ẽ rất hiệu quả Là một nền t ảng phát triển các ứng dụng và trang web dành cho thiết bị di động bao gồm các API đơn giản Nó là tính năng và dễ sử dụng nên nó là một trong những cơ sở dữ liệu nhiều nhà phát triển đã chọn nó làm nền tảng đầu tiên để phát triển sản phẩm cho hàng triệu người dùng trên khắp thế giới Hơn hết, nó còn là một dịch vụ đa năng với khả năng bảo vệ rất tốt Firebase hỗ trợ cả hệ điều hành Android và iOS.
2.4.2 Cách thức hoạt động của Firebase
Bằng cách đăng ký tài khoản Firebase để tạo ứng dụng, bạn có thể dễ dàng lấy cơ sở dữ liệu trực tiếp Dữ liệu này được định dạng dưới dạng chuỗi JSON. Đồng thời dữ liệu được đồng bộ mỗi khi tác động thay đổi dữ liệu và kết nối đến từng máy client với các ứng dụng đa nền tảng Trong trường hợp lỗi mạng, dữ liệu được lưu trữ cục bộ Do đó, thay đổi được cập nhật tự động vào máy chủ Firebase Dữ liệu được truyền qua chứng chỉ kết nối SSL bảo mật cao.
Hình 2.14 Giao diện Realtime Database
Firebase rất tốt để tạo các bước xác thực người dùng với email, Facebook, Twitter, GitHub và Google Xác thực Firebase này giúp giữ an toàn cho thông tin cá nhân của người dùng và đảm bảo rằng tài khoản không bị đánh cắp Xác thực Firebase là một tính năng rất hữu ích nếu bạn đang xây dựng sản phẩm một cách nhanh chóng và thuận tiện hoặc chỉ thực hiện các bài tập và dự án Kết hợp xác thực Firebase và cơ sở dữ liệu trực tiếp với ứng dụng của bạn giúp tiết kiệm thời gian so với các cách khác.
Hình 2.15 Giao diện Authentication Database
Cung cấp cho các nhà phát triển dịch vụ lưu trữ nhanh và an toàn cho các ứng dụng web cấp sản xuất Vớ i m ột lệnh duy nhất, bạn có thể triển khai các ứng dụng và phân phối cả nội dung tĩnh và động tới CDN Với CDN, một bản sao nội dung từ máy chủ gần nhất được trả lại cho người dùng khi họ truy cập trang web.
2.4.3 Ưu điểm và nhược điểm của
• Tạo tài khoản và sử dụng dễ dàng.
• Tốc độ phát triển nhanh.
• Nhiều dịch vụ trên một nền tảng.
• Tập trung phát triển giao diện người dùng.
• Firebase không có máy chủ.
• Không phải là mã nguồn mở.
• Người dùng không có quyền sử dụng mã nguồn.
• Firebase không hoạt động ở nhiều quốc gia.
• Không phải tất cả các dịch vụ của Firebase đều miễn phí.
• Firebase khá đắt và giá không ổn định.
• Chỉ hoạt động trên Google Cloud.
Các chuẩn truyền dữ liệu
UART viết tắt của “Universal Asynchronous Receiver/Transmitter” là kiểu truyền thông tin được sử dụng phổ biến trong các chuẩn giao tiếp, UART là kiểu truyền nối tiếp không đồng bộ Chức năng chính của UART là truyền dữ liệu nối tiếp Trong UART, giao tiếp giữa hai thiết bị có thể được thực hiện theo hai cách là giao tiếp dữ liệu nối tiếp và giao tiếp dữ liệu song song.
Dữ liệu truyền qua UART được tổ chức thành các gói Mỗi gói chứa 1 bit bắt đầu, 5 đến 9 bit dữ liệu (tùy thuộc vào UART), một bit chẵn lẻ tùy chọn và
Bit bắt đầu: Dữ liệu của giao thức UART thường được giữ ở mức điện áp cao trong trường hợp không truyền dữ liệu Khi bắt đầu truyền dữ liệu thì giao thức sẽ bắt đầu kéo đường truyền từ mức cao xuống mức thấp Khi giao thức phát hiện sự thay đổi điện áp thì ngay lập tức đọc các bit ở trong khung [2] Khung dữ liệu: Nơi chứa đựng những dữ liệu cần vận chuyển Có kích thước từ 5bit đến 8bit khi sử dụng bit chẵn lẻ Trong trường hợp không sử dụng bit trên, kích thước dài đến 9 bit Trong tất cả trường hợp, dữ liệu sẽ gửi bit quan trọng nhất đầu tiên [2] Bit chẵn lẻ: Là một cách để nhận chỉ báo UART cho dù dữ liệu đã được nhận chưa Các thay đổi xảy ra trong quá trình truyền Sau khi nhận được khung dữ liệu đọc UART, hãy đếm số bit có giá trị 1 và kiểm tra xem tổng số đó là chẵn hay lẻ nếu bit Nếu tính chẵn lẻ là 0 (chẵn), thì tổng của 1 trong khung dữ liệu phải là số chẵn Nếu bit chẵn lẻ là 1 (lẻ), tổng các bit 1 trong khung dữ liệu là số lẻ Khi bit chẵn lẻ khớp với dữ liệu, UART biết rằng quá trình truyền không có lỗi Nhưng nếu bit chẵn lẻ là 0 và tổng là số lẻ hoặc nếu bit chẵn lẻ là 1 và tổng là chẵn, UART sẽ biết rằng một bit trong khung dữ liệu đã thay đổi [2]
Bit dừng: Để báo hiệu kết thúc gói, hãy gửi điều khiển UART Truyền dữ liệu từ điện áp thấp lên điện áp cao ít nhất khoảng 2 bit [2] Ưu điểm:
• Chuẩn giao tiếp được sử dụng bởi 2 dây.
• Không cần đến tín hiệu Clock
• Có một bit chẵn lẻ để cho phép kiểm tra lỗi.
• Cấu trúc gói dữ liệu của UART có thể thay đổi, miễn là cả hai bên đều thiết lập cho nó
• Phương pháp có nhiều tài liệu và được sử dụng rộng rãi trong các mô hình. Nhược điểm:
• Kích thước của khung dữ liệu được giới hạn tối đa là 9 bit.
• Không hỗ trợ nhiều hệ thống chủ tớ
• Tốc độ truyền của mỗi UART phải nằm trong khoảng 10% của nhau.
I2C là tên viết tắt của "Inter -Integrated Circuit" trong tiếng Anh Giao thức này được sử dụng để truyền dữ liệu giữa các CPU của nhiều IC trên cùng một bo mạch Mạch này chỉ sử dụng hai dây tín hiệu Do tính đơn giản của nó, giao thức Điều này được sử dụng rộng rãi trong vi điều khiển, thiết bị cảm biến, Các loại mô -đun khác nhau, v.v Đây là một giao thức truyền thông nối tiếp đồng bộ Các bit dữ liệu được truyền từng bit theo các khoảng thời gian đều đặn được đặt bởi tín hiệu đồng hồ tham chiếu [3]
I2C sử dụng hai đường truyền tín hiệu:
• Một đường xung nhịp được truyền bởi thiết bị chủ (thông thường ở 100kHz và 400kHz và cực đại ở 1MHz và 3,4 MHz).
• Một đường dữ liệu (SDA) theo 2 hướng.
• Khi một thiết bị ngoại vi kết nối vào đường bus I2C thì chân SDA của nó sẽ nối với dây SDA của bus, chân SCL sẽ nối với dây SCL.
Hình 2.17 Kết nối thiết bị vào bus I2C Ưu điểm:
• Chỉ sử dụng hai dây.
• Hỗ trợ nhiều thiết bị chủ, tớ.
• Bit ACK / NACK xác nhận mỗi khung được chuyển thành công.
• Phần cứng ít phức tạp hơn so với UART.
• Giao thức phổ biến được sử dụng rộng rãi.
• Tốc độ truyền dữ liệu chậm hơn SPI.
• Kích thước của khung dữ liệu bị giới hạn ở 8 bit.
2.5.3 Chuẩn giao tiếp One-Wire
Chuẩn giao tiếp One-Wire do Dallas Semiconductor (Maxim) nghiên cứu và phát triển.Chuẩn giao tiếp này chỉ cần 1 sợi dây để có thể truyền tín hiệu và đóng vai trò là nguồn điện (trường hợp không tính dây nối đất) One -Wire là một tiêu chuẩn truyền thông bán song công, không đồng bộ Tiêu chuẩn giao tiếp này rất tôn trọng mối quan hệ chủ -tớ 1 hoặc nhiều thiết bị Slave có thể được kết nối với dây bus, nhưng trên hết chỉ có 1Master có thể kết nối với bus Bus dữ liệu khi không có dữ liệu trên đường truyền phải ở mức cao Do đó, bus dữ liệu phải được kéo lên nguồn thông qua điện trở.
Hình 2.18 Chuẩn One-Wire Để có thể giao tiếp được với VĐK, tín hiệu trên bus One -Wire đưuọc chia thành các khe có thời gian 60 us Một bit dữ liệu được truyền trên bus dựa trên khe thời gian Các thiết bị Slave khác nhau có thể cho phép thời gian quy định khác nhau, quan trọng nhất là chuẩn giao tiếp này đặt được chính xác về thời gian Vì thế để tối ưu đường truyền thì cần phải có một bộ định thời để chuẩn có mức delay chính xác nhất.
Hình 2.19 Giao tiếp One- Wire Chuẩn One-Wire có 4 thao tác cơ bản sau:
• Wire 1 (gửi bit 1): Master sẽ kéo xuống 0 một khoảng A (us) rồi về mức 1 khoảng
• Wire 0 (gửi bit 0): Master kéo xuống 0 khoảng C (us) rồi trả về 1 khoảng D.
• Read (Đọc một bit): Master kéo xuống 0 một khoảng A rồi trả về 1 delay khoảng E rồi đọc giá trị Slave gửi về delay F (us).
• Restart: Master kéo xuống 0 một khoảng H rồi nhả lên mức 1 sau đó cấu hình Master là chân In delay I (us) rồi đọc giá trị Slave trả về Nếu bằng 0 thì cho phép giao tiếp, nếu bằng 1 đường tuyền lỗi hoặc Slave đang bận. Ưu điểm:
• Được sử dụng rộng rãi để giao tiếp với các thiết bị nhỏ.
• Ứng dụng nhiều trong các bài tập, đồ án sinh viên, các công việc không yêu cầu tốc độ cao.
• Cho phép truyền nhận dữ liệu với nhiều Slave trên một đường truyền.
• Khi kết nối với con số hơn 20 Slave thì việc truyền nhận dữ liệu xảy ra lỗi.
THIẾT KẾ VÀ THI CÔNG HỆ THỐNG
Yêu cầu của hệ thống
Hệ thống giám sát và điều khiển hệ thống trồng cây trồng ứng dụng IoT thực hiện các chức năng sau:
● LCD Hiển thị được nhiệt độ môi trường, độ ẩm không khí, độ ẩm đất, tình trạng bật tắt của máy bơm tưới, máy phun sương.
● Máy bơm tưới và máy phun sương sẽ tự động bật khi nhiệt độ môi trường, độ ẩm không khí, độ ẩm đất không nằm trong ngưỡng đối với sự phát triển của cây trồng.
● Nút nhấn bật tắt máy bơm tưới, máy phun sương trực tiếp tại khu vườn.
● Hệ thống sẽ tiến hành thu thập dữ liệu từ các cảm biến sau đó sẽ gửi lên Firebase thông qua module ESP32, App sẽ lấy dữ liệu từ Firebase và hiển thị các thông tin để người dùng có thể theo dõi từ xa.
● Bật tắt máy bơm tưới, máy phun sương từ xa.
● Trên App có thể theo dõi được tình trạng hoạt động của các cảm biến.
● App sẽ thông báo khi nhiệt độ môi trường, độ ẩm không khí, độ ẩm đất quá ngưỡng.
Hình 3.1 Sơ đồ khối toàn bộ hệ thống 3.1.1 Chức năng của từng khối
Khối điều khiển trung tâm xử lý: Thu thập dữ liệu từ các thiết bị, điều khiển khối hiển thị, khối cảm biến thiết bị, khối relay Khối trung tâm xử lý còn là cầu nối trung gian để nhận và gửi dữ liệu lên Firebase để từ đó Firebase và App Android có thể giao tiếp 2 chiều.
Khối cảm biến môi trường: Bao gồm cảm biến nhiệt độ, độ ẩm môi trường, cảm biến độ ẩm đất, thu thập các dữ liệu từ môi trường từ đó đưa tín hiệu về khối điều khiển trung tâm và so sánh với các giá trị đã cài đặt từ trước.
Khối cảm biến thiết bị: Bao gồm cảm biến dòng điện để đo máy bơm, cảm biến dòng chảy để giới hạn lượng nước bơm Cảm biến đo dòng điện chính năng chính là để kiểm tra tình trạng hoạt động của máy bơm (tắt mở, bị hỏng hoặc hoạt động tốt), khi cảm biến phát hiện dòng điện từ máy bơm, nghĩa là máy bơm đang hoạt động ngược lại nếu cảm biến không phát hiện được dòng điện, đồng nghĩa máy bơm đã chưa bật hoặc bị trục trặc Đối với cảm biến đo dòng chảy, Máy bơm tưới và máy phun sương sẽ lấy 1 lượng nước vừa đủ theo yêu cầu đinh trước, để cho trồng có được sự phát triển mạnh mẽ. Khối hiển thị: Thông qua cổng giao tiếp I2C nối trực tiếp với vi điều khiển, LCD 16x2 hiển thị ra được dữ liệu sau khi được xử lý, cho phép người dùng theo dõi các thông số của môi trường và nhìn vào đó có thể thao tác trực tiếp từ các nút nhấn.
Khối ngoại vi: Bao gồm các nút nhấn Reset Wifi, chọn chế độ Mode, bật/ tắt máy bơm, máy phun sương Khi người dùng không muốn khu vườn hoạt động ở chế độ Auto, thì có thể sử dụng các nút nhấn, bật tắt hoạt động của máy bơm, máy phun sương theo thời gian mình mong muốn. Khối Relay: Khối relay có tác dụng đóng ngắt các tiếp điểm dựa vào sự điều khiển của các ngõ ra ESP32 để điều khiển các thiết bị Ngoài ra khối relay còn cách ly được giữa mạch công suất và mạch điều khiển.
Khối động cơ: Bao gồm máy bơm áp lực phun sương, máy bơm tưới, ống nhựa và béc phun sương Khi các thông số của môi trường đọc từ cảm biến không phù hợp đến sự phát triển và sinh trưởng của cây tr ồng, khối điều khiển trung tâp sẽ ngay lập tức tác động vào khối động cơ thông qua Relay Nhằm mục đích để điều chỉnh các thông số của môi trường Khi cần thay đổi độ ẩm đất, thì máy bơm tưới sẽ tác động, khi cần thay đổi nhiệt độ và độ ẩm không khí thì hệ thông sẽ sử dụng máy phun sương.
Khối nguồn cung cấp: Khối nguồn cung cấp là một khối rất quan trọng trong tập đồ án này giúp cung cấp điện cho toàn hệ thống bao gồm: Khối xử lý trung tâm, giao tiếp Wifi, khối hiển thị, khối thiết bị, khối cảm biến, khối relay Vì vậy cần tính toán hợp lý để khối nguồn có thể cung cấp đủ dòng và áp để mạch có thể hoạt động tốt và ổn định.
Tính toán và thiết kế mạch
Dưới đây là số lượng linh kiện trong tập đồ án “Thiết kế và thi công hệ thống giám sát chăm sóc cây trồng” sử dụng:
Bảng 2 Liệt kê số lượng linh kiện trong tập đồ án
Cảm biến độ ẩm đất 2
Cảm biến nhiệt độ, độ ẩm không khí 1
Cảm biến dòng điện ZMCT103C 1
Cảm biến lưu lượng nước 1
Bơm áp lực để phun sương DP-521 1
Bơm áp lực để tưới R385 1
Cộng những linh kiện nhỏ lẻ: điện trở, diode, nút nhấn, transistor Các linh kiện được chia thành nhiều khối: Khối điều khiển trung tâm, khối cảm biến môi trường, khối cảm biến thiết bị, khối hiển thị, khối ngoại vi, khối relay, khối động cơ, khối nguồn.
3.2.1 Khối điều khiển trung tâm
Phân tích lựa chọn linh kiện:
Khối xử lý trung tâm được coi là trái tim của toàn bộ hệ thống, trong tập đồ án này,nhóm thực hiện quyết định chọn ESP32, nó không chỉ là nơi tiếp nhận và xử lý mọi dữ liệu từ các cảm biến, mà còn là thành phần truyền nhận dữ liệu giữa phần cứng và phần mềm ESP32 là một module được tích hợp nhiều tính năng nổi bật Thứ nhất hệ thống cần đẩy dữ liệu lên cơ sở dữ liệu thông qua mạng Internet nên nhóm đã quyết định sử dụng module ESP có khả năng kết nối mạng WiFi hoàn chỉnh Thứ hai về khối lượng nhỏ, dễ dàng ứng dụng vào các sản phẩm khác ESP32 còn hỗ trợ các tính năng bảo mật chuẩn IEEE 802.11, bao gồm WFA, WPA/WPA2 và WAPI. Giới thiệu module ESP32:
ESP32 là một hệ thống vi điều khiển trên chip (SoC), là một ESP32 đa năng, mạnh mẽ và linh hoạt với thiết kế dễ sử dụng, đặc biệt là khả năng lập trình và nạp code trực tiếp bằng trình biên dịch của Arduno, nó là SoC ESP8266 kế thừa SoC ESP8266 Làm cho nó rất dễ sử dụng và lập trình các ứng dụng trên ESP32.
Lý tưởng cho các ứng dụng yêu cầu kết nối không dây, thu thập và kiểm soát dữ liệu Wifi, đặc biệt là cho các ứng dụng liên quan đến IoT Các ứng dụng bao gồm từ các mạng cảm biến tiết kiệm năng lượng đến các ứng dụng có tác vụ phức tạp nhất, chẳng hạn như mã hóa âm thanh, truyền phát nhạc đến giải mã MP3.
Hình 3.2 Module thu phát WIFI BLE ESP32 NodeMCU LuaNode32
Bảng 3 Thông số kỹ thuật module ESP32
Wifi 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n/e/i Điện áp hoạt động 3.3V Điện áp vào 5V từ cổng USB
Số chân Analog Input 18 chân
Giao tiếp Cable micro USB
Chuẩn giao tiếp UART/SPI/SDIO/I2C/PWM/I2S/IR/ADC/DAC
Hỗ trợ bảo mật WPA/WPA2
Tích hợp giao thức TCP/IP
Lập trình trên các ngôn ngữ C/C++, Mircropython, NodeMCU - Lua
Hình 3.3 Sơ đồ chân ESP32
Mỗi chân có nhiều hơn một chức năng khả thi và khi sử dụng một chân cho tác vụ cụ thể, hãy kiểm tra kỹ các chức năng thay thế của nó Một phiên bản khác của bo ESP32 DevKit có 36 chân Phiên bản này không phổ biến bằng phiên bản 30 chân Nhưng nếu bạn tình cờ có bo mạch ESP32 36 chân, sơ đồ chân sau sẽ rất hữu ích Lưu ý rằng sơ đồ chân của cả phiên bản 30 chân và 36 chân của bo dev ESP32 rất giống nhau ngoại trừ một số chân ở phía dưới Trong phiên bản 36 chân, 6 chân GPIO (GPIO6 đếnGPIO11) được sử dụng cho SPI Flash IC Vì vậy, không nên sử dụng chúng cho các mục đích khác Bạn chỉ cần lấy thêm một chân (GPIO0 - Chân 23) [4]
Sơ đồ nguyên lý khối xử lý trung tâm:
Hình 3.4 Sơ đồ nguyên lý EPS32 3.2.2 Khối hiển thị
Phân tích và lựa chọn linh kiện:
Màn hình LCD là một phần không thể thiếu trong hầu hết các dự án nhúng. Với yêu cầu hệ thống hiển thị nhiệt độ môi trường, độ ẩm không khí, độ ẩm đất, bật tắt máy bơm tưới và máy phun sương gần như là giám sát toàn bộ hệ thống dựa vào LCD 16x2 người dùng điều khiển trực tiếp hệ thống thông qua nút nhấn. Giới thiệu:
Thiết bị hiển thị LCD (Liquid Crystal Display), được sử dụng rất rộng rãi và phổ biến trong ứng dụng của vi điều khiển LCD có rất nhiều ưu điểm so với các dạng hiển thị khác: nó có khả năng hiển thị kí tự đa dạng,trực quan (chữ, số và kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẻ Có rất nhiều loại LCD với hình dáng và kích thước khác nhau, trong mạch sử dụng một dạng rất phổ biến là loại 16x2.
Mô đun LCD 16x02 bao gồm 2 cột 5x7 hoặc 5x8 ma trận điểm LCD Các mô-đun đang nói về ở đây là loại JHD162A, một loại rất phổ biến Nó có sẵn trong một gói 16 chân với ánh sáng nền, chức năng điều chỉnh độ tương phản và mỗi ma trận điểm đó có độ phân giải 5x8 chấm Số chân, tên của chúng và chức năng tương ứng được hiển thị trong bảng bên dưới.
Bảng 4 Sơ đồ chân LCD 16x2
Chân số Tên chân Chức năng
3 Vee Chỉnh sửa độ tương phản
LCD 16x2 có 16 chân trong đó 8 chân dữ liệu (D0 - D7) và 3 chân điều khiển (RS, RW, EN) 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16x2 Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc dữ liệu.
Chân Vee là để điều chỉnh độ tương phản của màn hình LCD và độ tương phản có thể điều chỉnh bằng cách thay đổi điện áp ở chân này.
Chân R/W có nghĩa là để chọn giữa chế độ đọc và ghi Mức cao ở chân này cho phép chế độ đọc và mức thấp ở chân này cho phép chế độ ghi.
Chân E là để kích hoạt các mô-đun Chuyển đổi từ cao xuống thấp ở chân này sẽ cho phép mô-đun DB0 đến DB7 là các chân dữ liệu Dữ liệu được hiển thị và lệnh được đặt trên các chân này.
LCD chiếm rất nhiều chân của vi điều khiển chính, vì thế việc chúng ta sử dụng module nhằm mục đích tiết kiệm chân sẽ rất cần thiết Không cần dùng đến 6 chân của vi điều khiển, thay vào đó chỉ cần dùng 2 chân để kết nối với LCD Module LCD I2C dùng 2 chân SCL và SDA, được dùng hầu hết trong các mô hình khi sử dụng LCD.
Sơ đồ nguyên lý khối hiện thị LCD I2C:
Hình 3.7 Sơ đồ nguyên lý khối hiển thị
Kết nối chân giữa ESP32 và I2C LCD:
Bảng 5 Kết nối chân giữa module ESP32 và module I2C LCD 16x2
Hình 3.8 Sơ đồ nối chân giữa Module ESP32 và Module I2C
Khi kết nối màn hình I2C với ESP32, điều đầu tiên cần làm là kiểm tra địa chỉ của nó. Bởi mọi thiết bị I2C đều có một địa chỉ liên kết với nó Trường hợp nhiều thiết bị của I2C LCD, địa chỉ mặc được 0x27 trong đó 0x hiển thị định dạng hex của các số Nhưng địa chỉ này có thể khác nhau trong một số trường hợp nhất định Địa chỉ sẽ phụ thuộc vào vị trí của miếng đệm A0, A1, A2 trên bộ điều khiển I2C trên thiết bị này.
Tiếp đến, sao chép bộ mã này và tải nó lên bảng với màn hình LCD I2C đã được kết nối.
Mã này sẽ quét tìm bất kỳ thiết bị I2C nào được kết nối với ESP32 và sẽ chỉ định số lượng thiết bị có địa chỉ trong bảng điều khiển shell Nếu sử dụng ESP8266, hãy thay thế chân SDA và SCL một cách thích hợp (trích dẫn).
Phân tích và lựa chọn linh kiện: Đối với tập đồ án giám sát và điều khiển hệ thống trồng trồng ứng dụng IoT thì không thể thiếu các cảm biến: nhiệt độ môi trường, độ ẩm không khí, độ ẩm đất, cảm biến dòng điện để đo máy bơm, cảm biến lưu lượng nước Các cảm biến giúp đọc thông số dữ liệu giúp người dùng có thể dễ dàng quản lý khu vườn. a)Cảm biến nhiệt độ và độ ẩm DHT21
Giới thiệu cảm biến nhiệt độ và độ ẩm DHT21
Đóng gói hệ thống
Hình 4.1 Gắn khóa cửa và bản lề lá để làm cửa.
Hình 4.2 Mặt trước của mô hình trồng cây trồng
Hình 4.3 Mặt trái và mặt phải của mô hình
Hình 4.4 Mặt sau của mô hình
Hình 4.5 Tầng hầm mặt sau mô hình.
Kết luận
Sau khoảng thời gian nghiên cứu, thi công và với các mục tiêu đã đề ra cho hệ thống “Thiết kế và thi công hệ thống giám sát và điều khiển mô hình trồng cây trồng ứng dụng IoT” về cơ bản đã đạt hoàn thiện và đạt được những vấn đề sau:
• Mô hình hoạt động ổn định, toàn bộ hệ thống có thể chạy trong khoảng thời gian dài.
• Đáp ứng được vấn đề về nguồn cung cấp
• Thiết kế và thi công được mô hình trồng cây.
• Thiết kế được App có thể điều khiển và giám sát khu vườn dễ sử dụng, tiện lợi, cung cấp được cho người dùng những thông tin cần thiết.
• Lưu các thông tin dữ liệu trên Firebase, vì thế người dùng có thể dễ dàng theo dõi hoặc xóa dữ liệu.
Tuy nhiên hệ thống nếu cách xa Wifi thì không kết nối được hoặc kết nối kém Hệ thống chưa giám sát được sự phát triển của cây trồng, hệ thống chỉ quản lý một khu vườn nhỏ.
Qua đồ án này nhóm thực hiện cũng đã hiểu thêm được về phương pháp điều khiển thông qua vi điều khiển và ứng dụng quan trọng của vi điều khiển. Trong quá trình làm đồ án tốt nghiệp do thời gian và kinh nghiệm thực tế còn kém nên khi thực hiện còn nhiều thiếu sót, rất mong sự đánh giá của quý Thầy Cô và sự góp ýcủa các bạn sinh viên để đề tài hoàn chỉnh hơn.
Hướng phát triển
Thiết kế hệ thống tự động gieo hạt, bón phân, phun thuốc tự động.
Thiết kế được hệ thống tự động lấy nước từng ngày, mỗi ngày tưới bao nhiêu lần đối với cây trồng.
Thiết kế một máy chủ riêng để phục vụ lưu trữ dữ liệu mà không phụ thuộc vào Firebase để bảo mật dữ liệu.
Thiết kế thêm Camera để có thể quan sát quá trình sinh trưởng của cây từ xa. Ệ Ả
Available: https://vn.got-it.ai/blog/phan-mem-arduino-ide-la-gi-chi-tiet-nhat. [2] "Điện Tử Tương Lai," Linh Kiện Điện Tử, 15 02 2022 [Online].
Available: https://dientutuonglai.com/giao-tiep-uart-la-gi.html.
[3] L H N Ngô Thành Đạt, THIẾT KẾ VÀ THI CÔNG HỆ THỐNG IOTS
CHĂM SÓC VƯỜN CÂY ĂN QUẢ SỬ DỤNG PIN NĂNG LƯỢNG MẶT TRỜI, TP Hồ Chí Minh: ACADEMIA, 2018.
[4] Đ M Đ Tử, "Đam Mê Điện Tử," Linh Kiện Điện Tử, 21 06 2022 [Online].
Available: https://dammedientu.vn/gioi-thieu-chuan-giao-tiep-i2c.
[5] L ESPRESSIF [ESPRESSIF SYSTEMS (SHANGHAI) CO., "All Data
Sheet," 2021 [Online] Available: https://pdf1.alldatasheet.com/datasheet-pdf/ view/1148023/ESPRESSIF/ESP32.html.
[6] Đ T T Lai, "Điện Tử Tương Lai," Linh Kiện Điện Tử, 15 09 2022 [Online].
Available: https://dientutuonglai.com/so-do-chan-esp32.html/.
[7] K Phạm, "Trung Tâm Đào Tạo Công Nghệ Khoa Phạm," 16 05 2017. [8] L XIAMEN AMOTEC DISPLAY CO., "DataSheet LCD 16x2," 29 10
Available: https://www.sparkfun.com/datasheets/LCD/ADM1602K-NSW- FBS-3.3v.pdf.
PHỤ LỤC 1: HƯỚNG DẪN SỬ DỤNG PHẦN MỀM
Tại đây, để vào được ứng dụng, điều khiển các thiết bị trong khu vườn, cũng như theo dõi và giám sát hệ thống từ xa Người dùng cần phải có tài khoản và mật khẩu, nhập đúng tài khoản và mật khẩu đã đăng ký thì người dùng sẽ vào được, ngược lại hệ thống sẽ báo tài khoản và mật khẩu chưa đúng.
Hình 4.17 Giao diện Login của ứng dụng
• Phần giao diện SignUp Ởphần giao diện SignUp, người dùng có thể tạo tên riêng cho tài khoản, đặt tên gmail và mật khẩu Ngay sau khi đăng kí xong, thông tin sẽ được lưu trữ trênFirebase giúp người sử dụng có thể quản lý được số lượng tài khoản đã đăng ký.
Hình 4.17 Giao diện SignUp của ứng dụng
Hình 4.17 Thông tin tài khoản được đưa lên Firebase
• Giao diện chính Ởphần giao diện chính, các thông số như nhiệt độ môi trường, độ ẩm không khí, độ ẩm đất sẽ được hiển thị để người dùng dễ dàng giám sát.
Có các mục: Tình trạng linh kiện, lịch sử đo, Biểu đồ đo, bật/tắt máy bơm, máy phun sương.
Hình 4.18 Giao diện chính ứng dụng chăm sóc cây trồng
Khi click vào biểu tượng người ở bên góc phải trên cùng thì App sẽ hiển thị lên thông tin của người hiện tại đang đăng nhập Dưới đây nhóm hướng dẫn cách để đăng xuất tài khoản khỏi ứng dụng.
• Hướng dẫn Logout khỏi hệ thống
Hình 4.18 Hướng dẫn Logout ra khỏi màn hình chính
Click vào biểu tượng hình người, sau đó thông tin tên, gmail sẽ xuất hiện ở dưới màn hình chính Bấm vào biểu tượng thoát khỏi cánh cửa, sau đó màn hình chính xuất hiện thông báo Bấm Confirm để Logout ra khỏi màn hình chính
• Giao diện tình trạng linh kiện Ởmục tình trạng linh kiện, khi người dùng click vào, sẽ có 1 danh sách liệt kệ tình trạng hoạt động của các linh kiện: DHT21, Độ ẩm đất 1, độ ẩm đất 2, độ ẩm đất 3, máy bơm phun sương, máy bơm tưới Khi ở mức “1” nghĩa là linh kiện hoạt động tốt, mức “0” thì linh kiện bị hỏng hoặc bị lỏng phích cắm. Thông tin này cũng sẽ được hiển thị trên Firebase.
Hình 4.19 Giao diện tình trạng linh kiện
• Giao diện lịch sử đo Ởphần giao diện này, khi người dùng click vào, ứng dụng sẽ hiển thị dãy lịch sử các lần đo tại mỗi thời điểm khác nhau, sẽ có các thông số như: Độ ẩm đất, độ ẩm không khí, nhiệt độ môi trường, điều này giúp người sử dụng dễ dàng theo dõi các thông số đối với sự phát triển của cây trồng, để người dùng có những biện pháp chuẩn bị tốt Dưới đây là hình ảnh minh họa cho giao diện lịch sử đo.
Hình 4.20 Giao diện lịch sử đo
• Giao diện biểu đồ cột thể hiện nhiệt độ môi trường Ởgiao diện này, ứng dụng cung cấp thêm thông tin ở dạng biểu đồ cột, biểu đồ Pie, các biểu đồ thể hiện các thông tin nhiệt độm độ ẩm không khí, độ ẩm đất.
Hình 4.21 Giao diện biểu đồ đo nhiệt độ
Như hình phía trên, trục Ox thể hiện số lần đo, trục Oy thể hiện nhiệt độ đo được tại mỗi thời điểm Biểu đồ cột này giúp người nông dân nhìn vào dễ dàng thống kê được tình hình nhiệt độ đối với sự phát triển của cây trồng.
• Giao diện biểu đồ Pie thể hiện nhiệt độ hiện tại
Hình 4.21 Giao diện biểu đô Pie thể hiện nhiệt độ
• Giao diện biểu đồ Pie thể hiện độ ẩm không khí hiện tại
Hình 4.21 Giao diện biểu đồ Pie thể hiện độ ẩm không khí
• Giao diện biểu đồ Pie thể hiện độ ẩm đất hiện tại
Hình 4.21 Giao diện biểu đồ Pie thể hiện độ ẩm đất
• Máy bơm, máy phun sương, chế độ Auto, nhập mực nước cần tưới
Hình 4.18 Hướng dẫn cách nhập mực nước cần tưới
Khi bước vào giao diện chính, thì hệ thống sẽ mặc định hoạt động ở chế độ Auto, ở chế độ Auto này, người dùng không thể bật/tắt máy bơm, máy phun sương được Nhưng có thể nhập được vào mực nước cần tưới, để cảm biến lưu lượng nước và máy bơm sẽ lấy số lượng nước theo yêu cầu. Khi tắt chế độ Auto, hệ thống sẽ hoạt động ở chế độ Manual và người dùng có thể bật/tắt máy bơm, máy phun sương và để 2 máy hoạt động theo thời gian mong muốn, ở chế độ Manual, thì người dùng không thể nhập con số mực nước cần tưới.