【问题标题】:Trickle error :- failed:connection refused涓流错误:-失败:连接被拒绝
【发布时间】:2018-01-03 11:15:47
【问题描述】:

我有一个 Azure IoT Hub 端点,我必须在其中发送一些数据(考虑小字符串)。我想设置将数据发送到该 url 的速度,并使用 Trickle 来实现。

我想

trickle -d 30 -u 30 wget http://armtest1.azure-devices.net 

会做这项工作,但它正在显示

失败:连接被拒绝

也试过这样:

trickle -d 30 -u 30 wget --user=[myusername] --password=[mypassword] --auth-no-challenge http://armtest1.azure-devices.net

但仍然出现同样的错误。

如果你们指出我的错误并给我一个使用涓流实现这一点的方法,那将非常有帮助。

【问题讨论】:

  • 连接被拒绝听起来好像端口 80 中根本没有 Web 服务器,或者有防火墙阻止了你。

标签: linux azure-iot-hub trickle


【解决方案1】:

Azure IoT 中心通过根据共享访问策略和身份注册表安全凭据验证令牌来授予对端点的访问权限。 Azure IoT Hub 支持 MQTT、AMQP 和 HTTPS,这些支持的协议以不同的方式传输令牌。HTTPS 通过在授权请求标头中包含有效令牌来实现身份验证。 如果要使用 REST API 访问(发送数据)到 Azure IoT Hub,需要指定现有设备。请尝试执行以下命令:

trickle -s -d 30 -u 30 \
wget --header="Authorization:<generated SAS token for device>" \
     --header="Content-Type:application/json" \
     --post-data '<your data in json style>' \
     "https://<your-iothub-host>.azure-devices.net/devices/<device id>/messages/events?api-version=2016-02-03"

在命令中,有一点需要说明。

  • 为设备生成 SAS 令牌:您可以使用Device Explorer 生成令牌。请参考本文中的步骤 2 (Sending events to IOT Hub over HTTP via REST)。
  • 您的 json 样式数据:您要发送到 IoT Hub 的数据。它是 JSON 格式。
  • your-iothub-host:您可以在 Azure Portal 中获取 IoT Hub 的主机名。这是您创建 IoT Hub 时的名称。

当你成功执行命令后,会有如下响应:

Connecting to <your-iothub-host>.azure-devices.net (<your-iothub-host>.azure-devices.net)|<ipaddress>|:443... connected.
HTTP request sent, awaiting response... 204 No Content
2018-01-03 22:33:53 (0.00 B/s) - ‘events?api-version=2016-02-03’ saved [0]

而且,IoT Hub 会收到消息,您可以通过设备资源管理器monitor the events

【讨论】:

  • 抱歉回复晚了。谢谢你的解决方案。会调查的。谢谢:)
  • 不客气。如果有任何问题,请随时告诉我。
  • 谢谢先生。 :)
  • @Sumana Bagchi。如果您认为此回复可以满足您的要求,请将其标记为答案(stackoverflow.com/tour),以便对遇到类似问题的其他人有所帮助。谢谢。
  • 当然,先生。对不起,来晚了。感谢您的帮助
猜你喜欢
  • 2019-08-22
  • 2014-01-07
  • 1970-01-01
  • 1970-01-01
  • 2016-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多