AWSIoTPythonSDK - OSError: [WinError 10038] An operation was attempted on something that is not a socket

0

Trying to connect to a IoT thing via code to simulate a device with Python. This code was working before and now I'm getting this error.

The code is straight forward.

import time as t
from datetime import datetime
import AWSIoTPythonSDK.MQTTLib as AWSIoTPyMQTT

def helloworld(self, params, packet):
    print(packet.payload)


myCLIENT = AWSIoTPyMQTT.AWSIoTMQTTClient('test_thing')
myCLIENT.configureEndpoint('myEndPoint', 8883)
myCLIENT.configureCredentials("Path to AmazonRootCA1.pem", "Path to private.pem.key", "Path to certificate.pem.crt")

myCLIENT.configureOfflinePublishQueueing(-1)  # Infinite offline Publish queueing
myCLIENT.configureDrainingFrequency(2)  # Draining: 2 Hz
myCLIENT.configureConnectDisconnectTimeout(10)  # 10 sec
myCLIENT.configureMQTTOperationTimeout(5)  # 5 sec

print('Connecting...')
myCLIENT.connect()
print('Connected')


def loop():
    temperature = 20
    humidity = 67

    while True:
        curr_dt = datetime.now()
        myCLIENT.publish(
            topic='test_thing/test',
            payload='{"timestamp": ' + str(int(round(curr_dt.timestamp()))) + ', "temperature": ' + str(temperature) + ', "humidity":' + str(humidity)+', "project_id": 1}',
            QoS=1)
        if temperature < 25:
            temperature += 0.01
            humidity += 0.005
        else:
            temperature -= 0.01
            humidity -= 0.005
        t.sleep(1)


if __name__ == '__main__':
    try:
        loop()
    except KeyboardInterrupt:
        myCLIENT.disconnect()

And I'm getting this error when trying to connect

test_thing.py:24: in <module>
    myCLIENT.connect()
..\..\Anaconda3\lib\site-packages\AWSIoTPythonSDK\MQTTLib.py:355: in connect
    return self._mqttCore.connect(keepAliveIntervalSecond)
..\..\Anaconda3\lib\site-packages\AWSIoTPythonSDK\core\protocol\mqttCore.py:282: in connect
    self._pahoClient.connect(self._host, self._port, keepAliveInterval)  # Throw exception...
..\..\Anaconda3\lib\site-packages\AWSIoTPythonSDK\core\protocol\paho\client.py:655: in connect
    return self.reconnect()
..\..\Anaconda3\lib\site-packages\AWSIoTPythonSDK\core\protocol\paho\client.py:807: in reconnect
    self._sock.setblocking(0)
E   OSError: [WinError 10038] An operation was attempted on something that is not a socket

Any ideas where the problem might be?

gefragt vor einem Jahr61 Aufrufe
Keine Antworten

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