Bạn có thể tưởng tượng ra một loạt các thiết bị thông minh khổng lồ dưới sự điều khiển tập trung từ một bộ não không? Ở một mức độ nhất định, có thể có sự phát triển của Internet vạn vật IoT – mạng lưới các vật thể vật lý có cảm biến và bộ truyền động, kết nối phần mềm và mạng cho phép các đối tượng này thu thập và truyền dữ liệu và thực hiện các tác vụ của người dùng.
Hiệu quả và khả năng ứng dụng của một hệ thống như vậy tương quan trực tiếp với chất lượng của các khối xây dựng và cách chúng tương tác, và có nhiều cách tiếp cận khác nhau đối với kiến trúc IoT.
Trong bài viết này, các chuyên gia tư vấn IoT của chúng tôi sẽ chia sẻ kinh nghiệm thực hành của họ và trình bày khái niệm ban đầu của họ về kiến trúc IoT linh hoạt và có thể mở rộng.
Các yếu tố cơ bản của 1 ứng dụng IoT
Cách tiếp cận của kiến trúc IoT được phản ánh trong sơ đồ kiến trúc IoT dưới cho thấy các khối xây dựng của hệ thống IoT và cách chúng được kết nối để thu thập, lưu trữ và xử lý dữ liệu.
Nhiều thành phần. Mỗi 1 thành phần khác nhau là một vật thể được trang bị các cảm biến IoT thu thập dữ liệu sẽ được truyền qua mạng và các bộ truyền động cho phép mọi thứ hoạt động (ví dụ: bật hoặc tắt đèn, để mở hoặc đóng cửa, để tăng hoặc giảm tốc độ quay động cơ và nhiều hơn nữa).
Khái niệm này bao gồm tủ lạnh, đèn đường, tòa nhà, xe cộ, máy móc sản xuất, thiết bị phục hồi chức năng và mọi thứ khác có thể tưởng tượng được. Các cảm biến không phải trong tất cả các trường hợp gắn liền với vật lý: các cảm biến có thể cần theo dõi, ví dụ, những gì xảy ra trong môi trường gần nhất với một vật.
Cổng giao tiếp (Gateway). Dữ liệu đi từ vật lên cloud và ngược lại thông qua các cổng. Cổng cung cấp khả năng kết nối giữa mọi thứ và phần cloud của giải pháp IoT, cho phép xử lý và lọc dữ liệu trước khi chuyển nó sang cloud (để giảm khối lượng dữ liệu để xử lý và lưu trữ chi tiết) và truyền các lệnh điều khiển từ cloud sang mọi thứ.
Cổng cloud (Cloud Gateway) tạo điều kiện nén dữ liệu và truyền dữ liệu an toàn giữa các cổng trường và máy chủ IoT trên cloud. Nó cũng đảm bảo khả năng tương thích với các giao thức khác nhau và giao tiếp với các cổng trường sử dụng các giao thức khác nhau tùy thuộc vào giao thức nào được hỗ trợ bởi các cổng.
Bộ xử lý dữ liệu trực tuyến đảm bảo chuyển đổi hiệu quả dữ liệu đầu vào sang hồ dữ liệu và các ứng dụng điều khiển. Không có dữ liệu đôi khi có thể bị mất hoặc bị hỏng.
Hồ dữ liệu (Data Lake) . Hồ dữ liệu được sử dụng để lưu trữ dữ liệu được tạo bởi các thiết bị được kết nối ở định dạng tự nhiên. Dữ liệu lớn xuất hiện theo “đợt” hoặc trong luồng – Stream. Khi dữ liệu là cần thiết cho những hiểu biết có ý nghĩa, nó được trích xuất từ một hồ dữ liệu và được tải vào một kho dữ liệu lớn.
Kho dữ liệu lớn (BigData warehouse). Dữ liệu được lọc và xử lý trước cần thiết cho thông tin chi tiết có ý nghĩa được trích xuất từ hồ dữ liệu vào kho dữ liệu lớn. Kho dữ liệu lớn chỉ chứa dữ liệu được làm sạch, có cấu trúc và khớp (so với hồ dữ liệu chứa tất cả các loại dữ liệu được tạo bởi cảm biến). Ngoài ra, kho dữ liệu lưu trữ thông tin ngữ cảnh về sự vật và cảm biến (ví dụ: nơi cài đặt cảm biến) và các ứng dụng điều khiển lệnh gửi đến mọi thứ.
Phân tích dữ liệu (Data Analytics) Các nhà phân tích dữ liệu có thể sử dụng dữ liệu từ kho dữ liệu lớn để tìm xu hướng và đạt được những hiểu biết có thể hành động. Ví dụ, khi được phân tích (và trong nhiều trường hợp – được hiển thị trong sơ đồ, sơ đồ, infographics), hiệu suất của các thiết bị, giúp xác định sự thiếu hiệu quả và tìm ra cách cải thiện hệ thống IoT (làm cho nó đáng tin cậy hơn, nhiều khách hàng hơn- định hướng). Ngoài ra, các mối tương quan và các mẫu được tìm thấy bằng tay có thể góp phần hơn nữa vào việc tạo ra các thuật toán cho các ứng dụng điều khiển.
Machine Learning và các mô hình Machine Learning tạo ra. Với Machine Learning, có một cơ hội để tạo ra các mô hình chính xác và hiệu quả hơn cho các ứng dụng điều khiển. Các mô hình được cập nhật thường xuyên (ví dụ, một lần trong một tuần hoặc một lần trong tháng) dựa trên dữ liệu lịch sử được tích lũy trong một kho dữ liệu lớn.
Khi khả năng ứng dụng và hiệu quả của các mô hình mới được các nhà phân tích dữ liệu kiểm tra và phê duyệt, các mô hình mới được sử dụng bởi các ứng dụng điều khiển.
Các ứng dụng điều khiển gửi lệnh tự động và cảnh báo đến các bộ truyền động, ví dụ:
- Cửa sổ của một ngôi nhà thông minh có thể nhận được lệnh tự động mở hoặc đóng tùy thuộc vào dự báo được lấy từ dịch vụ thời tiết.
- Khi các cảm biến cho thấy đất khô, hệ thống tưới nước nhận lệnh tự động để tưới cây.
- Các cảm biến giúp theo dõi trạng thái của thiết bị công nghiệp và trong trường hợp xảy ra sự cố trước, hệ thống IoT sẽ tạo và gửi thông báo tự động cho các kỹ sư.
Các lệnh được gửi bởi các ứng dụng điều khiển đến các bộ truyền động cũng có thể được lưu trữ bổ sung trong một kho dữ liệu lớn. Điều này có thể giúp điều tra các trường hợp có vấn đề (ví dụ: ứng dụng điều khiển gửi lệnh, nhưng chúng không được thực hiện bởi các bộ truyền động – sau đó cần phải kiểm tra kết nối, cổng và bộ truyền động).
Mặt khác, việc lưu trữ các lệnh từ các ứng dụng điều khiển có thể góp phần bảo mật, vì một hệ thống IoT có thể xác định rằng một số lệnh quá lạ hoặc có số lượng quá lớn có thể chứng minh các vi phạm bảo mật (cũng như các vấn đề khác cần điều tra và biện pháp khắc phục ).
Các ứng dụng điều khiển có thể dựa trên quy tắc hoặc dựa trên Machine Learning. Trong trường hợp đầu tiên, các ứng dụng điều khiển hoạt động theo các quy tắc được các chuyên gia nêu. Trong trường hợp thứ hai, các ứng dụng điều khiển đang sử dụng các mô hình được cập nhật thường xuyên (một lần một tuần, một lần một tháng tùy thuộc vào đặc thù của hệ thống IoT) với dữ liệu lịch sử được lưu trữ trong kho dữ liệu lớn.
Mặc dù các ứng dụng điều khiển IoT đảm bảo tự động hóa hệ thống tốt hơn, nhưng luôn có tùy chọn cho người dùng ảnh hưởng đến hành vi của các ứng dụng đó (ví dụ: trong trường hợp khẩn cấp hoặc khi hệ thống IoT bị điều chỉnh xấu để thực hiện một số hành động nhất định ).
Ứng dụng người dùng là một thành phần phần mềm của hệ thống IoT cho phép kết nối người dùng với hệ thống IoT và cung cấp các tùy chọn để giám sát và kiểm soát những thứ thông minh của họ (trong khi chúng được kết nối với mạng của những thứ tương tự, ví dụ như nhà hoặc ô tô và kiểm soát bởi một hệ thống trung tâm). Với ứng dụng di động hoặc web, người dùng có thể theo dõi trạng thái của đồ vật, gửi lệnh để điều khiển ứng dụng, đặt tùy chọn hành vi tự động (thông báo và hành động tự động khi dữ liệu nhất định đến từ cảm biến).
Chức năng quản lý thiết bị IoT (Device Management)
Để đảm bảo đủ chức năng của các thiết bị IoT, không đủ để cài đặt chúng và để mọi thứ đi theo cách của chúng. Có một số quy trình cần thiết để quản lý hiệu suất của các thiết bị được kết nối (tạo điều kiện cho sự tương tác giữa các thiết bị, đảm bảo truyền dữ liệu an toàn và hơn thế nữa):
- Nhận dạng thiết bị để xác định danh tính của thiết bị để đảm bảo rằng đó là thiết bị chính hãng có phần mềm đáng tin cậy truyền dữ liệu đáng tin cậy.
- Cấu hình và điều khiển để điều chỉnh các thiết bị theo mục đích của hệ thống IoT. Một số thông số cần được ghi lại khi thiết bị được cài đặt (ví dụ: ID thiết bị duy nhất). Các cài đặt khác có thể cần cập nhật (ví dụ: thời gian giữa khi gửi tin nhắn với dữ liệu).
- Theo dõi và chẩn đoán để đảm bảo hiệu suất trơn tru và an toàn của mọi thiết bị trong mạng và giảm nguy cơ sự cố.
- Cập nhật phần mềm và bảo trì để thêm chức năng, sửa lỗi, giải quyết các lỗ hổng bảo mật.
Chức năng quản lý người dùng (User Management)
Cùng với quản lý thiết bị, điều quan trọng là cung cấp quyền kiểm soát đối với người dùng có quyền truy cập vào hệ thống IoT.
Quản lý người dùng liên quan đến việc xác định người dùng, vai trò của họ, cấp độ truy cập và quyền sở hữu trong một hệ thống. Nó bao gồm các tùy chọn như thêm và xóa người dùng, quản lý cài đặt người dùng, kiểm soát quyền truy cập của nhiều người dùng vào một số thông tin nhất định, cũng như cho phép thực hiện các hoạt động nhất định trong hệ thống, kiểm soát và ghi lại các hoạt động của người dùng và hơn thế nữa.
Chức năng Giám sát an ninh – bảo mật
Bảo mật là một trong những mối quan tâm hàng đầu trong IoT. Những thứ được kết nối tạo ra khối lượng dữ liệu khổng lồ, cần được truyền và bảo vệ an toàn khỏi tội phạm mạng. Một khía cạnh khác là những thứ được kết nối với Internet có thể là điểm vào cho các nhân vật phản diện. Hơn thế nữa, bọn tội phạm mạng có thể có quyền truy cập vào não não của toàn bộ hệ thống IoT và kiểm soát nó.
Để ngăn chặn các vấn đề như vậy, sẽ hợp lý khi ghi nhật ký và phân tích các lệnh được gửi bởi các ứng dụng điều khiển đến mọi thứ, giám sát hành động của người dùng và lưu trữ tất cả các dữ liệu này trong cloud. Với cách tiếp cận như vậy, có thể giải quyết các vi phạm bảo mật ở giai đoạn bá tước và thực hiện các biện pháp để giảm ảnh hưởng của chúng đối với hệ thống IoT (ví dụ: chặn một số lệnh nhất định đến từ các ứng dụng điều khiển).
Ngoài ra, có thể xác định các mô hình hành vi đáng ngờ, lưu trữ các mẫu này và so sánh chúng với nhật ký được tạo bởi hệ thống IoT để ngăn chặn sự xâm nhập tiềm năng và giảm thiểu tác động của chúng đối với hệ thống IoT.
Ví dụ ứng dụng IoT : Hệ thống chiếu sáng thông minh
Chúng ta hãy xem các yếu tố kiến trúc IoT của chúng ta phối hợp với nhau như thế nào bằng ví dụ về chiếu sáng sân thông minh như một phần của ngôi nhà thông minh – một minh họa sáng sủa về cách giải pháp IoT đồng thời đóng góp cho sự tiện lợi và hiệu quả năng lượng của người dùng. Có nhiều cách khác nhau để hệ thống chiếu sáng thông minh có thể hoạt động và chúng tôi sẽ đề cập đến các tùy chọn cơ bản.
Thành phần cơ bản của hệ thống chiếu sáng thông minh
Các cảm biến lấy dữ liệu từ môi trường (ví dụ: ánh sáng ban ngày, âm thanh, chuyển động của con người). Đèn được trang bị bộ truyền động để bật và tắt đèn. Một hồ dữ liệu lưu trữ dữ liệu thô đến từ các cảm biến. Một kho dữ liệu lớn chứa thông tin trích xuất hành vi của cư dân nhà thông minh trong các ngày khác nhau trong tuần, chi phí năng lượng và nhiều hơn nữa.
Giám sát thủ công và điều khiển bằng tay
Người dùng điều khiển hệ thống chiếu sáng thông minh bằng một ứng dụng di động có bản đồ sân. Với ứng dụng, người dùng có thể thấy đèn nào bật và tắt và gửi lệnh đến các ứng dụng điều khiển tiếp tục truyền chúng tới bộ truyền động đèn. Một ứng dụng như vậy cũng có thể cho thấy đèn nào sắp bị hỏng.
Hệ thống phân tích dữ liệu
Ứng dụng IoT Phân tích cách người dùng áp dụng ánh sáng thông minh, lịch trình của họ (do người dùng cung cấp hoặc được xác định bởi hệ thống thông minh) và thông tin khác được thu thập bằng cảm biến, các nhà phân tích dữ liệu có thể tạo và cập nhật thuật toán cho các ứng dụng điều khiển.
Phân tích dữ liệu cũng giúp đánh giá hiệu quả của hệ thống IoT và tiết lộ các vấn đề trong cách hệ thống hoạt động. Ví dụ: nếu người dùng tắt đèn ngay sau khi hệ thống tự động bật và ngược lại, có thể có các lỗ hổng trong thuật toán và cần phải giải quyết chúng càng sớm càng tốt.
Hệ thống điều khiển tự động
Các cảm biến theo dõi ánh sáng tự nhiên gửi dữ liệu về ánh sáng tới cloud. Khi ánh sáng ban ngày không đủ (theo ngưỡng đã nêu trước đó), các ứng dụng điều khiển sẽ gửi lệnh tự động đến các bộ truyền động để bật đèn. Thời gian còn lại của đèn được tắt.
Tuy nhiên, một hệ thống chiếu sáng có thể được điều khiển bởi các đèn chiếu sáng đường phố, đèn chiếu sáng từ các sân lân cận và bất kỳ nguồn nào khác. Ánh sáng bên ngoài được thu bởi các cảm biến có thể khiến hệ thống thông minh kết luận rằng nó đủ ánh sáng và nên tắt đèn. Do đó, thật hợp lý khi cung cấp cho hệ thống thông minh hiểu rõ hơn về các yếu tố ảnh hưởng đến ánh sáng và tích lũy những dữ liệu này trong cloud.
Khi cảm biến theo dõi chuyển động và âm thanh, chỉ bật đèn khi không có chuyển động hoặc âm thanh trong sân hoặc tắt tất cả các đèn trong im lặng là không đủ. Chuyển động và âm thanh có thể được tạo ra, ví dụ, bởi vật nuôi và các ứng dụng cloud nên phân biệt giữa giọng nói và chuyển động của con người và của vật nuôi. Điều tương tự là về những tiếng ồn phát ra từ đường phố và những ngôi nhà lân cận và những âm thanh khác. Để giải quyết vấn đề này, có thể lưu trữ các ví dụ về các âm thanh khác nhau trong cloud và so sánh chúng với các âm thanh phát ra từ các cảm biến.
Ứng dụng Machine Learning để chiếu sáng
Ánh sáng thông minh có thể áp dụng các mô hình được tạo ra bởi Machine Learning, ví dụ, để nhận ra mô hình hành vi của chủ sở hữu nhà thông minh (rời khỏi nhà lúc 8 giờ sáng, trở lại lúc 7 giờ tối) và theo đó điều chỉnh thời gian khi bật và tắt đèn (đối với ví dụ, chuyển đổi đèn trên 5 phút trước khi cần thiết).
Phân tích hành vi của người dùng theo quan điểm lâu dài, một hệ thống thông minh có thể phát triển hành vi nâng cao. Ví dụ, khi các cảm biến không xác định được các chuyển động và giọng nói điển hình của cư dân gia đình, một hệ thống thông minh có thể giả định rằng các cư dân nhà thông minh đang đi nghỉ và điều chỉnh hành vi: ví dụ, thỉnh thoảng bật đèn để tạo ấn tượng rằng ngôi nhà không trống (vì lý do an ninh), nhưng không được bật đèn mọi lúc để giảm mức tiêu thụ năng lượng.
Các tùy chọn quản lý người dùng
Để đảm bảo quản lý người dùng hiệu quả , hệ thống chiếu sáng thông minh có thể được thiết kế cho một số người dùng với phân phối vai trò: ví dụ: chủ sở hữu, cư dân, khách.
Trong trường hợp này, người dùng có tiêu đề Chủ sở hữu , người dùng sẽ có toàn quyền kiểm soát hệ thống (bao gồm thay đổi mô hình hành vi ánh sáng thông minh và theo dõi trạng thái của đèn sân) và các ưu tiên trong việc đưa ra lệnh (khi một số người dùng đưa ra các lệnh trái ngược nhau, lệnh của chủ sở hữu sẽ là một ứng dụng điều khiển thực thi), trong khi những người dùng khác sẽ có quyền truy cập vào một số lượng hạn chế các chức năng của hệ thống.
Những người sống ở đây sẽ được kích hoạt để bật và tắt đèn mà không có cơ hội thay đổi cài đặt. “Khách” sẽ có thể bật và tắt đèn ở một số nơi trong nhà và không có quyền truy cập để kiểm soát đèn, ví dụ, gần nhà để xe.
Ngoài phân phối vai trò, điều cần thiết là phải xem xét quyền sở hữu (ngay khi một hệ thống có thể kiểm soát hơn 100 nghìn hộ gia đình và điều quan trọng là cư dân của một ngôi nhà thông minh quản lý ánh sáng trong sân của mình chứ không phải là hàng xóm).
Kết luận
Nói một cách đơn giản, kiến trúc IoT cơ bản chứa các thành phần sau:
- Những vật được trang bị cảm biến để thu thập dữ liệu và bộ truyền động để thực hiện các lệnh nhận được từ cloud.
- Gateway để lọc dữ liệu, tiền xử lý và di chuyển nó lên cloud và ngược lại, – nhận lệnh từ cloud.
- Cloud Gateway để đảm bảo chuyển đổi dữ liệu giữa các cổng trường và máy chủ IoT trung tâm.
- Truyền bộ xử lý dữ liệu để phân phối dữ liệu đến từ các cảm biến giữa các thành phần của giải pháp IoT có liên quan.
- Datalake để lưu trữ tất cả dữ liệu có giá trị xác định và không xác định.
- BigData Warehouse để thu thập dữ liệu có giá trị.
- Kiểm soát các ứng dụng để gửi lệnh đến bộ truyền động.
- Machine Learning để tạo ra các mô hình mà sau đó được sử dụng bởi các ứng dụng điều khiển.
- Ứng dụng người dùng để cho phép người dùng giám sát kiểm soát những thứ được kết nối của họ.
- Phân tích dữ liệu để xử lý dữ liệu thủ công.
Kiến trúc IoT cũng chứa các thành phần quản lý người dùng và thiết bị để cung cấp chức năng ổn định và an toàn cho mọi thứ và kiểm soát các vấn đề truy cập của người dùng. Phát triển kiến trúc IoT của một giải pháp cụ thể, điều quan trọng là phải tập trung vào tính nhất quán (chú ý đầy đủ đến mọi yếu tố của kiến trúc IoT và khiến chúng hoạt động cùng nhau), linh hoạt (cơ hội để thêm chức năng mới và logic mới) và tích hợp với hệ thống doanh nghiệp ( tích hợp các giải pháp IoT mới với các giải pháp IT doanh nghiệp đã triển khai trước đây như ERP, MES, WMS, hệ thống quản lý phân phối và hơn thế nữa).