我有五个树莓派3来收集IOT数据。只有一个客户端抛出此错误,
这是回溯消息:
Traceback (most recent call last):
File "./uploadRecordDegree.py", line 57, in <module>
auth=auth, client_id=client_id)
File "/usr/local/lib/python3.5/dist-packages/paho/mqtt/publish.py", line 232, in single
protocol, transport, proxy_args)
File "/usr/local/lib/python3.5/dist-packages/paho/mqtt/publish.py", line 167, in multiple
client.connect(hostname, port, keepalive)
File "/usr/local/lib/python3.5/dist-packages/paho/mqtt/client.py", line 941, in connect
return self.reconnect()
File "/usr/local/lib/python3.5/dist-packages/paho/mqtt/client.py", line 1119, in reconnect
return self._send_connect(self._keepalive)
File "/usr/local/lib/python3.5/dist-packages/paho/mqtt/client.py", line 2647, in _send_connect
self._pack_str16(packet, self._client_id)
File "/usr/local/lib/python3.5/dist-packages/paho/mqtt/client.py", line 2496, in _pack_str16
packet.extend(data)
TypeError: an integer is required
这是我的测试代码:
BOX = {"1234": "balabala"}
host = "192.168.10.11"
port = 1883
topic = "iot/device"
auth = {'username': 'xxxx','password': 'xxxxx'}
payload = json.dumps(BOX)
client_id = "testNode"
publish.single(topic, payload, qos=1, hostname=host, port=port,
auth=auth, client_id=client_id)
我的Python版本是3.5.2 paho-mqtt 版本是 1.5.1
每个客户端都具有相同的 paho-mqtt 版本,相同的代码。 我不知道出了什么问题。
这个问题你解决了吗? 我在尝试连接和订阅时遇到同样的情况 我使用的是 python 3.12 泛美卫生组织-MQTT 1.6.1
我的参数是
host = 'localhost'
port = 1883
keepalive = 60
properties = Properties(PacketTypes.CONNECT) // because I am using MQTT_5