问题标签 [eclipse-hono]

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 回答
130 浏览

javascript - 同上 HTTP API 服务器发送事件 CORS 错误

Hono+Ditto使用安装helm-charts,如cloud2edge中所述。

这意味着 Hono+Dittominikube在我的 PC 上运行。我还创建了连接、策略和设备。到目前为止一切正常。

在下一步中,我只是编写了一个简单的“前端”来从 Ditto-HTTP-API 获取事物状态。只要我通过 fetch-API 手动获取事物状态,一切都很好。但是,一旦我尝试使用 SSE(事件源),就会收到以下 CORS 错误:

从昨天开始,我一直在为这个错误而苦苦挣扎,我在互联网上找到的关于 CORS 错误的答案都没有工作:(。

如何使用 Eventsource 从我的 PC 与 Ditto 通信而不会出现 CORs 错误?

下面是我的简单前端:

谢谢!

0 投票
1 回答
46 浏览

kubernetes-helm - 使用 Enmasse 部署 Hono

我使用 Hono 有一段时间了,它是一个非常棒的 IoT-Hub - 感谢您的出色工作 :) 现在我正在努力前进,正如Hono 文档所推荐的那样,我想整合 EnMasse 项目和用 EnMasse 替换默认的“AMQP 消息传递网络”。

阅读 EnMasse-Doc 后,我意识到实际上 EnMasse 也通过Qpid Dispatch 路由器(多个)ActiveMQ Artemis使用与 Hono 相同的“AMQP 网络”结构!

现在我的问题是:

  • Hono 中默认的 AMQP-Messaging Network 和 EnMasse 之间实际上有什么区别?
  • 我在网上搜索了很多,但没有找到关于如何在 Hono 中集成 EnMasse 的答案。我很感激任何从哪里开始的想法!

提前致谢!

0 投票
1 回答
82 浏览

amqp - 整合 Hono 和 Enmasse

我正在尝试使用 enmasse 部署 hono。为此,我已经安装了 enmasse 并在此存储库之后创建了地址空间和地址。

如关于 artifacthub 的hono-doc中所述。首先,我创建了一个秘密。

my_secret.yaml

并将其应用到 hono-namespace 中:

kubectl apply -f ./hono/my_secret.yaml -n hono

之后,我创建了自己的 values.yaml 文件来覆盖 hono 默认值,如“与现有 AMQP 消息网络集成”中所述。

my_values.yaml

至少我安装了 hono:

helm install -n hono -f ./hono/my_values.yaml c2e eclipse-iot/hono

但不幸的是,我收到错误并且 pod 运行不正常,特别是我从所有尝试连接到 enmasse-Amqp 网络的 pod 中收到这些错误:

  1. 挂载错误:未挂载秘密文件“amqp-credentials.properties”:pod 的日志文件显示“没有这样的文件或目录”:

10:47:45.645 [vert.x-eventloop-thread-0] 警告 oehconfig.ClientConfigProperties - 无法从文件 [/etc/ 加载 [messaging-5355a0a.enmasse-infra:5672,角色:命令和控制] 的客户端凭据custom/amqp-credentials.properties] java.io.FileNotFoundException: /etc/custom/amqp-credentials.properties(没有这样的文件或目录)

  1. 错误的 AMQP 连接:出于某种原因,所有 pod 都尝试通过“amqps”连接到 enmasse,即使我明确表示他们应该通过端口号使用“amqp”而不提供 crt-keys!我错了吗?

我在这里做错了什么?

此外,如果有人可以提供一个示例性的“Hono+Enmasse”集成存储库,那就太好了。

谢谢

0 投票
0 回答
70 浏览

amqp - Hono 和 Enmass 集成引发事件错误

我正在尝试使用 enmasse 部署 hono。为此,我已经安装了 enmasse 并创建了地址空间和地址,如下所示:

enmasse_iot.yaml

Hono 安装在 helm 图表上并使用以下值文件:

然后我创建了租户“iot1”并将“dev”添加到 Hono 中的这个租户。之后,我写了一个简单的 AMQP-receiver 并开始实例化如下:

另一方面,我的模拟设备将自身与 Hono 的 MQTT 适配器连接,并通过 mqtt 发布遥测和事件。遥测数据由第一个 amqp-receiver 接收,没有任何问题。但是一旦发布事件,Hono 的 MQTT-Adapter 就会引发“无可用信用”错误!

您可以在此处找到 Hono 和 Enmasse 的日志文件。

  1. enmasse 经纪人有问题 - 查看日志文件?
  2. 我的 enmasse 设置错了吗?或者是为 Hono 设置 enmassse 的更好、更清洁的方法?
  3. 应该如何处理事件和命令?

谢谢!

更新

似乎 artemis-broker 无法即时创建事件端点。即从队列“事件”发送和接收工作正常,但与租户的扩展(例如“事件/iot1”)不起作用,这导致hono 的MQTT 适配器中没有可用的信用错误。知道如何在 enmasse yaml 文件中设置 Artemis 的“自动创建-*”选项吗?

0 投票
1 回答
19 浏览

eclipse-hono - Eclipse Hono Auth Server Shared Secret 的零停机轮换

