Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.8 MB, 19 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
Hà Nội, 29/12/2023
2
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>Table of contents</b>
<b>CHAPTER 1. ĐẶC TẢ YÊU CẦU ... 1</b>
1.1 Mục đích ... 1
1.2 Hành vi... 1
1.3 Yêu cầu quản lý hệ thống... 1
1.4 Yêu cầu phân tích dữ liệu... 1
1.5 Yêu cầu triển khai ứng dụng ... 1
1.6 Yêu cầu bảo mật ... 1
3.2 Máy bơm nước ... 5
<b>CHAPTER 4. ĐẶC TẢ MƠ HÌNH MIỀN... 6</b>
<b>CHAPTER 5. ĐẶC TẢ MƠ HÌNH THƠNG TIN... 7</b>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>CHAPTER 10. TÍCH HỢP THIẾT BỊ... 13</b>
10.1 Các thiết bị được sử dụng trong hệ thống... 13
10.2 Sơ đồ mạch ... 13
<b>CHAPTER 11. PHÁT TRIỂN ỨNG DỤNG ... 14</b>
11.1 Đối với đèn LED... 14
11.2 Đối với máy bơm ... 14
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>CHAPTER 1. ĐẶC TẢ YÊU CẦU1.1 Mục đích</b>
Một hệ thống cho phép người dùng có thể đo lường chính xác các thông tin vềnhiệt độ, độ ẩm, ánh sáng, độ ẩm đất của cây trồng. Bên cạnh đó, người dùng cịncó thể tự động hoặc thủ cơng việc tắt, bật đèn LED, máy bơm nước tùy theo ngườidùng nhằm đảm bảo cho cây trồng sinh trưởng tốt.
Hệ thống cũng cung cấp cho người dùng khả năng nhận biết bệnh của cây trồngthơng qua mơ hình học máy. Qua đó, người dùng có thể theo dõi q trình sinhtrưởng của cây.
Ở chế độ thủ công, hệ thống cung cấp tùy chọn bật/tắt đèn hay máy bơm bằngtay và từ xa thông qua trình duyệt web.
<b>1.3 Yêu cầu quản lý hệ thống</b>
Hệ thống cần cung cấp chức năng giám sát và điều khiển từ xa.
Ở đây, hệ thống cho phép người dùng sử dụng trang web để tiến hành giám sátcác thông số liên quan đến việc sinh trưởng của cây, qua đó có thể điều khiển cácthiết bị từ xa để hỗ trợ cho cây.
<b>1.4 Yêu cầu phân tích dữ liệu</b>
Hệ thống phải thực hiện phân tích dữ liệu cục bộ.
Dữ liệu sẽ được đọc từ các cảm biến, lưu giữ dữ liệu vào trong cơ sở dữ liệu,tiến hành phân tích, loại bỏ những dữ liệu khơng hợp lệ.
<b>1.5 u cầu triển khai ứng dụng</b>
Ứng dụng phải được triển khai cục bộ trên thiết bị nhưng có thể truy cập đượctừ xa.
<b>1.6 Yêu cầu bảo mật</b>
Hệ thống phải có khả năng xác thực người dùng cơ bản.
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>CHAPTER 2. CÁC CÔNG NGHỆ SỬ DỤNG2.1 ReactJS</b>
ReactJS là một thư viện JavaScript mã nguồn mở được phát triển bởi Facebook.Được giới thiệu lần đầu tiên vào năm 2013, ReactJS đã trở thành một trong nhữngcông cụ phổ biến nhất cho việc xây dựng giao diện người dùng (UI) tương tác trênweb.
Dưới đây là một số đặc điểm quan trọng của ReactJS:
•Component-Based Architecture (Kiến trúc dựa trên thành phần): ReactJS sửdụng mơ hình kiến trúc dựa trên thành phần, nơi mọi ứng dụng được xây dựngtừ các thành phần độc lập. Các thành phần này có thể tái sử dụng và kết hợpđể tạo thành các ứng dụng phức tạp.
•Virtual DOM (DOM Ảo): React sử dụng một cơ chế gọi là Virtual DOM đểtối ưu hóa hiệu suất. Thay vì cập nhật DOM thực trực tiếp, React tạo ra mộtbản sao ảo của DOM, thực hiện các thay đổi trên nó, sau đó so sánh với DOMthực tế để chỉ cập nhật những phần cần thiết. Điều này giúp giảm độ trễ vàtăng tốc độ hiển thị của ứng dụng.
•JSX (JavaScript XML): JSX là một phần quan trọng của React, cho phép viếtmã HTML trong JavaScript. JSX giúp tạo ra mã nguồn dễ đọc hơn và dễ duytrì hơn, đồng thời cung cấp khả năng tích hợp logic JavaScript vào mã HTML.•One-Way Data Binding (Ràng buộc dữ liệu một chiều): React sử dụng mơ hìnhràng buộc dữ liệu một chiều, điều này có nghĩa là dữ liệu chỉ di chuyển theomột hướng, từ thành phần cha xuống thành phần con. Điều này giúp quản lýtrạng thái ứng dụng một cách dễ dàng hơn.
•Ecosystem đa dạng: React có một cộng đồng mạnh mẽ và phong phú, vớinhiều thư viện và công cụ bổ sung như Redux (quản lý trạng thái ứng dụng),React Router (định tuyến), và nhiều thành phần khác giúp mở rộng khả năngvà tính linh hoạt của React.
<b>2.2 Firebase</b>
Firebase là một nền tảng phát triển ứng dụng di động và web được cung cấp bởiGoogle. Firebase cung cấp một loạt các dịch vụ và công cụ để giúp các nhà pháttriển xây dựng ứng dụng một cách nhanh chóng và dễ dàng, giảm bớt khối lượngcông việc cần thiết cho việc quản lý cơ sở dữ liệu, xác thực người dùng, hosting, vànhiều tính năng khác. Dưới đây là một số đặc điểm chính của Firebase:
2
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">CHƯƠNG 2. CÁC CƠNG NGHỆ SỬ DỤNG
•Realtime Database: Firebase cung cấp một cơ sở dữ liệu thời gian thực time Database) làm cho việc đồng bộ dữ liệu giữa các thiết bị di động và webtrở nên dễ dàng. Dữ liệu được cập nhật ngay lập tức khi có thay đổi, giúp xâydựng các ứng dụng có tính năng thời gian thực.
(Real-•Authentication (Xác thực): Firebase hỗ trợ xác thực người dùng với nhiềuphương tiện như email/password, Google, Facebook, Twitter và nhiều phươngthức khác. Điều này giúp giảm bớt công việc xây dựng và quản lý hệ thốngxác thực.
•Hosting: Firebase Hosting cung cấp dịch vụ lưu trữ web tốc độ cao với hệthống CDN (Content Delivery Network) tích hợp sẵn. Việc triển khai và quảnlý ứng dụng web trở nên đơn giản.
•Cloud Functions: Firebase Cloud Functions là một dịch vụ cho phép bạn triểnkhai và chạy mã JavaScript hoặc TypeScript trực tiếp trên nền tảng Firebase.Điều này giúp thực hiện các chức năng máy chủ mà khơng cần phải duy trìmáy chủ riêng biệt.
•Cloud Firestore: Firebase cung cấp Cloud Firestore, một cơ sở dữ liệu NoSQLlinh hoạt cho phép lưu trữ và truy xuất dữ liệu của ứng dụng một cách hiệuquả.
•Cloud Messaging: Firebase Cloud Messaging (FCM) cung cấp dịch vụ thôngbáo đa nền tảng cho việc giữ kết nối với người dùng thông qua thông báo pushtrên di động và web.
•Machine Learning: Firebase cung cấp nền tảng Machine Learning (ML) đểtích hợp tính năng máy học vào ứng dụng của bạn.
Firebase rất phổ biến trong cộng đồng phát triển do tính tiện ích và tính tồn diệncủa nó. Nó được ưa chuộng đặc biệt trong các dự án khởi nghiệp và ứng dụng diđộng nhanh chóng phát triển.
<b>2.3 NodeJS</b>
Node.js là một môi trường thực thi mã nguồn mở được xây dựng trên JavaScriptvà được sử dụng để phát triển ứng dụng web có khả năng mở rộng. Nó chủ yếuđược sử dụng để xây dựng các ứng dụng mạng thời gian thực, đặc biệt là các ứngdụng có độ chuyển động cao và khả năng mở rộng tốt.
•**JavaScript Everywhere:** Node.js cho phép sử dụng JavaScript cả ở phíamáy chủ (server-side) và ở phía người dùng (client-side), tạo điều kiện choviệc chia sẻ mã nguồn giữa phía máy chủ và phía người dùng, giảm độ phứctạp của việc duy trì và phát triển ứng dụng.
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">CHƯƠNG 2. CÁC CƠNG NGHỆ SỬ DỤNG•**Asynchronous I/O:** Node.js sử dụng mơ hình xử lý không đồng bộ (asyn-chronous) để xử lý nhiều kết nối cùng một lúc mà không làm chậm quá trìnhthực thi. Điều này làm cho Node.js trở thành lựa chọn lý tưởng cho việc xâydựng ứng dụng mạng thời gian thực, như chat, trò chơi trực tuyến, và các ứngdụng cần xử lý đồng thời nhiều sự kiện.
•**V8 JavaScript Engine:** Node.js sử dụng V8 JavaScript Engine của Google,giúp thực thi mã JavaScript nhanh chóng và hiệu quả. V8 được tối ưu hóa đểchạy trên mơi trường máy chủ, giúp Node.js đạt được hiệu suất cao.•**Nền Tảng Mở Rộng và Cộng Đồng Lớn:** Node.js có một cộng đồng phát
triển mạnh mẽ và đa dạng. Cộng đồng này đóng góp vào việc phát triển các thưviện và framework như Express.js, Socket.io, và nhiều công cụ hỗ trợ khác,giúp Node.js trở thành một nền tảng mở rộng và linh hoạt.
•**Package Manager (npm):** npm là một trình quản lý gói (package manager)mạnh mẽ đi kèm với Node.js, cho phép người phát triển dễ dàng cài đặt, quảnlý và chia sẻ các thư viện và công cụ mở rộng.
Node.js được sử dụng rộng rãi trong cả ứng dụng web, backend, và các ứng dụngmạng thời gian thực. Nó thường được chọn để xây dựng các dự án có khả năng mởrộng, đồng thời giúp tối ưu hóa hiệu suất và đơn giản hóa quy trình phát triển.
4
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"><b>CHAPTER 3. ĐẶC TẢ TIẾN TRÌNH3.1 Đèn LED</b>
<b>3.2 Máy bơm nước</b>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><b>CHAPTER 4. ĐẶC TẢ MƠ HÌNH MIỀN</b>
6
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><b>CHAPTER 5. ĐẶC TẢ MƠ HÌNH THƠNG TIN5.1 LED</b>
<b>5.2 MÁY BƠM</b>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><b>CHAPTER 6. THÔNG SỐ DỊCH VỤ6.1 LED</b>
8
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">CHƯƠNG 6. THÔNG SỐ DỊCH VỤ
<b>6.2 Máy bơm</b>
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14"><b>CHAPTER 7. ĐẶC TẢ CẤP ĐỘ IOT</b>
10
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">Ser-4. Web Services tương ứng với Services FG (web services)
5. Database tương ứng với the Management FG (Database management) và curity FG (database security)
Se-6. Application tương ứng với the Application FG (web application, applicationvà database servers), Management FG (app management) và Security FG (appse-curity)
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16"><b>CHAPTER 9. ĐẶC TẢ THÀNH PHẦN HOẠT ĐỘNG</b>
12
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><b>CHAPTER 10. TÍCH HỢP THIẾT BỊ10.1 Các thiết bị được sử dụng trong hệ thống</b>
- Module ESP32 WROOM- Cảm biến nhiệt độ độ ẩm DHT11- Cảm biến độ ẩm đất
- Cảm biến cường độ ánh sáng BH1750 FVI- Relay 5V kích mức thấp
- Máy bơm nước mini- Màn hình LCD16x2- Module I2C
<b>10.2 Sơ đồ mạch</b>
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18"><b>CHAPTER 11. PHÁT TRIỂN ỨNG DỤNG11.1 Đối với đèn LED</b>
•Khi chế độ Tự động được bật, khơng thể bật tắt một cách thủ công.
<b>11.2 Đối với máy bơm</b>
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">CHƯƠNG 11. PHÁT TRIỂN ỨNG DỤNG
</div>