Tìm hiểu internet of things Tìm hiểu internet of things Tìm hiểu internet of things luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
Trang 1-
Phạm Văn Chung
TÌM HIỂU INTERNET OF THINGS
Chuyên ngành: Kỹ thuật máy tính
LUẬN VĂN THẠC SĨ KỸ THUẬT
Kỹ thuật máy tính
Người hướng dẫn khoa học:
PGS.TS Ngô Quỳnh Thu
Trang 2Để hoàn thành được luận văn này, ngoài sự tìm hiểu, nghiên cứu và nỗ lực của bản thân, em xin gửi lời cảm ơn chân thành tới PGS.TS Ngô Quỳnh Thu (Phó trưởng bộ môn Truyền thông và Mạng máy tính – Viện Công nghệ thông tin và truyền thông – Trường Đại học Bách khoa Hà Nội) là giáo viên trực tiếp hướng dẫn đã nhiệt tình giúp
đỡ, chỉ bảo và định hướng cho em trong suốt quá trình thực hiện luận văn
Em cũng xin gửi lời cảm ơn chân thành nhất tới tất cả các thầy cô giáo của Trường Đại Học Bách Khoa Hà Nội đã giảng dạy và dìu dắt em trong suốt quá trình học tập tại trường
Cuối cùng, em xin gửi lời cảm ơn tới bố mẹ, gia đình, bạn bè, đặc biệt là các bạn trong lớp cao học 13BMTTT những người đã luôn ở bên cổ vũ tinh thần, tạo mọi điều kiện thuận lợi nhất cho em để em có thể học tập tốt và hoàn thành tốt luận văn này
Em xin chân thành cảm ơn!
Trang 3Lời cam đoan 3
CHƯƠNG 1: TÌM HIỂU VỀ INTERNET OF THINGS (IoT) 7
1.1 Giới thiệu chung về Internet of Things(IoT) 7
1.2 Khả năng định danh độc nhất của Internet of Things (IoT) 9
1.3 Khả năng kết nối trong Internet of Things(IoT) 10
1.4 Ứng dụng của Internet of Things(IoT) 11
1.5 Mô hình tham chiếu trong IoT 12
1.6 Bảo mật trong IoT 13
CHƯƠNG 2: TỔNG QUAN VỀ M2M VÀ OM2M 15
2.1 Giới thiệu chung về M2M 15
2.2 Tổng quan về kiến trúc ETSI M2M 16
2.3 Tìm hiểu về nền tảng dịch vụ OM2M 17
2.3.1 Chuẩn ETSI M2M trong OM2M 17
CHƯƠNG 3: ĐỊNH HƯỚNG GIẢI PHÁP, TRIỂN KHAI, PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 23
3.1 Đặt vấn đề 23
3.2 Định hướng 23
3.3 Giải pháp 24
3.4 Công nghệ sử dụng 25
3.4.1 Phần cứng 25
3.4.1.1 Raspberry Pi 2 25
3.4.1.2 Arduino 27
3.4.1.3 Module RF 315MHZ 29
3.4.1.4 Sensor temperature LM35 30
3.4.2 Phần mềm 30
Trang 43.5.2 Chi tiết hệ thống 33
3.5.3 Phân tích chi tiết hệ thống 34
3.5.3.1 Lấy dữ liệu nhiệt độ từ Sensor temperature LM35 thông qua Arduino 35
3.5.3.2 Dữ liệu nhiệt độ được chuyển tới Arduino khác thông qua module RF 315 MHZ 36
3.5.3.3 Tạo Plugin trên GSCL viết chương trình đọc dữ liệu nhiệt độ trên Raspberry Pi 2 thông qua cổng kết nối USB với Arduino 37
3.5.3.4 Dữ liệu nhiệt độ được đẩy lên Service nơi chạy NSCL 44
CHƯƠNG 4: KẾT LUẬN 46
4.1 Kết quả đạt được 46
4.2 Hướng phát triển trong tương lai 51
KẾT LUẬN 52
TÀI LIỆU THAM KHẢO 53
Trang 5Luận văn Thạc sĩ “Tìm hiểu Internet of things”, chuyên ngành Kỹ thuật Máy
tính và Truyền thông là công trình tìm hiểu, 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 Nội dung và kết quả trình bày trong luận văn là trung thực, rõ ràng Các tài liệu tham khảo, nội dung trích dẫn đã ghi rõ nguồn gốc
Hà Nội, Ngày 19 tháng 12 năm 2016
Tác giả luận văn
Phạm Văn Chung
Trang 6Hình 1.1: Tiêu chuẩn hình thành nên IoT……… 8
Hình 1.2: Lớp cơ bản trong IoT……….9
Hình 1.3: Khả năng kết nối trong IoT……… 10
Hình 1.4: Mô hình tham chiếu M2M/IoT……….13
Hình 1.5: Kiến trúc bảo mật……… 14
Hình 2.1: Mô hình hoạt đông của M2M……… 15
Hình 2.2:Tổng quan kiến trúc ETSI M2M………16
Hình 2.3: Trường dữ liệu SCL trong OM2M……… ……….18
Hình 2.4: Trường dữ liệu Application trong OM2M……… ………….18
Hình 2.5: Trường dữ liệu Container trong OM2M……… ……….19
Hình 2.6: Trường dữ liệu AccessRight trong OM2M……… ………19
Hình 2.7:Nền tảng dịch vụ OM2M… ……… 20
Hình 2.8: Các thành phần trong OM2M……….… ……… 21
Hình 3.1: Hình ảnh và sơ đồ kiến trúc Raspberry Pi 2…… 25
Hình 3.2: Hình ảnh và sơ đồ kiến trúc Arduino……… 27
Hình 3.3: Hình ảnh module RF315 MHZ 29
Hình 3.4: Hình ảnh và sơ đồ kiến trúc sensor temperature LM35………… 30
Hình 3.5: Mô hình phân tích hệ thống ứng dụng cảnh báo nhiệt độ….… 33
Hình 3.6: Mô hình triển khai hệ thống ứng dụng cảnh báo nhiệt độ… 34
Hình 3.7:Mô hình kết nối sensor temperature LM35 với Arduino 35
Hình 3.8:Mô hình kết nối Transmitter module với Arduino…… 36
Hình 3.9:Mô hình kết nối Receiver module với Arduino 36
Hình 3.10:Mô hình kết nối Arduino với Raspberry Pi 2……… 37
Hình 3.11: Tạo plugin “org.eclipse.om2m.ipu.sample” bước 1……… 37
Hình 3.12: Tạo plugin “org.eclipse.om2m.ipu.sample” bước 2………… 38
Hình 3.13: Tạo plugin “org.eclipse.om2m.ipu.sample” bước 3……… 38
Hình 3.14: Kết quả sau khi tạo“org.eclipse.om2m.ipu.sample” ……… 39
Hình 3.15: Config file buil.propertes plugin……… 39
Hình 3.16: Tạo file pom.xml ……… 40
Trang 7Hình 3.19: Kết quả sau khi chạy GSCL……… 42
Hình 3.20: Thêm thƣ viện RXTX……… 43
Hình 4.1:Hình ảnh thực tế hệ thống ứng dụng cảnh báo nhiệt độ………… 46
Hình 4.2: Kết quả nhiệt độ hiển thị ở GSCL……… … 47
Hình 4.3: Kết quả dữ liệu in ra file ở GSCL……… 47
Hình 4.4: Trang chủ hệ thống trên NSCL……… 48
Hình 4.5: Trang chủ hệ thống trên NSCL……… 49
Hình 4.6: Giao diện hệ thống khi dữ liệu nhiệt độ ở mức Low…… 50
Hình 4.7: Giao diện hệ thống khi dữ liệu nhiệt độ ở mức Nomal……… 50
Hình 4.8: Giao diện hệ thống khi dữ liệu nhiệt độ ở mức High……… 51
DANH MỤC BẢNG Bảng 1.1: Các kiểu kết nối………11
Bảng 3.1: Kết nối Transmitter module với Arduino……….29
Bảng 3.2: Kết nối Receiver module với Arduino……… 30
Trang 8Chữ viết tắt Viết đầy đủ Ý nghĩa
để tạo ra sự phát triển bền vững của IoT
IEEE Institute of Electrical
and Electronics Engineers Viện kỹ nghệ Điện và Điện tử
Trang 9Viện Tiêu chuẩn Viễn thông
IPv6 Internet Protocol Version
6
IPv4 Internet Protocol Version
4
QoS Quality of Service
UDP User Datagram Protocol
Trang 10Trong thời đại công nghệ phát triển rộng rãi trong nhiều lĩnh vực khoa học
và đời sống, ngày càng nhiều thiết bị ra đời với những tính năng đa dạng, phong phú và rất thông minh “Internet of things” (IoT) đang trở thành một chủ đề ngày càng được nhắc đến nhiều trong đời sống gia đình, ở 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 Internet băng thông rộng ngày càng phổ biến hơn, làm giảm chi phí, nhiều thiết bị thông minh được kết nối với nhau thông qua mạng cảm biến không dây kết nối wifi, 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 cho IoT trở nên ngày càng hoàn hảo hơn
Khái niệm về IoT là việc kết nối bất cứ thiết bị nào đó tới Internet (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ủa má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ủa dàn khoan dầu IoT là một mạng khổng lồ để kết nối “tất cả mọi thứ “( thậm chí cả con người ) Mối quan hệ sẽ
là người – người, người – vật, và vật – vật
Cảm biến nhiệt độ một trong những cảm biến được sử dụng vô cùng rộng rãi trong đời sống và các ngành sản xuất đặc biệt là nông nghiệp Ứng dụng của nó là
vô cùng rộng rãi và phổ biến
Vì vậy, trong luận văn này tập trung thực hiện về loại cảm biến này và ứng dụng của nó trong Internet of Things Với mục đích tạo ra một hệ thống ứng dụng có khả năng cung cấp cho người dùng một cách trực quan về nhiệt độ ở mọi nơi khi có kết nối internet Ứng dụng này có thể áp dụng vào nhiều mục đích trong đời sống con người
Trang 11Cấu trúc của luận văn gồm 4 chương với nội dung chính như sau:
Chương 1: Tìm hiểu về Internet of things
Giới thiệu chung về lịch sử, mô hình kiến trúc tham chiếu, khả năng định danh
xu hướng, tính chất, các hệ thống phụ, bảo mật và ứng dụng của Internet of things
Chương 2: Giới thiệu về M2M , OM2M
Giới thiệu chung về M2M, nền tảng dịch vụ ETSI M2M và nền tảng dịch vụ OM2M
Chương 3: Đặt vấn đề, định hướng giải pháp và mô hình triển khai
Nêu ra vấn đề và lý do chính chọn đề tài, đồng thời nêu ra định hướng và lựa
chọn giải pháp xây dựng hệ thống “Ứng dụng cảnh báo nhiệt độ” nhằm đáp ứng
những yêu cầu đặt ra và lý do nêu trên Đây là ứng dụng trong đó sử dụng Arduino một trong những thiết bị phần cứng đã và đang được sử dụng rộng rãi trong việc lấy
dữ liệu và Raspberry pi 2 thiết bị triển khai hạ tầng phía Gateway Giải pháp này sẽ
áp dụng trong toàn bộ nội dung của luận văn
Phân tích hệ thống đã triển khai bao gồm công nghệ đã sử dụng và mô hình thiết kế hệ thống “Ứng dụng cảnh báo nhiệt độ”
Chương 4: Kết luận
Đưa ra kết quả đã đạt được và hướng phát triển trong tương lai
Trang 12CHƯƠNG 1: TÌM HIỂU VỀ INTERNET OF THINGS (IoT)
1.1 Giới thiệu chung về Internet of Things(IoT)
Trong thực tế, Internet of Things (IoT) đã xuất hiện ngay từ thời kỳ sơ khai của
Internet, khi các nhà phát minh mong muốn kết nối tất cả mọi thứ qua một mạng lưới đồng nhất để có thể điều khiển chúng phục vụ cho mục đích của con người Tuy nhiên mãi đến năm 1999 cụm từ IoT mới được đưa ra bởi Kevin Ashton, Ông là một nhà khoa học đã sáng lập ra Trung tâm Auto-ID ở đại học MIT, nơi thiết lập các quy chuẩn toàn cầu cho RFID (một phương thức giao tiếp không dây dùng sóng radio) cũng như một số loại cảm biến khác
Con người chính là nhân tố quyết định trong thế giới Internet hiện nay Thế nhưng con người lại có nhiều nhược điểm: chúng ta chỉ có thời gian hạn chế, khả năng tập trung và độ chính xác cũng ở mức thấp so với máy móc Điều đó có nghĩa là chúng ta không giỏi trong việc thu thập thông tin về thế giới xung quanh, và đây là một vấn đề lớn Còn nếu như máy tính có khả năng giúp con người thu thập tất cả những dữ liệu
về mọi thứ xung quanh, chúng ta có thể "theo dõi và đếm mọi thứ, giúp giảm hao phí, chi phí và lỗ Chúng ta sẽ biết chính xác khi nào các vật dụng cần phải sửa chữa, thay thế, khi nào chúng còn mới và khi nào thì chúng hết hạn sử dụng Chưa kể đến việc chúng ta có thể kiểm soát chúng mọi lúc mọi nơi IoT có tiềm năng thay đổi thế giới, giống như cách mà Internet đã thay đổi cuộc sống của chúng ta Ngôi nhà thông minh với các bóng đèn thông minh, máy giặt thông minh, tủ lạnh thông minh, có thể xem
là bước đầu của IoT bởi chúng đều được liên kết với nhau và hoặc liên kết vào Internet
Trang 13+ Tổng quan về IoT
Hình 1.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ến khô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ợp IEEE 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à rất nhiều cá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ĩa phù hợp với phát triển cơ sở hạ tầng và thông tin liên lạc trong IoT
Ý nghĩa học cơ bản của IoT bao gồm các lớp
Trang 14Hình 1.1: 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ăng củ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ập trì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 Khả năng định danh độc nhất của Internet of Things (IoT)
IoT đã phát triển từ sự hội tụ của công nghệ không dây, công nghệ vi cơ điện tử và Internet Nói đơn giản là một tập hợp các thiết bị có khả năng kết nối với nhau, với Internet và với thế giới bên ngoài để thực hiện một công việc nào đó Hay hiểu một cách đơn giản IoT là tất cả các thiết bị có thể kết nối với nhau Việc kết nối thì có thể thực hiện qua Wi-Fi, mạng viễn thông băng rộng (3G, 4G), Bluetooth, ZigBee, hồng ngoại… Các thiết bị có thể là điện thoại thông minh, máy pha cafe, máy giặt, tai nghe, bóng đèn, và nhiều thiết bị khác 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
IPv6 (Internet Protocol Version 6) là phiên bản địa chỉ Internet mới, được thiết kế
để thay thế cho phiên bản IPv4, với hai mục đích cơ bản: Khắc phục các nhược điểm trong thiết kế của địa chỉ IPv4 và thay thế cho nguồn địa chỉ IPv4 cạn kiệt để phát triển
hạ tầng thông tin và Internet bền vững
Không gian IPv6 được phân chia thành rất nhiều dạng địa chỉ Mỗi dạng địa chỉ có chức năng nhất định trong phục vụ giao tiếp Có dạng chỉ sử dụng trong giao tiếp nội
bộ trên một đường kết nối, có dạng sử dụng trong kết nối toàn cầu
Địa chỉ IPv6 không còn duy trì khái niệm broadcast Theo cách thức gói tin được gửi đến đích, IPv6 bao gồm ba loại địa chỉ sau:
Trang 15- Unicast: Địa chỉ unicast xác định một giao diện duy nhất Trong mô hình định tuyến, các gói tin có địa chỉ đích là địa chỉ unicast chỉ đƣợc gửi tới một giao diện duy nhất Địa chỉ unicast đƣợc sử dụng trong giao tiếp một – một
- Multicast: Địa chỉ multicast định danh một nhóm nhiều giao diện Gói tin có địa chỉ đích là địa chỉ multicast sẽ đƣợc gửi tới tất cả các giao diện trong nhóm đƣợc gắn địa chỉ đó Địa chỉ multicast đƣợc sử dụng trong giao tiếp một – nhiều
Trong địa chỉ IPv6 không còn tồn tại khái niệm địa chỉ broadcast Mọi chức năng của địa chỉ broadcast trong IPv4 đƣợc đảm nhiệm thay thế bởi địa chỉ IPv6 multicast
- Anycast: Anycast là khái niệm mới của địa chỉ IPv6 Địa chỉ anycast cũng xác định tập hợp nhiều giao diện Tuy nhiên, trong mô hình định tuyến, gói tin có địa chỉ đích anycast chỉ đƣợc gửi tới một giao diện duy nhất trong tập hợp Giao diện đó là giao diện “gần nhất” theo khái niệm của thủ tục định tuyến
1.3 Khả năng kết nối trong Internet of Things(IoT)
Hình 1.3: Khả năng kết nối trong IoT
Có hai kiểu kết nối các thiết bị trong Internet of things bao gồm:
Kết nối ngắn cho các thiết bị trong IoT
Kết nối xa cho các thiết bị trong IoT
Mô tả kiểu kết nối qua bảng sau:
Trang 16Kết nối gần Kết nối xa
(Wi-Fi)
802.15.4 (Zigbee/
6LoWP AN)
RFID LPWAN Cellular
bit AES
CCM
256 bits AES encryption
128 bits, AES
144 Mb/s (802.11 n)
250Kb/s Varies < 100 bps 12Mb/s
(4GLTE)
Bảng 1.1: Các kiểu kết nối
1.4 Ứng dụng của Internet of Things(IoT)
IoT có ứng dụng rộng vô cùng, có thể kể ra một số thƣ nhƣ sau:
Trang 17o Quản lí chất thải
o Quản lí và lập kế hoạch quản lí đô thị
o Quản lí môi trường
o Phản hồi trong các tình huống khẩn cấp
o Mua sắm thông minh
o Quản lí các thiết bị cá nhân
o Đồng hồ đo thông minh
1.5 Mô hình tham chiếu trong IoT
Mô hình tham chiếu gồm 5 tầng:
- Trên cùng là tầng định hướng ứng dụng
- Sau đó tầng 2 sẽ chia thành các ứng dụng cụ thể như quản lý sự kiện, quản lý việc làm, quản lý dữ liệu thu về, API … việc chia này chưa thực hiện việc xử lý quản lý mà thực chất chỉ là lớp base mô tả cấu trúc và các công việc quản lý
- Tầng 3 sẽ đi vào việc xử lý trực tiếp các quản lý đã phân ở 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 gian giữ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ôi trường …
Trang 18Hình 1.4: 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ình khố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ảo tí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ạch giữ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áp 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 19Hình 1.5: 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ểm soá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ộng lớ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ực này có thể kể đến như AWS IoT platform của Amazon, Microsoft Azure IoT của Microsoft, ThingWorx IoT Platform của ThingWorx, ngoài ra còn rất nhiều platform của các tập đoàn, công ty khác trên toàn thế giới
Trang 20CHƯƠNG 2: TỔNG QUAN VỀ M2M VÀ OM2M
2.1 Giới thiệu chung về M2M
Machine-to-Machine ( M2M ) là một công nghệ cho phép giao tiếp giữa các thiết
bị với thiết bị thông qua môi trường truyền thông (có dây hoặc không dây), là sự kết hợp của công nghệ thông tin và truyền thông với các thực thể giao tiếp thông minh nhằm cung cấp khả năng tương tác lẫn nhau mà không cần sự can thiệp của con người
Số lượng kết nối M2M liên tục tăng nhanh với tốc độ chóng mặt Đây được xem là giải pháp hứa hẹn trong tương lai trong việc quản lý và sử dụng dịch vụ một cách có hiệu quả M2M đã được phát triển và ứng dụng rộng rãi trên toàn thế giới bao gồm nhiều lĩnh vực khác nhau từ xây dự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,
Hình 2.1: Mô hình hoạt đông của M2M
Hệ thống M2M bao gồm các bộ phận cấu thành: các thiết bị giao tiếp thông minh, mạng truy cập và nền tảng dịch vụ M2M Trong đó:
o Thiết bị: bao gồm các thiết bị cảm biến, phương tiện vận tải, trang thiết bị, máy móc, được trang bị mô đun giao tiếp qua Wifi, WiMAX, Blutooth, ZigBee,
o Mạng truy cập: cung cấp hầu hết các chuẩn kết nối: mạng có dây, mạng không dây (GSM, GPRS, WCDMA, LTE, Wifi, WiMAX,…) và cả hệ thống truyền dẫn vệ tinh
o Nền tảng M2M: bao gồm các công cụ thu thập và xử lý thông tin, lưu trữ dữ liệu và các công cụ quản lý, khai thác thiết bị Cung cấp giao diện hiển thị những thông tin liên quan đến thiết bị
Trang 212.2 Tổng quan về kiến trúc ETSI M2M
Hình 2.2: Tổng quan kiến trúc ETSI M2M Các thiết bị trong M2M chạy các ứng dụng bằng cách sử dụng SCL Nó kết nối trực tiếp thông qua Network Domain để truy cập mạng và có thể cung cấp các dịch vụ khác nhau khi kết nối đến nó Nó cũng có thể kết nối vào dịch vụ tên miền thông qua các gateway từ một mạng lưới khu vực Một Gateway cũng có thể chạy ứng dụng M2M thông qua SCL và hoạt động như một proxy giữa những thiết bị và Network Domain SCL cung cấp chức năng chia sẻ giữa các ứng dụng khác nhau, bao gồm cả chức năng quản lý truy cập, giám sát, quản lý lỗi Chức năng quản lý M2M bao gồm tất cả chức năng cần thiết để quản lý SCL trong Network Domain
Hình 2.2 mô tả kiến trúc chức năng ETSI M2M Một SCL được triển khai thông qua một M2M Network (NSCL), một gateway (GSCL), hoặc một Device (DSCL) Nó cung cấp dịch vụ cho phép đăng ký trên máy tính, truyền thông đồng bộ và không đồng bộ, khai phá tài nguyên, quyền quản lý truy cập, quảng bá,…Có ba quan hệ tham chiếu dựa trên các API mở bao gồm : mIa, dIa, và mId Mối quan hệ mIa cho phép các ứng dụng mạng (NA) truy cập vào NSCL Một dIa cho phép một thiết bị hoặc ứng dụng gateway (D/GA) truy cập vào D/GSCL Mối quan hệ mId cho phép một D/GSCL truy cập vào NSCL Các giao diện này được định nghĩa một cách chung 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 ETSI M2M áp dụng kiểu kiến trúc RESTful Mỗi một SCL chứa một tài nguyên chuẩn nơi chứa các thông tin được lưu trữ Một tài nguyên được đánh địa chỉ thông qua một định dạng tài nguyên thống nhất(URI ) SCL giống như một cây tài nguyên nơi lưu trữ
dữ liệu khác nhau trong đó có thể thực hiện các thao tác lấy, cập nhật, xóa SclBase để
Trang 22ứng dụng sau khi đăng kí thành công trên SCL Container đóng vai trò trung gian cho
dữ liệu đệm cho phép trao đổi giữa các ứng dụng và SCLs ContentInstance đại diện cho một trường dữ liệu trong “container” AccessRight quản lý quyền và là người nắm giữ các quyền để giới hạn và bảo vệ các quyền truy cập vào cấu trúc cây tài nguyên Group tăng cường khả năng hoạt động của cây tài nguyên bởi sử dụng các tính năng phân nhóm Subscription cho phép nhận thông báo không đồng bộ khi có một sự kiện xảy ra như việc tiếp nhận sự kiện của một cảm biến hoặc tạo ra, cập nhật, hay xóa một tài nguyên Announced chứa một đại diện cho một phần của tài nguyên trong một SCL
để đơn giản hóa yêu cầu phát hiện một “scls” phân phối Discovery đóng vài trò như một công cụ tìm kiếm các nguồn tài nguyên Bộ sưu tập các nhóm tài nguyên bao gồm các tài nguyên chung với nhau
2.3 Tìm hiểu về nền tảng dịch vụ OM2M
2.3.1 Chuẩn ETSI M2M trong OM2M
Các yếu tố thể hiện chuẩn ETSI M2M trong OM2M bao gồm:
o M2M Device: Một máy chạy M2M device SCL (DSCL), nó có thể được truy vấn bởi các ứng dụng từ các thiết bị M2M thông qua một giao diện mở Một thiết bị M2M có thể kết nối trực tiếp với mạng M2M hoặc gián tiếp thông qua cổng hoạt động như một proxy mạng
o 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ác công nghệ hiện có như Zigbee, Phidgets, M_Bus, KNX,…
o M2M Gateway: một máy khi chạy M2M gateway SCL(GSCL) có thể truy vấn bởi các ứng dụng M2M gateway Nó giải quyết và xác định các thiết bị không đồng nhất và kết nối mạng M2M với những giao thức công nghệ khác nhau bằng cách thực hiện ánh xạ và chuyển đổi hoạt động
o Wide Area Network cung cấp mạng lõi và truy cập mạng để các thiết bị M2M giao tiếp với các cổng thông qua mạng lưới M2M Dựa trên các công nghệ hiện có như: xDSL, GERAN, UTRAN, eUTRAN, W-LAN, WiMAX,…
o M2M Network: cung cấp một M2M Network SCL (NSCL) mà có thể truy vấn bởi các ứng dụng M2M Network (NA) thông qua một giao diện mở
o M2M Service Capabilites Layer (SCL): cung cấp một dịch vụ cho các ứng dụng M2M một cách trừu tượng hóa cho sự phức tạp của các thiết bị
o M2M Application là một ứng dụng phần mềm có tên miền cụ thể tương tác với các máy M2M bằng cách truy vấn các lớp dịch vụ thông qua một tập
Trang 23o Phát triển ứng dụng mới một tên miền cụ thể
o ETSI M2M áp dụng một kiến trúc tính RESTful, Mỗi SCL là một cây tài nguyê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
o 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 khi xác thực thành công
Hình 2.3: 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ông trên SCL hosting
Hình 2.4: Trường dữ liệu Application trong OM2M
Trang 24- 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
Hình 2.5: 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 2.6: 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
Trang 25- Các tài nguyên “subscription” cho phép thuê bao đăng kí nhận được thông bá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ên trong một SCL từ xa để đơn giản hóa các yêu cầu phát hiện trên SCLs phân phối
- Các nguồn tài nguyên "discovery" đóng vai trò như một công cụ tìm kiếm cá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ới nhau
2.3.2 Nền tảng dịch vụ OM2M
OM2M cung cấp một API RESTful để trao đổi dữ liệu XML thông qua các kết nối không đáng tin cậy trong một môi trường phân tán cao Nó cung cấp một modular kiến trúc chạy phía trên của lớp OSGI như thể hiện ở hình dưới OM2M cung cấp một SCL linh hoạt có thể triển khai trong một mạng M2M, một gateway, hoặc một thiết bị Mỗi SCL bao gồm tập hợp các plugin nhỏ, mỗi một plugin thực hiện một chức năng cụ thể Một plugin có thể được cài đặt từ xa, khởi chạy, cập nhật và gỡ cài đặt mà không cần phải khởi động lại hệ thống Nó có thể phát hiện việc bổ xung và loại bỏ các dịch
vụ thông qua việc đăng ký dịch vụ và thích nghi phù hợp tạo điều kiện việc mở rộng SCL
Hình 2.7: Nền tảng dịch vụ OM2M Core là plugin chính được triển khai tại mỗi SCL.Nó cung cấp một dịch vụ giao thức độc lập để xử lý các yêu cầu REST Nó sẽ ánh xạ các thông tin cụ thể là nó có thể được thêm vào để hỗ trợ nhiều giao thức ràng buộc như HTTP và CoAP OM2M có
Trang 26Các giao thức TLS-PSK được dùng để đảm bảo thông tin liên lạc M2M dựa trên khóa chia sẻ trước Một plugin mới dựa trên mô hình điện toán được thiết kế để tăng cường phát hiện tài nguyên OM2M và có khả năng tự cấu hình
2.3.3 Các thành phần trong OM2M
Hình 2.8: Các thành phần trong OM2M CORE plugin hỗ trợ một giao diện SCL_Sevice để xử lý các yêu cầu RESTful từ HTTP_Mapping plugin Nó nhận thông tin từ một giao thức độc lập và trả lời xác nhận thông tin đáp ứng với giao thức độc lập đó
Router trong CORE plugin sẽ định nghĩa một tuyền đường duy nhất để xử lý mọi yêu cầu trong bộ điều khiển chỉ cần yêu cầu sử dụng URI hoặc một phương thức Resource_Controller thực hiện hàm CRUD ( bao gồm việc khởi tạo, khôi phục, cập nhật, và xóa) cho mỗi tài nguyên Nó thực hiện các yêu cầu an ninh chẳng hạn như ủy quyền truy cập và xác minh cú pháp tài nguyê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, sao cho tài nguyên lưu trữ được liên tục và không bị lộ chi tiết về cơ sở dữ liệu
Event_Notifier gửi thông báo đến tất cả các thuê bao quan tâm khi nguồn tài nguyên được tạo ra, cập nhật hoặc xóa bỏ thông báo.Nó thực hiện lọc các thông tin mà một thuê bao không quan tâm đế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õ và tiếp cận với máy đó.Nó cũng xử lý cả nguồn không phải là announcer
Trang 27Request_Sender phát hiện giao thức cụ thể phía client và triển khai trên giao tiếp Client_Service Nó hoạt động như một proxy để gửi yêu cầu chung chung thông qua giao thức
Interworking_Proxy phát hiện việc giao tiếp lẫn nhau giữa các proxy, thực hiện giao tiếp IPU_Sevice và hoạt động như một proxy để điều khiển IPU
Device_Manager quản lý những thực thể từ xa thực hiện giao tiếp REM_Service
và hoạt động như một proxy để gọi các bộ thiết bị điều khiển quản lý
HTTP_Mapping cung cấp một ràng buộc hai chiều với giao thức HTTP Các HTTP_Servlet nhận và chuyển đổi một yêu cầu HTTP vào một yêu cầu chung vào gọi CORE plugin thông qua giao tiếp SCL_Service Client_Service gửi những yêu cầu thông thường qua HTTP
Phidgets_Mapping cung cấp ánh xạ hai chiều vào mạng với các thiết bị kế thừa Phidgets.Phidgets_Monitor phát hiện các thiết bị Phidgets và gọi các xử lý trên CORE plugin tạo các tài nguyên cần thiết trên SCL Phidgets_Controller thực hiện giao tiếp IPU_Service để liên tục thực hiện các yêu cầu chung chung qua API Phidgets
OMADM_Mapping cung cấp ánh xạ hai chiều để quản lý các thiết bị chạy
OMA-DM OMADM_Controller thực hiện giao tiếp REM_Service chuyển đổi yêu cầu quản
lý phiên OMA-DM OMADM_Monitor lắng nghe các thiết bị OMA-DM và kêu gọi CORE plugin tạo ra các tài nguyên cần thiết trên SCL
DB_Driver cung cấp hướng đối tượng cơ sở dữ liệu (OODB) truy cập thông qua giao tiếp DB_Service
Các plugin khác có thể được triển khai bằng cách sử dụng phương pháp tương tự như một sự liên kết mạng với một giao thức bổ xung tích hợp với những tính năng mới như Autonomic_Computing
Trang 28CHƯƠNG 3: ĐỊNH HƯỚNG GIẢI PHÁP, TRIỂN KHAI, PHÂN TÍCH
VÀ THIẾT KẾ HỆ THỐNG
I ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP
3.1 Đặt vấn đề
Ngày càng nhiều ứng dụng được phát triển về khả năng ứng dụng rộng rãi của
nó Và ứng dụng về cảm biến ngày càng được quan tâm và phát triển Cảm biến không phải là một cỗ máy Nó đo lường, định lượng, nhiệm vụ của nó là thu thập dữ liệu Internet of things nói cho cùng là mang đến một kết nối giữa các cảm biến và máy móc Có nghĩa là giá trị thực mà Internet of things tạo ra là sự kết hợp giữa thu thập dữ liệu và tận dụng dữ liệu đó Những ứng dụng trên nền điện toán đám mây là chìa khóa
để sử dụng dữ liệu này Internet of Things không thể hoạt động nếu không có các ứng dụng điện toán đám mây để lý giải và chuyển đổi dữ liệu từ tất cả những cảm biến đó Điện toán đám mây là thứ sẽ cho phép các ứng dụng làm việc cho bạn bất cứ lúc nào,
và bất cứ đâu
Ngày nay chúng ta có những cảm biến theo dõi tất cả các loại dữ liệu; chúng ta
có các ứng dụng trên nền điện toán đám mây chuyển đổi dữ liệu thành những hiểu biết
có ích và truyền tới các máy móc ở hiện trường, cho phép đưa ra các phản ứng linh động và kịp thời Những dữ liệu mà cảm biến có thể lấy được rất đa dạng như: nhiệt
độ, độ ẩm, nồng độ CO, độ PH, các ion, hợp chất, Một loại cảm biến mà chúng ta bắt gặp rất nhiều trong cuộc sống hàng ngày và ứng dụng của nó vô cùng rộng rãi, đó là cảm biến nhiệt độ Cảm biến nhiệt độ vô cùng rộng rãi và phổ biến đi kèm với sự phát triển của Internet of things
3.2 Định hướng
Cảm biến nhiệt độ ngày càng phát triển và ứng dụng rộng rãi trong đời sống Cùng với đó là sự ra đời của nhiều thiết bị phần cứng hỗ trợ cho việc lấy dữ liệu, sự phát triển của hạ tầng truyền dữ liệu Tiêu chí đặt ra đó là việc sử dụng thiết bị nào có tính ứng dụng, độ chính xác cao và giá thành thấp đồng thời triển khai một cơ sở hạ tầng có tính nguồn mở cao, bảo mật tốt, không đòi hỏi bản quyền hay sự phụ thuộc vào nhà cung cấp cũng như phải có tính triển khai và phát triển thêm ứng dụng trong
đó một cách rộng rãi
Thiết bị phần cứng và cơ sở hạ tầng phải đáp ứng được mô hình ứng dụng có tính khả dụng cao dựa trên ưu nhược điểm đó Đối với khả năng thực tiễn trong ứng dụng thì mô hình phải đáp ứng được những nhu cầu không chỉ cho nhà phát triển mà còn phía khách hàng Một trong những nhu cầu đó là :
Khả năng thay thế thiết một cách bị đơn giản khi gặp sự cố
Khả năng bảo trì hệ thống khi gặp lỗi
Trang 29 Khả năng triển khai hệ thống một cách đơn giản và linh hoạt
Tận dụng được cơ sở hạ tầng có sẵn để triển khai hệ thống
Cung cấp giao diện đơn giản và dễ hiểu cho khách hàng
3.3 Giải pháp
Giải pháp xây dựng hệ thống “Ứng dụng cảnh báo nhiệt độ” đáp ứng những yêu
cầu đặt ra và lý do nêu trên Đây là ứng dụng trong đó sử dụng Arduino một trong những thiết bị phần cứng đã và đang được sử dụng rộng rãi trong việc lấy dữ liệu và Raspberry pi 2 thiết bị triển khai hạ tầng phía Gateway Đối với hạ tầng trong việc truyền và cung cấp giao diện người dùng sử dụng nền tảng dịch vụ OM2M Đây là một trong những mã nguồn mở đang được sử dụng rộng rãi trên thế giới Và tất nhiên đối
với OM2M việc viết thêm ứng dụng là khá đơn giản, “Ứng dụng cảnh báo nhiệt độ” là
một trong những ứng dụng được triển khai trên đó
Hệ thống cảnh báo nhiệt độ thực hiện bằng cách giải quyết bốn quá trình :
- Lấy dữ liệu nhiệt độ từ sensor cảm biết LM35 bằng arduino
- Thông qua modul RF 315MHZ dữ liệu nhiệt độ được truyền tới một arduino khác
- Raspberry pi2 đóng vai trò Gateway cài đặt và chạy GSCL Chạy tiến trình song song giúp lấy dữ liệu nhiệt độ từ arduino thông qua cổng giao tiếp USB
- Dữ liệu từ Gateway được đẩy lên NSCL_Service nơi cài đặt NSCL thông qua
hệ thống mạng internet
Một Platform(nền tảng) được hiểu đơn giản như là một hệ điều hành hay kiến trúc máy tính và thường được kết hợp cả 2 Một platform(nền tảng) nó là sự kết hợp bởi 2 yếu tố đó là phần mềm và phần cứng để thực thi các phần mềm, ứng dụng nền tảng) Chúng ta đã được làm quen với một platform(nền tảng) từ rất sớm và đó chính là Microsoft Windows chạy trên nền 32bit, 2 platform khác mà nhiều người cũng biết đến đó là Mac OS X và Linux thực ra thì 2 platform(nền tảng) này đều là đa nền tảng Những thiết bị điện thoại di động ngày nay cũng là những platform(nền tảng) nhưng sẽ không được nói đến trong bài viết này Lập trình viên sẽ viết phần mềm ứng dụng dựa vào các đặc điểm trên một Platform(nền tảng) đặc biệt, cũng có thể là phần cứng, là hệ điều hành, là máy ảo chạy trên platform(nền tảng) đó
Cảm biến nhiệt độ LM35(Sensor temperature LM35) là một loại cảm biến tương tự rất hay được ứng dụng trong các ứng dụng đo nhiệt độ thời gian thực Vì
nó hoạt động khá chính xác với sai số nhỏ, đồng thời với kích thước nhỏ và giá thành
rẻ là một trong những ưu điểm của nó Vì đây là cảm biến tương tự (analog sensor)