Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 187 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
187
Dung lượng
5,39 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC BEEBEE - XÂY DỰNG NỀN TẢNG QUẢN LÝ VÀ GIÁM SÁT CÁC THIẾT BỊ IOT NGÀNH: KHOA HỌC MÁY TÍNH HỘI ĐỒNG: KHOA HỌC MÁY TÍNH GVHD: ThS Trần Thị Quế Nguyệt GVPB: ThS Nguyễn Thị Ái Thảo —o0o— SVTH: Nguyễn Phước Thăng - 1713209 TP HỒ CHÍ MINH, 09/2022 ĐẠI HỌC QUỐC GIA TP.HCM -TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc KHOA:KH & KT Máy tính BỘ MÔN:KHMT NHIỆM VỤ LUẬN ÁN TỐT NGHIỆP Chú ý: Sinh viên phải dán tờ vào trang thuyết trình HỌ VÀ TÊN: Nguyễn Phước Thăng HỌ VÀ TÊN : NGÀNH: LỚP: Đầu đề luận án: Xây dựng tảng quản lý giám sát thiết bị IoT 1713209 Nhiệm vụ (yêu cầu nội dung số liệu ban đầu): Đề tài đưa giải pháp xây dựng tảng cho việc triển khai ứng dụng IoT gồm kết ứng dụng mobile để quản lý thiết bị IOT triển khai, quản lý dự án sử dụng thiết bị IoT, quản lý liệu ghi nhận từ thiết bị giám sát tình trạng thiết bị Nền tảng có khả thiết lập khả cấu hình cho mục đích sử dụng khác người dùng - Sinh viên tìm hiểu nghiệp vụ, phân tích thiết kế giải pháp - Sinh viên tìm hiểu cơng nghệ giao tiếp với thiết bị IoT - Sinh viên cần am hiểu kỹ lập trình frontend website/mobile app, backend - Sinh viên cần tìm hiểu tính hợp API với bên thứ để xây dựng tiện ích cho người dùng email, notification - Sinh viên cần tìm hiểu cách triển khai hệ thống tảng cloud AWS đánh giá hiệu suất Ngày giao nhiệm vụ luận án: / / Ngày hoàn thành nhiệm vụ: / / Họ tên giảng viên hướng dẫn: THS TRẦN THỊ QUẾ NGUYỆT Phần hướng dẫn: Nội dung yêu cầu LVTN thông qua Bộ môn Ngày tháng năm CHỦ NHIỆM BỘ MƠN GIẢNG VIÊN HƯỚNG DẪN CHÍNH (Ký ghi rõ họ tên) (Ký ghi rõ họ tên) ThS Trần Thị Quế Nguyệt PHẦN DÀNH CHO KHOA, BỘ MÔN: Người duyệt (chấm sơ bộ): Đơn vị: Ngày bảo vệ: Điểm tổng kết: Nơi lưu trữ luận án: TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KH & KT MÁY TÍNH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc -Ngày tháng năm PHIẾU CHẤM BẢO VỆ LVTN (Dành cho người hướng dẫn/phản biện) Họ tên SV: Nguyễn Phước Thăng MSSV: 1713209 Ngành (chuyên ngành): ………………… Đề tài: Xây dựng tảng quản lý giám sát thiết bị IoT Họ tên người hướng dẫn/phản biện: ThS Trần Thị Quế Nguyệt Tổng quát thuyết minh: Số trang: Số chương: Số bảng số liệu Số hình vẽ: Số tài liệu tham khảo: Phần mềm tính toán: Hiện vật (sản phẩm) Tổng quát vẽ: - Số vẽ: Bản A1: Bản A2: Khổ khác: - Số vẽ vẽ tay Số vẽ máy tính: Những ưu điểm LVTN: Sinh viên thực tốt tính cần thiết cho tảng quản lý giám sát thiết bị IOT Bao gồm xây dựng kiến trúc multi tenant sở để xây dựng hệ thống software as service, cho phép người dùng đăng ký tạo tài khoản có khơng gian làm việc riêng với sở liệu riêng độc lập với người dùng khác Sinh viên xây dựng ứng dụng tảng thiết bị di động web với tính đầy đủ cho phép người dùng theo dõi điều khiển thiết bị theo dự án khác nhau, thiết lập cảnh báo nhận cảnh báo, ghi nhận nhật ký thu thập điều khiển, quản lý tài khoản phụ xây dựng biểu đồ thống kê Ngoài ra, tảng cho phép người dùng cài đặt kết nối tới cổng IoT, thiết lập danh mục thiết bị, loại thiết bị, danh sách thuộc tính, nhóm thiết bị loại liệu hiển thị khác nhau, cấu hình loại biểu đồ hiển thị (dạng cột, dạng đường, dạng cung trịn, v.v) điều khiển khác (dạng cơng tắc, dạng đa lệnh), hình ảnh biểu tượng, màu sắc hiển thị khác nhau, giúp cá nhân hoá ứng dụng tuỳ vào thiết lập người dùng Hệ thống triển khai tảng Cloud Google Play Store Những thiếu sót LVTN: - Cần đa dạng loại IoT gateway tìm hiểu thêm bảo mật Đề nghị: Được bảo vệ □ Bổ sung thêm để bảo vệ □ câu hỏi SV phải trả lời trước Hội đồng: a b c 10 Đánh giá chung (bằng chữ: giỏi, khá, TB): Giỏi Không bảo vệ □ Điểm : 9.2 /10 Ký tên (ghi rõ họ tên) Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính LỜI CAM ĐOAN Nhóm tơi xin cam đoan cơng trình nghiên cứu nhóm hướng dẫn ThS Trần Thị Quế Nguyệt Các số liệu, phân tích, liệu, số thơng tin trích dẫn từ số cơng trình nghiên cứu khoa học nhóm thu thập từ nhiều nguồn khác ghi rõ phần tài liệu tham khảo Nhóm xin cam đoan mức độ trung thực kết nghiên cứu từ luận văn Nếu có gian lận, nhóm sẵn sàng chịu hồn tồn trách nhiệm đề cương / luận văn tốt nghiệp nhóm Luận Văn Tốt Nghiệp Page 1/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính LỜI CẢM ƠN Lời đầu tiên, nhóm BeeBee xin gửi lời cảm ơn đến Ths Trần Thị Quế Nguyệt – Giáo Viên Hướng Dẫn nhóm suốt q trình nghiên cứu thực đề cương / luận văn Xin cảm ơn dành thời gian hướng dẫn, gợi ý hướng nghiên cứu đưa nhận xét thiết thực giúp chúng em cải thiện phát triển đề tài nghiên cứu Trong suốt trình thực hiện, cô hỗ trợ đánh giá ý tưởng khả thực, hướng dẫn quy trình làm việc, giúp chúng em vượt qua khó khăn để có kết cuối Chúng em xin gửi lời cảm ơn quý thầy cô trường đại học Bách Khoa, đặc biệt thầy cô Khoa Khoa Học Kỹ Thuật Máy Tính tận tình dạy cho chúng em nhiều kiến thức, học bổ ích Những học khơng chúng em áp dụng để hồn thành đề tài luận văn mà cịn có tác dụng hỗ trợ lớn đường phía trước Ngồi ra, chúng em xin gửi lời cảm ơn đến anh chị, bạn bè trường đại học Bách Khoa thành phố Hồ Chí Minh ủng hộ hỗ trợ nhóm q trình nghiên cứu hoàn thành đề cương / luận văn Cuối cùng, chúng em xin gửi lời cảm ơn tới quý thầy cô hội đồng luận văn dành thời gian đánh giá đề tài Trong trình thực đề tài, kiến thức cịn hạn chế quỹ thời gian có hạn, rà sốt nhiều lần khơng thể tránh khỏi sai sót Chúng em mong nhận đánh giá góp ý từ quý thầy cô Một lần xin gửi lời cảm ơn chân thành đến thầy cô, anh chị, em bạn dành thời gian đọc báo cáo Luận văn Nhóm thực đề tài Luận Văn Tốt Nghiệp Page 2/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính TĨM TẮT ĐỀ TÀI BeeBee phần mềm dạng dịch vụ (Software as a Service - SaaS) cung cấp giải pháp quản lý giám sát thiết bị IoT BeeBee tập trung vào việc giải vấn đề triển khai hệ thống IoT quản lý, giám sát, điều khiển thiết bị Ngồi ra, BeeBee cịn cung cấp số chức khác thiết lập cảnh báo gửi mệnh lệnh cho thiết bị cảnh báo kích hoạt, đặt lịch hẹn để gửi mệnh lệnh tới thiết bị Để thực đề tài này, thực cơng việc sau: • Nghiên cứu hệ thống tương tự • Nghiên cứu mơ hình multi-tenant để phát triển hệ thống theo hướng SaaS • Lên danh sách đặc tả chức cần thiết hệ thống • Lên ý tưởng thiết kế giao diện Figma • Tìm hiểu giao thức phổ biến lĩnh vực IoT MQTT • Tìm hiểu cơng nghệ phù hợp để thực hệ thống Flutter, Next.js, PostgreSQL • Tìm hiểu để triển khai hệ thống lên môi trường dịch vụ điện tốn đám mây • Tìm hiểu API bên thứ ba để tích hợp vào hệ thống Supabase, OneSignal, EmailJS Luận Văn Tốt Nghiệp Page 3/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính TĨM TẮT CHƯƠNG Chương 1: Giới thiệu đề tài Trong chương này, chúng tơi trình bày ý nghĩa mục tiêu đề tài Bên cạnh giới hạn khuôn khổ đề tài luận văn tốt nghiệp Chương 2: Kiến thức tảng Trong chương này, giới thiệu công nghệ lý lựa chọn cơng nghệ để thực hệ thống Chương 3: Phân tích hệ thống Trong chương này, chúng tơi trình bày đánh giá nhóm dịch vụ tương tự, phân tích yêu cầu hệ thống đặc tả usecase Chương 4: Thiết kế hệ thống Trong chương này, chúng tơi trình bày kiến trúc hệ thống thiết kế sở liệu Chương 5: Hiện thực hệ thống Trong chương này, chúng tơi trình bày cơng cụ quản lý mã nguồn, cấu trúc mã nguồn giao diện hệ thống Chương 6: Kiểm thử Trong chương này, chúng tơi trình bày q trình kiểm thử phát triển hệ thống Bên cạnh đó, chúng tơi giới thiệu cách kiểm thử tự động sử dụng phần mềm Katalon Chương 7: Triển khai Trong chương này, chúng tơi trình bày q trình triển khai hệ thống Chương 8: Tổng kết, đánh giá hướng phát triển đề tài Trong chương này, tổng kết lại kết suốt trình lên ý tưởng thực hệ thống Cuối cùng, chúng tơi trình bày số hạn chế đề xuất hướng phát triển Luận Văn Tốt Nghiệp Page 4/183 Mục Lục Lời cam đoan Lời cảm ơn Tóm tắt đề tài Tóm tắt chương Giới thiệu đề tài 17 1.1 Tổng quan 17 1.2 Nội dung thực 18 1.3 Ý nghĩa đề tài 19 1.3.1 Ý nghĩa thực tiễn 19 1.3.2 Ý nghĩa khoa học, kỹ thuật 19 Giới hạn đề tài 19 1.4 Kiến thức tảng 2.1 2.2 21 Cơ sở lý thuyết 21 2.1.1 Giao thức MQTT 21 2.1.2 Kiến trúc multi-tenant 25 2.1.3 JSON Web Token 26 2.1.4 HTTP-Only Cookies 27 2.1.5 Hash liệu với salt 29 Công nghệ tảng 30 2.2.1 Flutter 30 2.2.2 Shelf 31 2.2.3 Next.js 31 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính 2.2.4 TailwindCSS 31 2.2.5 Hệ sở liệu PostgreSQL 31 2.2.6 Các API tích hợp 32 Phân tích thiết kế hệ thống 37 3.1 Phân tích hệ thống liên quan 37 3.2 Phân tích yêu cầu 39 3.3 Các loại người dùng hệ thống 40 3.4 Lược đồ Usecase 41 3.5 Đặc tả Usecase 44 Thiết kế hệ thống 4.1 99 Thiết kế sở liệu 99 4.1.1 Thiết kế sở liệu dùng chung (schema public) 99 4.1.2 Thiết kế sở liệu cho khách hàng (schema tenant) 101 Hiện thực hệ thống 114 5.1 Kiến trúc hệ thống 114 5.2 Quản lý mã nguồn Git - GitHub 115 5.3 Cấu trúc mã nguồn 115 5.3.1 Ứng dụng di động 116 5.3.2 Front-end 119 5.3.3 Back-end 120 5.4 Giao diện website 121 5.5 Giao diện ứng dụng di động 126 5.5.1 Giao diện ứng dụng admin 126 5.5.2 Giao diện ứng dụng người dùng cuối 169 Kiểm thử 170 6.1 Kiểm thử back-end 170 6.2 Kiểm thử ứng dụng di động 171 Luận Văn Tốt Nghiệp Page 6/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính • Giá trị thuộc tính gửi đến thiết bị (bắt buộc) • Tên lệnh điều khiển (bắt buộc) Hình 5.104: Trang chi tiết đa lệnh (multi-command) 5.5.2 Hình 5.105: Ô điều khiển dạng công tắc bảng điều khiển Giao diện ứng dụng người dùng cuối Giao diện ứng dụng người dùng cuối giống admin trừ thành phần UI có chức tạo mới, chỉnh sửa, xóa thực thể Ngồi ra, thực thể "User" không hiển thị giao diện ứng dụng người dùng cuối Luận Văn Tốt Nghiệp Page 169/183 Chương Kiểm thử Kiểm thử trình quan trọng trình thực phát triển sản phẩm, nhằm đảm bảo chức hoạt động xác Đồng thời giúp phát lỗi gặp trình sử dụng ứng dụng 6.1 Kiểm thử back-end Đối với back-end trình phát triển dụng Postman cho việc lưu trữ kiểm thử API Hình 6.1: Postman Workspace backend 170 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính 6.2 Kiểm thử ứng dụng di động Đối với ứng dụng di động, tiến hành kiểm thử chức phần mềm Katalon Studio Công nghệ kiểm thử - Katalon Katalon Studio[5] giải pháp kiểm thử tự động phát triển Katalon LLC Phần mềm xây dựng dựa khung tự động hóa nguồn mở Selenium, Appium với giao diện IDE chuyên dụng để kiểm thử ứng dụng web, API, ứng dụng di động máy tính để bàn Katalon Studio quản lý thành phần GUI theo mơ hình đối tượng trang Các thành phần GUI ứng dụng web, di động máy tính để bàn ghi lại tiện ích ghi lưu trữ vào Object Repository (kho lưu trữ đối tượng), truy cập sử dụng lại trường hợp kiểm thử khác Vì giới hạn thời gian, chúng tơi triển khai kiểm thử chức đăng nhập; tạo mới, chỉnh sửa, xóa thực thể dự án, nhóm thiết bị, thiết bị Hình 6.2: Kiểm thử chức đăng nhập Luận Văn Tốt Nghiệp Page 171/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính Hình 6.3: Kiểm thử chức tạo dự án Hình 6.4: Kiểm thử chức chỉnh sửa dự án Luận Văn Tốt Nghiệp Page 172/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính Hình 6.5: Kiểm thử chức xóa dự án 6.3 Kiểm thử front-end Đối với front-end, thực việc kiểm thủ cơng quy trình đăng ký, đăng nhập, xem danh sách workspace, tạo xóa workspace Luận Văn Tốt Nghiệp Page 173/183 Chương Triển khai 7.1 Triển khai ứng dụng di động Các bước triển khai ứng dụng di động thực sau: - Tạo khóa câu lệnh: keytool - genkey -v - keystore % userprofile %\ upload - keystore jks - storetype JKS - keyalg RSA - keysize 2048 - validity 10000 - alias upload - Thêm tham khảo tới khóa tạo Trong thư mục android, tạo file key.properties chứa thơng tin tham khảo tới khóa tạo storePassword = < password from previous step > keyPassword = < password from previous step > keyAlias = upload storeFile = < location of the key store file > - Cấu hình chữ ký gradle Thay đổi thơng tin tập tin /android/app/build.gradle Thêm thơng tin khóa sau: def k ey st ore Pr op ert ie s = new Properties () def k e y s t o r e P r o p e r t i e s F i l e = rootProject file ( ’ key properties ’) if ( k e y s t o r e P r o p e r t i e s F i l e exists () ) { 174 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính ke ys to reP ro pe rti es load ( new FileInputStream ( keystorePropertiesFile )) } android { } Trong block buildTypes, thay đổi thông tin sau: signingConfigs { release { keyAlias key st or ePr op er tie s [ ’ keyAlias ’] keyPassword key st or ePr op er tie s [ ’ keyPassword ’] storeFile k ey st ore Pr op ert ie s [ ’ storeFile ’] ? file ( ke ys to reP ro pe rti es [ ’ storeFile ’]) : null storePassword k ey sto re Pr ope rt ie s [ ’ storePassword ’] } } buildTypes { release { 10 signingConfig signingConfigs release 11 } 12 13 } - Build ứng dụng Flutter cung cấp xây dựng ứng dụng cho android iOS hạn chế thiết bị nên xây dụng cho hệ điều hành android Để tạo tập tin aab câu lệnh sau: flutter build appbundle - Đưa ứng dụng lên Google Play: Đầu tiên cần đăng ký tài khoản Google Developer Người dùng cần trả khoản phí lần đăng ký tài khoản để cấp phép đăng tải ứng dụng Sau đăng ký xác thực tài khoản, tạo ứng dụng cách tải tập tin aab tạo trả lời khảo sát liên quan Việc xét duyệt ứng dụng khoảng ngày lâu Luận Văn Tốt Nghiệp Page 175/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính 7.2 Triển khai back-end Chúng sử dụng dịch vụ Heroku để triển khai back-end lý sau: – Có gói dịch vụ miễn phí: Heroku cung cấp 500 chạy miễn phí tháng cho tài khoản – Triển khai ứng dụng nhanh chóng qua Heroku CLI Để triển khai back-end Heroku, thực bước sau: – Đăng ký tài khoản Heroku liên kết với tài khoản GitHub – Đăng nhập vào Heroku Heroku CLI: heroku login – Tạo ứng dụng Heroku câu lệnh sau nhập thông tin ứng dụng: heroku create – Tạo tập tin Procfile thư mục mã nguồn back-end để cài đặt entry point sau: web : / dart - sdk / bin / dart bin / server dart – Tải ứng dụng lên Heroku câu lệnh: git push heroku master – Cài đặt Setting cho ứng dụng Heroku Vì back-end sử dụng thư mục shelf Dart nên phần Setting cần thêm đường dẫn dart-sdk-url Hình 7.1: Cài đặt ứng dụng Heroku Luận Văn Tốt Nghiệp Page 176/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính 7.3 Triển khai front-end Để triển khai front-end, sử dụng dịch vụ Heroku với cách triển khai tương tự trình bày Luận Văn Tốt Nghiệp Page 177/183 Chương Tổng kết, đánh giá hướng phát triển 8.1 8.1.1 Tổng kết kết đạt Đối với nhiệm vụ đề tài • Tìm hiểu nghiệp vụ tính hữu ích để xây dựng hệ thống quản lý giám sát thiết bị IoT • Tìm hiểu xây dựng hệ thống theo hướng Software as a Service • Tìm hiểu vận dụng kỹ lập trình ứng dụng di động để xây dựng ứng dụng phục vụ cho hệ thống, cung cấp giao diện dễ nhìn, đẹp mắt • Tìm hiểu vận dụng kỹ lập trình front-end để xây dựng website cho hệ thống • Tìm hiểu vận dụng kỹ lập trình back-end để xây dựng server cho hệ thống • Tích hợp API bên thứ ba • Tìm hiểu triển khai hệ thống Heroku, đăng ký ứng dụng di động Google Play Store 178 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính 8.1.2 Đối với sở lý thuyết công nghệ Để thực hệ thống, chúng tơi tìm hiểu cơng nghệ phù hợp với yêu cầu nghiệp vụ Qua đó, chúng tơi có hội tìm tịi, học hỏi cơng nghệ phát triển web, ứng dụng di động server Cụ thể sau: • Đối với ứng dụng di động, sử dụng Flutter làm tảng kết hợp với kiến trúc Bloc để quản lý state, sử dụng thư viện cộng đồng để kết nối MQTT broker, lưu thơng tin bảo mật • Đối với website, sử dụng Next.js làm công nghệ để phát triển, sử dụng mơ hình proxy để bảo mật thông tin quan trọng token session tài khoản • Đối với server, chúng tơi thực thư viện shelf ngôn ngữ Dart, sử dụng Postgres làm sở liệu, thực việc hash mật với salt để bảo vệ tài khoản trước kiểu công brute-force attack, dictionary attack hay rainbow table Đồng thời, chúng tơi tích hợp dịch vụ sau để hỗ trợ việc thực chức hệ thống: - Dịch vụ thông báo: OneSignal - Dịch vụ email: EmailJS 8.1.3 Đối với quy trình phát triển phần mềm Từ tảng cơng nghệ, tiến hành thực bước để phát triển hệ thống: • Tìm hiểu nghiệp vụ dịch vụ tương tự Thingsboard Từ phân tích đưa đề xuất cho hệ thống • Thiết kế giao diện người dùng Figma • Thiết kế sở liệu kiến trúc hệ thống • Hiện thực hệ thống cơng nghệ: Luận Văn Tốt Nghiệp Page 179/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính – Flutter thực giao diện ứng dụng di động – Next.js thực website hệ thống – Thư viện shelf thực server • Kiểm thử hệ thống thông qua kiểm thử thủ công tự động • Triển khai hệ thống: - Triển khai back-end front-end sử dụng dịch vụ Heroku - Đưa ứng dụng di động lên Google Play Store 8.1.4 Đối với lợi ích thực tế • Đáp ứng tác vụ hệ thống thiết bị IoT • Có thể triển khai dự án IoT dễ dàng nhanh chóng 8.2 8.2.1 Đánh giá kết đạt Ưu điểm • Hệ thống xây dựng theo hướng Software as a Service, giúp khách hàng thiết lập khả cấu hình cho mục đích khác • Xây dựng sở liệu theo kiến trúc multi-tenant, giúp cô lập liệu workspace • Cung cấp số tính cho phép quản lý, giám sát điều khiển thiết bị IoT • Thiết kế giao diện dễ nhìn, đẹp mắt thuận tiện cho việc sử dụng • Sử dụng Flutter giúp tạo ứng dụng đa tảng, xây dựng ứng dụng di động hai hệ điều hành Android iOS Luận Văn Tốt Nghiệp Page 180/183 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính 8.2.2 Nhược điểm • Chỉ hỗ trợ giao thức MQTT cho thiết bị IoT • Thiếu chức tạo vai trị động cho người dùng • Các theo dõi điều khiển hạn chế mặt chức số lượng thể loại • Mặc dù ứng dụng di động sử dụng cơng nghệ Flutter triển khai đa tảng hạn chế sở hạ tầng nên chưa thể triển khai hệ điều hành iOS • Website hệ thống chưa hỗ trợ chức ứng dụng di động • Các tính hệ thống cần phải tối ưu cải thiện hiệu suất 8.3 Hướng phát triển đề tài Qua việc thực triển khai hệ thống, rút nhiều kinh nghiệm Trong tương lai, nhóm chúng tơi muốn phát triển mở rộng hệ thống theo hướng sau: • Hỗ trợ thêm giao thức HTTP, CoAP cho thiết bị IoT • Hiện thực chức tạo vai trò động cho người dùng • Hiện thực chức tương tự ứng dụng di động cho website • Mở rộng chức đa dạng ô theo dõi thiết bị • Tích hợp API cho chức thơng báo người dùng qua SMS • Triển khai thu phí theo mơ hình freemium Luận Văn Tốt Nghiệp Page 181/183 Tài liệu tham khảo [1] Paul C Bryan RFC 6901: Javascript Object Notation (JSON) https://www.rfc-edi tor.org/rfc/rfc6901, 2013 [Truy cập lần cuối 08/09/2022] [2] EmailJS EmailJS https://www.emailjs.com, 2022 [Truy cập lần cuối 08/09/2022] [3] Google Flutter - Build apps for any screen https://flutter.dev, 2022 [Truy cập lần cuối 08/09/2022] [4] jwt.io JSON Web Tokens https://jwt.io, 2022 [Truy cập lần cuối 08/09/2022] [5] Kalaton Kalaton Studio | Best Codeless Test Automation Tools https://katalon.co m/katalon-studio, 2022 [Truy cập lần cuối 08/09/2022] [6] Max Next.js: Using HTTP-Only Cookies for Secure Authentication https://maxschmi tt.me/posts/next-js-http-only-cookie-auth-tokens/, 2022 [Truy cập lần cuối 08/09/2022] [7] MDN Base64 - MDN Web Docs Glossary: Definitions of Web-related terms https: //developer.mozilla.org/en-US/docs/Glossary/Base64, 2022 [Truy cập lần cuối 08/09/2022] [8] OneSignal Push Notification Software to Improve Customer Engage https://onesig nal.com, 2022 [Truy cập lần cuối 08/09/2022] [9] Anna Petrova Reasons and Peculiarities of Choosing MQTT Protocol for Your IoT Devices https://www.integrasources.com/blog/mqtt-protocol-iot-devices/, 2020 [Truy cập lần cuối 08/09/2022] 182 Trường Đại Học Bách Khoa, Đại Học Quốc Gia TPHCM Khoa Khoa Học & Kỹ Thuật Máy Tính [10] PostgreSQL PostgreSQL: About https://www.postgresql.org/about/, 2022 [Truy cập lần cuối 08/09/2022] [11] Supabase The Open Source Firebase Alternative https://supabase.com, 2022 [Truy cập lần cuối 08/09/2022] [12] TailwindCSS Tailwind CSS - Rapidly build modern websites without ever leaving your HTML https://tailwindcss.com, 2022 [Truy cập lần cuối 08/09/2022] [13] Dart Team Web server middleware for Dart https://pub.dev/packages/shelf, 2018 [Truy cập lần cuối 08/09/2022] [14] The HiveMQ Team Quality of Service 0,1 & https://www.hivemq.com/blog/mq tt-essentials-part-6-mqtt-quality-of-service-levels/, 2015 [Truy cập lần cuối 08/09/2022] [15] ThingsBoard ThingsBoard Open-source IoT Platform https://thingsboard.io/, 2022 [Truy cập lần cuối 08/09/2022] [16] Vercel Next.js by Vercel - The React Framework https://nextjs.org, 2022 [Truy cập lần cuối 08/09/2022] [17] xluffy Băm lưu password cách https://taoquangne.com/post/how-to-h ash-store-password/, 2022 [Truy cập lần cuối 08/09/2022] Luận Văn Tốt Nghiệp Page 183/183