问题标签 [eclipse-vorto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
91 浏览

arduino - Vorto Arduino Generator:没有已知的数据类型参数的转换百分比

使用湿度功能块时,不会编译 Arduino 的 Vorto 自动生成代码

我生成了一个带有温度和湿度功能块的信息模型,在编译 Arduino 自动生成的代码时,百分比数据类型不会编译

这是湿度功能块的存储库。

我希望代码能够编译并闪存到 NodeMCU V0.9

这是完整的错误信息

0 投票
1 回答
76 浏览

iot - 是否有 Vorto Eclipse 模型导入器 API

我正在设置自动化,并想询问是否有用于导入 Vorto 模型的 API。现在,看起来只能通过网站(https://vorto.eclipse.org/#/import)。

https://www.eclipse.org/vorto/swagger/有一个“Vorto Importer Plugin API”。我猜这个 API 只用于导入插件,顾名思义。

如果这不可用,是否有计划实现这样的功能?

0 投票
1 回答
64 浏览

bosch-iot-suite - 使用 Vorto 指定头盔接口

如何简单地使用 vorto 进行烟雾测试?

使用 vorto 集成同上和设备

在拓扑中,device-hono-vorto-ditto,我们想要最简单的方法来测试工作流,有什么方法吗?

0 投票
1 回答
42 浏览

bosch-iot-suite - 提取的jar文件找不到主类

无法找到或加载主类 org.eclipse.vorto.example.mapping.HonoPayloadApp

在HonoPayloadApp项目中,我解压了jar文件,但是运行jar文件时报找不到主类,确保解压的动作是正确的。

java -cp hono-payloadmapping.jar org.eclipse.vorto.example.mapping.HonoPayloa dApp 启动错误:无法找到或加载主类 org.eclipse.vorto.example.mapping.HonoPayloadApp

vorto代码有没有限制,因为我在winrar中看到jar文件,似乎有点不正常。

0 投票
2 回答
87 浏览

java - 在 Vorto 中使用自定义 javascript 转换解析非固定格式的二进制有效负载

我们现在主要将 Vorto 用作规范化格式,并开始研究使用映射引擎将不同的有效载荷格式映射到 Vorto 模型。我或多或少地了解如何使用 xpath 和转换函数从 JSON 或二进制有效负载映射功能块属性。但是,我不清楚如何支持使用这种方法解析非固定格式的二进制有效负载。例如,我们有一个现成的 LoRaWAN 传感器,它以以下格式传输: <length><frame type>[<sensor-id><sensor-value>]其中 length 是总帧长度,而 sensor-id(例如温度、湿度、电池等)描述了如何解析传感器值(即长度,数据类型)。在一帧中,这些读数中的多个可能以随机顺序出现。

在 loraserver.io 中,可以使用一个小的 javascript 函数轻松完成解析,该函数遍历所有字节并返回解析的属性。同样的方法也适用于同上有效载荷映射引擎 afaik。但是,目前我看不到如何在 Vorto 映射中做类似的事情。当然,这只是一个特定的传感器示例,但市场上存在更多使用类似动态有效载荷格式的示例。我知道已经有一个未解决的问题 (#1535) 来改进文档,但是知道使用映射 DSL 是否可以进行这种灵活的解析已经很有帮助。

我尝试将原始有效负载作为字节数组传递给 javascript 函数。为了测试这一点,我复制org.eclipse.vorto.mapping.engine.converter.binary.BinaryMappingTest#testMappingBinaryContaining2DataPoints并调整了模型以使用这样的自定义 javascript 函数

这个函数的输出是

其中值 1 是使用的字节数组的第一个元素。

所以该函数似乎没有将参数作为 bytearray 接收。模型配置为,因此有效负载以与测试 ( )中相同的方式.withXPathStereotype("custom:extractTemperature(data)", "demo")传递 (as )。我现在看到的唯一区别是,在测试中,bytearray 参数被传递给 Java 函数而不是 javascript 函数。还是我错过了什么?BinaryDatatestMappingBinaryContaining2DataPoints.withXPathStereotype("custom:convert(vorto_conversion1:byteArrayToInt(data,0,0,0,2))", "demo")testMappingBinaryContaining2DataPoints

另外,我注意到循环关键字喜欢for并且while在 javascript 代码中是不允许的。因此,即使我可以访问 javascript 函数中的 bytearray 参数,我现在也看不到如何迭代它。

在 gitter 上,我收到了以下回复(连同将讨论移至 SO 的建议)

你说的对。我们将 Javascript 函数的使用限制为非常基本的语言关键字集,不包括 for 循环,因为在那里可以实现讨厌的东西。您可以做的是在您自己的命名空间中向映射引擎注册一个 java 函数。该函数可以保存一个字节数组。稍后这个函数可以作为标准函数贡献给映射引擎,以提取某个值供其他开发人员重用。

但是,我认为这不是解决问题的方法。如上所述,这只是现成的传感器有效载荷格式的一个示例,我看不出如何将其概括到足以包含在映射引擎中的通用函数中。而且我认为不需要在 Java 中实现特定于传感器的转换,因为(作为想要部署新传感器类型的物联网平台的最终用户)这比一点 javascript 开发和部署更复杂可以在映射规范中在运行时更改的函数。我看到能够在 javascript 中进行简单映射有很多价值,就像可以在例如loraserver.ioEclipse Ditto中完成一样。

我认为能够将字节数组传递给 javascript 是第一步。另外我想知道在javascript中允许循环的风险到底在哪里?例如,Ditto 在 javascript 沙箱中也有一些限制(请参见此处),但这允许循环并且仅防止无限循环和递归。他们声明如下:

使用 Rhino 代替 Nashorn(Java 附带的较新的 JavaScript 引擎)的好处是可以以更好的方式应用沙盒。需要对不同的有效负载脚本进行沙盒处理,因为 Ditto 旨在作为云服务运行,其中同时为不同的租户管理到不同端点的多个连接。这需要隔离每个单独的脚本以避免干扰其他脚本并保护执行脚本的 JVM 免受有害代码执行。

在 Vorto 中使用 Rhino 是否也可以控制您看到的风险并允许在 Vorto 映射中构建循环?

PS:有足够的声望点的人可以添加标签eclipse-vorto吗?

0 投票
2 回答
169 浏览

node.js - 为 Bosch iot 套件运行 Vorto Dashboard 时出错

我正在尝试在 Raspberry Pi 上运行 Vorto 仪表板以可视化我的博世物联网“事物”数据。

为了运行 Vorto 仪表板,我安装了 npm 和 nodejs 并创建了 config.json 文件。

每当我尝试使用命令运行仪表板时,我都会收到以下错误:sudo vorto-dashboard config.json知道我已经添加了 OAuth2 客户端凭据。

没有给出凭据,拿不到东西

无法使用给定凭据获取令牌。- StatusCodeError: 400 - {"error":"unauthorized_client","error_description":"INVALID_CREDENTIALS: 无效的客户端凭据"}

0 投票
1 回答
93 浏览

node.js - Vorto-Dashboard 不显示设备数据

我正在尝试在我的 Raspberry pi 上运行 Vorto-dashboard 以显示温度传感器数据。我创建了一个信息模型,集成了设备,使用 python 脚本发送了数据。

我设法按照教程中的说明运行仪表板,但问题是仪表板显示黑屏而没有任何输出。

凭据已使用 .bashrc 中的环境变量传递,正如我提到的那样,使用config.json文件传递​​它们已被省略,如下所示

我可以使用 Bosch IoT Swagger UI“Bosch Things API”查看传感器数据,但在仪表板中看不到任何内容。我尝试使用以下命令运行仪表板,输出始终相同

我得到的终端输出如下

应用程序在端口 8080 上运行 使用 filterString 查询后端...后端

使用 filterString 查询...位置无法获取设备 img,使用

默认 vorto 徽标... StatusCodeError: 401 - "" 无法获取设备 img,使用默认 vorto 徽标... StatusCodeError: 401 - ""

=> 成功拉出 2 个东西。为过滤器找到 2 个东西

=> 成功拉出 2 个东西。为过滤器位置找到 2 件事后端用 filterString 查询...

=> 成功拉出 2 个东西。找到了 2 件事情,用于使用 filterString 查询的过滤器后端...

=> 成功拉出 2 个东西。为过滤器找到 2 个东西

我想问一下是否有人遇到过类似的问题或者我做错了什么

0 投票
1 回答
56 浏览

mosquitto - 消息未在 Eclipse Vorto Semantic Normalizer 中间件中映射

我正在流动这个链接,在步骤 3.4 之前一切正常。但是当我使用此mosquitto_pub命令将消息发布到博世物联网集线器时。

Normalizer Frontend 显示我发布的消息。

但是输出日志没有像教程那样的任何消息

并且没有错误消息。

mapping_specs 已添加。

并且所有插件都处于非活动状态。

为什么?有什么问题?

0 投票
0 回答
52 浏览

eclipse-vorto - 使用 Eclipse Vorto 描述“类似 PDDL”的操作

我开始在我的项目中使用 Eclipse Vorto,作为我的设备描述的一部分,我想包括具有前提条件和效果的操作,就像 PDDL 的情况一样(请参阅https://en.wikipedia.org/wiki/Planning_Domain_Definition_Language) . 例如,我想包括以下操作(使用 PDDL 形式):

我阅读了 vortolang 文档(https://github.com/eclipse/vorto/blob/master/docs/vortolang-1.0.md),唯一部分符合目的的类是Operation该类。先前的 PDDL 操作将映射到以下内容:

当然,这样会失去前提条件和效果。有没有一种“类似漩涡”的方式来表达这种 PDDL 动作?

0 投票
1 回答
94 浏览

bosch-iot-suite - Vorto 仪表板不显示设备型号

运行 vorto 仪表板时出现以下错误

config.json的内容如下

尝试将 config.json 的内容设置为环境变量。然后我也得到同样的错误。附上访问 localhost:8080 的 web 前端截图 在此处输入图像描述

尝试使用以下链接为 Bosch iot suite 运行 Vorto Dashboard 时出错。但它仍然无法正常工作。请帮我解决这个问题