CHƯƠNG 1. TỔNG QUAN Phần này sẽ trình bày những đề tài đã hoàn thành được. Nhìn nhận kết quả có đúng với mục tiêu đã đề ra của đề tài không. Chương 5: Kết luận và hướng phát triển Trình bày những kết luận về hệ thống, những gì mà hệ thống đã đạt được , những hạn chế và đề xuất những ý tưởng để phát triển sản phẩm trong tương lai.
CƠ SỞ LÝ THUYẾT CHƯƠNG 2.1 GIỚI THIỆU VỀ IOT (INTERNET OF THING) 2.1 Tổng quan về IoT Internet of Things (IoT) là một khái niệm đang càng ngày trở nên phổ biến trong thời đại công nghệ hiện nay. IoT đề cập đến một hệ thống mạng rộng lớn trong đó những thiết bị thông minh được giao tiếp với nhau qua internet, cho phép thu thập, chia sẻ và phân tích dữ liệu với mục tiêu tối ưu hóa các hoạt động hàng ngày và nâng cao chất lượng cuộc sống. Các thiết bị này bao gồm từ những vật dụng quen thuộc như điện thoại thông minh, tivi, và đồng hồ thông minh, đến các hệ thống phức tạp hơn như cảm biến công nghiệp, xe tự lái, thiết bị y tế, và thậm chí cả các thiết bị trong nông nghiệp như hệ thống tưới tiêu tự động. IoT mang lại khả năng tạo ra một môi trường kết nối liền mạch, nơi thông tin được trao đổi một cách tự động và hiệu quả.
Môi trường kết nối liền mạch do IoT tạo ra còn cho phép sự giám sát và quản lý từ xa, giúp tối ưu hóa quy trình và tiết kiệm nguồn lực. Điều này đặc biệt quan trọng trong các lĩnh vực như y tế, nơi mà các thiết bị IoT có thể theo dõi tình trạng sức khỏe của bệnh nhân từ xa và cung cấp thông tin kịp thời cho bác sĩ, hay trong công nghiệp, nơi các máy móc được giám sát liên tục để dự báo và ngăn ngừa sự cố.1 Internet of thing (Nguồn: https://www.com/free-photos-vectors/iot-devices) 4 CHƯƠNG 2.2 Các thành phần của IoT − Thiết bị thông minh (Smart Devices): là các thiết bị có khả năng thu thập dữ liệu và giao tiếp thông tin qua mạng internet. Ví dụ như điện thoại thông minh, máy tính bảng, thiết bị y tế, đồng hồ thông minh, cảm biến, actuator, thiết bị gia đình thông minh như máy giặt, tủ lạnh, đèn chiếu sáng, vv. − Mạng kết nối (Network Connectivity):IoT sử dụng các công nghệ kết nối mạng như Wi-Fi, Bluetooth, Zigbee, LoRa, LTE, hay cả mạng dây như Ethernet để các thiết bị có thể giao tiếp với nhau và với hệ thống điều khiển từ xa.
− Phần mềm và nền tảng (Software and Platforms):Đây là các phần mềm và nền tảng dùng để quản lý và điều khiển các thiết bị IoT, thu thập và phân tích dữ liệu. Các nền tảng này cung cấp các công cụ để phát triển ứng dụng IoT, quản lý thiết bị, bảo mật và quản lý dữ liệu, ví dụ như AWS IoT, Google Cloud IoT, Azure IoT, hay các nền tảng mã nguồn mở như Arduino, Raspberry Pi. − Dữ liệu (Data):IoT sản sinh ra một lượng lớn dữ liệu từ các thiết bị thu thập thông tin về môi trường xung quanh và các hoạt động. Dữ liệu này được sử dụng để cung cấp thông tin hữu ích cho việc ra quyết định, cải thiện hiệu quả và tối ưu hoá các quy trình.
− Người dùng và ứng dụng (Users and Applications):Các người dùng cuối và các ứng dụng sử dụng dữ liệu và các tính năng của IoT để cải thiện cuộc sống hàng ngày và công việc. Ví dụ như hệ thống nhà thông minh, chăm sóc sức khỏe từ xa, quản lý thông minh, giao thông thông minh, nông nghiệp thông minh, vv.3 Ứng dụng của IoT IoT được ứng dụng trong rất nhiều lĩnh vực: − Nhà thông minh (Smart Home): Điều khiển thiết bị gia đình như đèn chiếu sáng, thiết bị điện tử (TV, máy giặt, tủ lạnh) từ xa qua điện thoại thông minh.Giám sát và điều khiển nhiệt độ, độ ẩm, an ninh nhà cửa bằng hệ thống camera và cảm biến. CƠ SỞ LÝ THUYẾT − Y tế và chăm sóc sức khỏe (Healthcare):Thiết bị đeo thông minh (smart wearable) để theo dõi sức khỏe như nhịp tim, hoạt động vận động, chất lượng giấc ngủ. Giám sát và điều khiển thiết bị y tế từ xa, bao gồm các thiết bị y tế nâng cao như máy xạ trị và máy chụp cắt lớp.
− Công nghiệp (Industrial): Giám sát các hệ thống sản xuất và quản lý chuỗi cung ứng thông qua cảm biến và mạng IoT để tối ưu hóa quá trình sản xuất và giảm thiểu sự cố. Bảo trì dự đoán: Dự đoán sự cố trên các máy móc và thiết bị công nghiệp trước khi chúng xảy ra để giảm thiểu thời gian dừng máy. Sử dụng drone và cảm biến để giám sát diện tích nông trại và phân bố nước phân bón.4 Thách thức của IoT Internet of Things (IoT) đang phát triển mạnh mẽ nhưng cũng đối mặt với nhiều thách thức lớn, bao gồm: − Bảo mật và quyền riêng tư: Dữ liệu từ các thiết bị IoT thường là nhạy cảm và có thể bị tấn công, lộ thông tin cá nhân nếu không có biện pháp bảo mật phù hợp.Các thiết bị IoT thường có tính năng bảo mật yếu và có thể dễ dàng bị xâm nhập, trở thành lỗ hổng để tấn công mạng lớn. − Quản lý và cập nhật phần mềm: Những thiết bị IoT cần phải cập nhật phần mềm thường xuyên để bảo đảm tính bảo mật và hiệu suất, nhưng việc này thường gặp khó khăn do sự phân tán của các thiết bị và nhà sản xuất.
− Xử lý và phân tích dữ liệu lớn: IoT sản sinh ra lượng dữ liệu lớn, việc phân tích và xử lý dữ liệu trở thành thách thức, đặc biệt là trong thời gian thực và để đưa ra các quyết định nhanh chóng. − Hạn chế về năng lượng và độ bền: Đa số các thiết bị IoT hoạt động liên tục và có thể không dễ dàng tiếp cận nguồn năng lượng, do đó cần các giải pháp tiết kiệm năng lượng.Các thiết bị IoT thường được đặt trong môi trường khắc nghiệt hoặc khả năng hoạt động trong thời gian dài mà không cần bảo trì, điều này đòi hỏi các thiết kế chịu được và độ bền cao.2 GIỚI THIỆU CÁC CÔNG CỤ THIẾT KẾ APP 2.1 React Native React Native là một framework phát triển ứng dụng di động được Facebook giới thiệu lần đầu tiên vào năm 2015. Framework này đã nhanh chóng trở thành một trong những công cụ phổ biến nhất để phát triển ứng dụng di động nhờ khả năng viết mã nguồn một lần và chạy trên cả iOS và Android. React Native được xây dựng dựa trên React, một thư viện JavaScript nổi tiếng dùng để xây dựng giao diện người dùng.
React Native xuất phát từ nhu cầu nội bộ của Facebook nhằm phát triển các ứng dụng di động với hiệu quả cao hơn. Trước đó, đội ngũ phát triển tại Facebook phải duy trì hai mã nguồn riêng biệt cho iOS và Android, dẫn đến nhiều khó khăn trong việc quản lý và phát triển tính năng đồng nhất cho cả hai nền tảng. Nhận thấy tiềm năng của React – một thư viện JavaScript do Facebook phát triển vào năm 2013 – trong việc xây dựng giao diện người dùng hiệu quả, nhóm phát triển đã bắt đầu nghiên cứu cách áp dụng các nguyên lý của React vào phát triển ứng dụng di động. Dự án React Native bắt đầu vào năm 2013 và được công bố lần đầu tại hội nghị React.js Conf vào năm 2015.
Mục tiêu của React Native là cung cấp một công cụ phát triển ứng dụng di động có thể chia sẻ phần lớn mã nguồn giữa iOS và Android, đồng thời đảm bảo hiệu suất gần như tương đương với ứng dụng gốc.2 React Native (Nguồn: https://worldvectorlogo.com/logo/react-native-1) Ưu điểm của React Native: 7 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT • Khả năng tái sử dụng mã nguồn: ưu điểm lớn nhất của React Native là việc có thể tái sử dụng mã nguồn giữa iOS và Android. Những thành phần giao diện và logic ứng dụng có thể được viết một lần và sử dụng cho cả hai nền tảng, giúp tiết kiệm công sức và thời gian phát triển rất nhiều. Thông thường, tỷ lệ mã nguồn tái sử dụng có thể đạt từ 70% đến 90%.
• Phát triển nhanh chóng: React Native hỗ trợ tính năng Hot Reloading, cho phép lập trình viên thấy các thay đổi trong mã code mà không cần phải build lại nhiều lần. Nên giúp quá trình phát triển và giúp phát hiện lỗi nhanh chóng hơn. • Cộng đồng đông đảo: React Native có một cộng đồng đông đảo và nhiệt tình, với nhiều thư viện và tài liệu hỗ trợ. Điều này giúp các lập trình viên dễ dàng kiếm ra giải pháp cho những vấn dề khúc mắc.
• Tiết kiệm chi phí: Việc chỉ cần một đội ngũ phát triển để viết mã cho cả hai nền tảng giúp giảm chi phí nhân lực và tăng hiệu quả làm việc. Nhược điểm của React Native • Hiệu suất không tối ưu cho mọi trường hợp: Mặc dù React Native cung cấp hiệu suất tốt, nhưng đối với những yêu cầu xử lý đồ họa phức tạp hoặc tác vụ tính toán cao, hiệu suất của nó không thể so sánh với ứng dụng gốc được viết bằng ngôn ngữ như Swift hay Kotlin. • Hạn chế về tính năng gốc: Một số tính năng đặc trưng của từng nền tảng có thể không được hỗ trợ đầy đủ trong React Native, yêu cầu lập trình viên phải viết mã gốc (native code) để bổ sung, điều này làm giảm tính đồng nhất của mã nguồn và tăng độ phức tạp. • Hỗ trợ không đồng đều: Một số thư viện và công cụ mới nhất trên iOS và Android có thể không được hỗ trợ kịp thời trong React Native [2].2 Expo Expo là một nền tảng mạnh mẽ và toàn diện dành cho phát triển ứng dụng di động đa nền tảng sử dụng React Native.
Được thiết kế nhằm tối ưu hóa quy trình phát triển, Expo cung cấp một bộ công cụ và dịch vụ phong phú giúp lập trình viên dễ dàng xây dựng, triển khai và quản lý ứng dụng di động trên cả hệ điều hành iOS và Android mà không cần phải có kiến thức sâu về từng nền tảng riêng lẻ. Với Expo, các nhà phát triển có thể truy cập vào các API phong phú và tính năng như 8 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT camera, vị trí địa lý, và thông báo, đồng thời tận dụng môi trường phát triển tích hợp (IDE) tiện lợi và thư viện sẵn có. Expo không chỉ giúp rút ngắn thời gian phát triển mà còn đảm bảo tính nhất quán và hiệu quả, giúp các dự án di động từ nhỏ đến lớn đều có thể đạt được chất lượng cao và trải nghiệm người dùng mượt mà.3 Expo (Nguồn : https://www.com/svg/353722/expo) Lợi ích của Expo • Dễ sử dụng: Expo loại bỏ nhiều phức tạp trong quá trình thiết lập môi trường phát triển.