Samsung SAMI——针对物联网的数据驱动开发平台

  • Abel Avram
  • 百占辉

2015 年 10 月 26 日

话题:架构

Samsung SAMI 是一个数据驱动开发(Data-driven Development,D3)平台,它可以在 IoT 设备中接收、存储和发送数据。任何设备都可以以多种格式发送数据并存储在云端,例如常用的 JSON 格式。这些数据也可以被其他设备请求。

SAMI 的操作含有以下概念:

  • Device - 任何数据源 - 传感器、装置、应用、服务等。
  • Device Type - 设备类型,例如 Samsung Galaxy Gear Fit。
  • Device ID - 设备实体具有的独特 ID。
  • Message - 有一个设备发送给 SAMI 或者其它设备的一块数据,它与元数据相关联。
  • Authorization - SAMI 使用 OAuth2 授权用户。
  • Manifest - 一个数据注释器,每个设备类型都具有,为了数据的标准化。一种是simple manifest,另一种是advanced manifest。简单的那种由 web 表单创建,被用来转换 JSON 数据并发送给 SAMI,而高级的那种是用 Groovy 写的脚本。后一种需要经过 Samsung 核准,如果它是恶意的或会导致内存泄露,Samsung 可以拒绝它。

数据可以之后被请求,可以使用 REST 或者 WebSocket API(API specification)。目前对于某些设备、用户或者应用可能会有一些限制

SAMI 平台为开发者提供了一些工具:Developer Portal - 一个基于 web 的可以用来创建和管理设备类型和应用的工具,User Portal - 一个使得用户注册设备和可视化数据的工具,API Console - 在线执行 API 调用的工具,Device Simulator - 发送模拟消息给 SAMI 的命令行工具。

Samsung 已经发布了一些基于 Android、iOS、Node.js 和 Arduino 平台的示例应用,同时还有一个浏览器(JavaScript)来展示如何使用 SAMI。还发布了一些SDKs来帮助创建基于 Java/Android、Objective-C/iOS、PHP、Python 和 Ruby 的应用。

查看英文原文:Samsung SAMI – a D3 Platform for the IoT


感谢张龙对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

架构