【发布时间】:2016-10-03 16:39:24
【问题描述】:
我正在寻找一种方法让我的 ESP8266 Arduino 设备订阅 IBM Watson IoT 平台以接收设备管理消息(重启、更新等)。我找到了使用 PubSubClient 库 (https://developer.ibm.com/recipes/tutorials/run-an-esp8266arduino-as-a-iot-foundation-managed-device/) 来执行此操作的示例,但是,我还没有找到使用 TLS1.2 的 PubSubClient 的工作示例(此项目的要求)。因此,我目前正在使用 Adafruit_MQTT_Client,它可以使用 TLS1.2 连接并发布到 Watson,但我还没有成功订阅该平台。如果有人能提出使用 TLS1.2 连接、发布和订阅 IBM Watson IoT 平台的方法,将不胜感激!
【问题讨论】:
-
如果您可以使用 TLS1.2 成功连接并发布到 IoT 平台,那么 IMO 问题不在于您的 ESP8266 到 IoT 平台的连接,即问题不在于 TLS,因为相同TCP 连接用于发布设备数据和订阅设备的管理命令。可能您对设备的命令主题订阅不正确,或者您没有向 IoTP 指定您的设备接受命令。
-
IoTP 的文档在 bluemix 中可用:new-console.ng.bluemix.net/docs/services/IoT/index.html 看看下面的开发设备->设备管理协议和设备管理请求。您提供的信息无法更具体:“没有成功”。
-
感谢您的回复。在使用板管理器更新到 esp8266 2.3.0 后,我成功地能够使用 TLS 1.2 获取 PubSubClient 库来连接、发布和订阅 Watson IoT。我现在能够成功接收以前使用 Adafruit_MQTT_Client 没有的请求。
-
@JC_123 您是否介意证明您如何解决此问题的摘要作为问题的答案,以帮助面临类似问题的其他人。您的设备似乎需要更新才能使用 TLS 1.2
标签: mqtt iot esp8266 tls1.2 watson-iot