Chương 1, em đã giới thiệu tổng quan về đề tài này. Và trong chương 2 em sẽ trình bày về việc khảo sát và phân tích nhu cầu thị trường từ đó tiến hành phân tích và thiết kế chi tiết yêu cầu của hệ thống theo dõi và chăm sóc cây thuỷ canh.1 Khảo sát hiện trạng Trong khoảng 1 tháng, bản thân em đã thực hiện 2 cuộc khảo sát về nhu cầu về hệ thống IoT về cây: khảo sát 1 gồm 50 căn hộ tại chung cư Đồng Phát, Hoàng Mai, Hà Nội và khảo sát 2 gồm 50 hộ gia đình tại phường Quỳnh Lôi, quận Hai Bà Trưng, Hà Nội. Trong cuộc khảo sát 1 có tới 47 căn hộ có chủ sở hữu đang trồng cây cảnh và rau ăn. Trong đó có 29 chủ căn hộ đang trồng cây thuỷ canh và trong số đó có tới 27 chủ căn hộ có hứng thú với hệ thống IoT để theo dõi và chăm sóc cây thuỷ canh.
Trong cuộc khảo sát 2 có 37 hộ đang trồng cây cảnh và rau ăn. Trong đó có 8 hộ trồng cây và rau thuỷ canh và trong số đó chỉ có 3 hộ hứng thú với hệ thống IoT để theo dõi và chăm sóc cây thuỷ canh. Thông qua 2 cuộc khảo sát mà em đã tiến hành em nhận thấy được rằng tỉ lệ khách hàng tiềm năng với hệ thống của mình có 90.62% là ở chung cư, và 96.67% có độ tuổi trong khoảng 20-40. Hộ hiện Hộ trồng Hộ có thể chi Hộ có độ Hộ hứng Khảo Tổng đang cây thuỷ <2triệu tuổi thứ với sát số hộ trồng canh/ Hộ vnđ/Số hộ 20-40/ Hộ hệ thống cây trồng cây hứng thú hứng thú Chung 50 94% 61.1: Bảng khảo sát nhu cầu hệ thống cây thuỷ canh tĩnh.
Trên thị trường hiện tại, các hệ thống trồng cây thuỷ canh với không gian nhỏ gồm có hệ thống thuỷ canh động và tĩnh. Với hệ thống thuỷ canh động thì bơm sẽ phải hoạt động liên tục 24/24, sẽ gây ra các chi phí về điện và cồng kềnh, khó khăn trong việc lắp đặt hệ thống với khoảng không gian nhỏ hẹp. Với hệ thống thuỷ canh tĩnh chủ yếu là hệ thống chỉ có phần cứng giúp hỗ trợ thao tác mở nguồn nước nhanh và người dùng vẫn phải thực hiện các thao tác trực tiếp và chưa có các thao tác liên quan đến IoT. Do người dùng vẫn phải thao tác nên vấn đề quên mở nguồn vẫn chưa được giải quyết .Do đó nhận thấy tiềm năng của hệ thống IoT để theo dõi và chăm sóc cây thuỷ canh với các thao tác chăm sóc 4 CHƯƠNG 2.
KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU cây cùng với chức năng tự động bơm nước phù hợp với sinh trưởng của cây trồng và chức năng thống kê lượng nước sử dụng sẽ giúp hệ thống.2 Tổng quan chức năng của hệ thống 2.1 Biểu đồ use case tổng quan chức năng của hệ thống IoT cho cây thuỷ canh tĩnh Hình 1 là biểu đồ use case tổng quan của hệ thống theo dõi và chăm sóc cây thuỷ canh tĩnh. Hệ thống gồm ba tác nhân đó là: quản trị viên, người dùng và thiết bị. Quản trị viên có thể đăng ký, đăng nhập, đăng xuất, quản lý người dùng và quản lí tất cả các thiết bị. Người dùng có thể đăng kí thông tin với quản trị viên,đăng nhập, đăng xuất, quản lý thông tin cá nhân và quản lý thiết bị.
Thiết bị có các chức năng như đo nhiệt độ, độ ẩm, bật tắt bơm, đo lường khoảng cách nước, và lượng nước tiêu thụ.1: Biểu đồ use case tổng quan chức năng hệ thống.2 Biểu đồ use case phân rã chức năng quản lý người dùng Hình 2 là biểu đồ use case phân rã chức năng quản lý người dùng. Quản trị viên có thể thêm mới, cập nhật thông tin người dùng, xoá người dùng và cập nhật thông tin thiết bị gán với người dùng. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU Hình 2.2: Biểu đồ use case phân rã chức năng quản trị viên quản lý người dùng.3 Biểu đồ use case phân rã chức năng đăng kí thông tin với quản trị viên Hình 3 là biểu đồ use case phân rã chức năng người dùng đăng kí thông tin với quản trị viên. Người dùng sẽ phải đăng kí các thông tin cá nhân với quản trị viên và sau khi mua thiết bị, thiết bị sẽ được quản trị viên gán với tài khoản người dùng.
KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU Hình 2.3: Biểu đồ use case phân rã chức năng đăng kí thông tin với quản trị viên.4 Biểu đồ use case phân rã chức năng quản lý thông tin cá nhân Hình 4 là use case phân rã chức năng quản lý thông tin cá nhân. Người dùng có thể xem thông tin cá nhân, xem thông tin thiết bị, cập nhật thông tin cá nhân và đổi mật khẩu. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU Hình 2.4: Biểu đồ use case phân rã chức năng quản lý thông tin cá nhân.5 Biểu đồ use case phân rã chức năng quản lý thiết bị HÌnh 5 là biểu đồ use case phân rã chức năng quản trị viên và người dùng quản lý thiết bị. Quản trị viên có thể thêm mới thiết bị, cập nhật thiết bị cho người dùng, xoá thiết bị, xem dữ liệu của thiết bị và kiểm tra hoạt động của thiết bị.
Người dùng có thể bật, tắt thiết bị, xem dữ liệu thiết bị của người dùng đó và bật chế độ tự động. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU Hình 2.5: Biểu đồ use case phân rã chức năng quản lý thiết bị. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU 2.6 Quy trình nghiệp vụ Hình 2.6: Biểu đồ quy trình nghiệp vụ điều khiển thiết bị. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU 2.7 Đặc tả use case quản lý thiết bị Mã use case UC01 Tên use case Use case quản lý thiết bị Tác nhân Quản trị viên, người dùng Tiền điều kiện Quản trị viên đã điền đầy đủ thông tin bắt buộc của người dùng Thêm thiết bị vào ứng dụng: STT Thực hiện bởi Hành động 1.
Quản trị viên Kích hoạt thiết bị người dùng mới đăng kí Luồng 2. Quản trị viên Tìm thiết bị mới kích hoạt và sự thêm thiết bị kiện chính 3. Hệ thống Hiển thị màn hình chọn thiết bị mới kích hoạt 4. Người dùng Đăng kí thiết bị với quản trị viên 5.
Quản trị viên Chọn id thiết bị và gán với người dùng 6. Hệ thống Lưu thông tin thiết bị vào database Luồng sự kiện 3a. Hệ thống Thông báo lỗi : không tìm thấy thay thế thiết bị. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU Thống kê dữ liệu thiết bị lấy được: STT Thực hiện bởi Hành động 1.
Người dùng Chọn ngày, tháng, năm để hiển thị dữ liệu Luồng 2. Hệ thống Tìm kiếm dữ liệu thiết bị đã lưu sự lại trong database và trả về dữ kiện liệu chính 3. Hệ thống Hiển thị dữ liệu dưới dạng biểu đồ. Luồng sự kiện Không thay thế Thống kê dữ liệu thiết bị lấy được: STT Thực hiện bởi Hành động Luồng sự 1.
Quản trị viên Chọn chức năng xóa thiết bị khỏi kiện ứng dụng chính 2. Hệ thống Hiển thị xoá thiết bị Luồng sự kiện Không thay thế Bảng 2.2: Đặc tả use case quản lý thiết bị. KHẢO SÁT VÀ PHÂN TÍCH YÊU CẦU Hình 2.7: Biểu đồ tuần tự chức năng thêm thiết bị vào ứng dụng.3 Yêu cầu phi chức năng Ứng dụng có giao diện không quá phức tạp và các chức năng thân thiện với người dùng. Bên cạnh đó hệ thống cũng cần dễ dàng bảo trì, mở rộng và sử dụng các công nghệ, thư viện mới.
Để phát triển hệ thống trên, em sẽ trình bày chi tiết các công nghệ trong Chương 3. CÁC CÔNG NGHỆ SỬ DỤNG Chương 2 em đã khảo sát và phân tích yêu cầu của hệ thống theo dõi và chăm sóc cây thuỷ canh. Trong Chương 3, em trình bày về các công nghệ sử dụng để phát triển hệ thống theo dõi và chăm sóc cây thuỷ canh. Hệ thống được chia thành ba khối: khối phần mềm, khối cơ sở dữ liệu và khối IoT.
Khối phần mềm sử dụng thư viện Flutter dựng giao diện website quản trị và ứng dụng dị động, kiến trúc MVVM để lập trình ứng dụng mobile app trên Android Studio, Figma để xây dựng giao diện. Khối cơ sở dữ liệu em sử dụng nền tảng Firebase để lưu trữ dữ liệu. Và khối IoT, em sử dụng ngôn ngữ C/C++ lập trình trên Arduino IDE để xử lý dữ liệu liên quan đến phần cứng và điều khiển thiết bị.1 Khối cơ sở dữ liệu 3.1 Firebase Firebase là một nền tảng để phát triển ứng dụng di động và trang web, bao gồm các Application Programming Interface (API) đơn giản và mạnh mẽ mà không cần backend hay server. Firebase được xây dựng trên cơ sở hạ tầng của Google và được xây dựng để mở rộng quy mô tự động.
Ngoài chức năng cơ sở dữ liệu NoSQL tiêu chuẩn, Firebase bao gồm chức năng phân tích, xác thực, giám sát hiệu suất, nhắn tin, báo cáo sự cố và hơn thế nữa. Bởi vì nó là một sản phẩm của Google, nó cũng được tích hợp vào rất nhiều sản phẩm khác. Điều này bao gồm tích hợp với Google Ads, AdMob, Google Marketing Platform, Cửa hàng Play, Data Studio, BigQuery, Slack, Jira, v. Trong khuôn khổ của đồ án này em chỉ sử dụng tính năng của Firebase đó là Firebase Cloud Storage.
Firebase cloud: Cloud Firestore là một cơ sở dữ liệu linh hoạt, có thể mở rộng để phát triển thiết bị di động, web và máy chủ từ Firebase và Google Cloud. Giống như Cơ sở dữ liệu thời gian thực của Firebase, nó giữ cho dữ liệu của được đồng bộ hóa trên các ứng dụng khách thông qua trình xử lý thời gian thực và cung cấp hỗ trợ ngoại tuyến cho thiết bị di động và web để có thể tạo các ứng dụng đáp ứng hoạt động bất kể độ trễ mạng hoặc kết nối Internet. Cloud Firestore cũng cung cấp khả năng tích hợp liền mạch với các sản phẩm Firebase và Google Cloud khác, bao gồm cả Chức năng đám mây. Điểm khác biệt lớn nhất với cơ sở dữ liệu thời gian thực là Cloud Firestore có cấu trúc Document structure, tất cả dữ liệu củabao gồm Document (về cơ bản có key-value) và Colection.
CÁC CÔNG NGHỆ SỬ DỤNG Hình 3.1: Minh hoạ về Document structure trong Cloud FireStore.2 Khối phần mềm 3.1 Figma Figma là một ứng dụng gồm nhiều công cụ thiết kế mạnh mẽ trên nền tảng website một cách nhanh chóng. Với Figma, có thể sáng tạo không giới hạn giao diện người dùng (UI/UX), thiết kế tạo mẫu, tạo bài đăng trên các mạng xã hội và nhiều dự án thiết kế khác.