SmartThings物聯網平臺簡介

SmartThings是一個智能設備控制系統,它包括:SmartThings Cloud(雲平臺)、SmartThings Hub(網關)、SmartThings Mobile(手機客戶端)以及各類關聯的設備或服務。編程

 

假設咱們有這樣一個控制場景:當大門打開,則開啓客廳的電燈,並向主人發送一條短信。如何實現這一控制呢?首先咱們須要一個開關傳感器,當大門被打開的時候,傳感器感應並將事件上報到平臺,平臺收到這一事件報告以後,控制客廳電燈的開關打開,同時經過短信服務發送一條短信息。瀏覽器

 

固然,諸如傳感器、電燈開關這些設備可能沒有網絡接口,沒法直接與平臺通訊,這時就須要網關做爲中轉站。網關負責將傳感器的狀態改變抽象成一種事件,上報給雲平臺,而後接收並執行雲平臺下發的指令。網關並非必須的,若是一個智能設備具備網絡接口並支持SmartThings的通訊協議,徹底能夠跳過網關直接與雲平臺通訊。網絡

 

SmartThings的應用邏輯是在雲平臺中實現的,也就是說「若是...那麼...」這樣的控制邏輯不是在手機客戶端、網關、傳感器上處理,而是在雲平臺中根據預先設定的條件和邏輯實施控制的。爲何這樣作呢?SmartThings認爲,「設備」與「智能」應該是分開的,也就是說做爲傳感器不要求它具備高智能,它只要負責檢測,而通訊部分交由網關完成。在雲平臺中,各類傳感器事件和設備操做被抽象成標準的接口,例如Event.ContactSensor.opened表示開關傳感器的打開事件。SmartThings認爲把控制邏輯放到雲平臺的好處之一,是應用開發人員無需關注具體的硬件,也無需學習硬件相關的編程。咱們來看看SmartThings官網上的一個具體例子:架構

 

def openedContactSensor(evt, settings) {
    def light = settings.switch1
    if(evt == Event.ContactSensor.opened) {
        light.on()
    }
}

 

這個例子實現了一個傳感器與開關的關聯控制邏輯。SmartThings甚至推出了基於瀏覽器的開發環境,開發人員能夠直接在瀏覽器上開發和發佈應用。併發

 

雲平臺不只實現業務邏輯,對於最終用戶而言它仍是一個應用商店,開發者將物聯網應用發佈到雲平臺,最終用戶經過手機客戶端從平臺下載他們須要的應用,再通過簡單配置就可使用了。還看上面的例子,「當大門打開,則開啓客廳的燈,併發送短信」,當用戶下載了這個控制邏輯以後,只須要在手機客戶端中指定哪一個是大門的傳感器,哪一個是客廳電燈的開關,以及本身的手機號碼,這個控制邏輯就生效了。此外,手機客戶端還幫助用戶管理本身的網關、設備,以及呈現各類設備的狀態和事件等。app

 

SmartThings的體系架構分爲展示層、智能層、抽象層、鏈接層和能力層,經過這五個層次的劃分,創建了整合物聯網硬件廠商、物聯網應用開發商、互聯網服務提供商以及最終用戶的完整生態鏈。物聯網產業正蓬勃發展,我的和企業都有機會在這個生態系統中找到屬於本身的位置。學習

 

 

SmartThings層次架構圖(引自官方網絡ui

 

參考資料:spa

  1. http://www.smartthings.com/#getting-started
  2. http://build.smartthings.com/smartapps-overview/
  3. http://build.smartthings.com/the-cloud-first-approach/
相關文章
相關標籤/搜索