我们正在运行 Eclipse Hono,并希望对集群中的所有组件执行零停机更新。

对于不同 Eclipse Hono 组件之间的身份验证,我们使用 Hono Auth Service。在那里,我们配置了一个共享密钥 ( HONO_AUTH_SVC_SIGNING_SHARED_SECRET) 用于签署已发行的令牌。消费服务(例如命令路由器/Mongo DB 设备注册表)配置有相同的秘密。

在更改共享密钥时,我们同时需要重新启动上述微服务的所有实例,这会导致停机时间较短。如果我们执行滚动更新,旧实例将不会验证已使用新共享密钥运行的实例的已颁发令牌。

有没有人遇到同样的问题,或者知道如何执行零停机更新?

解决我们的问题的一个选项是可以在另一个HONO_AUTH_VALIDATION_SHARED_SECRET秘密(HONO_AUTH_VALIDATION_SHARED_SECRET_FALLBACK像这样,我们可以在不停机的情况下对所有组件进行滚动更新。

据我所知,使用证书而不是共享密钥具有相同的限制。

谢谢克里斯

0 投票
2 回答
38 浏览

eclipse-hono - 如何将网络节点的 Eclipse Sparkplug Edge 与 Eclipse Hono 集成

我有兴趣让 EoN 节点通过 Eclipse Hono MQTT 代理发布和接收消息。在阅读文档时,Eclipse Hono 中的标准 MQTT 适配器似乎强制设备发布到“遥测”主题或“事件”主题。

此主题不适用于 Sparkplug 规范中定义的标准化 Sparkplug 主题命名空间。

Eclipse Hono 是否可以“开箱即用”地处理 Sparkplug 主题,或者是否需要编写特定的 MQTT 适配器?

如果需要编写特定的适配器,是否有明确的文档说明如何执行此操作?

谢谢你。

0 投票
1 回答
26 浏览

eclipse-hono - 设备注册表管理 API - 设备 - 不区分大小写的搜索

在使用设备注册表管理 API 搜索具有可选过滤器、分页和排序选项的租户的设备时,如何进行不区分大小写的搜索?

0 投票
1 回答
107 浏览

python - 使用 python proton 连接到 Eclipse Hono AMQP 适配器

我目前正在尝试通过 AMPQ 适配器向 Hono 沙箱发送遥测消息。尽管我接管了在Hono Noth 桥示例中看到的部分代码示例(这也适用于南桥),但我似乎对 SASL 有点挣扎。

这是我的代码

如果我运行代码,我会收到上下文条件的传输错误

'预期的 SASL 协议头:未找到协议头(连接中止)'

我还尝试使用端口 5672 导致链接错误并使用端口 15672(实际上是北桥端口) - 令我惊讶的是,这并没有导致 SASL 错误,而是让我得到了预期的“未授权”错误(如设备不允许通过北桥连接)

======= 更新=======

再次感谢您的时间。

关于a),因为一旦将代码作为问题的答案,这里的评论就相当有限。我用来模拟设备的代码如下

为了模拟服务器,我不使用 java 客户端,而是使用 python 快速入门示例中的示例代码。我还有一个客户端类,它像 python 快速启动示例中那样执行 http 调用,服务器类会做出反应并打印消息 - 所以根据我的理解,下面概述的服务器实现应该没问题:

经过一天的尝试,我找不到我做错了什么,我真的希望你能看到我错过了什么:)

br 阿明

0 投票
1 回答
81 浏览

python - 在 AMQP 设备上回复 Hono 命令

我正在尝试创建一个能够从 hono 接收命令并回复它的原型设备。

我已经安装了 hono 1.10.0 并运行以下 python 代码

在发送 AMQP 1.0 消息的难度的帮助下并根据我对https://www.eclipse.org/hono/docs/api/command-and-control/https://www.eclipse .org/hono/docs/user-guide/amqp-adapter/#sending-a-response-to-a-command

目前我似乎并没有那么错,因为设备收到了命令,并且发送消息也没有显示任何错误。然而,在接收端什么都没有到达。澄清一下,AmqpReceiver 实现适用于我侦听遥测数据的场景。因此,如果实现应该是相同的(除了不同的地址),那么这应该不是问题。

我非常相信我对消息中的地址/reply_to 做错了,但我无法确认,因为 hono pod 中的日志没有告诉我任何事情:(

br 阿明

======更新================================

我当前运行的代码如下

在测试脚本中我使用如下

如果我运行该代码示例,我会得到以下日志(见下文)并且代码被卡住,因为命令回复接收器保持打开状态。

登录hono调度路由器:

登录 amqp 适配器

0 投票
0 回答
31 浏览

eclipse-hono - 在 Eclipse Hono 上激活 Prometheus?

我最近在 minikube 上安装了 eclipse-hono driver=none

我想使用 Grafana 向我展示遥测数据,因此我需要使用 Prometheus。

如下图所示,没有为 Grafana 或 Prometheus 分配端口。

1

这个端口需要暴露,因为我需要从运行 hono 的服务器外部访问应用程序。

如何激活 prometheus 和 grafana 服务?