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
EXPERTE
gefragt vor 5 Monaten33 Aufrufe
1 Antwort
0

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

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

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

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

祝好, Philipp

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen