以下是使用AWS IoT SDK for Python接收消息的示例代码:
from AWSIoTPythonSDK.MQTTLib import AWSIoTMQTTClient
def message_handler(client, userdata, message):
print("Received a new message: ")
print(message.payload)
print("--------------\n\n")
# 初始化AWS IoT MQTT客户端
myMQTTClient = AWSIoTMQTTClient("myClientId")
myMQTTClient.configureEndpoint("your-iot-endpoint", 8883)
myMQTTClient.configureCredentials("path/to/rootCA.pem", "path/to/privateKey.pem", "path/to/certificate.pem")
# 连接到AWS IoT
myMQTTClient.connect()
# 订阅主题
myMQTTClient.subscribe("myTopic", 1, message_handler)
# 保持运行,接收消息
while True:
pass
# 断开连接
myMQTTClient.disconnect()
在这个示例中,我们首先导入AWSIoTMQTTClient类,并定义了一个message_handler函数来处理接收到的消息。然后,我们创建了一个AWSIoTMQTTClient对象,并为其配置AWS IoT的端点、凭证等信息。接下来,我们连接到AWS IoT,订阅一个主题,并进入一个无限循环来保持接收消息的状态。最后,我们在需要时断开与AWS IoT的连接。
请根据实际情况替换示例代码中的your-iot-endpoint和路径到rootCA.pem、privateKey.pem和certificate.pem的文件路径。