Files
python----/智慧校园/同文/班牌机mqtt.ipynb
T
admin aac9f5934d feat: 添加多个功能模块和工具脚本
- 新增websocket客户端和服务端实现
- 添加图片压缩工具和快速压缩脚本
- 实现学生信息处理相关API
- 添加MQTT客户端和消息处理功能
- 更新.gitignore忽略更多文件类型
- 添加数据库操作工具和示例
- 实现多个测试脚本和工具类
2026-04-13 14:47:50 +08:00

4.7 KiB

In [18]:
from requests import get,post
import time
ip = "http://band.hxzhxy.cn"
# ip  = "http://192.168.0.209:8100"
param = {
    "username": "tw_xiatianle",
    "password": "xia123456",
    "client_id": "client",
    "grant_type": "password",
    "client_secret": "123456",
}
data = get(url=f"{ip}/oauth/token",params=param).json()
token = data["access_token"]
header = {
    "content-type": "application/json",
    "authorization": f"Bearer {token}",
}
teamId="119"
In [19]:
data = get(f"{ip}/workforce/classTeamMachine/list",headers=header,params={
    "page": "0",
    "size": "100",
    "teamId": teamId
}).json()["data"]["content"]
In [20]:
tem = []
for item in data:
    if item["classroom"]  != "鸿兴测试分组":
        tem.append(item)
In [21]:
data = tem
In [22]:
from paho.mqtt import client as mqtt
import json
In [23]:
broker = 'band.hxzhxy.cn'
# broker = '192.168.0.111'
port = 1883
topic = "/python/mqtt"
client_id = f'python-mqtt-demo'
# MQTT客户端的回调函数
def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc))
    # 连接成功后订阅主题
    # client.subscribe("#")

def on_message(client, userdata, msg):
    print(msg.topic+" "+str(msg.payload))

# 创建MQTT客户端实例
client = mqtt.Client(client_id=client_id)

# 绑定回调函数
client.on_connect = on_connect
client.on_message = on_message

# 连接到MQTT代理
client.connect(broker, port, 60)
Out [23]:
0
In [24]:
client.publish(topic, "hello world")
Out [24]:
<paho.mqtt.client.MQTTMessageInfo at 0x1b6a5f5e0c0>
In [ ]:
for item in data[0:1]:
    print(item)
    mac=item["mac"]
    topic=f"cmd/publicizeBanpai/08E60E75E09E/control"
    message={
        "type":"info"
    }
    client.publish(topic, json.dumps(message,ensure_ascii=False))
In [31]:
topic=f"cmd/publicizeBanpai/08E60E75E09E/control"
message={"type":"info"}
client.publish(topic, json.dumps(message,ensure_ascii=True))
Out [31]:
<paho.mqtt.client.MQTTMessageInfo at 0x1b6a5c2bec0>
In [ ]: