Files
python----/智慧校园/同文/班牌机mqtt.ipynb
T
admin 2d8c1ea8f9 chore: 批量新增各类工具脚本与配置文件
1. 新增音频录制、下载、上传相关脚本
2. 新增数据库操作、API调用工具
3. 新增Excel数据处理脚本
4. 新增弱密码检测脚本
2026-06-14 17:47:15 +08:00

5.0 KiB

In [1]:
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 [2]:
data = get(f"{ip}/workforce/classTeamMachine/list",headers=header,params={
    "page": "0",
    "size": "100",
    "teamId": teamId
}).json()["data"]["content"]
In [3]:
tem = []
for item in data:
    if item["classroom"]  != "鸿兴测试分组":
        tem.append(item)
In [4]:
data = tem
In [5]:
from paho.mqtt import client as mqtt
import json
In [6]:
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 [6]:
0
In [8]:
client.publish(topic, "hello world")
Out [8]:
<paho.mqtt.client.MQTTMessageInfo at 0x1f295d5cef0>
In [ ]:
for item in data:
    print(item)
    mac=item["mac"]
    topic=f"cmd/publicizeBanpai/{mac}/cmd"
    message={
        "type":"info"
    }
    client.publish(topic, json.dumps(message,ensure_ascii=False))
In [11]:
for item in data:
    mac=item["mac"]
    topic=f"cmd/publicizeBanpai/{mac}/cmd"
    message="reboot -p"
    client.publish(topic, message)
In [7]:
topic=f"cmd/publicizeBanpai/08E60E75E09E/control"
message={"type":"info"}
client.publish(topic, json.dumps(message,ensure_ascii=True))
Out [7]:
<paho.mqtt.client.MQTTMessageInfo at 0x1f295d5c360>
In [ ]: