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