Nghiên cứu xây dựng hệ thống nền IoT dựa trên mã nguồn mởNghiên cứu xây dựng hệ thống nền IoT dựa trên mã nguồn mởNghiên cứu xây dựng hệ thống nền IoT dựa trên mã nguồn mởNghiên cứu xây dựng hệ thống nền IoT dựa trên mã nguồn mởNghiên cứu xây dựng hệ thống nền IoT dựa trên mã nguồn mởNghiên cứu xây dựng hệ thống nền IoT dựa trên mã nguồn mởNghiên cứu xây dựng hệ thống nền IoT dựa trên mã nguồn mởNghiên cứu xây dựng hệ thống nền IoT dựa trên mã nguồn mởNghiên cứu xây dựng hệ thống nền IoT dựa trên mã nguồn mởNghiên cứu xây dựng hệ thống nền IoT dựa trên mã nguồn mởNghiên cứu xây dựng hệ thống nền IoT dựa trên mã nguồn mở
1 MỞ ĐẦU CHƯƠNG 1: GIỚI THIỆU VẤN ĐỀ NGHIÊN CỨU 1.1 Giới thiệu hệ thống IoT Hệ thống IoT (IoT Platform) thành phần cốt lõi 1.1.1 Giới thiệu IoT kiến trúc tổng thể IoT Hệ thống IoT cung cấp công cụ Khái niệm IoT: phát triển sản phẩm, ứng dụng IoT cách thuận tiện nhanh Những ý tưởng ban đầu Internet of Things (IoT) xuất chóng Hệ thống IoT đóng vai trò kết nối thiết bị, cảm biến, từ thời kỳ sơ khai Internet, nhà phát minh IoT gateway cho phép chúng trao đổi liệu với cách mong muốn kết nối tất thứ qua mạng lưới đồng để an toàn theo thời gian thực; quản lý số lượng lớn thiết bị kết nối; điều khiển chúng để phục vụ cho mục đích người thu thập phân tích liệu; thiết lập khả liên động Trong tư liệu IoT, người ta thường nhắc đến thiết bị; tạo dịch vụ đám mây cho ứng dụng IoT… Việc máy bán nước giải khát tự động trường Đại học Carnegie Melon nghiên cứu, lựa chọn, làm chủ giải pháp mã nguồn mở cho hệ thống (Mỹ) vào đầu năm 1980 thiết bị mở IoT đóng vai trò sống xây dựng, triển khai ứng cho xu hướng Chiếc máy lập trình để kết nối với dụng IoT người điều khiển qua Internet, nhằm kiểm tra tình trạng máy Đề tài tập trung nghiên cứu xây dựng hệ thống IoT bổ sung nước cần thiết mà khơng cần có tiếp xúc kiểm tra trực dựa giải pháp mã nguồn mở, với kết hệ thống IoT tiếp IoT thuật ngữ dùng để đối tượng nhận biết triển khai thử nghiệm để xây dựng ứng dụng IoT tồn chúng kiến trúc mang tính kết Nội dung nghiên cứu bố cục đề tài: - Phần Mở Đầu nối Cụm từ đưa Kevin Ashton vào năm 1999 Như hiểu Internet of Things tất thứ - Chương 1: Giới thiệu vấn đề nghiên cứu kết nối với qua mạng Internet, người dùng kiểm sốt - Chương 2: Thiết kế hệ thống IoT đồ vật qua mạng mà smartwatch nhỏ bé - Chương 3: Thử nghiệm hệ thống cho toán giám tay Gần đây, Internet of Things bao gồm giao tiếp sát mơi trường trồng trọt nông nghiệp - Kết luận kiểu máy với máy (M2M), giúp hạn chế tác động người sản xuất lượng hay ngành công nghiệp nặng Viễn cảnh dần trở thành thực thực tế, với phát triển nhà thông minh, TV thông minh, tủ lạnh thông minh,… kể tới mở rộng không gian địa từ IPv4 lên IPv6 2 Kiến trúc tổng quát IoT Gateway cho phép chúng trao đổi liệu với cách an toàn theo thời gian thực, quản lý số lượng lớn thiết bị kết nối, thu thập phân tích liệu, tạo ứng dụng đám mây cho ứng dụng IoT Thông qua bảng thị trực quan (Dashboards), API, công cụ liệu thuật toán, tảng (Platform) cho phép thành phần vùng mạng lưới nghiệp vụ để kết nối, theo dõi, giao tiếp với với tốc độ cao linh hoạt mà chưa thấy 1.2 Nghiên cứu tổng quan yêu cầu hệ thống 1.2.1 Quản lý thiết bị Các thiết bị lúc hoạt động tình trạng ổn định Chúng cần liên tục quản lý, cấu hình lại, cập nhật Hình 1.1: Kiến trúc IoT theo khuyến nghị ITU-T Y.2060 điểu khiển cài đặt Hình 1.1 mơ tả kiến trúc IoT theo ITU-T Y.2060, bao gồm bốn Kiến trúc quản lý thiết bị phải có chiều (chiều nhận thông tin lớp khả quản lý khả bảo mật áp dụng từ thiết bị IoT gửi thông điệp điều khiển đến thiết bị) qua lớp Như mô tả lớp thiết bị Theo thuật linh hoạt phép tất thành phần mạng kết ngữ chức truyền thông, lớp thiết bị bao gồm lớp vật lý nối với nhau, giám sát có khả giao tiếp Trong trường hợp bị liên kết liệu OSI lỗi thời, hư hỏng vi phạm an ninh hệ thống quản lý - Lớp mạng platform loại bỏ đưa thiết bị vào danh sách cần phải - Lớp hỗ trợ dịch vụ ứng dụng xem xét - Lớp ứng dụng 1.2.2 Khả kết nối hai chiều linh hoạt - Lớp khả quản lý: Kết nối hai chiều giúp kiểm soát tốt sản phẩm, phân 1.1.2 Giới thiệu hệ thống IoT phối cập nhật liên tục, đưa phản hồi nhanh cho Hệ thống IoT (IoT Platform) thành phần cốt lõi vấn đề cần phải xử lý kiến trúc tổng thể IoT Hệ thống IoT cung cấp cơng cụ phát Về góc độ người dùng thông thường, việc kết nối chiều triển sản phẩm, ứng dụng IoT cách thuận tiện, nhanh chóng điều tất yếu cần phải có Các thiết bị IoT truyền thông tin đáp ứng yêu cầu hệ thống IoT cần phải có Hệ đến hệ thống để hiển thị hình trực tuyến, giúp người thống IoT đóng vai trò kết nối với thiết bị, cảm biến, IoT dùng quan sát quản lý thiết bị Ngược lại, thiết bị IoT nhận lệnh từ người dùng, giúp định để kết nối đặt lên hàng đầu Các IoT Gateway thiết cập nhật trạng thái, cấu hình, cập nhật phần mềm bị Edge cần phải tinh vi linh hoạt, đủ để thích ứng với phương 1.2.3 Phân tích liệu pháp bảo mật Lớp thiết bị nên hỗ trợ mức cao mã hóa để Dữ liệu sau thu thập từ thiết bị IoT, chúng cần gửi nhận thơng điệp Hệ thống cần phải cung cấp phân tích sàng lọc để đem lại thứ giá trị cao phương thức xác thực kết nối với Gateway thiết việc quản lý giải vấn đề cấp bách cho bị khác Có thể sử dụng chế kiểm chứng thành phần hệ thống IoT Một tảng IoT cần cung cấp đầy TLS/SSL để mã hóa thơng tin truyền thơng tin đủ phương tiện phân tích, từ đưa giá trị Mục tiêu để Mỗi người dùng tham gia giải pháp IoT phải chứng thực nâng cao khả chuẩn đoán hệ thống, tinh lọc chức cách sử dụng chế xác thực đa yếu tố Nền tảng IoT nên hỗ giải vấn đề, đồng thời có khả đáp ứng thời gian thực trợ chứng thực ủy quyền tích hợp chặt chẽ với tảng với tình khẩn cấp nhận dạng có thư mục cơng ty Kiểm sốt truy cập Không phải tất liệu nhận từ thiết bị cần dựa vào vai trò (RBAC) nên sử dụng để thực ủy quyền xử lý theo thời gian thực Một giải pháp IoT cần phải tạo cấp độ nhóm tách biệt rõ ràng luồng liệu cần xử 1.3 Nghiên cứu, khảo sát, đánh giá hệ thống IoT thị lý thời gian thực luồng liệu xử lý có giá trị trường thời gian dài sau 1.3.1 Kaa 1.2.4 Tính sẵn sàng, khả mở rộng độ tin cậy Kaa cho phép quản lý liệu cho đối tượng kết nối Đó vấn đề đặt với giải pháp công hạ tầng back-end cách cung cấp server phần từ SDK nghệ Hệ thống phải thiết kế theo cách tăng cường khả đầu cuối Các SDK nhúng vào thiết bị kết nối thực thích ứng, độ linh hoạt linh động môi trường công nghệ trao đổi liệu song hướng với server Các SDK Kaa có khả nhằm cung cấp khả tái cấu hình tái xếp để thích ứng tích hợp với hầu hết kiểu thiết bị microchip kết thay đổi mục tiêu phương hướng nghiệp vụ nối cách hiệu chi phí kịp thời Các cơng nghệ giải pháp phân tán mở rộng sẵn Kaa server cung cấp tất chức back-end cần thiết để hoạt động quy mô rộng giải pháp IoT quan trọng sàng khía cạnh sau: Lưu trữ liệu, lực tính tốn Nó điều khiển tất truyền thơng đối tượng kết 1.2.5 An ninh bảo mật liệu nối, bao gồm tính quán bảo mật liệu, liên kết hoạt động Đây vấn đề thách thức lớn hệ thống IoT Hệ thống IoT kết nối tới hàng triệu thiết bị IoT Gateway, việc an tồn bảo mật liệu của thiết bị kết nối khơng bị thất bại 6 Để tích hợp thiết bị IoT với nhau, platform cung cấp thư viện gồm Intel Edison, beaglebone, RasberryPi… Kaa hỗ trợ lượng lớn liệu từ thiết bị vật lý, khởi sự kiện cảnh báo thực phân tích phức tạp hệ điều hành Android, iOS, Linux, Ubuntu, Snappy QNX Các đặc tính Nimbits platform gồm 1.3.2 OpenIoT - Tải Nimbits server on chips, server đám mây OpenIoT khả dụng Kit phát triển ảo, cung cấp giải - Là platform mã nguồn mở pháp đám mây toàn diện cho IoT, cho phép người sử dụng dễ dàng - Làm thuận tiện việc khởi sự kiện cảnh báo kích hoạt, vận hành nhận thông tin từ đám mây cảm biến - Xử lý liệu gắn nhãn không gian thời gian kết nối thông tin với dịch vụ Web mà không cần quan tâm - Được xây dựng cung cấp cho Google App Engine hệ đến loại cảm biến khác sử dụng Hạ tầng OpenIoT cung cấp phương thức để: - Thu thập xử lý liệu từ hầu hết cảm biến, bao gồm thiết bị vật lý, thuật toán xử lý cảm biến, thuật toán xử lý phương tiện xã hội - Truyền tải dòng liệu từ cảm biến khác với hạ tầng điện toán đám mây thống Linux để phát triển - Tương thích hầu hết J2EE server 1.3.4 Eclipse IoT Eclipse Smart Home (ESH) platform mã nguồn mở, bao gồm mã chương trình cấu trúc liệu cần thiết server tự động nhà ESH phát triển cộng đồng Eclipse Java ESH dựa Java CSGI chạy thực thi Java có khả - Khám phá/truy vấn động cảm biến liệu chúng Nó tập trung chủ yếu vào mơi trường đồng nhất, tức - Soạn phân phát dịch vụ IoT bao gồm liệu từ nhiều giải pháp liên quan đến việc tích hợp giao thức tiêu cảm biến - Ảo hoá liệu IoT dựa mashup phù hợp (các biểu đồ, đồ thị, đồ…) - Tối ưu hoá tài nguyên OpenIoT middleware hạ chuẩn khác Mục đích ESH cung cấp truy nhập đồng tới thiết bị thông tin làm thuận loại tương tác khác với chúng Các nhà phát triển dễ dàng xây dựng giải pháp ngơi nhà tầng điện tốn đám mây thơng minh riêng lẻ cách bổ sung mở rộng 1.3.3 Nimbits vào framework – kết triển khai thiết bị Nimbits platform mã nguồn mở xây dựng dựa nhúng, chạy JVM Raspberry Pi kiến trúc điện tốn đám mây PaaS, tài từ Raspberry Pi, Web Eclipse Smart Home framework để xây dựng giải server, Amazone EC2, Google App Engine Platform sử pháp thông minh với việc tích hợp giao thức tiêu chuẩn dụng để phát triển giải pháp phần cứng phần mềm kết khác ESH sử dụng sở openHAB nối tới đám mây tới cho phép logging nhận QIVICON Deutsche Telecom 8 ESH platform mã nguồn mở với 2000 công cụ, ứng - Sự thực cụ thể API thực Bộ cho phép dụng, dự án… khả dụng thị trường kiểu giấy phép khác tổng quát (GE) hỗ trợ nhiều sơ đồ xác thực (Oauth, Basic Auth, Token) xác định nhà cung cấp cụ thể thực GE 1.3.5 OpenRemote OpenRemote platform tích hợp phần mềm mã nguồn mở cho tự động hố tồ nhà thương mại dân cư OpenRemote dự án mã nguồn mở với mục tiêu khắc phục thách thức việc tích hợp nhiều giao thức giải pháp khác khả dụng cho tự động hố ngơi nhà, cung cấp cơng cụ ảo hố Các đặc tính OpenRemote là: - Tích hợp nhiều giao thức khác - Tuỳ biến giải pháp để phù hợp với nhu cầu - Từ tài khoản đơn lẻ đến giải pháp có thương hiệu đầy đủ - Các công cụ thiết kế dựa đám mây - Sử dụng công cụ thiết kế dựa đám mây OpenRemote để phát triển giải pháp tuỳ biến toàn diện, nâng cấp thực hợp lý 1.3.6 FIWARE Platform cung cấp khả đám mây dựa OpenStack tập công cụ thư viện gọi Generic Enablers (Ges) với đặc tả giao diện công cộng nguồn mở Các FIWARE GE phân phối chương khác cung cấp khả khác Các giao thức IoT API: - Mỗi yêu cầu HTTP FIWARE RESTful API yêu cầu bao gồm uỷ nhiệm xác thực cụ thể - Việc biể diễn tài nguyên phát client server cách sử dụng giao thức HTTP 1.1, định nghĩa IETF RFC2616 - Các FIWARE RESTful API hỗ trợ XML JSON định dạng biểu diễn cho tham số yêu cầu đáp ứng 10 CHƯƠNG 2: THIẾT KẾ HỆ THỐNG NỀN IoT 11 cách hiệu có khả mở rộng thơng qua hỗ trợ chế tích hợp ứng dụng 2.1 Yêu cầu kiến trúc hệ thống IoT: Các dịch vụ bảo mật: Thành phần cung cấp giải pháp a Yêu cầu tích hợp ứng dụng IoT nhận diện bảo mật việc chứng thực, cấp phép quản lý b Yêu cầu dịch vụ kết nối liệu an toàn ứng dụng quy trình nghiệp vụ c Yêu cầu tích hợp liệu IoT Đăng ký dịch vụ: Thành phần cho phép công bố, quản lý d Yêu cầu bảo mật dịch vụ nơi chúng tìm kiếm sử dụng cách e Yêu cầu khả mở rộng độ sẵn sàng an toàn f Yêu cầu khả thích ứng, độ linh hoạt linh động 2.2 Thiết kế kiến trúc hệ thống IoT Hệ thống IoT đề xuất được thực hóa theo hướng tiếp cận hướng dịch vụ dạng Hạ tầng dịch vụ IoT Các dịch vụ kết nối IoT: Thành phần cung cấp giao thức liệu chuẩn hóa phục vụ truyền thông trao đổi liệu với thành phần kết nối biên IoT Các dịch vụ thông tin/dữ liệu: Các dịch vụ thông tin cung cấp phương pháp quán biểu diễn, truy cập, trì, quản lý phân tích liệu có cấu trúc nội dung (dữ liệu phi cấu trúc) từ nguồn thông tin không đồng Các dịch vụ nghiệp vụ IoT: Thành phần cho phép từ hoạt động nghiệp vụ tạo dịch vụ lõi hợp chuẩn chia sẻ sử dụng ứng dụng tổ chức Các dịch vụ quy trình nghiệp vụ: Thành phần cho phép tạo ra, triển khai quản lý quy trình nghiệp vụ giao theo theo cách tiêu chuẩn Hạ tầng tích hợp: Thành phần cho phép ứng dụng IoT khác xây dựng công nghệ khác hoạt động Các dịch vụ chung: Các dịch vụ dịch vụ tiện ích thường sử dụng chung cho ứng dụng IoT 2.3 Một số vấn đề giải pháp thực hóa kiến trúc hệ thống IoT Thực tế thực hóa hạ tầng dịch vụ IoT kiến trúc đề xuất cho thấy số khó khăn bản: 1) đảm bảo thu thập liệu đồng thời từ số lượng lớn thiết bị IoT cách tin cậy; 2) xử lý liệu lớn cho tốn đòi hỏi xử lý luồng liệu chuỗi thời gian theo thời gian thực; 3) chế phát lỗi hồi phục thành phần thu thập xử lý liệu IoT Hệ thống truyền thông điệp phân tán (Distributed Messaging System - DMS) thiết kế hệ thống phân tán nhằm đảm bảo khả mở rộng hoạt động với thơng lượng lớn theo mơ hình publish/subscribe Một giao thức phổ biến ứng dụng IoT hoạt động theo mơ hình publish/subscribe MQTT Hệ thống hỗ trợ nhiều thành phần đăng kỹ tự động cân tải xay lỗi Trong hệ thống DMS, luồng thông điệp loại định nghĩa chủ đề (topic) thơng điệp xuất đến Một Publisher thực thể thực xuất thông điệp đến chủ đề Một Consumer đăng ký nhiều chủ đề sử dụng thông điệp xuất cách lấy liệu từ 12 13 phân cụm DMS Một phân cụm DMS bao gồm nhiều thể DMS chạy song song Hệ thống điều phối phân tán (Distributed Coordination System – DCS) đóng vai trò đàm bảo cân tải khả phát lỗi, Nhằm mục đích cân tải, chủ đề chia thành khôi phục lỗi nhằm đảm bảo tăng độ tin cậy hệ thống Hệ thống nhiều phân vùng thể DMS xử lý nhiều phân DCS theo dõi liên tục thể phân cụm DMS vùng chủ đề Do nhiều Producer Consumer RDPS để phát thể bị lỗi thể thông đồng thời xuất sử dụng liệu Trong ứng dụng IoT, thiết báo đến thành phần sử dụng thể để thực xử bị đầu cuối IoT ứng dụng kết nối biên chạy IoT gateway có lý phù hợp khơi phục từ lỗi, dịch chuyển kết nối đến thể thể đóng vai trò Producer để gửi liệu lên ứng dụng IoT chạy khác hệ thống đóng va trò Consumer để nhận liệu từ ứng dụng IoT Trong mơ hình mơ hình triển khai DCS với DMS Producer Consumer hệ thống DCS gửi thông báo xuất Hệ thống xử lý liệu lớn thời gian thực (Realtime Bigdata thể DMS cố gây lỗi thể Processing System– RBPS) thực xử lý tức thời luồng liệu lớn DCS Khi nhận thông báo từ hệ thống DCS, Producer từ thiết bị IoT thu nhận qua hệ thống DMS Đối với ứng Consumer định bắt đầu điều phối hoạt động đến thể dụng IoT, liệu hướng luồng nhóm liên tục ghi DMS khác liệu tạo từ thiết bị IoT Xử lý liệu hướng luồng theo thời Chương trình bày hướng tiếp cận xây dựng gian thực đóng vai trò quan trọng ứng dụng tin thức hóa kiến trúc hệ thống IoT Một số vấn đề giải pháp trực tiếp, hệ thống tư vấn thời gian thực hệ thống chẩn đoán thực hóa kiến trúc IoT vấn đề thu thập liệu lớn lỗi tức thời Hệ thống RBPS hoạt động theo chế chia luồng liệu vấn đề xử lý liệu lớn theo thời gian thực thảo luận Một thành khoảng có độ dài cho trước thực hoạt động xử số vấn đề để ngỏ hướng nghiên cứu triển khai vấn để bảo lý map, reduce, join… lưu phần kết vào sơ liệu để mật, mơ hình dịch vụ Vấn đề xử lý thời gian thực đề cập thực phân tích sâu tạo báo cáo, bảng tin trực báo giới hạn việc tiền xử lý liệu lớn với tính tốn tiếp gửi cảnh báo dựa kiện tất định Các vấn đề phân tích liệu chuyên sâu dựa kỹ Thành phần lưu trữ liệu có vai trò lưu trữ liệu lớn sử dụng hệ thống tệp tin HDFS Thành phần làm việc tương thích Hadoop Giao diện lập trình ứng dụng cung cấp cơng cụ cho lập trình viên phát triển module xử lý phân tán Hệ thống RBPS triển khai dạng ứng dụng độc lập dạng mơ hình tính toán phân tán với phân cụm RBPS thuật học máy hay khai phá liệu chưa xem xét nghiên cứu 14 CHƯƠNG 3: THỬ NGHIỆM HỆ THỐNG NỀN CHO BÀI TỐN GIÁM SÁT MƠI TRƯỜNG TRỒNG TRỌT NÔNG NGHIỆP 15 3.2 Thiết kế giải pháp thực hóa hệ thống IoT tảng ảo hóa Phần thiết kế giải pháp triển khai cụ hệ thống IoT, trình bày hệ thống xây 3.1 Mơ tả tốn thử nghiệm Luận văn thử nghiệm kịch giám sát môi trường sinh trưởng trồng từ xa với tham số giám sát bản: nhiệt độ, dựng có thành phần sau: - Sử dụng giao thức MQTT để giao tiếp với thiết bị IoT IoT Gateway độ ẩm đất ánh sáng Đây tham số ảnh hưởng đến - Hệ thống truyền thơng điệp phân tán trình sinh trưởng trồng môi trường nuôi cấy mô - Hệ thống điều phối phân tán nhà lẫn môi trường ngồi trời Mục đích thử nghiệm kịch - Hệ thống xử lý liệu lớn theo thời gian thực để kiểm thử khả hoạt động tùy biến IoT Platform Các Đối với mơ hình triển khai có thành phần mã phần sau thực hóa hệ thống IoT bao gồm kiến trúc hệ thống thiết kế chương Mơ hình tổng quan hệ thống sau: nguồn mở đáp ứng sau: - MQTT Server: Mosquitto - Hệ thống xử lý phân tán: Apache Kafka - Hệ thống lưu trữ xử lý liệu lớn: Apache Spark 3.2.1 Eclipse Mosquitto Mosquitto dự án iot.eclipse.org chuyên cung cấp công cụ, giải pháp mã nguồn mở để xây dựng hệ thống IoT Mosquitto nhận thông tin từ IoT Gateway thiết bị IoT để nhận thông điệp publish lên topic Mosquitto server Các MQTT Client subscribe topic để nhận thơng tin gửi vào topic 3.2.2 Apache Kafka Apache Kafka hệ thống truyền thông điệp phân tán, độ tin cậy cao, dễ dàng mở rộng có thơng lượng cao Kafka cung cấp chế offset (có thể hiểu tương tự số mảng) để lấy Hình 3.1 Mơ hình tổng quan hệ thống thử nghiệm thông điệp cách linh hoạt, cho phép ứng dụng xử lý xử lý lại liệu việc xử lý trước bị lỗi Ngồi ra, chế “đăng kí” theo dõi cho phép việc lấy thông điệp gần tức thời 16 17 liệu vào hàng đợi Kafka thiết kế hỗ trợ tốt cho việc nhiệm vụ đẩy liệu vào nhiều topic Người dùng thu thập liệu thời gian thực định liệu thông điệp (mỗi dòng liệu) Apache Kafka hệ thống lưu trữ thông điệp phát triển LinkedIn Kafka có đặc điểm sau : - Tốc độ nhanh - Khả mở rộng thuộc vào partition thơng qua chuỗi khóa đính kèm với thơng điệp Nếu khơng producer gán khóa ngẫu nhiên định đích đến thơng điệp dựa giá trị băm khóa Consumer: đọc liệu từ broker Kafka hệ thống sử - Độ tin cậy dụng mơ hình truyền thơng public-subscribe nên topic có Các thành phần Kafka sau: thể đc xử lý nhiều consumer khác nhau, miễn consumer Topic: thông thường liệu liên quan tương tự subcribe topic Consumer có nhiệm vụ kéo liệu từ topic nhóm chủ đề Mỗi chủ đề coi nguồn định liệu riêng biệt Dữ liệu truyền kafka theo topic, muốn Trong mơ hình triển khai IoT Platform mà ta xây dựng, truyền liệu khác hay truyền liệu cho ứng dụng khác Kafka nhận thông điệp từ MQTT Server (Mosquitto) để xử lý ta tạo topic phân tán Vì để kết nối Kafka MQTT Server sử Mỗi topic có tên người dùng đặt coi topic dụng Connecter theo mơ hình sau: hàng đợi thơng điệp (mỗi dòng liệu) Các thơng điệp nhiều producer đẩy vào, luôn thêm vào cuối hàng đợi Partition: topic phân chia thành nhiều partition Partition nơi lưu trữ liệu cho topic, partition, liệu lưu theo thứ tự bất biến gán cho id gọi offset, hiểu số mảng Offset partition độc lâp Một partition chép hiều máy khác Hình 3.7 Mơ hình Apache Kafka kết nối tới cụm Kafka nguồn MQTT server Broker: Kafka chạy cụm bao gồm nhiều Các thông điệp publish đến topic MQTT Server máy (node), máy gọi broker Broker nơi lưu trữ mapping tới topic Kafka server, từ partition, broker lưu trữ nhiều partition Consumer subscribe topic Kafka server đọc Producer: viết liệu tới broker Cụ thể hơn, producer có nhiệm vụ chọn message để đưa vào topic nào, nhiệm vụ quan trọng giúp cho Kafka có khả mở rộng tốt Producer có thơng tin thơng tin mà publish tới topic MQTT server ban đầu 18 19 3.2.2 Apache Spark Apache Spark open source cluster computing framework phát triển sơ khởi vào năm 2009 AMPLab đại học California Sau này, Spark trao cho Apache Software Foundation vào năm 2013 phát triển Nó cho phép xây dựng mơ hình dự đốn nhanh chóng với việc tính tốn thực nhóm máy tính, có tính tốn lúc tồn tập liệu mà khơng cần phải trích xuất mẫu tính tốn thử nghiệm Thành phần trung Spark Spark Core: cung cấp chức Spark lập lịch cho tác vụ, quản lý nhớ, fault recovery, tương tác với hệ thống lưu trữ…Đặc biệt, Hình 3.9 Mơ hình tổng quan Spark Streaming Spark streaming xử lý liệu với tính cấp cao map, reduce, join, window Sau xử lý, liệu lưu trữ vào hệ thống HDFS, HBase, Solr, kết nối đến hệ thống hiển thị giao diện lý điều khiển đến hệ thống Kafka khác cho việc xử lý Spark Core cung cấp API để định nghĩa RDD (Resilient Distributed DataSet) tập hợp item phân tán node cluster xử lý song song Spark chạy nhiều loại Cluster Managers Hadoop YARN, Apache Mesos cluster manager cung cấp Spark gọi Standalone Scheduler Hình 3.10 Mơ hình xử lý luồng liệu Spark Streaming Spark Streaming nhận luồng liệu trực tiếp từ Kafka, sau chia nhỏ luồng liệu thành batch, sau batch - Spark SQL cho phép truy vấn liệu cấu trúc qua câu sử lý liệu Spark Engine đưa kết liệu lệnh SQL Spark SQL thao tác với nhiều nguồn liệu qua xử lý với batch tương ứng Mỗi batch xem Hive tables, Parquet, JSON tập RDD (Resilient Distributed Dataset) dãy RDD - Spark Streaming cung cấp API để dễ dàng xử lý liệu Spark gọi DStream stream - MLlib Cung cấp nhiều thuật toán học máy như: classification, regression, clustering, collaborative filtering… - GraphX thư viện để xử lý đồ thị Đối với hệ thống IoT, Spark Streaming đóng vai trò quan trọng việc xử lý luồng liệu lưu trữ liệu Hình 3.11 Mơ hình Dstream 20 21 Trong RDD liệu đọc từ khoảng KẾT LUẬN thời gian định, cấu hình Spark Streaming Các Nối tiếp thành công cách mạng công nghiệp thao tác xử lý luồng liệu DStream chuyển trước đây, bước vào thời kỳ cách mạng công nghiệp thành thao tác RDD mang tên : "Cách mạng công nghiệp lần thứ 4" Và IoT coi yếu tố cốt lõi kỹ thuật số cách mạng công nghiệp lần thứ Luận văn tập trung nghiên cứu đưa giải pháp thiết kế xây dựng hệ thống IoT – Thành phần cốt lõi kiến trúc tổng thể IoT, đáp ứng yêu cầu cần thiết hệ thống Và thử nghiệm chạy thử thành cơng với kịch áp dụng với nơng Hình 3.12 Cách xử lí liệu Dstream nghiệp thơng minh Từ giúp có sở để dễ dàng Dữ liệu sau xử lý trả lại Dstream với xây dựng triển khai ứng dựng IoT cách nhanh giá trị RDD kết xử lý tương ứng Như hình chóng 24 ví dụ minh họa cho thấy liệu sau xử lý Tùy với ứng dụng IoT cụ thể, ta mở rộng hệ thống lưu DStream với RDD kết xử lý phù hợp theo yêu cầu ứng dụng Do có hạn chế DStream ban đầu Từ sử dụng DStream định mặt thời gian luận văn, luận văn đưa kịch để truyền lên hình điều khiển trực tiếp (DashBoard) lưu trữ thử nghiệm chạy thử hệ thống với tính xuống sở liệu tùy vào nghiệp vụ yêu cầu nông nghiệp thông minh Nghiên cứu tích hợp hệ thống IoT thêm vào hệ thống thành phần giúp nâng cao hiệu 3.3 Cài đặt, cấu hình tùy biến thành phần hệ thống năng, khả mở rộng khả bảo mật hệ thống IoT Máy chủ cài tảng IoT chạy hệ điều hành Ubuntu 64- bit Ở phàn bước cài đặt thành phần IoT Platform bao gồm: - Mosquitto Server - Apache Kafka - Apache Spark 3.4 Kết luận: ... khai có thành phần mã phần sau thực hóa hệ thống IoT bao gồm kiến trúc hệ thống thiết kế chương Mơ hình tổng quan hệ thống sau: nguồn mở đáp ứng sau: - MQTT Server: Mosquitto - Hệ thống xử lý phân... 1.1.2 Giới thiệu hệ thống IoT phối cập nhật liên tục, đưa phản hồi nhanh cho Hệ thống IoT (IoT Platform) thành phần cốt lõi vấn đề cần phải xử lý kiến trúc tổng thể IoT Hệ thống IoT cung cấp cơng... Apache Kafka - Hệ thống lưu trữ xử lý liệu lớn: Apache Spark 3.2.1 Eclipse Mosquitto Mosquitto dự án iot. eclipse.org chuyên cung cấp công cụ, giải pháp mã nguồn mở để xây dựng hệ thống IoT Mosquitto