Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
jollen opened this issue Sep 5, 2016 · 0 comments
Open

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

jollen opened this issue Sep 5, 2016 · 0 comments

Comments

@jollen
Copy link
Owner

jollen commented Sep 5, 2016

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 的理念:

  • WoT.City 是 Web of Things layer,它處理 WebSocket/CoAP 協定與 REST API 的部份
  • devify-server 使用 WoT.City 封裝出一份 IoT server biolerplate,你可以用它來快速開發 IoT server 與 (IoT broker server](https://github.com/jollen/blog/issues/22)。

目前已經有許多 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 的構想。

@jollen jollen changed the title Fullstack IoT 2017 專欄, #2: WoT City 計畫 Fullstack IoT 2017 專欄, #2: WoT City 計畫起源 Sep 5, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant