“Internet of things” (IoT) đang trở thành một chủ đề ngày càng được nhắc đến nhiều trong các cuộc nói chuyện kể cả ở công sở và những nơi khác. IoT không chỉ có khả năng ảnh hưởng đến cách chúng ta sống mà còn tới cách chúng ta làm việc. Nhưng thật ra chính xác IoT là gì và những sự tác động của nó đến cuộc sống của bạn như thế nào , nếu có ? Có rất nhiều vấn đề phức tạp xung quanh “ Internet of things” nhưng bài viết này chỉ nêu lên những điểm cơ bản nhất. Đã có rất nhiều buổi hội thảo công nghệ và chính sách liên quan nhưng rất nhiều người chỉ đang cố gắng nắm về nền tảng của nó.Internet băng thông rộng ngày càng phổ biến hơn , chi phí thì giảm xuống , nhiều thiết bị hơn với khả năng phát wifi và cảm biến bên trong , giá thành công nghệ giảm xuống , điện thoại thông minh tràn ngập. Tất cả những thứ đó đang tạo ra “cơn bão hoàn hảo” cho IoT.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ────────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
TÌM HIỂU IOT VÀ TRIỂN KHAI TESTBED DỰA TRÊN MÔ HÌNH OM2M VƠI BỘ
Trang 2PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Thông tin về sinh viên
Họ và tên sinh viên: NGUYỄN VIỆT HƯNG
Điện thoại liên lạc: 0969987893 Email: nguyenviethung.6a@gmail.com
Lớp: IS – K56 Hệ đào tạo: Đại học chính quy
Đồ án tốt nghiệp được thực hiện tại: Bộ môn Kỹ thuật máy tính, Viện CNTT&TT, Đại họcBách Khoa Hà Nội
Thời gian làm ĐATN: Từ ngày 08/02/2016 đến 27/05/2016
2 Mục đích nội dung của ĐATN
Tìm hiểu iot và triển khai testbed dựa trên mô hình om2m vơi bộ thiết bị zolertia
3 Các nhiệm vụ cụ thể của ĐATN
Tìm hiểu và nghiên cứu công nghệ những thách thức kĩ thuật trong internet ofthings (IOT)
Tìm hiểu platform OM2M
Tìm hiểu zoletia
Dựa trên mô hình OM2M triển khai với bộ thiết bị Zolertia
Tiến hành cài đặt, chạy thử nghiệm và kiểm thử chương trình
4 Lời cam đoan của sinh viên:
Tôi – Nguyễn Việt Hưng - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới
sự hướng dẫn của PGS.TS Ngô Quỳnh Thu
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳcông trình nào khác
Hà Nội, ngày 27 tháng 05 năm 2016
Tác giả ĐATN
Nguyễn Việt Hưng
5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảovệ:
Hà Nội, ngày tháng năm
Giáo viên hướng dẫn
PGS.TS Ngô Quỳnh Thu
Trang 3“Internet of things” (IoT) đang trở thành một chủ đề ngày càng được nhắcđến nhiều trong các cuộc nói chuyện kể cả ở công sở và những nơi khác IoT khôngchỉ có khả năng ảnh hưởng đến cách chúng ta sống mà còn tới cách chúng ta làmviệc Nhưng thật ra chính xác IoT là gì và những sự tác động của nó đến cuộc sốngcủa bạn như thế nào , nếu có ? Có rất nhiều vấn đề phức tạp xung quanh “ Internet
of things” nhưng bài viết này chỉ nêu lên những điểm cơ bản nhất Đã có rất nhiềubuổi hội thảo công nghệ và chính sách liên quan nhưng rất nhiều người chỉ đang cốgắng nắm về nền tảng của nó
Internet băng thông rộng ngày càng phổ biến hơn , chi phí thì giảm xuống ,nhiều thiết bị hơn với khả năng phát wifi và cảm biến bên trong , giá thành côngnghệ giảm xuống , điện thoại thông minh tràn ngập Tất cả những thứ đó đang tạo ra
“cơn bão hoàn hảo” cho IoT
Khái niệm về IoT là việc kết nối bất cứ thiết bị nào có công tắc tắt / mở tớiInternet ( và / hoặc tới thiết bị khác ) Bao gồm tất cả mọi thứ từ điện thoại diđộng , đèn bàn , những vật có thể mang được và tất cả các loại thiết bị khác mà bạn
có thể nghĩ tới Ngoài ra khái niệm này còn được triển khai cho những bộ phận củamáy móc , ví dụ về động cơ của một chiếc máy bay phản lực hoặc là mũi khoan củadàn khoan dầu Như đã đề cập ở trên , nếu cái gì đó có công tắc tắt / mở thì nó córất nhiều cơ hội trở thành một phần của IoT Phân tích viên của công ty Gartner nóirằng cho tới 2020 sẽ có nhiều hơn 26 tỷ thiết bị kết nối vào… Có rất nhiều kết nối( một vài khía cạnh khác cho rằng còn có thể nhiều hơn số lượng tiên đoán đó , trên
100 tỷ ) IoT là một mạng khổng lồ để kết nối “tất cả mọi thứ “( thậm chí cả conngười ) Mối quan hệ sẽ là người – người , người – vật , và vật – vật
Trang 4TÓM TẮT NỘI DUNG ĐỒ ÁN
Cấu trúc đô án gồm 4 chương với nội dung chính như sau:
Chương 1: Giải pháp và cơ sở lý thuyết trong IoT
Nêu ra vấn đề và lý do chính chọn đề tài, nhưng thách thức kĩ thuật khi triển khai hệthống IoT
Chương 2: Xây dựng hệ thống IOT dựa trên Platform OM2M
Trình bày lý thuyết về platform OM2M, để từ đó đi đến kết luật sử dụng platformvào trong đồ án là phù hợp và đúng đăn
Mô tả kĩ thuật, mô hình thiết kế, các bước giải quyết bài toán và kết luận
Chương 5: Xây dựng hướng giải quyết 2 là mô hình IoT với Waspmote mote Runner
Mô tả kĩ thuật, mô hình thiết kế, các bước giải quyết bài toán và kết luận
Trang 5LỜI CẢM ƠN
Trước hết, em xin gửi lời cảm ơn chân thành tới PGS.TS Ngô Quỳnh Thu,người đã tận tình dạy dỗ và hướng dẫn em trong quá trình hoàn thành đồ án cũngnhư trong học tập Em xin cảm ơn đến thầy Trần Hải Anh đã đóng góp những ýkiến quý giá, hướng dẫn cụ thể đến em, giúp em hoàn thành đồ án
Đồng thời, em xin bày tỏ lòng biết ơn đến các thầy cô giáo trong Viện Côngnghệ thông tin và Truyền thông – trường Đại học Bách Khoa Hà Nội, những người
đã tận tâm giảng dạy, truyền đạt cho chúng em những kiến thức cơ bản làm nềntảng cho việc thực hiện đồ án cũng như trong quá trình công tác sau này
Em cũng xin gửi lời cảm ơn tới các anh chị tại trường Đại học Bách Khoa Hà Nội,các bạn, các em trong nhóm sinh viên nghiên cứu, những người luôn ở bên cạnhgiúp đỡ, động viên em trong quá trình hoàn thành đồ án, từ đó có thể rút ra nhữngkinh nghiệm bổ ích có thể áp dụng vào thực tiễn một cách hiệu quả trong tương lai
Cuối cùng, với tất cả sự kính trọng, con xin bày tỏ lòng biết ơn sâu sắc tới bố
mẹ và anh chị em trong gia đình đã luôn là chỗ dựa tinh thần vững chắc và tạo mọiđiều kiện cho con ăn học nên người
Em xin chân thành cảm ơn!
Hà Nội, ngày 29 tháng 5 năm 2016
Nguyễn Việt Hưng
Trang 6MỤC LỤC ĐATN
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 2
LỜI MỞ ĐẦU 2
TÓM TẮT NỘI DUNG ĐỒ ÁN 4
LỜI CẢM ƠN 5
DANH MỤC HÌNH VẼ 8
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ 9
PHẦN 1: GIẢI PHÁP VÀ CƠ SỞ LÝ THUYẾT TRONG IOT 10
Chương 1: Định hướng vấn đề và giải pháp trong lĩnh vực IoT 10
1.1 Tổng quan về IoT 10
1.2 Thách thức kĩ thuật trong IoT 11
1.3 Khả năng định danh của IoT 13
1.4 Các hệ thống phụ trong IoT 14
1.5 Mô hình tham chiếu trong IoT 14
1.6 Bảo mật trong IoT 15
Chương 2: Xây dựng hệ thống IOT dựa trên Platform OM2M 17
2.1 Giới thiệu OM2M và các thành phần 17
2.1.3 Các thành phần trong OM2M 18
2.2 Nền tảng ứng dụng dịch vụ ETSI-compliant M2M trong OM2M 18
PHẦN 2: XÂY DỰNG ĐỒ ÁN VÀ KẾT QUẢ ĐẠT ĐƯỢC 28
Bài toán và hướng giải quyết 28
Chương 3: Thiết kế hệ thống theo protocol stack IoT và giao thức kết nối 802.15.4 28
3.1 Physical layer 29
3.2 Data link 29
3.2 Internet Layer 30
3.3 Transport Layer 30
3.4 Application Layer 30
Trang 74.1 Mô tả kĩ thuật Zolertia platforms 31
4.2 Thiết kế mô hình wireless sensor network với z1 zorletia 33
4.3 Các bước giải quyết mục tiêu 33
4.4 Kết quả xây dựng hệ thống 35
4.4 Đánh giá kết quả đạt được 39
Chương 5 : Xây dựng hướng giải quyết 2 là mô hình IoT với Waspmote mote Runner 40
5.1 Phần cứng waspmote mote runner platforms 40
5.2 Thiết kế mô hình wireless sensor networks với waspmote mote runner 43
5.3.Các bước giải quyết mục tiêu 43
5.4 Kết quả xây dựng hệ thống 47
5.5 Đánh giá kết quả đạt được 47
KẾT LUẬN 49
TÀI LIỆU THAM KHẢO 50
Trang 8DANH MỤC HÌNH VẼ
HÌNH 1: TIỀU CHUẨN HÌNH THÀNH NÊN IOT 10
HÌNH 2: LỚP CỞ BẢN TRONG IOT 11
HÌNH 3: CÁC LOẠI KẾT NỐI TRONG IOT 11
HÌNH 4: CÁC LOẠI KẾT NỐI CẦN ĐƯỢC HỖ TRỢ TRONG MẠNG IOT 12
HÌNH 5: ĐỒ THỊ PHÂN BỐ THỜI GIAN CỦA TÍN HIỆU (TIME/JETTER) 12
HÌNH 6: CỰ LY TRUYỀN TÍN HIỆU TRONG MẠNG IOT 13
HÌNH 7: MÔ HÌNH THAM CHIẾU M2M/IOT 15
HÌNH 8: KIẾN TRÚC BẢO MẬT 16
HÌNH 9: BỘ PLATFORM OM2M 18
HÌNH 10: KIẾN TRÚC CHỨC NĂNG ETSI M2M 20
HÌNH 11: TRƯỜNG DỮ LIỆU SCL TRONG OM2M 22
HÌNH 12: TRƯỜNG DỮ LIỆU APPLICATION TRONG OM2M 22
HÌNH 13: TRƯỜNG DỮ LIỆU CONTAINER TRONG OM2M 23
HÌNH 14: TRƯỜNG DỮ LIỆU ACCESSRIGHT TRONG OM2M 23
HÌNH 15: MÔ HÌNH NỀN TẢNG OM2M 24
HÌNH 16: BIỂU ĐỒ DIAGRAM CÁC THÀNH PHẦN OM2M 25
HÌNH 17: KỊCH BẢN TẠO MỘT RESOURCE TRONG ỨNG DỤNG 26
HÌNH 18: THIẾT BỊ ZOLERTIA PLATFORM GỒM 1 GATEWAY VÀ 3 Z1 31
HÌNH 19: Z1 ZOLERTIA VÀ SƠ ĐỒ KHỔI 31
HÌNH 20: CẢM BIENS ZIG 001 VÀ SƠ ĐỒ KHỔI 32
HÌNH 21: CẢM BIENS ZIG 002 VÀ SƠ ĐỒ KHỔI 32
HÌNH 22: MÔ HÌNH WIRELESS SENSORS NETWORK 33
HÌNH 23: TẠO THÀNH CÔNG BORDER ROUTER Z1 35
HÌNH 24: CÁC NODE Z1 KẾT NỐI TỚI BORDER ROUTER 36
HÌNH 25: PING IPV6 36
HÌNH 26: DỮ LIỆU TỪ SENSOR NHIỆT ĐỘ VÀ ĐỘ ẨM 37
HÌNH 27: DỮ LIỆU TỪ SENSOR CẢM BIẾN ÁNH SÁNG 37
HÌNH 28: DỮ LIỆU BATTERY 37
HÌNH 29: ĐỒ THỊ NĂNG LƯƠNG PIN CỦA ZOLERTIA Z1 THEO THỜI GIAN 38
HÌNH 30: ĐỒ THỊ DỮ LIỆU CẢM BIẾN ÁNH SÁNG THEO THỜI GIAN 38
HÌNH 31: ĐỒ THỊ DỮ LIỆU CẢM BIẾN NHIỆT ĐỘ THEO THỜI GIAN 39
HÌNH 32: LIBELIUM WASPMOTE RUNNER 40
HÌNH 33: TỔNG QUAN VỀ HỆ SINH THÁI MOTE RUNNER 40
HÌNH 34: END NODE VÀ GATEWAY NODE 41
HÌNH 35: WASPMOTE BOARD DÙNG CHO NÔNG NGHIỆP 41
HÌNH 36: CẢM BIẾN ĐỘ ẨM (808H5V5) 42
HÌNH 37: CẢM BIẾN NHIỆT ĐỘ 42
HÌNH 38: MÔ HÌNH WIRELESS SENSOR NETWORK 42
HÌNH 39: FLASH XONG FIRMWARE 44
HÌNH 40: PING ĐẾN GATEWAY 45
HÌNH 41: HIỂN THỊ MÔ HÌNH MẠNG VỚI 2 NODE VÀ 1 GATEWAY 46
HÌNH 42: CẬP NHẬT THÔNG TIN CÁC NODE ĐẾN GATEWAY 46
HÌNH 43: DỮ LIỆU CẢM BIẾN TỪ BROAD NÔNG NGHIỆP 46
Trang 9DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ
IoT Internet of things
ETSI TelecommunicationsEuropean
Standards Institute
Viện Tiêu chuẩn Viễn thông
châu ÂuOGSi Open Service GatewayInitiative
GSCL Gateway Service CapbilityLayer
NSCL Network Service Capbility
LayerDSCL Device Service Capbility
Layer
RFID Radio FrequencyIdentification Nhận dạng sóng vô truyến
IEEE Institute of Electrical andElectronics Engineers
M2M Machine to Machine
WSNs Wireless sensor networks
IETF Internet Engineering TaskForce
WLAN wireless local area
network
CNTT Công nghê thông tin Công nghê thông tin
TTDL Trung tâm dữ liệu Trung tâm dữ liệu
Trang 10PHẦN 1: GIẢI PHÁP VÀ CƠ SỞ LÝ THUYẾT TRONG IOT
Chương 1: Định hướng vấn đề và giải pháp trong lĩnh vực IoT
1.1 Tổng quan về IoT
Hình 1: Tiều chuẩn hình thành nên IoT
Dựa theo tầm nhìn tương lai về IoT theo các khái niệm chính, công nghê vàtiêu chuẩn, sự xuất hiện các mô hình IoT là kết quả sự hội tụ 3 vấn đề chính:
“Things oriented” bao gồm như: thẻ Radio-Frequency Identification (RFID),điều khoản cơ bản xây dựng tạo tiền để phát triển IoT, công nghệ mạng cảm biếnkhông dây , UID…
“Internet oriented” định hướng về kết nối: để phù hợp với việc chạy thiết bịgiao tiếp nhỏ gọn, hoạt động dựa trên pin các thiết bị nhúng Chẳng hạn kết hợpIEEE 802.15.4 vào kiển trúc IP, truyền dữ liệu qua 6LowPAN
“Semantic oriented” định hướng ngữ nghĩa: trong bối cảnh mà các rất nhiềucác thiết bị đại diện cho lưu trữ, kết nối, tìm kiếm tổ chức thông tin được tạo ra sẽrất khó quản lý Như vậy cần hình thành môi trường ngữ nghĩ phù hợp với phát
Trang 11Hình 2: Lớp cở bản trong IoT
Lớp trên cùng là lớp các Application liên kết với nhau, Lớp giữa Middleware
là một lớp phần mềm hoặc lớp phụ xem giữa của công nghê và ứng dụng Tính năngcủa nó có thể là ẩn đi các chi tiết khác nhau không cần thiết ở lớp Devices từ đó lậptrình viên có thể đơn giản hóa viết phát triển mới ứng dụng, dịch vụ
1.2 Thách thức kĩ thuật trong IoT
Hỗ trợ nhiểu loại kết nối
Hình 3: Các loại kết nối trong IoT
IoT hỗ trợ rất nhiều loại kết nối như trong hình 3 đó là: Bluetooth, Wifi,ZigBee, 6LowPAN, RFID, LPWAN, 3GPP Với mỗi chuẩn đều có những đặcđiểm khác nhau về bảo mật, độ trễ, tính di động, khoảng cách truyền, năng lượngtiêu thụ, tuổi tho pin, tốc độ dữ liệu tối đa là rất khác nhau
Như vậy vấn đề kỹ thuật đặt ra là dữ liệu được cập nhật khác nhau từ hànggiây, hàng giờ, hàng ngày hàng tháng … Kết nối những dữ liệu khác nhau chẳnghạn ứng dụng về sức khỏe, nông nghiệp, Smart Gird
Trang 12Hình 4: Các loại kết nối cần được hỗ trợ trong mạng IoT
Yêu cầu kĩ thuật về tín hiệu độ chập chờn từ mili giây đến giây
Hình 5: Đồ thị phân bố thời gian của tín hiệu (time/jetter)
Độ trễ và độ chập chờn tín hiệu cũng là một thách thức quan trong cần giảiquyết trong IoT Trong tiến trình tốc độ cao thì tốc độ tín hiệu phải nhanh đến µs,với mối hệ thống thì thời gian phân bố dữ liệu sẽ tăng lên như với máy công cụ, tínhiệu robot có thẻ từ 100µs đến 100ms, công nghê điều khiển và tự động hóa có thểlên tới 10s
Trang 13Hạ tầng mạng không có sẵn thách thức cần đáp ứng trong cự ly truyền ngắn và xa
Hình 6: Cự ly truyền tín hiệu trong mạng IoT
Mỗi chuẩn kết nối đều có khoảng cách truyền nhất định, cự ly truyền cũng cóảnh hưởng nhất định với việc thiết kế hệ thống Ví dụ trong chuẩn Bluetooth, Wifi,ZigBee, 6LowPAN, RFID khoảng cách truyền là ngắn <3m hoặc từ 10-200m nhưvậy có thể thiết kế gateway ngay tại nơi để thiết bị LPWAN, 3GPP có khoảng cáchtruyền xa gateway có thể được thiết kế với một trạm base station
Thách thức trong việc xây dựng hệ thống theo Mô hình tham chiếu trong IoT (Sẽ được đề cập ở mục 1.5)
Thách thức về việc bảo mật (Sẽ được đề cập ở mục 1.6)
1.3 Khả năng định danh của IoT
Điểm quan trọng của IoT đó là các đối tượng phải có thể được nhận biết vàđịnh dạng (identifiable) Nếu mọi đội tượng, kể cả con người, được "đánh dấu" đểphân biệt bản thân đối tượng đó với những thứ xung quanh thì chúng ta có thể hoàntoàn quản lí được nó thông qua máy tính Việc đánh dấu (tagging) có thể được thựchiện thông qua nhiều công nghệ, chẳng hạn như RFID, NFC, mã vạch, mã QR,watermark kĩ thuật số Việc kết nối thì có thể thực hiện qua Wi-Fi, mạng viễnthông băng rộng (3G, 4G), Bluetooth, ZigBee, hồng ngoại
Ngoài những kĩ thuật nói trên, nếu nhìn từ thế giới web, chúng ta có thể sửdụng các địa chỉ độc nhất để xác định từng vật, chẳng hạn như địa chỉ IP Mỗi thiết
bị sẽ có một IP riêng biệt không nhầm lẫn Sự xuất hiện của IPv6 với không gianđịa chỉ cực kì rộng lớn sẽ giúp mọi thứ có thể dễ dàng kết nối vào Internet cũng nhưkết nối với nhau
Trang 141.4 Các hệ thống phụ trong IoT
Không phải tất cả mọi thứ nằm trong IoT đều nhất thiết phải kết nối vào mộtmạng lưới toàn cầu, chúng ta có thể hoạt động trong từng hệ thống đơn lẻ(subsystem) Hãy tưởng tượng đến một căn nhà thông minh, trong đó các đồ điệngia dụng có thể tự chúng tương tác với nhau và hoạt động mà không cần phải vàoInternet, trừ khi chúng ta cần điều khiển nó từ xa Ngôi nhà này có thể được xem làmột subsystem Cũng giống như hiện nay chúng ta có các mạng LAN, WAN, mạngngang hàng nội bộ chứ không kết nối trực tiếp vào Internet
1.5 Mô hình tham chiếu trong IoT
Mô hình tham chiếu gồm 5 tầng:
- Tâng 3 sẽ đi vào việc xử lý trực tiếp các quản lý đã phân cở tầng 2
- Tầng 4 – tâng kết nối mọi hành động xác thực, giao vận, kết nối trung giangiữa thiết bị và hệ thống sẽ qua tâng này
- Tâng 5 – Things đây là tâng của các thiết bị khác nhau, các cảm biến môitrường …
Trang 15Hình 7: Mô hình tham chiếu M2M/IoT
Kết hợp mô hình tham chiếu IoT vào mạng M2M có thể phân thành mô hìnhkhối chứa các chức năng cụ thể và xuyên suốt trong hạ tầng mạng IoT Để đảm bảotính xuyên suốt thì trong cả 5 tầng đều phải được thiết kế di động kết nối liền mạchgiữa các tầng, mỗi tâng đều có quản lý và định danh rõ ràng
1.6 Bảo mật trong IoT
Đối với mục đích của mô hình tham chiếu IoT, các biện phát bảo mật cần phải:
o Bảo mật cho mỗi thiết bị hoặc hệ thống
o Cung cấp bảo mật cho tất cả các tiến trình ở mỗi lớp
o Bảo mật di chuyên và truyền thông giữa mỗi lớp
Trang 16Hình 8: Kiến trúc bảo mật
Như vậy hệ thống sẽ tồn tại những thách thức về bảo mật như sau:
- Cơ chế bảo mật RFID: hàm vật lý, cơ chế code
- Công nghệ cảm biến và bảo mật mạng: bảo mật framework, mã hóa và giải
mã, quản lý khóa, bảo mật định tuyến, cơ chế bảo mật xâm nhập,
- Bảo mật IoT Gateway: xử lý tiến trình dữ liệu, xác thực đăng nhập, kiểmsoát dữ liệu truy cập, kênh mã hóa
- Thông tin truyền trên IoT: lỗ hổng an ninh, giao thức bảo mật, IPv6
- Bảo mật việc xử lý thông tin: Ứng dụng, service, clould, privacy
Kết luận: Như vậy để giải quyết các thách thức kĩ thuật còn tồn tại trong IoT bước
đầu cần một nền tảng có khả năng hỗ trợ đa dạng, khả năng phát triển và mở rộnglớn Nền tảng đưa ra cần phải phát triển phù hợp dựa trên tiêu chuẩn về M2M vàIoT Hiện nay có rất nhiều IoT platform được phát triển, và đi đầu trong lĩnh vựcnày có thể kể đến như AWS IoT platform của Amazon, Microsoft Azure IoT củaMicrosoft, ThingWorx IoT Platform của ThingWorx, ngoài ra còn rất nhiềuplatform của các tập đoàn, công ty khác trên toàn thế giới Đồ án này đề xuất mộtnền tảng phù hợp đó chính là platform OM2M sẽ được trình bày ngay sau đây
1.2
Trang 17Chương 2: Xây dựng hệ thống IOT dựa trên Platform OM2M
2.1 Giới thiệu OM2M và các thành phần
2.1.1 Giới thiệu chung
- Nhà phát triển Eclipse Technologies
- Lần đầu ra mắt 20/04/2014
- Phiên bản mới nhất 24/04/2016 (version 0.8.0)
- Được viết bới ngông ngữ Java
- Phát triển cho hệ điều hành: Windows, Linux, Mac OS X
- Giấy phép độc quyền
- Website: http://www.eclipse.org/om2m/
Dự án Eclipse OM2M phát triển được khới sướng bơi LASS-CNRS, là mộtchương trình mã nguồn mở xây dựng dựa trên chuẩn oneM2M và SmartM2M Nócung cấp một nền tảng dịch vụ M2M ngang hàng để phát triển dịch vụ độc lập dựatrên các mạng cơ bản, với mục đích tạo thuận lợi cho việc triển khai các ứng dụngtheo chiều dọc hệ thống và các thiết bị không đồng nhất
2.1.2 Các đặc điểm và tính năng
Platform tiêu chuẩn
OM2M được xây dựng dựa trên tiêu chuẩn oneM2M và SmartM2M Nócung cấp một dịch vụ ngang hàng Service Common Entity (CSE) có thể triên khaitrong máy chủ M2M, một gateway, hoặc một thiết bị Mỗi CSE cung cấp ứng dụngEnablement, Security,Triggering, Notification, Persistency, Device Interworking,Device Management …
RESTful API
OM2M sử dụng quy trình của RESTful API để xác thực, khai phá tàinguyên, đăng kí các ứng dụng, quản lý container, giao tiếp đồng bộ và không đồng
bộ, ủy quyền truy cập, tổ chức nhóm và nắm bắt các mục tiêu
Modularity & Extensibility
OM2M là một chương trình Java xậy dựng theo kiến trúc OSGi khiến chochương trình dễ mở rộng thông qua các plugin Nó được xây dựng như một sảnphẩm của Eclipse sử dụng Maven và Tycho Mỗi plugin cung cấp một chức năng cụthể và có thể cài đặt được từ xa như bắt đầu, dừng lại, cập nhật, gỡ bỏ cài đặt màkhông phải khởi động lại
Trang 182.1.3 Các thành phần trong OM2M
Hình 9: Bộ platform OM2M
- org.eclipse.om2m.comm.coap: xây dựng CoAP là một giao thức truyền tải
tài liệu Không giống như HTTP, CoAP được thiết kế cho nhu cầu các thiết
bị ràng buộc Truyền tài những gói tin nhỏ hơn trên UDP
- org.eclipse.om2m.comm.http: xây dựng giao thức truyền tải Http truyền tải
những goi tin có nội dung lớn trên TCP/IP
- org.eclipse.om2m.comm.service: Xác nhận những yêu cầu REST từ service
- org.eclipse.om2m.core: plugin xử lý và điều phối chính của chương trình
- org.eclipse.om2m.ipu: xây dựng IPU điều phối hoạt động giao tiếp giữa các
- org.eclipse.om2m.webapp.resourcesbrowser: xây dựng trình quản lý ứng
dụng tham gia vào mạng M2M qua trình duyệt
2.2 Nền tảng ứng dụng dịch vụ ETSI-compliant M2M trong OM2M
2.2.1 Giới thiệu
Machine-to-Machine (M2M) là một khái niệm trừu tượng được nói đến trongIOT hứa hẹn kết nối hàng tỉ các thiết bị công nghệ trong tương lai gần bao gồm cáclĩnh vực khác nhau Sensors, actuators, thẻ RFID/NFC, các thiết bị thông minh đều
có thể được giao tiếp với nhau Số lượng kết nối M2M liên tục tăng với tốc độchóng mặt, như vậy trong tương lai gần sẽ cung cấp nhiều tiện ích và lợi thế cho cáclĩnh vực khác nhau từ xây dựng, năng lượng, y tế, công nghiệp, giao thông, bán lẻ,bảo mật cho các dịch vụ môi trường
M2M trải qua nhiều phát triển và thay đổi lớn từ công nghệ đã hình thành
Trang 19nhiên các yếu tố như khả năng tương tắc, hệ thống phân phối ngày càng phức tạp vàthiểu chuẩn hóa là thách thức đối với M2M.
Một tiêu chuẩn trong việc thách thức khả năng tương tác M2M đã được đưa
ra bởi Viện Tiêu chuẩn Viễn thông châu Âu (ETSI) quy định các thống số kĩ thuậtbao gồm yêu cầu dịch vụ, các chức năng, kiến trúc, giao diện truyền thông, và làmthế nào để phối hợp chức năng hoạt động với tiêu chuẩn và công nghệ hiện có
Như vậy trong ĐATN này đề xuất OM2M project một nền tảng của compliant platform OM2M sử dụng kiến trúc RESTful chạy ở lớp OGSi Nó có thể
ETSI-mở rộng thông qua bổ xung và hỗ trợ nhiều giao thức công nghệ Một dịch vụ được
bổ xung được dựa trên tính toán và ngữ nghĩa của thiết kế trong hệ thống, phát hiệnnăng động và tự cấu hình cho ứng dụng M2M
Trang 202.2.2 Trình bày tổng quan về tiêu chuẩn ETSI M2M
Hình 10: Kiến trúc chức năng ETSI M2M
Một thiết bị M2M chạy các ứng dụng bằng cách sử dụng SCL Nó kết nốitrực tiếp đến các Network Domain thông qua mạng truy cập có thể cung cấp dịch vụkhác kết nối đến nó Nó cũng có thể được kết nối vào Network Domain thông quagateway từ một Local Area Network Một Gateway cũng có thể chạy ứng dụngM2M bằng SCL và hoạt động như một proxy giữa các thiết bị địa phương vàNetwork Domain SCL cung cấp các chức năng mà có thể được chia sẻ bởi các ứngdụng khác nhau Chức năng quản lý mạng cho phép quản lý truy cập và corenetwork, giám sát , quản lý lỗi Chức năng Quản lý M2M bao gồm tất cả các chức
Trang 21(GSCL), hoặc một thiết bị Device (DSCL) Nó cung cấp nhiều dịch vụ cho phépđăng kí máy, truyền thông đồng bộ và không đồng bộ, khai phá tài nguyên, quản lýquyền truy cập, quảng bá nhóm … Phía trên các ứng dụng mạng (NA), ứng dụnggateway (GA), ứng dụng thiết bị Device (DA) sẽ có các điểm tham chiếu Tươngứng như vậy ở NA có thể truy cập vào NSCL, GA cho phép truy cập vào GSCL,(DA/GSCl) cho phép truy cập vào NSCL Các giao diện được thiết kế chung để hỗtrợ một loạt các công nghệ mạng và các giao thức tăng cường khả năng tương tác.Các kiến trúc OM2M theo tiêu chuẩn ETSI M2M Nó bao gồm các yếu tố sau:
- M2M Device: Một máy chạy M2M device SCL (DSCL), nó có thể được truyvấn bới các ứng dụng thiết bị M2M thông qua một giao diện mở Một - -M2M Device có thể kết nối trực tiếp với mạng M2M hoặc gián tiếp thôngqua cổng hoạt động như một proxy mạng
- M2M Area Network: cung cấp kết nối giữa các thiết bị M2M , và giữa thiết
bị với cổng mạng Nó dựa trên công nghệ hiện có như ZigBee, Phidgets, BUS, KNX …
M M2M Gateway: Một máy chạy M2M gateway SCL (GSCL) có thể truy vấnbởi các ứng dụng M2M Gateway, Nó xác định và giải quyết các thiết bịkhông đồng nhất, liên kết và kết nối mạng với các công nghệ giao thức khácnhau bẳng cách lập bản đồ và chuyển đổi hoạt động
- Wide Area Network cung cấp mạng lõi với mạng truy cập để cho phép cácthiết bị M2M và các cổng giao tiếp với mạng M2M Nó được dựa trên côngnghệ hiện có như xDSL, GERAN, UTRAN, eUTRAN, W-LAN, WiMAX …
- M2M Network: cung cấp một M2M Network SCL (NSCL) mà có thể đượctruy vấn bởi các ứng dụng M2M mạng (NA) thông qua một giao diện mở
- M2M service capabilities Layer (SCL) cung cấp một lớp dịch vụ ngang chocác ứng dụng M2M trừu tượng hóa sự phức tạp của các thiết bị
- Phát triển ứng dụng mới một tên miền cụ thể.
- ETSI M2M áp dụng một kiến trúc tính RESTful, Mỗi SCL là một cây tàinguyên chuẩn nơi lưu trữ thông tin, trong đó có thể thực hiện thao tác lấy,cập nhật, xóa, thực hiện
- Một cây tài nguyên SCL hỗ trợ nhiều loại tài nguyên khác nhau:
- Để mô tả một lớp SCL lưu trữ OM2M sử dụng một lớp base “sclBase” đây làmột lớp gốc cho tất cả nguồn lực lưu trữ khác trong SCL Nhưng “scl”resource lưu trữ thông tin của các scls khác ở trên những máy khác sau khixác thực thành công
Trang 22Hình 11: Trường dữ liệu SCL trong OM2M
- Các “application” lưu trữ thông tin về ứng dụng sau khi đăng kí thành côngtrên SCL hosting
Hình 12: Trường dữ liệu Application trong OM2M
- Các nguồn tài nguyên “container” hoạt động như một trung gian giữa các dữliệu đệm cho phép trao đổi giữa “application” và SCLs Các tài nguyên
“contentInstance” đại diện cho một trường dữ liệu trong các container
Trang 23Hình 13: Trường dữ liệu Container trong OM2M
- Các tài nguyên “accessRight” quản lý quyền điều hành của chủ sở hữu đểhạn chế vào bảo vệ các quyền truy cập vào cơ cấu cây tài nguyên
Hình 14: Trường dữ liệu AccessRight trong OM2M
- Các tài nguyên “group” tăng cường hoạt động của cây tài nguyên bằng cách
bổ xung tính năng cho nhóm
- Các tài nguyên “subscription” cho phép thuê bao đăng kí nhận được thôngbáo không đông bộ khi một sự kiện xảy ra như tiếp nhận một cảm biến mới,hoặc tạo ra, cập nhật, xóa các tài nguyên
- Các tài nguyên “announced” chứa một đại diện một phần của một tài nguyêntrong một SCL từ xa để đơn giản hóa các yêu cầu phát hiện trên SCLs phânphối
Trang 24- Các nguồn tài nguyên "discovery" đóng vai trò như một công cụ tìm kiếmcác nguồn tài nguyên Các nhóm tài nguyên bộ sưu tập tài nguyên chung vớinhau.
2.2.3 Nền tảng dịch vụ OM2M
Xây dựng nền tảng OM2M
OM2M cung cấp một API RESTful để trao đổi dữ liệu XML thông qua cáckết nối không đáng tin cậy trong môi trường phân phối cao Nó cung cấp một kiếntrúc modular chạy phía trên của lớp OSGi như thể hiện ở hình dưới OM2M cungcấp một SCL linh hoạt có thể được triển khai trong một mạng M2M, một gateway,hoặc một thiết bị Mỗi SCL gồm một tập hợp các plugin nhỏ, mỗi phần trong đóthực hiện một chức năng cụ thể Một plugin có thể được cài đặt từ xa , bắt đầu, cậpnhật và gỡ cài đặt mà không phải khởi động lại Nó cũng có thể phát hiện việc bổxung hoặc loại bỏ các dịch vụ thông qua đăng ký dịch vụ và thích ứng phù hợp choviệc mở rộng SCL
Hình 15: Mô hình nền tảng OM2M
Hình: Mô hình nền tảng OM2MCORE là plugin chính được triển khai tại mỗi SCL Nó cung cấp dịch vụ giao thứcđộc lập để xử lý yêu cầu REST Plugin này sẽ lập bàn đồ thông tin liên lạc cụ thể để
có thể thêm vào hỗ trợ nhiều giao thức ràng buộc như HTTP và CoAP OM2M cóthể được mở rộng với các plugin lập bản đồ quản lý thiết bị cụ thể thực hiện cậpnhật phần mềm cho máy bằng cách dùng lại các giao thức hiện có như OMA-DM
và BBF TR-069 Nó cũng có thể được mở rộng bằng cách bổ xung liên kết mạngproxy khác nhau để cho phép giao tiếp liền mạch với các thiết bị như phidgets,zigbee, Các giao thức TLS-PSK được dùng để bảo đảm thông tin liên lạc M2M dựatrên pre-shared keys Một plugin mới dựa trên mô hình được thiết kế nhằm tăngcường phát hiện tài nguyên OM2M và khả năng tự cấu hình
Trang 25Hình 16: Biểu đồ diagram các thành phần OM2M
CORE plugin thực hiện giao diện SCL_Service để xử lý yêu cầu RESTful
chung được yêu cầu từ HTTP_Mapping plugin Nó nhận được một tín hiều cho một
yêu cầu về giao thức giao tiếp độc lập và trả lời xác nhận yêu cầu đó hay không,CORE plugin chứa các thành phần:
Thành phần Router trong CORE plugin sẽ đưa ra một định tuyến duy
nhất để xử lý mọi yêu cầu trong một bộ điều khiển tài nguyên sừ dụng Uri và method
Thành phần Resource_Controller thực hiện hàm CRUD (bao gồm
Create, Retrieve, Update, and Delete) cho mỗi tài nguyên Nó thực hiện yêu cầu kiểm tra chẳng hạn ủy quyền quyền truy cập, và xác minh cú pháp tài nguyên.
Thành phần Resource_DAO cung cấp một giao diện trừu tường để đóng
gói tất cả các truy cập, để tài nguyên lưu trữ được liên tục và không làm lộ chi tiết về cơ sở dữ liệu.
Thành phần Event_Ntifier gửi thông báo tới tất cả các subscribers quan
tâm khi nguồn tài nguyên được tạo ra, cập nhật hoặc xóa bỏ Nó thực hiện hoạt động lọc để loại bỏ các sự kiện không quan tâm đến một subcribers.
Thành phần Resource_Announcer thông báo một tài nguyên truy cập từ
xa vào SCL để xác minh rõ hơn và tiếp cận các máy khác Nó cũng xử lý cả nguồn không phải announcer.
Thành phần Request_Sender nắm giữ việc phát hiện một giao thức cụ thể trong việc thực hiện yêu cầu từ giao diện Client_Service Nó hoạt động
như một proxy đẻ gửi một yêu cầu chung chung thông qua giao thức.
Thành phần Interworking_Proxy phát hiện ra việc giao tiếp lẫn nhau giữa các đơn vị proxy, thực hiện giao diện IPU_Service, và hoạt động như
một proxy để điều khiển IPU.