物联网平台的主题现在正处于“炒作”浪潮,这一
趋势已由
主要技术趋势的Gartner曲线证实:自2016年以来,图表上的“物联网平台”已取代了“物联网”。
今天,我们将讨论三星提供的产品,首先是三星Artik Cloud。
内容:
- 具有三星Artik Cloud作为物联网平台的功能。
- 在实践中学习与Artik Cloud合作:
- 创建一个新的设备类型,
- 数据模拟
- 使用REST API从云中检索数据。
三星Artik Cloud作为物联网平台的功能
通常,在物联网的平台下,他们了解一些由多个组件组成的现成的集成解决方案,有助于加速将IoT产品推向市场的过程。
理想情况下,哪些组件应该具有这样的平台? 根据IoT Analytics文章
“有关IoT平台生态系统的五件事”的作者,该平台应包含8个功能组件:
标签 1。

目前,并非所有物联网平台都具有这些组件。 通常,将重点放在其中的一些上:例如,Amazon AWS不是创建设备的永久虚拟Shadow的普通数据库,IBM Bluemix可以使用Watson分析服务,并且在PTC ThingWorx中,您可以轻松创建图形界面应用程序。
2016年,三星推出了Artik系列,该系列目前包括:
- 软件平台-Artik Cloud-此材料专用于此,

- 硬件平台-Artik微型计算机。

有趣的一点:三星以单一名称同时发布了软件平台和硬件解决方案,并且发布了不同级别的内容:从最小的,计算能力较弱的Artik 0到功能强大且高效的Artik 7。
另一个有趣的观点:最近,在2017年,三星
宣布以通用名称SmartThings Cloud统一了几种技术:Samsung Connect(智能家居的专用路由器),SmartThings(家居自动化解决方案)和Artik系列。 在这种情况下,将保存所有现有功能。
该产品的官方网站位于
此处 。
如果从功能组件列表的角度考虑Samsung Artik Cloud(请参阅表1),则会得到以下信息:
表2

在关键组件中,当前没有分析和机器学习组件。 但是今年,三星
宣布在全球范围内开设了另外四个新的人工智能科学中心。 因此,我们有充分的理由相信这方面的工作已包含在公司的战略计划中。
好处
价格合理
这里的一切都很简单。 您每月最多可以免费发送100,000条消息。 与其他类似服务不同,您不需要在使用银行卡之前先附加银行卡。 完全不需要您。 仅当您决定在每天和每月的消息数量至关重要的真实任务中使用Artik Cloud时,才需要付费-在这种情况下,一百万条消息的成本为15美元。
这就是Artik Cloud非常适合教学生的原因:如果仅在课堂上使用它,配额用尽的机会就很小。
几种不同的API
目前,您可以同时通过四种方式与Artik Cloud进行交互:
值得注意的是同时支持两种协议,这两种协议在物联网中得到了广泛使用:MQTT和CoAP。
局限性
Beta阶段
Artik Cloud仍然是一个年轻产品(它于2016年出现)。 某些功能仍处于测试阶段。 例如,在设备模拟器中,不能使用多个设备。
不完整的文件
文档在不断发展。 例如,现在REST API的文档非常齐全,并且MQTT API的文档需要改进。
在实践中学习与Artik Cloud合作
现在,我们建议您创建一个虚拟设备-GPS跟踪器,它将生成随机数据。 然后,我们将从计算机访问此数据。
开立账户
让我们转到网站
https://my.artik.cloud/
有几种注册选项。 最简单的方法是使用现有的Google帐户。 垃圾邮件将不会发送! 经过个人经验验证。

创建新的设备类型
您将被带到用户页面
https://artik.cloud/ 。
在这里,您可以将设备添加到系统,查看日志,设置交互规则。 现在,几乎无法执行任何操作,因为我们所需的设备和传感器不在建议的选项之列。 直接转到开发人员页面:
https :
//developer.artik.cloud/
创建一个新的设备类型。

接下来,您需要提供一个名称和一个唯一的标识符-如果以后您想与社区共享您的虚拟设备,则将需要它。

