启动Wolfram Connected Devices项目

联网设备是我们的核心长期战略将复杂的计算和知识注入一切。使用Wolfram语言我们现在有了一种描述和计算世界上事物的方法。连接的设备是我们需要测量并与这些设备接口的设备。

最后,我们希望每种类型的连接设备都能与Wolfram语言无缝集成。这将产生各种重要后果。但在我们努力实现这一目标的过程中,有一个明显的第一步:我们必须了解实际存在的连接设备类型。

为了回答这个问题,今天我们推出了Wolfram连接设备项目-其目标是与设备制造商和技术社区合作,提供有关连接设备的明确、精心策划的系统知识来源。

新的Wolfram互联设备项目——管理物联网设备

截至今天,我们有几千台设备(来自大约300家公司),我们预计这一数字在未来几个月将迅速增长。对于每个设备,都有一定数量的结构化信息:

Wolfram Connected Devices Project示例页

只要可能,这些信息都被设置为可计算的,因此可以在Wolfram | Alpha中使用:

比较Wolfram | Alpha中的设备

很快,您将能够对设备进行各种复杂的查询,就像您现在可以对以下内容进行查询一样消费品:

Wolfram | Alpha的消费品

我们正在努力使Wolfram Connected Devices项目本身成为一项重要而有用的资源。但归根结底,我们的目标不仅是处理有关设备的信息,而且实际上能够连接到这些设备,并从中获取数据,然后利用这些数据做各种事情。

但首先,至少如果我们希望做得好,我们必须有一个好的方法来表示设备中可能出现的所有类型的数据。事实证明,我们有一个很好的解决方案:WDF,即Wolfram数据框架。从某种意义上说,WDF所做的就是从Wolfram | Alpha中获取我们所学到的关于表示数据和世界的所有知识,并使其可用于任何地方的数据。

关于WDF有很多话要说。但就设备而言,它提供了一种直接的方法,不仅可以表示设备中的原始数字,还可以表示,图像地理位置-或实际测量的物理.

在Wolfram|Alpha中,我们必然组装了世界上处理物理量及其单位的最完整系统。我们内置了数千个物理量(例如长度,或扭矩,或抗拉强度,或每个印记的点击次数)以及近10000个测量单位(如英寸,或米每秒凯塔尔每平方根赫兹微脉搏).在WDF中,我们可以立即使用整个设置。

Wolfram | Alpha中的抗拉强度测量

因此,一旦我们能够从设备中获取数据,WDF就提供了一种很好的方式来表示它。考虑到WDF的形式,我们可以对数据做很多事情。

对于研究人员来说,我们正在构建Wolfram数据存储库,它允许人们发布来自设备的数据,或者以可立即计算的形式使用WDF。

我们还正在构建Wolfram数据科学平台,它允许人们使用Wolfram语言的所有复杂功能来可视化和分析数据,然后根据数据生成完整的交互式报告,这些报告可以部署在web、移动、脱机等上。

但是,如何实际与设备交互呢?在Wolfram语言中,我们一直在构建一个强大的框架为了这个。从用户的角度来看,每个设备都有一个符号表示。然后有一组标准的Wolfram语言函数,如设备读取,设备执行,设备读缓冲区设备读取时间序列执行与设备相关的操作。

最终,这是通过为每个设备提供一个Wolfram语言驱动程序来实现的。但其理念是,最终用户永远不必知道这一点。需要时,只需从Wolfram Cloud中自动检索适当的驱动程序。然后,通用的Wolfram语言框架从驱动程序中的低级操作转到所有各种高级符号设备函数。喜欢设备读取时间序列,它从设备中采样一系列数据点,然后以符号形式返回它们时间序列可立即用于进一步可视化,分析等。

连接设备上的DeviceReadTimeSeries可视化和分析

然而,这里还有另一个问题:如何实际连接到特定设备?这取决于设备。一些设备可能通过中间移动设备自动连接到云。在这些情况下,通常只需连接到云中公开的API。

但至少现在,更多的设备以各种有线或无线方式连接到特定的本地计算机。有时,用户可能希望直接与本地计算机上的数据交互。

但更常见的情况是,人们要么想让本地计算机上的数据自动运行。或者有人想把数据放到云中。例如,可以系统地让人或机器查询它,并从中生成报告,等等。

在这两种情况下,将基本设备连接到某种小型嵌入式计算机系统通常非常方便。就像树莓派25美元的Linux计算机,在它上面,Wolfram语言作为其标准系统软件的一部分捆绑在一起,非常方便。

如果在连接到设备的本地机器上运行Wolfram语言,则该语言中内置了一些机制,既可以立即发现,也可以与云通信。更重要的是,通过这种设置,云中的Wolfram语言可以立即访问设备的符号表示。这意味着,例如,该语言中的并行计算操作可以用于聚合来自设备网络的数据,等等。

但是,好吧,那么你能用什么样的设备来完成这一切呢?好吧,这就是Wolfram Connected Devices Project想要回答的问题。

这当然是一个非常多样化的列表。是的,有很多基于加速和/或心率的健康设备,以及许多基于GPS的设备。但也有许多其他类型的设备,用于测量不同物理量的分数。

这些设备从小巧便宜到巨大昂贵。在当前列表中,大约2/3的设备基本上是独立的,1/3需要连续的物理连接。作为“设备”的边界,与例如组件相对,有点模糊。我们对Wolfram Connected Devices项目的操作定义是,如果某个设备可以测量一些物理量,并且可以使用一些标准连接器或连接技术连接到通用计算机,则可以将其视为“连接设备”。

