xây dụng ứng dụng điều khiển nhà thông minh trên thiết bị di động

24 12 0
xây dụng ứng dụng điều khiển nhà thông minh trên thiết bị di động

Đ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

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP XÂY DỰNG ỨNG DỤNG ĐIỀU KHIỂN NHÀ THƠNG MINH TRÊN THIẾT BỊ DI ĐỘNG Cơng ty thực tập : Sunshine Tech Người phụ trách : Đặng Quang Trung Thực tập sinh : Phạm Quốc Đạt TP HỒ CHÍ MINH, 2022 LỜI MỞ ĐẦU Thế giới bước vào thời đại Internet vạn vật (IoT), với xuất ứng dụng công nghệ IoT hứa hẹn mang đến giá trị to lớn cho người Trong năm gần đây, thấy xuất hệ thống nhà thông minh hay thiết bị gia dụng thông minh điều khiển giọng nói thơng qua cảm biến Khơng dừng lại đó, đồ vật kết nối Internet, chúng trở nên thông minh nhờ khả gửi và/hoặc nhận thông tin tự động hoạt động dựa thơng tin đó, đồng thời lệnh cho thiết bị khác Cơng nghệ cịn cho phép người dùng dễ dàng điều khiển thiết bị nhà dù đâu thông qua điện thoại thơng minh Vì vậy, để có hội tiếp cận sớm với quy trình tạo ứng dụng điều khiển thiết bị IoT thiết bị di động, với mong muốn có thêm kinh nghiệm thực tế môi trường làm việc ngành Cơng nghệ Thơng tin nói chung Kỹ thuật Phần mềm nói riêng, nên em định ứng tuyển vào Công ty Sunshine Tech – công ty phần mềm thuộc Sunshine Group Tập đoàn bất động sản hàng đầu Việt Nam Vì em có tìm hiểu nơi phát triển mạnh ứng dụng có liên quan tới IoT nhằm đáp ứng nhu cầu cư dân Sunshine Phạm Quốc Đạt LỜI CẢM ƠN Trước hết, em xin gửi lời cảm ơn chân thành tới công ty Sunshine Tech tạo điều kiện cho em có hội thực tập công ty Ngay từ buổi đầu thực tập, hướng dẫn nhiệt tình anh chị cố vấn, em tiếp thu nhiều kiến thức quy trình sản xuất phần mềm thực tế, làm việc môi trường chuyên nghiệp Em trao hội tham gia vào nhóm lập trình ứng dụng di động Đây khoảng thời gian em quý giá để em chuẩn bị tốt cho công việc tương lai Em xin cảm ơn anh chị thành viên nhóm quan tâm, giúp đỡ động viên em xun suốt q trình thực tập cơng ty Mọi người tạo điều kiện để em học tập, làm việc cách có hiệu quả, giúp em làm quen với trình phát triển phần mềm, hiểu phức tạp lập trình, cung cấp kinh nghiệm thực tiễn phong phú, tạo tảng cho phát triển em sau Bên cạnh đó, em trân trọng gửi lời cảm ơn tới quý thầy cô khoa Cơng nghệ Phần mềm tận tình dạy dỗ, bảo, hướng dẫn tạo điều kiện cho em hoàn thành báo cáo Sinh viên thực Phạm Quốc Đạt TP.Hồ Chí Minh, ngày 15 tháng 06 năm 2022 NHẬN XÉT CỦA KHOA MỤC LỤC DANH MỤC HÌNH i DANH MỤC BẢNG ii Chương GIỚI THIỆU CÔNG TY THỰC TẬP 1.1 Giới thiệu công ty Sunshine Tech – thành viên Sunshine Group 1.2 Sản phẩm công ty Chương Nội dung thực tập 2.1 Tìm hiểu cơng ty kỹ sử dụng cơng việc 2.2 Tìm hiểu sản phẩm công nghệ liên quan 2.3 Tham gia làm việc Scrum team .6 2.4 Lịch làm việc Chương Chi tiết project 3.1 Giới thiệu dự án 3.2 Thực 10 Chương Kết đạt .11 4.1 Scrum .11 4.1.1 Giới thiệu .11 4.1.2 Ba trụ cột Scrum .12 4.1.3 Scrum team 12 4.1.4 Scrum Event 12 4.2 Flutter .12 4.2.1 Flutter gì? 12 4.2.2 Tính Flutter 13 4.2.3 Đặc điểm bật .13 4.3 Stoplight 14 TỔNG KẾT .15 TÀI LIỆU THAM KHẢO 16 i DANH MỤC HÌNH Hình 1.1: Logo công ty Sunshine Tech Hình 1.2: Logo Unicloud Group Hình 1.3: Nhà thông minh Sunshine Tech Hình 1.4: Ứng dụng Kienlong Bank Plus [4] Hình 3.1: Hình ảnh thực tế từ ứng dụng Sliving App Hình 4.1 Mơ tả quy trình Scrum .11 Hình 4.2 Ví dụ minh họa cho Flutter 14 ii DANH MỤC BẢNG Bảng 2.1 Lịch làm việc theo sprint .8 Chương GIỚI THIỆU CÔNG TY THỰC TẬP 1.1 Giới thiệu công ty Sunshine Tech – thành viên Sunshine Group Hình 1.1: Logo công ty Sunshine Tech Công ty CP Đầu tư Thương mại Sunshine Tech [1] thành lập ngày 12/06/2016, công ty công nghệ chuyên giải pháp công nghệ IoT liên quan tới tối ưu nâng cao chất lượng đời sống cư dân dự án hộ hạng sang Trong năm qua, Sunshine Tech liên tục cho đời giải pháp giải pháp tổng thể cho smart living, giải pháp nhà thông minh, giải pháp bãi đỗ xe thông minh, giải pháp an ninh thông minh, giải pháp thang máy thông minh giải pháp kiểm sốt vào thơng minh Những bước đột phá công nghệ thông minh giúp Sunshine Group hoàn thiện “hệ sinh thái Sunshine” với tâm điểm “cư dân điện tử” tiện ích cơng nghệ dịch vụ hoàn hảo nhằm nâng cao chất lượng đời sống người dân Việt…Đồng thời tạo khác biệt cho sản phẩm bất động sản Sunshine Group nhờ khác biệt công nghệ đại, vượt trội thông minh Những lĩnh vực phát triển cơng ty [2]: • Xây dựng ứng dụng di động (Mobile App) cho việc giám sát, điều khiển • Thiết kế phần cứng Sản phẩm • Xây dựng Firmware, Cloud Server • Xây dựng Mobile App, Website • AI, Machine learning, … Đặng Quang Trung Phạm Quốc Đạt Cuối năm 2021, Sunshine Tech đổi tên thành Cơng ty CP Tập đồn Cơng nghệ Unicloud (Unicloud Group), có 300 thành viên trụ sở Hà Nội chi nhánh TP.HCM, công ty Unicloud Investment Nanochip Hình 1.2: Logo Unicloud Group 1.2 Sản phẩm công ty Sunshine Tech công ty xây dựng sản phẩm đại tiện lợi cho cư dân hộ cao cấp, giúp kết nối đồ vật thiết bị thông qua cảm biến, phần mềm công nghệ khác, cho phép đồ vật thiết bị thu thập trao đổi liệu với để tự hoạt động dựa liệu Các giải pháp nhà thông minh bật Sunshine Tech [3] giúp thay đổi chất lượng sống: • Hệ thống cơng tắc cảm ứng • Rèm cửa thơng minh • Điều hịa thơng minh • Cảm biến chuyển động • Hệ thống đo lường thơng minh (giúp chủ nhà kiểm sốt số liệu điện nước tiêu thụ gia đình theo thời gian thực tế) Đặng Quang Trung Phạm Quốc Đạt Hình 1.3: Nhà thông minh Sunshine Tech Hình 1.4: Ứng dụng Kienlong Bank Plus [4] Đặng Quang Trung Phạm Quốc Đạt Bên cạnh sản phẩm nhà thơng minh, Sunshine Tech cịn xây dựng sản phẩm khác Một sản phẩm bật Kienlong Bank Plus, Ngân hàng TMCP Kiên Long (KienlongBank) Tập đoàn Sunshine (Sunshine Group) phối hợp hoàn thiện Đặng Quang Trung Phạm Quốc Đạt Chương Nội dung thực tập Trong thời gian thực tập, em tham gia dự án xây dựng ứng dụng dạy điều khiển nhà thông minh thiết bị di động - Sliving App - phục vụ điều khiển thiết bị IoT hộ thông minh Thực tập sinh cơng ty có hội học hỏi, khám phá làm việc môi trường phát triển ứng dụng chun nghiệp 2.1 Tìm hiểu cơng ty kỹ sử dụng công việc Thời gian: ngày Nội dung: • Giới thiệu tổng quan cơng ty (q trình thành lập phát triển, quy trình làm việc, cách tổ chức cơng ty) • Tìm hiểu ngun tắc cơng ty (giờ làm việc, cách theo dõi tiến độ công việc Jira, sử dụng email công việc, thái độ làm việc, …) • Giới thiệu thành viên nhóm sản phẩm thực • Giới thiệu cơng cụ website hỗ trợ q trình làm việc Kết quả: • Có kiến thức hiểu biết thêm cơng ty Sunshine Tech văn hóa, giá trị, q trình thành lập phát triển cơng ty • Biết cách tự tìm đọc tài liệu hiệu liên quan đến việc tải ứng dụng, cài đặt máy • Có thêm kỹ việc sử dụng email, Jira công việc, tác phong làm việc có kế hoạch, trách nhiệm kỷ luật • Có kiến thức định hình kiến thức sử dụng q trình thực tập cơng ty 2.2 Tìm hiểu sản phẩm công nghệ liên quan Thời gian: tuần Nội dung: Đặng Quang Trung Phạm Quốc Đạt • Tìm hiểu làm quen với sản phẩm, cấu trúc, cách cài đặt, framework liên quan dựa vào document sản phẩm… • Tìm hiểu library Flutter như: TextField, Image Picker, … • Tìm hiểu cơng cụ hỗ trợ Stoplight, Jira, Gitlab • Tìm hiểu Docker, WebSocket Kết quả: • Tiếp cận với tool làm việc Scrum team • Hiểu khái niệm cần thiết, có khả sử dụng thư viện mở rộng 2.3 Tham gia làm việc Scrum team Thời gian: 10 tuần Nội dung: Làm việc chung tham gia đầy đủ event với Scrum team : Sprint Planning Meeting, Daily Scrum, Sprint Review, Sprint Retrospective Nhận tasks, lên kế hoạch, estimate hoàn thành: Thiết kế test case, Thực task, sửa lỗi cho chức khác ứng dụng 2.4 Lịch làm việc Sprint Công việc Người Mức độ Nhận hướng dẫn hồn thành xét Tìm hiểu quy trình làm việc Scrum Học cách trao đổi công việc qua Skype, Email Google Meet Tìm hiểu cách quản lý dự án Đặng Quang Trung Đạt 100% yêu cầu Jira cài đặt công cụ phục vụ cho dự án Đặng Quang Trung Phạm Quốc Đạt Tìm hiểu cách nắm bắt thơng tin UI/UX Figma để code tỉ lệ Xây dựng hình Splash, Onboarding Đăng ký Tạo widget (TextFormField, LoginWithButton) dùng chung cho hình Xây dụng hình Quản lý nhà Xây dựng luồng gọi API cho hình Tạo mock data cho hình Tìm hiểu BloC pattern để quản lý Đặng Quang Trung Đạt 100% yêu cầu state Sửa lỗi tester phát hình làm Áp dụng BloC pattern để xử lý logic cho hình Đăng ký Quản lý nhà Xây dựng thêm hình cho Đặng Quang mục Tự động hóa Trung Đạt 100% yêu cầu Tạo mock data Sửa lỗi tester phát hình làm Đặng Quang Trung Phạm Quốc Đạt Áp dụng BloC pattern để xử lý logic cho hình Tự động hóa Tạo mock data Đặng Quang Trung Đạt 100% yêu cầu Hỗ trợ thành viên khác xây dựng hình chưa hoàn thành Refactor clean code Áp dụng BloC pattern để xử lý logic cho hình thuộc Tự động hóa (Công tắt bắc cầu, Cảm biến Thiết bị điều khiển) Tạo mock data Đặng Quang Trung Đạt 100% yêu cầu Refactor clean code Sửa lỗi tester phát hình làm Sửa lỗi tất lỗi có mục Tự động hóa Tìm hiểu WebSocket Refactor clean code Đặng Quang Trung Đạt 100% yêu cầu Sửa lỗi tester phát hình làm Bảng 2.1 Lịch làm việc theo sprint Đặng Quang Trung Phạm Quốc Đạt Chương Chi tiết project 3.1 Giới thiệu dự án Ứng dụng Sliving App ứng dụng cho phép người sử dụng điều khiển tất thiết bị thiết yếu ngơi nhà thơng minh bóng đèn, rèm cửa, máy lạnh… lấy thông tin từ cảm biến ánh sáng, cảm biến nhiệt độ để thông báo cho người dùng Ứng dụng xây dựng chủ yếu nhắm tới nhóm khách hàng sở hữu nhà thơng minh xây dụng tập đồn Sunshine Group Vì vậy, tác vụ xử lý thông tin cho thiết bị IoT chủ động tối ưu Hình 3.1: Hình ảnh thực tế từ ứng dụng Sliving App Đặng Quang Trung Phạm Quốc Đạt 10 Do yêu cầu bảo mật thông tin doanh nghiệp nên em khơng thể trình bày chi tiết 3.2 Thực Bốn thành viên thực team Internship: • Phạm Quốc Đạt • Trần Tuấn Minh • Hồng Cơng Thắng • Trần Trung Và giúp đỡ nhiệt tình từ team anh chị mentors: • Đặng Quang Trung • Cao Thị Nguyệt • Trần Thanh Tâm • Hồng Tuấn Kiệt Đặng Quang Trung Phạm Quốc Đạt 11 Chương Kết đạt Trong chương này, em trình bày kết quả, kiến thức kĩ làm việc mà em đạt tháng thực tập công ty 4.1 Scrum 4.1.1 Giới thiệu Scrum [5] framework giúp người giải thích nghi với vấn đề phức tạp cách hiệu quả, sáng tạo cung cấp sản phẩm có giá trị cao • Nhẹ nhàng • Dễ hiểu • Khó quản lý làm chủ Hình 4.1 Mơ tả quy trình Scrum Scrum framework sử dụng để quản lý công việc sản phẩm phức tạp Scrum trình, kỹ thuật định nghĩa nào, Scrum framework – tức phương pháp nhiều người sử dụng trở nên Đặng Quang Trung Phạm Quốc Đạt 12 phổ biến giúp làm rõ hiệu tương đối việc quản lý sản phẩm kĩ thuật để cải thiện sản ph ẩm, cải thiện mối quan hệ team member môi trường làm việc 4.1.2 Ba trụ cột Scrum Scrum nhấn mạnh vào yếu tố gồm: • Transparency: Minh bạch • Inspection: Thanh tra • Adaptation: Thích nghi 4.1.3 Scrum team Scrum team gồm có roles chính: • Product Owner • The Developer Team • Scrum Master 4.1.4 Scrum Event Sprint thường kéo dài khoảng 2-3 tuần gồm events sau: • Planning Meeting • Daily Meeting • Review Meeting • Retrospective 4.2 Flutter 4.2.1 Flutter gì? Flutter [6, 7] mobile UI framework Google nhằm tạo giao diện chất lượng cao iOS Android khoảng thời gian ngắn Flutter hoạt động với code sẵn có sử dụng lập trình viên, tổ chức Flutter hồn tồn miễn phí mã nguồn mở Đặng Quang Trung Phạm Quốc Đạt 13 4.2.2 Tính Flutter Flutter công nghệ Google phát triển, framework dựa ngơn ngữ lập trình Dart Đây kỷ vọng cơng nghệ khắc phục nhược điểm React Native Các ứng dụng xây dựng với Flutter phân biệt với ứng dụng xây dựng cách sử dụng Android SDK, giao diện hiệu suất Và cần thêm số tham số triển khai phiên IOS ứng dụng Với khả chạy hỗ trợ 60 khung hình giây, giao diện người dùng tạo với Flutter thực thi tốt nhiều so với ứng dụng tạo với framework phát triển đa tảng khác chẳng hạn React Native Ionic Một số điểm đặc biệt Flutter: • Flutter sử dụng Dart, ngôn ngữ nhanh, hướng đối tượng với nhiều tính hữu ích mixin, generic, isolate, static type • Flutter có thành phần UI thiết kế riêng theo Material Design Google, sử dụng hai tảng Android iOS • Các ứng dụng Flutter thường phát triển cách sử dụng IntelliJ IDEA, Android Studio Visual Studio Code 4.2.3 Đặc điểm bật • Fast Development: Tíng Hot Reload hoạt động nhanh Sử dụng tập hợp widget customizable để xây dựng giao diện vài phút • Expressive and Flexible UI: Có nhiều thành phần để xây dựng giao diện Flutter vô đẹp mắt theo phong cách Material Design Cupertino, hỗ trợ nhiều APIs chuyển động, smooth scrolling • Native Performance: Các widget fluter kết hợp khác biệt tảng ví dụ scrolling, navigation, icons, font để cung cấp hiệu tốt tới iOS Android Đặng Quang Trung Phạm Quốc Đạt 14 Hình 4.2 Ví dụ minh họa cho Flutter 4.3 Stoplight Stoplight [8] trang web cho phép người dùng mock API cách nhanh chóng Khi tạo nhập tài liệu OpenAPI, người dùng có quyền truy cập vào máy chủ giả thì, máy chủ có tính tự động tự động tải lại tài liệu bạn thay đổi Một API giả máy chủ HTTP giả mô hoạt động API thực cho phép cộng tác phản hồi thiết kế API Với chế độ giả lập, ta đẩy nhanh phát triển API Các nhóm làm việc song song trước API khả dụng thơng qua ảo hóa Máy chủ giả máy chủ giả trực tuyến Stoplight ảo hóa API bên bên ngồi bạn với phản hồi động tạo từ JSON schema thiết kế sẵn Stoplight xác thực yêu cầu mô hành vi máy chủ cách tự động xác thực thông tin yêu cầu gửi từ phía người dùng cuối giống máy chủ thực dựa tài liệu API thiết kế Đặng Quang Trung Phạm Quốc Đạt 15 TỔNG KẾT Trong trình thực tập cơng ty Sunshine Tech, em tích lũy nhiều kinh nghiệm quý giá từ anh chị công ty, đồng thời học thêm nhiều kiến thức bổ ích từ dự án xây dựng ứng dụng di động Sliving Khoảng thời gian thực tập thời điểm tình hình dịch bệnh nước ta phức tạp, em đến công ty để cảm nhận trực quan môi trường làm việc buộc phải trao đổi trực tuyến với thành viên khác Điều gây số bất lợi đáng kể, vậy, em hoàn thành công việc giao hỗ trợ thành viên khác trình phát triển ứng dụng Thời gian thực tập công ty ngắn đem lại cho em nhiều trải nghiệm quý báu Là lần trực tiếp tham gia vào dự án thực tế quy trình làm việc chuyên nghiệp Đặc biệt, với giúp đỡ dạy tận tình anh chị nhóm góp phần để em hoàn thành tốt đợt thực tập Tuy khơng thể người nhóm đến kết thúc dự án đủ để em có thêm hiểu biết định phải cần chuẩn bị thêm gì tương lai để làm việc cách hiệu Xin chân thành cảm ơn công ty Sunshine Tech anh chị hướng dẫn cho em hội thực tập ứng dụng kiến thức kỹ thân vào môi trường làm việc chuyên nghiệp Đặng Quang Trung Phạm Quốc Đạt 16 TÀI LIỆU THAM KHẢO [1] TopCV, “Thông tin công ty & tin tuyển dụng từ Cơng ty Cổ phần Tập đồn Công nghệ Unicloud (Unicloud Group),” 2022 [Trực tuyến] Địa chỉ: https://www.topcv.vn/cong-ty/cong-ty-co-phan-tap-doan-cong-nghe-unicloudunicloud-group/95485.html [Truy cập 15/5/2022] [2] “Về Haravan, Sunshine Mall,” 2020 [Trực tuyến] https://sunshinemall.vn/blogs/ve-sunshine-mall/about-us Địa [Truy chỉ: cập 15/5/2022] [3] SunshineGroup, “Sống tiện nghi với nhà thông minh Sunshine Group,” 2021 [Trực tuyến] Địa chỉ: https://sunshinegroup.vn/song-tien-nghi-hon-voinha-thong-minh-cua-sunshine-group/ [Truy cập 16/5/2022] [4] GooglePlay, “KienlongBank Plus,” 2022 [Trực tuyến] Địa chỉ: https://play.google.com/store/apps/details?id=com.sunshine.ksbank&hl=vi&gl =VI [Truy cập 16/5/2022] [5] L.T.P.Thảo, “Scrum nên dùng Scrum,” 2018 [Trực tuyến] Địa chỉ: https://viblo.asia/p/scrum-la-gi-va-tai-sao-nen-dung-scrum-1Je5Ed6LlnL [Truy cập 18/5/2022] [6] T.Việt, “Flutter gì? Nó có ưu điểm vượt trội để làm ứng dụng mobile?,” 2018 [Trực tuyến] Địa chỉ: https://topdev.vn/blog/flutter-la-gi/ [Truy cập 18/5/2022] [7] V.N.Tuấn, “Giới thiệu Flutter,” 2018 [Trực tuyến] Địa chỉ: https://viblo.asia/p/gioi-thieu-ve-flutter-bWrZnNxrZxw [Truy cập 18/5/2022] [8] Stoplight, “OpenAPI Mock Server & Web Mock Service | API Mocking & Servers Online | Stoplight,” 2022 [Trực tuyến] Địa chỉ: https://stoplight.io/mocking [Truy cập 19/5/2022] Đặng Quang Trung Phạm Quốc Đạt ... thời gian thực tập, em tham gia dự án xây dựng ứng dụng dạy điều khiển nhà thông minh thiết bị di động - Sliving App - phục vụ điều khiển thiết bị IoT hộ thông minh Thực tập sinh công ty có hội học... án Ứng dụng Sliving App ứng dụng cho phép người sử dụng điều khiển tất thiết bị thiết yếu nhà thông minh bóng đèn, rèm cửa, máy lạnh… lấy thông tin từ cảm biến ánh sáng, cảm biến nhiệt độ để thông. .. nên thông minh nhờ khả gửi và/hoặc nhận thông tin tự động hoạt động dựa thơng tin đó, đồng thời lệnh cho thiết bị khác Cơng nghệ cịn cho phép người dùng dễ dàng điều khiển thiết bị nhà dù đâu thông

Ngày đăng: 16/06/2022, 21:15