设备未接收阴影更新AWSIoT中的断开连接事件太多?

2024-03-28 17:48:30 发布

您现在位置:Python中文网/ 问答频道 /正文

服务器和设备之间的AWS IoT连接获得大量[断开连接]事件,并且设备未接收增量消息。你知道吗

我正在使用AWS IoT来允许一个自编的“控制器”(在raspberry pi上运行版本1.4.0中的AWSIoTPythonSDK,通过LTE棒连接)和一些AWS lambda函数(使用版本2.411.0中带有npm包AWS sdk的节点)之间的安全通信。安装程序通常是工作的,因此增量消息会被处理,并且阴影状态会不时更新。你知道吗

我使用python iot sdk示例中的默认配置作为初始配置:

myAWSIoTMQTTShadowClient = AWSIoTMQTTShadowClient(self.clientId)
        myAWSIoTMQTTShadowClient.configureEndpoint(self.host, self.port)
        myAWSIoTMQTTShadowClient.configureCredentials(self.rootCAPath, self.privateKeyPath, self.certificatePath)

        # AWSIoTMQTTShadowClient configuration - from AWS example
        myAWSIoTMQTTShadowClient.configureAutoReconnectBackoffTime(1, 32, 20)
        myAWSIoTMQTTShadowClient.configureConnectDisconnectTimeout(15)  # 10 sec
        myAWSIoTMQTTShadowClient.configureMQTTOperationTimeout(10)  # 5 sec

不幸的是,AWS中的许多阴影更新未被控制器识别,例如,没有记录有关新增量消息的信息。你知道吗

我已经尝试过不同的超时设置,启用和禁用OfflinePublishQueue,但是没有找到一个允许稳定使用的配置。你知道吗

我确实在客户端得到许多关于断开连接事件的日志记录:

2019-06-02 14:03:03,933 AWSIoTPythonSDK.core.protocol.internal.workers - [DEBUG] - Produced [disconnect] event
2019-06-02 14:03:03,933 AWSIoTPythonSDK.core.protocol.internal.workers - [DEBUG] - Dispatching [disconnect] event
2019-06-02 14:03:04,333 AWSIoTPythonSDK.core.protocol.connection.cores - [DEBUG] - backOff: current backoff time is: 32 sec.

另外,相应的MQTT主题$aws/events/presence/disconnected/<clientId>显示了大量正在进行的连接/断开(使用AWS IoT测试菜单)。你知道吗

我真的不知道如何获得一个更稳定的连接,GSM信号是好的,我们已经有了更好的连接质量在早期版本的控制器。只要有近30%的信息没有被设备接收到,整个设置就不起作用。你知道吗


Tags: coredebugself版本aws消息事件sdk