Xây dựng gateway đa giao thức cho hệ thống IoT

Tóm tắt Sự phát triển nhanh chóng của Internet vạn vật (IoT) hiện nay kéo theo nhu cầu ngày càng tăng về việc kết nối các thiết bị phổ biến với các giao thức khác nhau như BLE, Wi-fi, RFID, Zigbee, LAN, v.v., thành một mạng thống nhất. Một số ứng dụng điển hình như giao thông thông minh, nhà thông minh, điều khiển công nghiệp., cần có cổng kết nối (gateway) thông minh cung cấp tốc độ truyền dữ liệu cao, các thiết bị đầu cuối sử dụng băng thông rộng với các giao thức khác nhau trong các mạng không đồng nhất. Bài báo này đề xuất một IoT gateway có cấu hình mới với 3 ưu điểm: (1) có thể cắm được các module có giao thức truyền thông khác nhau của các mạng khác nhau; (2) có các giao diện bên ngoài hợp nhất để phát triển phần mềm linh hoạt; (3) có giao thức linh hoạt để chuyển dữ liệu từ các cảm biến khác nhau thành một định dạng thống nhất.

pdf7 trang | Chia sẻ: thanhle95 | Lượt xem: 766 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Xây dựng gateway đa giao thức cho hệ thống IoT, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC SÀI GÒN SAIGON UNIVERSITY TẠP CHÍ KHOA HỌC SCIENTIFIC JOURNAL ĐẠI HỌC SÀI GÒN OF SAIGON UNIVERSITY Số 61 (01/2019) No. 61 (01/2019) Email: tcdhsg@sgu.edu.vn ; Website: https://tapchikhoahoc.sgu.edu.vn 24 XÂY DỰNG GATEWAY ĐA GIAO THỨC CHO HỆ THỐNG IOT Implementation of a multi-protocol IoT gateway ThS. Trần Quang Thuận Học viện Công nghệ Bưu chính Viễn thông Tóm tắt Sự phát triển nhanh chóng của Internet vạn vật (IoT) hiện nay kéo theo nhu cầu ngày càng tăng về việc kết nối các thiết bị phổ biến với các giao thức khác nhau như BLE, Wi-fi, RFID, Zigbee, LAN, v.v., thành một mạng thống nhất. Một số ứng dụng điển hình như giao thông thông minh, nhà thông minh, điều khiển công nghiệp.., cần có cổng kết nối (gateway) thông minh cung cấp tốc độ truyền dữ liệu cao, các thiết bị đầu cuối sử dụng băng thông rộng với các giao thức khác nhau trong các mạng không đồng nhất. Bài báo này đề xuất một IoT gateway có cấu hình mới với 3 ưu điểm: (1) có thể cắm được các module có giao thức truyền thông khác nhau của các mạng khác nhau; (2) có các giao diện bên ngoài hợp nhất để phát triển phần mềm linh hoạt; (3) có giao thức linh hoạt để chuyển dữ liệu từ các cảm biến khác nhau thành một định dạng thống nhất. Từ khóa: cổng kết nối, internet vạn vật, IoT, giao thức. Abstract With rapid development of Internet of Things (IoT), there exists an ever-growing demand for ubiquitous connectivity to integrate multiple heterogeneous networks, such as BLE, Wi-fi, RFID, Zigbee, LAN, etc. Some typical applications, namely intelligent transportation, smart home, industry control, etc., require a smart gateway to provide high data rate, end-to-end connectivity utilizing the higher bandwidth of multi-hop networks among those heterogeneous networks. This paper proposes a novel configurable IoT gateway which has three important benefits. Firstly, the gateway has pluggable architecture, whose modules with different communication protocols can be customized and plugged in. Secondly, it has unified external interfaces which are fit for flexible software development. Finally, it has flexible protocol to transfer data from different sensors into a unified format. Keywords: gateway, internet of Things, IoT, protocol. 1. Giới thiệu Internet of Things (IoT) đang thúc đẩy sự đổi mới trong gần như mọi khía cạnh cuộc sống. Việc kết nối những đối tượng chưa từng được kết nối trước đây đang cho phép thu thập những thông tin dữ liệu đầy đủ và chuyên sâu dẫn đến sự thay đổi có ý nghĩa trong cuộc sống. Hiện nay, khái niệm IoT - mạng kết nối tất cả mọi vật đã trở nên phổ biến cùng với các khái niệm như Smart City (thành phố thông minh), Smart Grid (lưới điện thông minh), Smart Building (tòa nhà thông minh), Smart Home (ngôi nhà thông minh) đã dần trở thành hiện thực và đi vào cuộc sống. Hệ thống IoT bao gồm các module cảm Email: thuantq@ptithcm.edu.vn TRẦN QUANG THUẬN TẠP CHÍ KHOA HỌC ĐẠI HỌC SÀI GÒN 25 biến, gateway và máy chủ trung tâm. Các module cảm biến đại diện cho đối tượng (things), thể hiện như các node trong mạng. Gateway là thiết bị làm chức năng chuyển đổi giữa các loại mạng hoặc các ứng dụng khác nhau, thực hiện kết nối các node của mạng với máy chủ. Máy chủ với ứng dụng công nghệ đám mây (cloud) thực hiện điều hành và quản lý toàn bộ mạng IoT. Đối với IoT gateway, việc kết nối nhiều loại giao thức (protocol) hiện có và truyền tải lưu lượng thông tin lớn là một thách thức. Ngoài ra, yêu cầu bảo mật cao cho hệ thống IoT cũng là một khó khăn. Với sự tồn tại của nhiều kỹ thuật kết nối đang được sử dụng như LAN, WiFi, 3G/4G, Bluetooth, Z-Wave, ZigBee, LoRA, việc tổ chức một Gateway đáp ứng đầy đủ các giao thức kết nối là vấn đề hết sức phức tạp. Để giải quyết những vấn đề này, tác giả bài báo đề xuất một gateway thông minh với các tính năng có thể cấu hình, đa chức năng và tiết kiệm chi phí. Ngoài giới thiệu trên đây, bài báo có phần 2 khái quát các nghiên cứu liên quan, phần 3 trình bày cấu trúc của Smart IoT gateway, phần 4 trình bày việc thực hiện IoT gateway (phần cứng và phần mềm) và phần cuối là kết luận cùng với hướng phát triển. 2. Các nghiên cứu liên quan Công trình [4] và [7] đề xuất các gateway kết nối các mạng với nhiều giao thức khác nhau như ZigBee, Bluetooth, GPRS, Ethernet, nhưng những gateway này không linh hoạt vì không thể tùy chỉnh được cho các ứng dụng khác nhau. Jong-Wan cùng các tác giả của công trình [5] đã đề xuất một hệ thống gồm một máy chủ chính và một số máy chủ cảm biến kết nối với các mạng cảm biến khác nhau. Nhưng trong hệ thống đó, hầu hết các tác vụ được hoàn thành bởi các máy chủ cảm biến phụ thuộc vào mạng khác hơn là một gateway thông minh. Điều này làm cho chi phí phần cứng quá cao. Năm 2011, nhóm nghiên cứu của tác giả Anurag Bansal ứng dụng công nghệ Bluetooth để thiết kế một thiết bị kết nối đến internet trung tâm. Thiết bị này sử dụng mô hình IGAP [2] với ý tưởng xây dựng một lớp ứng dụng phần mềm chạy trên điện thoại di động và một lớp phần mềm chạy trên PC có kết nối với Internet và Bluetooh, từ đó điện thoại di động có thể kết nối vào Internet thông qua kết nối với máy tính thông qua Bluetooth. Tuy nhiên, giải pháp này phụ thuộc nhiều vào ứng dụng phần mềm và chưa tập trung vào giảm thiểu năng lượng tiêu thụ của thiết bị cảm biến. Một trong những nhược điểm của công trình [2] là không phát triển một thiết bị Gateway độc lập mà sử dụng máy tính thu thập dữ liệu từ các thiết bị cảm biến sử dụng công nghệ Bluetooth. Lin Wu và các tác giả của công trình [6] đã thiết kế gateway định hướng dịch vụ có thể cấu hình plug-play, nhằm làm cho nó nhanh hơn và dễ sử dụng các ứng dụng mạng cảm biến bên ngoài khác nhau. Gateway này cho phép kết nối dữ liệu và thông tin của các mạng cảm biến không đồng nhất. Nó cung cấp các ứng dụng bên ngoài với quyền truy cập các tài nguyên tương ứng thông qua các giao diện thân thiện và đồng nhất, độc lập với các loại mạng cảm biến. Nhưng đây là gateway không dành cho các loại mạng hoặc ứng dụng cảm biến cụ thể, tính năng plug- configurable-play đạt được bằng cách tách chương trình tổng quát khỏi thông tin cụ thể của mạng cảm biến, nhược điểm của nó là chạy trên PC và đòi hỏi môi trường phần cứng cao nên những lợi thế trong các ứng dụng IoT thực tế là không rõ ràng. Tổng quan trên đây về phát triển hạ SCIENTIFIC JOURNAL OF SAIGON UNIVERSITY No. 61 (01/2019) 26 tầng và giải pháp ứng dụng đố với IoT cho thấy, hiện nay hầu hết các Công ty lớn (Intel, Taxas Instrument, NXP, ) và các nhóm nghiên cứu từ các trường đại học trên thế giới tập trung vào các bài toán quan trọng như: hạ tầng thiết bị và kết nối IoT (IoT Platform), lưu trữ và phân tích dữ liệu (Data Analysis), bảo mật và phòng chống tấn công (Security). Nhìn chung, các giải pháp hiện có trên thị trường đáp ứng yêu cầu riêng rẽ cho nhà thông minh nhưng chưa ứng dụng được hạ tầng theo định nghĩa của IoT. Tuy nhiên, các giải pháp đó chưa đồng bộ hoá và đảm bảo cho việc quản lý của các cơ quan, khu công nghiệp, hay rộng hơn đối với nhà nước trong lĩnh vực an ninh năng lượng, an ninh thông tin. 3. Cấu trúc của IoT gateway Mô hình hệ thống IoT được đề xuất như Hình 1. Mô hình này sử dụng gateway để kết nối các cảm biến không dây và thiết bị với trung tâm quản lý bằng ứng dụng công nghệ đám mây. Việc sử dụng điện thoại thông minh, máy tính bảng cho phép người điều hành một lĩnh vực như kiểm soát an ninh, kiểm soát môi trường và có thể giám sát công việc ở mọi nơi, mọi lúc. Software Trung tâm quản lý Quản lý di động Thiết bị/ Devices Cảm biến/sensors Master Gateway Tích hợp chuẩn kết nối WiFi, Ethernet, 3G, 4G/LTE Hình 1. Mô hình hệ thống IoT Master gateway là cầu nối giữa mạng truyền thống và mạng cảm biến; ở trung tâm là IoT gateway chịu trách nhiệm chuyển đổi giao thức và kết hợp dữ liệu của các cảm biến. Máy chủ hỗ trợ toàn bộ hệ thống, chịu trách nhiệm xử lý dữ liệu quá khứ và hiển thị trực quan. Các thẻ người dùng (user card) thông qua một giao diện chung để phù hợp với các giao thức kết nối khác nhau. Nhiệm vụ cụ thể của IoT gateway được cho trong Hình 2. Hình 2. Vai trò của gateway trong hệ thống IoT Để đáp ứng yêu cầu băng thông khác nhau, IoT gateway cung cấp các giao tiếp mạng như Ethernet, 3G/LTE hoặc RS485. Gateway không chỉ có thể truyền dữ liệu tốc độ cao như dữ liệu âm thanh và video, mà còn truyền cả dữ liệu tốc độ thấp như dữ liệu cảm biến nhiệt độ và độ ẩm. Đối với các ứng dụng có giao diện khác nhau, có thể giảm sự phức tạp và cả chi phí hệ thống, đạt được sự phát triển thân thiện với người dùng. IoT Gateway đề xuất cung cấp 8 giao diện người dùng hợp nhất. Trong các ứng dụng thực tế, chúng tôi đã thiết kế các thẻ người dùng khác nhau dưới dạng giao diện PCI-E. Các giao diện hợp nhất này có 2 ưu điểm: thứ nhất, thiết kế phần cứng của IoT gateway có thể được đơn giản hóa để tạo thuận lợi cho việc truy cập TRẦN QUANG THUẬN TẠP CHÍ KHOA HỌC ĐẠI HỌC SÀI GÒN 27 các nhu cầu ứng dụng khác nhau.; thứ hai, có thể thay đổi tự do số lượng thẻ người dùng theo các môi trường ứng dụng khác nhau. Ví dụ: với một số ứng dụng cần 3 thẻ người dùng ZigBee, trong khi với ứng dụng khác lại cần 3 thẻ người dùng RS485. IoT Gateway của chúng tôi có thể đáp ứng được các yêu cầu này. Nó có thể tạo điều kiện thuận lợi cho việc truy cập các loại thẻ người dùng khác nhau, và trong các môi trường ứng dụng khác nhau. Trong thực tế, chúng tôi thiết kế nhiều giao diện truyền thông giữa IoT và thẻ người dùng, như giao diện SPI, giao diện UART, Ethernet (RJ45), USB, giao diện âm thanh và video và giao diện I2C. Đến nay, IoT Gateway của chúng tôi có thể hỗ trợ cho nhiều loại thẻ người dùng như: thẻ người dùng định vị UWB; thẻ người dùng ZigBee; thẻ vào/ra tương tự/số; thẻ người dùng RFID 2.4GHz & 915MHz; thẻ người dùng RS485 và thẻ thu thập dữ liệu cảm biến. Ngoài ra, có thể sử dụng cho các loại thẻ người dùng khác với một số ứng dụng đặc biệt mà không cần thay đổi cấu trúc của IoT gateway. 4. Thực hiện IoT gateway 4.1. Giới thiệu phần cứng 4.1.1. Mô tả gateway Để đáp ứng các yêu cầu của IoT gateway được đề cập trên đây, chúng tôi sử dụng bộ vi xử lý Samsung S5PV210 cho bộ điều khiển chính của gateway. CPU có xung clock đạt tới 1 GHz, hỗ trợ 32KB I- Cache, 32KB D-Cache, 512KB L2 Cache, 64KB ROM và 96KB SRAM. Bộ xử lý hỗ trợ các giao diện ngoài phong phú như USB, SD/SDIO, UART, CMOS/CCD, SPI,... Theo yêu cầu của các ứng dụng thực tế, cấu trúc phần cứng của gateway IoT được hiển thị trong Hình 3, gồm 8 khe cắm thẻ người dùng. Tất cả các khe cắm thẻ người dùng đều hỗ trợ giao diện Ethernet và giao diện USB. Chip chuyển mạch Ethernet RTL8309 được sử dụng để mở rộng giao diện Ethernet một chiều trong CPU ARM Cortex A8 thành các giao diện Ethernet 8 chiều. Giao diện Ethernet có thể đáp ứng hầu hết các ứng dụng truyền thông tốc độ cao. Đồng thời, 2 chip USB2514 được sử dụng để mở rộng 2 cổng USB thành 8 cổng USB. Điều này giúp tăng cường khả năng mở rộng của hệ thống. Chúng tôi sử dụng 2 chip VK3224 để cho phép 8 khe thẻ người dùng cùng một lúc hỗ trợ giao diện UART 8 chiều. Khe cắm thẻ người dùng cũng hỗ trợ giao diện Audio/Video. IoT gateway này có thể hỗ trợ 3 loại giao tiếp dữ liệu với mạng chung, đó là Ethernet, 3G và RS485. Người dùng có thể chọn các giao diện truyền dữ liệu khác nhau theo nhu cầu cụ thể. Hình 3. Cấu trúc phần cứng của IoT gateway 4.1.2. Giới thiệu thẻ người dùng Để phù hợp với các ứng dụng khác nhau, giao diện của tất cả các thẻ người dùng phải giống nhau. Chúng tôi chọn giao diện chuẩn PCI-E, với cấu trúc chi tiết của thẻ người dùng được minh họa như Hình 4. SCIENTIFIC JOURNAL OF SAIGON UNIVERSITY No. 61 (01/2019) 28 Hình 4. Cấu trúc phần cứng của user card Để chuẩn hóa thiết kế gateway, tất cả các thứ tự dây của giao diện đều giống nhau, loại thẻ người dùng được phân biệt bằng phần mềm chạy trên gateway. Trong thực tế, chúng tôi đã phát triển 6 loại thẻ người dùng như được giới thiệu trong phần 3. Trong số các thẻ người dùng, thẻ UWB và thẻ RFID sử dụng giao diện USB, thẻ ZigBee, thẻ I/O tương tự/số và thẻ RS485 sử dụng giao diện UART, thẻ thu thập dữ liệu cảm biến sử dụng giao diện Ethernet và UART. Người dùng có thể sử dụng thẻ theo yêu cầu vì cùng giao diện với thẻ của mình. Một EEPROM 1K bit (chip 24LC01) được sử dụng để xác định loại thẻ người dùng. 4.2. Giới thiệu phần mềm Chức năng chính của phần mềm chạy trên gateway là chuyển đổi giữa các giao thức khác nhau và nhận dạng loại thẻ người dùng. 4.2.1. Chuyển đổi giao thức Kiểu dữ liệu đến từ các giao diện khác nhau thường không giống nhau, và bản thân dữ liệu cũng khác nhau. Điều này có thể làm tăng độ khó của việc giao tiếp giữa máy chủ và các cảm biến. Vì vậy, cần phải đóng gói dữ liệu khác nhau trên gateway. Thực tế, cấu trúc khung dữ liệu được định nghĩa như trong Hình 5. Hình 5. Cấu trúc khung dữ liệu Các chức năng của các phần khác nhau của khung được giải thích như sau: • Preamble sequence: byte đồng bộ hóa gói dữ liệu truyền thông, bao gồm ký tự đầu và ký tự khoảng thời gian bắt đầu khung. • TYPE: cho biết dữ liệu là đường lên (0x01) hoặc đường xuống (0x02). • Dest_ID: địa chỉ đích, 2 byte. • Source_ID: địa chỉ nguồn, 2 byte. • SN (Message nember): số tin nhắn (phân biệt đúng thông điệp đến), 1 byte. • Len: chiều dài của toàn bộ tin nhắn. • Pkt_Type: loại gói, bao gồm Pkt Type Ind và Pkt SubType Ind, 1 byte. • Reserved: dự phòng, 1 byte. • FCS: CRC16, kiểm tra tính toàn vẹn của dữ liệu trong các gói. 4.2.2 Nhận dạng loại thẻ người dùng IoT gateway của chúng tôi yêu cầu độ tương thích cao, chẳng hạn: nó có thể kết nối với cảm biến của bên thứ ba mà không thay đổi định dạng dữ liệu cảm biến. Vì vậy, không thể phân biệt các loại thẻ người dùng bằng cách điều chỉnh định dạng dữ liệu của chúng [3]. Ở đây, chúng tôi đề xuất giải pháp cho vấn đề này như sau: Sử dụng chip EEPROM 24LC01 để ghi lại các loại thẻ người dùng trong một byte. Đầu tiên, chip được cấu hình thông qua cổng IIC; sau đó chỉ cần đọc nội dung của chip để lấy thông tin loại thẻ người dùng. TRẦN QUANG THUẬN TẠP CHÍ KHOA HỌC ĐẠI HỌC SÀI GÒN 29 Chip đọc ngẫu nhiên được thể hiện như trong Hình 6. Hình 6. Chip đọc ngẫu nhiên 4.2.3. Cấu hình của IoT gateway Trong [6], hầu hết các IoT gateway đều thích nghi với cấu trúc C/S. Một trong những thiếu sót của cấu trúc C/S là phần mềm phải được cập nhật khi gateway được thêm vào các chức năng mới. Điều này có thể gây ra nhiều bất tiện cho việc phát triển dự án và hạn chế tính tương thích của gateway. Để khắc phục nó, chúng tôi áp dụng chế độ B/S, trong đó người dùng có thể cấu hình gateway bằng PC hoặc các thiết bị di động khác và chức năng này được thực hiện bởi một máy chủ web. Trong chế độ B/S, khách hàng chạy phần mềm trình duyệt để gửi yêu cầu truy cập đến máy chủ Web thông qua siêu văn bản. Chế độ yêu cầu bao gồm phương thức POST và phương thức GET. Đối với phương thức GET, trình duyệt nhận yêu cầu URL bao gồm tên và nội dung các biến. Đối với phương thức POST, trình duyệt sẽ tạo gói dữ liệu để làm gọn biến thể và nội dung của nó, sau đó gửi gói đến máy chủ. Sau khi nhận được yêu cầu, máy chủ web sẽ gửi các trang tĩnh hoặc trang động cho khách hàng. Tiếp đến phần mềm tương ứng sẽ bắt đầu truy cập mô-đun, cơ sở dữ liệu và gửi kết quả đến máy chủ web. Phản hồi từ máy chủ web thường bao gồm dòng trạng thái, dòng trống và tài liệu. Trình duyệt của khách hàng sẽ phân tích phản hồi và hiển thị nội dung lên web. 5. Kết luận và hướng phát triển IoT gateway là cầu kết nối giữa các mạng truyền thống và mạng cảm biến. Bài báo này trình bày một IoT gateway có thể được cấu hình linh hoạt để thích nghi với các yêu cầu ứng dụng khác nhau, có thể làm giảm những khó khăn, chi phí cũng như dễ dàng và nhanh chóng áp dụng cho các ứng dụng mới. Trong đề xuất của chúng tôi, gateway có giao diện bên ngoài thống nhất, khả năng mạnh mẽ để thích ứng với các nhu cầu khác nhau, người sử dụng có thể phát triển thẻ (người dùng) phù hợp theo các ứng dụng khác nhau. Trong tương lai, chúng tôi sẽ bổ sung chính sách bảo mật và chiến lược phòng chống lỗi vào gateway đã đề xuất để đảm bảo cho nó hoạt động ổn định và đáng tin cậy hơn, từ đó có thể áp dụng cho hệ thống quản lý các khu công nghiệp và khu công nghệ cao. LỜI CẢM ƠN Công trình này nhận được sự tài trợ từ đề tài khoa học công nghệ cấp Học viện Công nghệ Bưu chính Viễn thông, mã số 09-HV- 2018-RD_ĐT2. TÀI LIỆU THAM KHẢO Amiruddin Amiruddin, Anak Agung Putri Ratna, Ruki Harwahyu, Riri Fitri Sari (2018), “Secure Multi-protocol Gateway for Internet of Things”, IEEE Wireless Telecommunications Symposium (WTS), Phoenix, AZ, USA. 1. Amol Kawade, Ishan Bhaskarwar, Yashodhan Joshi, Anurag Bansal (2011), “Implementation of Bluetooth hotspots using IGAP”, IJCSET, Vol.1 (Issue 11). 2. Dong Min; Zeng Xiao; Bi Sheng; Guo Shiya (2012), “Design and implementation of the multi-channel RS485 IoT gateway”, Cyber Technology SCIENTIFIC JOURNAL OF SAIGON UNIVERSITY No. 61 (01/2019) 30 in Automation, Control, and Intelligent Systems (CYBER), IEEE International Conference on, pp.366-370. 3. Emara, K. A., Abdeen, M., & Hashem, M. (2009), “A gateway-based framework for transparent interconnection between WSN and IP network”, EUROCON '09, pages 1775-1780. 4. Jong-Wan, Y., Yong-ki, K., Choon-Sung, N., & Dong-Rye, S. (2009), “Sensor Network Middleware for Distributed and Heterogeneous Environments”, International Conference on New Trends in Information and Service Science (NISS '09), pages 979-982. 5. L.Wu, Y. Xu, C. Xu, and F.Wang (2013), “Plug-configure-play service oriented gateway for fast and easy sensor network application development”, Proceedings of the 2nd International Conference on Sensor Networks (SENSORNETS ’13). 6. Qian, Z., Ruicong, W., Qi, C., Yan, L., & Weijun, Q. (2010), “IoT Gateway: Bridging Wireless Sensor Networks into Internet of Things”. IEEE/IFIP 8th International Conference on the Embedded and Ubiquitous Computing (EUC’2010), pages 347-352. Ngày nhận bài: 05/07/2018 Biên tập xong: 15/12/2018 Duyệt đăng: 20/01/2019
Tài liệu liên quan