我在一台机器上安装了eclipse-hono,另一台机器上安装了Eclipse ditto,并且连接到相同的WIFI。我正在尝试使用从Eclipse hono到Eclipse ditto的数据。
我创建了一个名为tenantallAdapters的租户,并注册了一个名为4716的设备。
让我们假设我需要将温度传感器数据从租户中已注册的设备发送到Hono消费者,如下面的代码片段所示。
curl -i -X POST \
-u sensor10@tenantAllAdapters \
-H 'Content-Type: application/json' \
--data-binary '{"temp": 5}' \
http://10.196.2.164:8080/telemetry
我还按照以下方式启动Hono消费者
mvn spring-boot:run -Drun.arguments=\
--hono.client.host=10.196.2.164,\
--hono.client.username=consumer@HONO,\
--hono.client.password=verysecret,\
--hono.auth.amqp.bindAddress=10.196.2.164,\
--hono.auth.amqp.keyPath=target/certs/auth-server-key.pem,\
--hono.auth.amqp.certPath=target/certs/auth-server-cert.pem,\
--hono.auth.amqp.trustStorePath=target/certs/trusted-certs.pem,\
--tenant.id=tenantAllAdapters
我能够在Hono消费者中成功接收数据。
如何代替Hono使用者,如何在Ditto中使用相同的数据?
已编辑:根据下面第一条评论中的博客:
通过HTTP“测试连接”命令以测试Ditto沙箱是否可以连接到Hono一个
$ curl -X POST -i -u devops:devopsPw1! -H 'Content-Type: application/json' -d '{
"targetActorSelection": "/system/sharding/connection",
"headers": {
"aggregate": false
},
"piggybackCommand": {
"type": "connectivity.commands:testConnection",
"connection": {
"id": "hono-sandbox-connection-1",
"connectionType": "amqp-10",
"connectionStatus": "open",
"uri": "amqp://consumer%40HONO:verysecret@hono.eclipse.org:15672",
"failoverEnabled": true,
"sources": [{
"addresses": [
"telemetry/org.eclipse.ditto",
"event/org.eclipse.ditto"
],
"authorizationContext": ["nginx:demo5"]
}]
}
}
}' https://ditto.eclipse.org/devops/piggyback/connectivity?timeout=8000
我不确定是否丢失了任何东西
答案 0 :(得分:3)
您可能要遵循此博客文章中提供的指导: https://www.eclipse.org/ditto/2018-05-02-connecting-ditto-hono.html
答案 1 :(得分:1)
在我将此问题发布到这里之前,我一直关注https://www.eclipse.org/ditto/2018-05-02-connecting-ditto-hono.html。
但是我唯一缺少的是devops用户的密码。如前所述,也如给定链接中所述,我正在使用devopsPw1!作为密码。我将密码更改为foobar后,Hono和Ditto建立了联系。