8.5 KiB
8.5 KiB
In [1]:
import time
import paho.mqtt.client as mqtt
client = None
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("连接成功")
print("Connected with result code " + str(rc))
print(userdata)
print(client)
print(flags)
def on_message(client, userdata, msg):
print(msg.payload)
print(userdata)
# client.publish(topic="/gsm_rfid_reader/id865860043897629/register_ack", payload="message", qos=0)
# print("发送了1条消息")
client = mqtt.Client(client_id="xtl")
client.username_pw_set("admin", "password")
client.on_connect = on_connect
client.on_message = on_message
client.connect(host="139.159.254.43", port = 42070, keepalive=60) # 订阅频道
time.sleep(1)
client.subscribe(topic="/gsm_rfid_reader/device/register")
client.subscribe(topic="/gsm_rfid_reader/report/card_data_all")
client.subscribe(topic="/gsm_rfid_reader/report/card_data_gps")
client.subscribe(topic="/json/sys/865860043897629/rrpc/request/state/ack")
client.loop_forever()[1;31m---------------------------------------------------------------------------[0m [1;31mConnectionRefusedError[0m Traceback (most recent call last) Cell [1;32mIn[1], line 20[0m [0;32m 18[0m client[38;5;241m.[39mon_connect [38;5;241m=[39m on_connect [0;32m 19[0m client[38;5;241m.[39mon_message [38;5;241m=[39m on_message [1;32m---> 20[0m client[38;5;241m.[39mconnect(host[38;5;241m=[39m[38;5;124m"[39m[38;5;124m222.187.254.43[39m[38;5;124m"[39m, port [38;5;241m=[39m [38;5;241m42070[39m, keepalive[38;5;241m=[39m[38;5;241m60[39m) [38;5;66;03m# 订阅频道[39;00m [0;32m 21[0m time[38;5;241m.[39msleep([38;5;241m1[39m) [0;32m 22[0m client[38;5;241m.[39msubscribe(topic[38;5;241m=[39m[38;5;124m"[39m[38;5;124m/gsm_rfid_reader/device/register[39m[38;5;124m"[39m) File [1;32md:\Anaconda3\Lib\site-packages\paho\mqtt\client.py:914[0m, in [0;36mClient.connect[1;34m(self, host, port, keepalive, bind_address, bind_port, clean_start, properties)[0m [0;32m 910[0m [38;5;28;01mraise[39;00m [38;5;167;01mValueError[39;00m([38;5;124m"[39m[38;5;124mProperties only apply to MQTT V5[39m[38;5;124m"[39m) [0;32m 912[0m [38;5;28mself[39m[38;5;241m.[39mconnect_async(host, port, keepalive, [0;32m 913[0m bind_address, bind_port, clean_start, properties) [1;32m--> 914[0m [38;5;28;01mreturn[39;00m [38;5;28mself[39m[38;5;241m.[39mreconnect() File [1;32md:\Anaconda3\Lib\site-packages\paho\mqtt\client.py:1044[0m, in [0;36mClient.reconnect[1;34m(self)[0m [0;32m 1041[0m [38;5;66;03m# Put messages in progress in a valid state.[39;00m [0;32m 1042[0m [38;5;28mself[39m[38;5;241m.[39m_messages_reconnect_reset() [1;32m-> 1044[0m sock [38;5;241m=[39m [38;5;28mself[39m[38;5;241m.[39m_create_socket_connection() [0;32m 1046[0m [38;5;28;01mif[39;00m [38;5;28mself[39m[38;5;241m.[39m_ssl: [0;32m 1047[0m [38;5;66;03m# SSL is only supported when SSLContext is available (implies Python >= 2.7.9 or >= 3.2)[39;00m [0;32m 1049[0m verify_host [38;5;241m=[39m [38;5;129;01mnot[39;00m [38;5;28mself[39m[38;5;241m.[39m_tls_insecure File [1;32md:\Anaconda3\Lib\site-packages\paho\mqtt\client.py:3685[0m, in [0;36mClient._create_socket_connection[1;34m(self)[0m [0;32m 3683[0m [38;5;28;01mreturn[39;00m socks[38;5;241m.[39mcreate_connection(addr, timeout[38;5;241m=[39m[38;5;28mself[39m[38;5;241m.[39m_connect_timeout, source_address[38;5;241m=[39msource, [38;5;241m*[39m[38;5;241m*[39mproxy) [0;32m 3684[0m [38;5;28;01melse[39;00m: [1;32m-> 3685[0m [38;5;28;01mreturn[39;00m socket[38;5;241m.[39mcreate_connection(addr, timeout[38;5;241m=[39m[38;5;28mself[39m[38;5;241m.[39m_connect_timeout, source_address[38;5;241m=[39msource) File [1;32md:\Anaconda3\Lib\socket.py:853[0m, in [0;36mcreate_connection[1;34m(address, timeout, source_address, all_errors)[0m [0;32m 851[0m [38;5;28;01mtry[39;00m: [0;32m 852[0m [38;5;28;01mif[39;00m [38;5;129;01mnot[39;00m all_errors: [1;32m--> 853[0m [38;5;28;01mraise[39;00m exceptions[[38;5;241m0[39m] [0;32m 854[0m [38;5;28;01mraise[39;00m ExceptionGroup([38;5;124m"[39m[38;5;124mcreate_connection failed[39m[38;5;124m"[39m, exceptions) [0;32m 855[0m [38;5;28;01mfinally[39;00m: [0;32m 856[0m [38;5;66;03m# Break explicitly a reference cycle[39;00m File [1;32md:\Anaconda3\Lib\socket.py:838[0m, in [0;36mcreate_connection[1;34m(address, timeout, source_address, all_errors)[0m [0;32m 836[0m [38;5;28;01mif[39;00m source_address: [0;32m 837[0m sock[38;5;241m.[39mbind(source_address) [1;32m--> 838[0m sock[38;5;241m.[39mconnect(sa) [0;32m 839[0m [38;5;66;03m# Break explicitly a reference cycle[39;00m [0;32m 840[0m exceptions[38;5;241m.[39mclear() [1;31mConnectionRefusedError[0m: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
In [ ]:
import paho.mqtt.client as mqtt
import time
import sys
def on_connect(client, userdata, flags, rc):
print("Connected with result code " + str(rc))
def on_publish(self,one,two):
print("消息发送成功")
client = mqtt.Client(client_id="1")
client.username_pw_set("admin", "password")
client.on_connect = on_connect
client.on_publish= on_publish
client.connect(host="222.187.254.43", port=43703, keepalive=60) # 订阅频道
time.sleep(1)
i = 0
while True:
data = "message" + str(i)
client.publish(topic="Top", payload=data, qos=0)
time.sleep(5)
i += 1
if(i == 100):
print("发送了100条消息了,退出")
client.disconnect()
In [ ]:
import datetime
datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')