【问题标题】:Python MQTT Client publish isn't handling variablePython MQTT 客户端发布未处理变量
【发布时间】:2017-03-17 14:55:12
【问题描述】:

我的代码:

myTopic = "lab"
myPayload = ""
qos = 1
myPayload = input('Enter a message to publish: ')
myAWSIoTMQTTClient.publish(myTopic, myPayload, qos)

当我运行脚本时,设备连接到 AWS IoT,并出现“输入要发布的消息:”提示。我输入“hello”(没有引号),它返回以下错误:

Traceback (most recent call last):
File "customAWSIoTscript.py", line 65, in <module>
myPayload = input('Enter a message to publish: ')
File "<string>", line 1, in <module>
NameError: name 'hello' is not defined

但是,当我用函数中的字符串替换 myPayload 变量时,它可以正常工作。同样,如果我设置 myPayload = "hello",它也可以工作。去掉引号 myPayload = hello,它会失败。

所以我确定 myAWSIoTMQTTClient.publish 正在寻找一个字符串,但为什么它不接受来自我的 input() 函数的字符串?

【问题讨论】:

    标签: python amazon-web-services aws-sdk aws-iot


    【解决方案1】:

    在 AWS 开发人员论坛上收到了答案。长话短说 - 这是 AWS IoT Python SDK v1.1.0 中的一个已知错误,将在下一次更新中解决。在我标记为答案的回复中引用了一个修补程序。

    https://forums.aws.amazon.com/thread.jspa?threadID=242462

    所以我想这只是一个知识库帖子,供那些碰巧遇到我的问题的人使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多