jollen / blog

Jollen's Blog
http://www.jollen.org/blog
66 stars 4 forks source link

Fullstack IoT 2017 專欄, #2: WoT City 計畫起源 #23

Open jollen opened 7 years ago

jollen commented 7 years ago

Web of Things 是 W3C 的一個興趣小組,它的目的是以現有的 Web 技術,來思考 IoT 的設計與架構。關於 Web of Things 的概念說明,在 W3C 上有一篇 Building the Web of Things 的文章,為 Web of Things (WoT) 的源起與哲學,做了很好的說明。

WoT.City 起源

WoT.City 是一個研究型的開源計畫,目的是實作 W3C Web of Things (WoT)。WoT.City 主要在處理 Connectivity,例如:WebSocket、CoAP 與 Thing Description 等。WoT.City 是 Connecitivity Layer,目前它已經打包成 wotcity.io 模組,但是你不需要直接使用 wotcity.io 模組。

wotcity.io 被封裝為 devify-server 模組,devify-server 是一份 IoT server boilerplate,這是什麼呢?簡單說,就是一套給 IoT 用的伺服器程式模板,你可以用 devify-server 很容易寫出一個「負責收集感測器資料」的 IoT server。

這套 IoT server 可以執行在 Desktop、Server 或 IoT device 上,它使用的是 Nodoe.js 技術,這表示只要有 Node.js 執行環境的硬體,都可以成為 devify-server 的執行環境。架構上,devify-server 封裝了 wotcity.io,並且負責 Event Handling、Broker Server 與 Serverless 的角色。

2016-09-01 11 52 59

上圖是 WoT.City 的架構,也是 WoT.City 的理念:

目前已經有許多 Web of Things 的開源項目,你可以在這裡找到一份 Web of Things Implementations 的清單,這份清單整理 W3C Web of Things 的相關計畫。

另外,除了 WoT.City 與 Devify 外,整體 WoT.City 計畫中,預計還有一個 Flowchain 項目。Flowchain 提供 flow-based programming 的 IoT 應用開發模式,同時也支援 Blockchain 與 P2P。經由 Flowchain 項目,讓 WoT.City 能實現 Decentralized IoT 的構想。