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甚至推出了基于浏览器的开发环境,开发人员可以直接在浏览器上开发和发布应用。
云平台不仅实现业务逻辑,对于最终用户而言它还是一个应用商店,开发者将物联网应用发布到云平台,最终用户通过手机客户端从平台下载他们需要的应用,再经过简单配置就可以使用了。还看上面的例子,“当大门打开,则开启客厅的灯,并发送短信”,当用户下载了这个控制逻辑之后,只需要在手机客户端中指定哪个是大门的传感器,哪个是客厅电灯的开关,以及自己的手机号码,这个控制逻辑就生效了。此外,手机客户端还帮助用户管理自己的网关、设备,以及呈现各种设备的状态和事件等。
SmartThings的体系架构分为展现层、智能层、抽象层、连接层和能力层,通过这五个层次的划分,建立了整合物联网硬件厂商、物联网应用开发商、互联网服务提供商以及最终用户的完整生态链。物联网产业正蓬勃发展,个人和企业都有机会在这个生态系统中找到属于自己的位置。
SmartThings层次架构图(引自官方网络)
参考资料:
- http://www.smartthings.com/#getting-started
- http://build.smartthings.com/smartapps-overview/
- http://build.smartthings.com/the-cloud-first-approach/
SmartThings物联网平台简介的更多相关文章
- Ninja Blocks物联网平台简介
Ninja Blocks是一个物联网控制平台,其平台架构包括硬件层.处理器层.软件层以及平台层,请看下图: 最底层是硬件层,包括传感器(Sensors)和驱动器(Actuators),例如温度传感器. ...
- 玩转OneNET物联网平台之简介
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 物联网全景动态图谱2.0|PaaS物联网平台汇总(上篇)
物联网智库 原创 物联网智库 整理发布 转载请注明来源和出处 ------ [导读] ------ 毫无疑问,2018年物联网对行业的深度变革才刚刚开启. 物联网产业链企业的质与量将进入全面爆 ...
- 国内物联网平台(3):QQ物联智能硬件开放平台
国内物联网平台(3)——QQ物联·智能硬件开放平台 马智 平台定位 将QQ帐号体系.好友关系链.QQ消息通道及音视频服务等核心能力提供给可穿戴设备.智能家居.智能车载.传统硬件等领域的合作伙伴,实现用 ...
- 国内物联网平台(5):机智云IoT物联网云服务平台及智能硬件自助开发平台
国内物联网平台(5)——机智云IoT物联网云服务平台及智能硬件自助开发平台 马智 平台定位 机智云平台是致力于物联网.智能硬件云服务的开放平台.平台提供了从定义产品.设备端开发调试.应用开发.产测.运 ...
- 玩转OneNET物联网平台之MQTT服务④ —— 远程控制LED(设备自注册)+ Android App控制
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 玩转OneNET物联网平台之MQTT服务③ —— 远程控制LED(设备自注册)
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 玩转OneNET物联网平台之HTTP服务① —— 模拟上传温度(TcpClient)
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...
- 玩转OneNET物联网平台之MQTT服务② —— 远程控制LED
1.理论基础 参考博主线上博文: 玩转PubSubClient MQTT库 玩转OneNET物联网平台之简介 玩转OneNET物联网平台之MQTT服务① 2.远程控制LED 2.1 实验材料 ...
随机推荐
- android 的touch event分析
android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解. 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN ...
- c# 抓取Web网页数据分析
通过程序自动的读取其它网站网页显示的信息,类似于爬虫程序.比方说我们有一个系统,要提取BaiDu网站上歌曲搜索排名.分析系统在根据得到的数据进行数据分析.为业务提供参考数据. 为了完成以上的需求,我们 ...
- maven工程引用外部jar包
maven工程经常回遇到引用外部jar包,需要先安装在jar包,然后再在工程中pom.xml文件中添加依赖. 示例: 命令行中运行: mvn install:install-file -Dfile=E ...
- objective-c 创建工程/编译/运行程序
// First program example #import <Foundation/Foundation.h> int main (int argc, const char * ar ...
- 注意在<s:if test="#session.user.power==0">中不能用 <s:if test=$sessionScope.user.power==0">
获取封装在session的对象 用#session.对象名,可以获取对象 用#session.对象名.属性,可以获取属性. 注意在<s:iftest="#session.user.po ...
- Java实验二20135104
课程:Java程序设计 班级: 1351 姓名:刘帅 学号:20135104 成绩: 指导教师:娄嘉鹏 实验日期:2 ...
- HIVE几种数据导入方式
HIVE几种数据导入方式 今天的话题是总结Hive的几种常见的数据导入方式,我总结为四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询 ...
- 关于QT安装的一些心得(QT551, VS2013)项目开发配置,以及项目结构分析
推荐QT开发的配置如下: 我的硬件配饰中等,所以推荐一下配置: QT551版本,目前QT最新版8.0,为了稳定选择551版本 VS2013IDE, 因为VS2010与VS2013的编译器相同,但是VS ...
- 做php网站后台开发,在Linux系统上进行更好吗?
1. PHP是开源软件,它在bsd/linux/win下都有很好的正式版及孪生版.并非开发php就必须要在linux下进行.主机服务商们习惯性的把asp与php分为两个主机系列几进行销售.由于asp只 ...
- struts2--表单重复提交
1.表单重复提交: --使用struts2的Token或TokenSession拦截器避免重复提交: > 上述两个拦截器均不在默认的拦截器栈中,需要在struts.xml中配置: > To ...