跳到主要內容

簡易檢索 / 詳目顯示

研究生: 潘邦睿
Bang-Rui Pan
論文名稱: 具象狀態傳輸智能物聯網中介軟體設計與實作
The Design and Implementation of RESTful Smart IoT Middleware
指導教授: 江振瑞
Jehn-Ruey Jiang
口試委員:
學位類別: 碩士
Master
系所名稱: 資訊電機學院 - 資訊工程學系
Department of Computer Science & Information Engineering
論文出版年: 2016
畢業學年度: 104
語文別: 中文
論文頁數: 41
中文關鍵詞: 中介軟體訊息序列遙測傳輸受限制的應用協定具象狀態傳輸物聯網互操作性
外文關鍵詞: middleware, MQTT, CoAP, REST, IoT, interoperability
相關次數: 點閱:11下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本研究設計且實作一個具象狀態傳輸智能物聯網中介層軟體(IoT Middleware),命名為ACAN。物聯網中介層軟體是介於作業系統以及應用程式之間的軟體,專門用來解決異質性設備和服務應用的橋樑,並提供使用者更多的系統服務。 ACAN的設計目標有裝置管理、互操作性、平台可攜性、情境感知、資料紀錄、安全性與隱密性。裝置管理可以讓使用者對智慧物件進行註冊及權限的管理;互操作性可以讓使用訊息序列遙測傳輸(Message Queuing Telemetry Transport, MQTT)協定以及受限制的應用協定(Constrained Application Protocol, CoAP)的設備都可以進行通訊;平台可攜性可以讓支援Python程式語言的Linux平台,都可以安裝ACAN並正常運作;情境感知讓使用者發送的Restful指令可以透過ACAN自動選擇MQTT以及CoAP;資料紀錄可以讓使用者保存特定數量的歷史資料;安全性主要是利用安全通訊協定(Secure Sockets Layer, SSL)對封包進行加密,來防止封包資料被竊取;隱密性利用存取控制對使用者進行保密的動作,在沒有權限的情況下是無法對物件進行存取與操控。本研究在Intel i7 個人電腦上實作ACAN中介軟體,並架設一個網站提供使用者創建帳戶以及對智慧物件進行註冊與權限管理。另外,並且利用樹莓派(Raspberry Pi)開發板加裝溫溼度感測器和發光二極體(Light-Emitting Diode, LED)做為智慧物件來驗證ACAN實作已達成所有設計目標。


    This study proposes the design and implementation of a RESTful Smart IoT middleware, named ACAN. IoT middleware is a software between the operation system and the application; it can be used to bridge heterogeneous devices and applications, and can provide users with more system services. ANCA has the following design goals: device management, interoperability, platform portability, context awareness, data logging, and security/privacy. The “device management” goal is to allow users to register for smart objects and control their access. The “interoperability” goal is to make devices using the Message Queuing Telemetry Transport (MQTT) protocol and the Constrained Application Protocol (CoAP) communicate with the middleware. The goal of “platform portability” is to allow ACAN to run on any Linux-like platform supporting the Python language. The goal of “context awareness” is to allow ACAN to automatically select between MQTT and CoAP when receiving RESTful commands from users. The goal of “data logging” is to allow users to keep a certain number of historical data. The goal of “security” is to use the Secure Sockets Layer (SSL) to encrypt packets for preventing data theft. The goal of “privacy” is to incorporate proper access control to prevent data from unauthorized accesses. This study also implements ACAN design on an Intel i7 PC, and sets up a website for creating user accounts for smart object registration and access control management. In addition, the study also realizes some smart objects by using Raspberry Pi boards equipped with temperature sensors, humidity sensors, and light-emitting diodes to verify if the ACAN implementation reaches all design goals.

    中文摘要 i Abstract ii 誌謝 iii 目錄 iv 圖目錄 v 表目錄 vi 一、 緒論 1 二、 相關背景與研究 3 2-1 訊息序列遙測傳輸 (Message Queuing Telemetry Transport, MQTT) 3 2-1-1 訂閱/發布 (Publish/Subscribe) 3 2-1-2 服務品質 (Quality of Service, QoS) 3 2-2 受限制的應用協定 (Constrained Application Protocol, CoAP) 4 2-2-1 訊息傳輸 (Message Transmission) 4 2-2-2 請求/回應 (Request/Response) 4 2-3 具象狀態傳輸 (Representational State Transfer, REST) 7 三、 ACAN 9 3-1 ACAN設計目標 9 3-2 ACAN架構 11 3-3 RESTful操作介面 12 3-4 物聯網中介層軟體比較 16 四、 應用系統實作 18 4-1 硬體設備 19 4-2 佈署 22 4-3 實作成果與未來應用 29 五、 結論 32 參考文獻 33

    [1] L. Atzori, A. Iera, G. Morabito, “The Internet of Things: A survey”, Computer Networks, Vol. 54, Issue 28 October 2010, pp. 2787–2805.
    [2] S. Bandyopadhyay, M. Sengupta, S. Maiti, S. Dutta, “A Survey of Middleware for Internet of Things” , WiMo/CoNeCo 2011, CCIS 162, 2010, pp. 288–296.
    [3] Organization for the Advancement of Structured Information Standards, “MQTT Version 3.1.1 PLUS Errata 01”, 10 December 2015.
    [4] U. Hunkeler, H. L. Truong, A. S. Clark, “MQTT-S – A Publish/Subscribe Protocol For Wireless Sensor Networks”, Communication Systems Software and Middleware and Workshops, 2008. COMSWARE 2008. 3rd International Conference on, 6-10 January 2008.
    [5] Internet Engineering Task Force “The Constrained Application Protocol”, June 2014.
    [6] V. Karagiannis, P. Chatzimisios, F. Vazquez-Gallego, J. A. Zarate, ”A Survey on Application Layer Protocols for the Internet of Things”, Transaction on IoT and Cloud Computing, Vol. 1, No. 1, January 2015.
    [7] R. T. Fielding, “Architectural Styles and the Design of Network-based Software Architectures”, University of California, 2000.
    [8] E. Rescorla, “SSL and TLS: Designing and Building Secure Systems”, 2000.
    [9] R. Sandhu, E. Coyne, H. Feinstein, C. Youman, “Role-based access control models”, IEEE Computer, Vol. 29, No. 2, February 1996, pp. 38-47.
    [10] Wiki,” Comma-separated values”
    https://en.wikipedia.org/wiki/Comma-separated_values
    [11] M. Owens, “The Definitive Guide to SQLite”, 2006.
    [12] R. Light, “Mosquitto-an Open Source MQTT v3.1 Broker , 2013.
    [13] M. Grinberg, “Flask Web Development: Developing Web Applications with Python”, April 2014
    [14] European Commission, “Networked Embedded System middleware for Heterogeneous Physical”, Sixth Framework Programme, September 2005.
    [15] V. Terziyan, O. Kaykova, D. Zhovtobryukh, “UbiRoad: Semantic Middleware for Cooperative Traffic Systems and Services”, International Journal On Advances in Intelligent Systems, Vol.3, No.3 and 4, 2010, pp.286-302

    [16] Raspberry Pi, “Model B+ Spec.”
    https://www.raspberrypi.com.tw/upload/spec/board/pi_model_b_plus/pi-specs.pdf
    [17] Micropik,”DHT11”
    www.micropik.com/PDF/dht11
    [18] Github, ”CoAPthon”
    https://github.com/Tanganelli/CoAPthon
    [19] Github, “Adafruit_Python_DHT”
    https://github.com/adafruit/Adafruit_Python_DHT
    [20] Github, ” paho.mqtt.python”
    https://github.com/eclipse/paho.mqtt.python

    QR CODE
    :::