AWS IoT核心向主题发布MQTT消息

0

【以下的问题经过翻译处理】 大家好,我刚开始使用 AWS IoT Core。我正在使用 raspberry pi 向控制台发送和接收带有传感器数据的消息。我可以成功发送消息,但我无法接收我发布到同一主题的消息(当我发布到该主题时,我在树莓派上看不到它们)我正在使用我在此处找到的用于空间占用的模板:< https://aws.amazon.com/blogs/iot/monitor-and-visualise-building-occupancy-with-aws-iot-core-amazon-quicksight-and-raspberry-pi/>

我还想知道如何将我发送的消息保存到一个变量中,以便在我的程序中使用。

from datetime import datetime

global message
import requests
import time
从 AWSIoTPythonSDK.MQTTLib 导入 AWSIoTMQTTClient

myMQTTClient = AWSIoTMQTTClient("outsidecam")
myMQTTClient.configureEndpoint("myendpoint", 8883)

myMQTTClient.configureCredentials("/home/pi/certs/Amazon-root-CA-1.pem", "/home/pi/certs/private.pem.key", "/home/pi/certs//home/pi /certs/certificate.pem.crt")

print ('Initiating Realtime Data Transfer From Raspberry Pi...')

myvar=myMQTTClient.connect()

date = datetime.now().strftime("%Y_%m_%d-%I:%M:%S_%p")
print (f"Timestamp:{date}")

while True:
    print("Sending message")
    message= "This is a Test"
    myMQTTClient.publish("topic/pi", "{\"MotionMessage\":\""+ message + "\", \"Timestamp\" :\""+ str(date)+ "\"}", 0)
    time.sleep(60)

profile picture
专家
已提问 5 个月前27 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好 AWS-currydem,

从我看来,你的代码只发布消息。如果要接收消息,你需要订阅一个主题。你也在使用旧版的 AWS IoT 设备 SDK。

你可以尝试使用当前的 AWS IoT 设备 SDK v2 for Python。它还包括一个 发布/订阅示例

在上述示例中,消息存储在变量中,然后再发布。这将满足你存储消息在变量中的用例。

祝好, Philipp

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则