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 读者交流群)。
评论