至少现在,我们已经排除了实际上具有复杂自定义电气连接的对象,例如,具有集成电路形状因子的传感器,需要插入许多“腿”。不过,我们已经包括了一些只需几根线就可以直接插入GPIO端口的对象,例如Raspberry Pi-or上的对象,可以插入连接到Raspberry-Pi的Arduino之类的模拟端口。

设备的“接口”只是几根电线,这种情况通常更简单。当涉及到串行连接、USB、蓝牙等时,事情通常会变得更加复杂。有时设备会使用稍高级别的协议(如ANT+或Bluetooth LE)。但我们到目前为止的经验是,最终很少有真正的标准。每个设备都需要自定义工作来创建驱动程序、正确映射到WDF等。

当然,好消息是,使用Wolfram语言,我们有一个非常丰富的工具集来创建此类驱动程序。无论是通过使用语言中内置的数百种导入和导出格式。或者调用外部程序的所有机制。或者处理时间或地点信息的方式。或者进行信号处理和时间序列分析的算法。

在过去一年左右的时间里,我们与许多设备制造商进行了互动。这非常令人鼓舞。因为这些年来我们一直在构建的技术堆栈似乎正是人们所需要的。

我们无数次听到同样的事情。“我们正在构建这个伟大的设备;现在我们想利用它的数据做一些伟大的事情——分析它,将它交付给客户,等等。”好吧,这正是我们要做的。我们既有所需的深层技术能力,也有实用的基础设施。

第一步是为设备获取Wolfram语言驱动程序。一旦完成,一切都会从中流出。无论它只是将可计算版本的数据存储在Wolfram数据存储库中。或者通过Wolfram数据科学平台进行分析或报告。或者创建仪表板。或者通过API公开数据。或应用程序。或者从数据中生成警报。或者聚合大量数据。或者,就这一点而言,将来自多个设备的数据组合起来,例如实际上创建“合成传感器”。

有很多可能性。可以使用沃尔夫拉姆系统建模器要获得设备的模型,可以使用该模型实时运行模拟。或者可以使用控制系统功能在Wolfram语言中创建带有设备的控制器。或者在一个完全不同的方向上,可以使用我们的Wolfram | Alpha风格的语言功能,让最终用户对来自设备的数据进行自然语言或语音查询。

设备制造商通常需要几种常见的最终结果。一是应该可以从设备中获取数据并将其流入Wolfram数据科学平台,或者数学软件或其他Wolfram语言系统进行某种处理。另一个原因是,围绕设备的整个用户基础设施都是使用我们的技术构建的。比如在网络上或移动设备上为特定类型设备的每个用户创建一个门户或仪表板。这可以使用我们的云,也可以使用私有云。可以使用查询机制代替仪表板。比如通过人类的自然语言,或者通过机器或程序的结构化API。

在某些方面,目前连接设备的情况可能只是暂时的。因为我们主要考虑将设备连接到计算机,并让这些设备运行Wolfram语言。但在未来,Wolfram语言将在越来越小、越来越普遍的嵌入式计算机上运行。我预计,越来越多的联网设备最终将拥有运行内部Wolfram语言的计算机能力,这样它们就可以完全在内部完成各种Wolfram Language处理。

当然,即使在这种情况下,仍必须使用Wolfram语言代码从传感器等读取原始数据。因此,无法绕过构建驱动程序,就像当前大多数连接设备的设置方式一样。

我们现在已经积累了不少驾驶经验。对于简单的设备,这是一个快速的过程。但随着设备开始有更多命令,并可以生成更复杂的数据,这需要更长的时间。在很多方面,这感觉像是一项管理任务。考虑到我们拥有的所有Wolfram语言工具,它很少涉及操作数据的细节。相反,它是关于了解数据的含义,并将其编织到整个WDF和Wolfram语言框架中。

我们将为制造商提供一项服务,让他们与我们合作,将他们的设备连接到我们的系统。我们还计划运行一系列类似黑客马拉松的活动在这里,学生和其他人可以使用设备建立连接(通常最后会获得免费设备!)。

Wolfram设备黑客马拉松

目标是实现尽可能多种设备的无缝集成。我们拥有的设备种类越多,就会得到更多有趣的东西。因为这意味着我们可以连接到物理世界的越来越多的方面,并且能够对其进行越来越多的计算。

在沃尔夫拉姆语言中,我们有丰富的象征方式来代表世界。通过连接设备,我们可以将这种表示方式连接到世界上的真实事物上。并使Wolfram语言成为物联网的完整语言。

但今天我们迈出了第一步。启动Wolfram Connected Devices项目,开始管理当前一代物联网中迄今为止存在的事物。

 

访问Wolfram Connected Devices项目»

发布时间:新技术,Wolfram语言

6条评论

  1. 这是否适用于工业过程应用?OPC的替代品?

  2. 所以,这就是物联网的开始…

    …真的。

    但是隐私呢?有吗?Wolfram Connected Device的哪个部分将允许本地连接(我猜可能是通过wi-fi或zigbee)到Raspi或Edison SBC?我们最终会用……我们的数据来支付我们的数据吗?

  3. 这是怎么开始的?我对捕捉与蜂箱相关的环境量(湿度、温度、二氧化碳等)感兴趣。哪里是放置Wolfram语言的最佳位置?通常一个养蜂场会有多个蜂箱。每个蜂箱都可以是网格中的一个节点,其中有一个网关聚合数据。(网关的原因是物联网云似乎是通过API调用定价的,因此应尽量减少这些调用)。

  4. 是否已研究使用标准化方法描述各种物联网传感器?IEEE颁布了IEEE 1451来实现这一点。

  5. Wolfram语言能否与Estimote Beacons和相关技术配合使用?

  6. 我们需要更多更好(更详细)的文档和教程!