系统将提示您创建一个“清单”,在其中定义设备字段。

您将在第一个选项卡上看到清单创建窗口:设备字段。 由于我们以GPS跟踪器为例,因此创建两个纬度和经度字段。 我称它们为“
纬度”和“经度”。

您可以设置:
- 字段名称(在我们的示例中为lat和long ),
- 单位(已经有标准单位)。
单击下一步按钮。 在此示例中,无需指定“设备操作”,因此在此之后立即继续激活清单。
设备创建
现在,您可以通过返回
https://my.artik.cloud来创建一种新型的设备。 点击+添加其他设备...

设备仿真
让我们尝试一个有趣的功能-数据模拟。 这对于测试很有用。
在指示设备的矩形上,单击“ ...”,然后单击“模拟设备数据”。

将出现一个窗口,您可以在其中设置每个字段的模拟参数。 例如,值,边界,分布(在我们的情况下是随机的)的输出间隔。

之后,您可以单击“开始模拟”按钮。

数据开始出现。 您可以在图表上看到它们。 为此,请在顶部菜单中打开“图表”选项卡。

您将实时看到指定范围内的经度和纬度值:

此时间表使用起来非常方便。 它可以缩放,扭转历史记录,更改图表类型。 如屏幕截图所示,您还可以制作条形图和圆点图:

如果要查看元数据,可以使用“数据日志”选项卡。 在这里,您将看到生成日期,接收日期和数据的内部表示形式-这是熟悉的JSON格式。

从云端接收数据
让我们尝试将模拟数据移出云。 我们将使用REST API-这是合乎逻辑的,因为我们将编写代码来接收JavaScript中的数据。
单击菜单中的设备名称。

在打开的窗口中,您将看到各种设备密钥,其中两个很重要:设备ID和设备令牌。 从外部访问时,这些键用作登录名和密码。 您很快就会需要它们。

我怎么知道要发送哪个请求? 为此,有一个非常方便的开发人员工具
-API控制台 。 它使您可以观看和学习各种API请求的示例。 让我们看一下GET(获取最后的标准化消息)请求:

为了满足这样的要求,必须指定我们要引用的设备(
sdids-在这里我们需要替换在上一步中获得的设备标识符),我们感兴趣的字段(
fieldPresense )以及我们想要获取多少个值(
count )。
填写字段,然后单击“尝试”! 您将收到足以提出请求的信息:

- 呼叫是将请求发送到的地址,
- 请求标头-与请求一起发送的标头,
- 200-响应码。
JavaScript代码
这是一个JavaScript代码示例,它将从云中接收消息并显示出来。
varxmlhttp=newXMLHttpRequest(); varcall = "https://api.artik.cloud/v1.1/messages/last?count=1&fieldPresence=lat&sdids=084d34b198d84f1688b3b7b3fe420fcf"; xmlhttp.open('GET',call,true); xmlhttp.setRequestHeader("Content-Type","application/json"); xmlhttp.setRequestHeader("Authorization","Bearer fc851ddb484842788daa19569b326951"); xmlhttp.onreadystatechange=function(){ if(xmlhttp.status==200){ alert(xmlhttp.responseText); } };
当然,需要使用在最后一步中获得的
varcall行和
Bearer授权参数替换为您自己的参数。
此代码在Mozilla浏览器中的结果:

这是一个JSON字符串,其中包括必需的
纬度和
经度坐标。 它仅保留使用JSON解析器解析字符串,您就拥有了数据!
根据此示例,您可以使用Yandex.Maps API轻松标记地理地图。

结论
那么我们实施了什么呢? 一个简单的示例:在云中创建设备,模拟其数据并在计算机上接收此数据。
括号之外是:
- 通过REST API将数据发送到云,
- 通过其他接口(例如MQTT)与云进行交互,
- 操作(设备操作),
- 规则(规则引擎)。
那些有兴趣继续的人,可以使用官方
文档独立研究这些问题。
作者:Tatyana Volkova
三星研究中心员工
物联网学院三星项目课程的经理和作者