SmartThings物联网平台简介

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/panjunbiao/article/details/9425431

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甚至推出了基于浏览器的开发环境,开发人员可以直接在浏览器上开发和发布应用。

云平台不仅实现业务逻辑,对于最终用户而言它还是一个应用商店,开发者将物联网应用发布到云平台,最终用户通过手机客户端从平台下载他们需要的应用,再经过简单配置就可以使用了。还看上面的例子,“当大门打开,则开启客厅的灯,并发送短信”,当用户下载了这个控制逻辑之后,只需要在手机客户端中指定哪个是大门的传感器,哪个是客厅电灯的开关,以及自己的手机号码,这个控制逻辑就生效了。此外,手机客户端还帮助用户管理自己的网关、设备,以及呈现各种设备的状态和事件等。

SmartThings的体系架构分为展现层、智能层、抽象层、连接层和能力层,通过这五个层次的划分,建立了整合物联网硬件厂商、物联网应用开发商、互联网服务提供商以及最终用户的完整生态链。物联网产业正蓬勃发展,个人和企业都有机会在这个生态系统中找到属于自己的位置。


SmartThings层次架构图(引自官方网络

参考资料:

  1. http://www.smartthings.com/#getting-started
  2. http://build.smartthings.com/smartapps-overview/
  3. http://build.smartthings.com/the-cloud-first-approach/

阅读更多
换一批

没有更多推荐了,返回首页