Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
U
ubains-module-test
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
郑晓兵
ubains-module-test
Commits
04cfae97
提交
04cfae97
authored
5月 26, 2025
作者:
陈泽健
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
处理MQTT创建客户端实例时补充账号密码的配置。
上级
b755252c
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
28 行增加
和
4 行删除
+28
-4
Mqtt_Send.py
预定系统/Base/Mqtt_Send.py
+20
-2
Mqtt_Send.cpython-310.pyc
预定系统/Base/__pycache__/Mqtt_Send.cpython-310.pyc
+0
-0
README.md
预定系统/README.md
+2
-0
安卓信息.py
预定系统/cases/设备管理/安卓信息.py
+6
-2
没有找到文件。
预定系统/Base/Mqtt_Send.py
浏览文件 @
04cfae97
...
...
@@ -13,12 +13,14 @@ import paho.mqtt.client as mqtt
logging
.
basicConfig
(
level
=
logging
.
INFO
,
format
=
'
%(asctime)
s -
%(levelname)
s -
%(message)
s'
)
class
Mqtt
:
def
__init__
(
self
,
broker_address
,
port
):
def
__init__
(
self
,
broker_address
,
port
,
username
=
None
,
password
=
None
):
"""
初始化 MQTT 客户端
:param broker_address: MQTT 代理地址
:param port: MQTT 代理端口
:param username: MQTT 登录用户名(可选)
:param password: MQTT 登录密码(可选)
"""
self
.
lock
=
None
self
.
broker_address
=
broker_address
...
...
@@ -27,21 +29,37 @@ class Mqtt:
self
.
_received_message_lock
=
threading
.
Lock
()
self
.
received_message
=
None
self
.
message_type
=
None
self
.
username
=
username
self
.
password
=
password
def
connect
(
self
):
"""
连接到 MQTT 服务器
连接到 MQTT 服务器
,并支持账号密码登录
"""
try
:
self
.
client
=
mqtt
.
Client
()
# 如果提供了用户名和密码,则设置认证信息
if
self
.
username
and
self
.
password
:
self
.
client
.
username_pw_set
(
self
.
username
,
self
.
password
)
self
.
client
.
on_connect
=
self
.
on_connect
# 设置连接回调
self
.
client
.
on_message
=
self
.
on_message
# 设置消息回调
self
.
client
.
connect
(
self
.
broker_address
,
self
.
port
)
# 连接到代理
self
.
client
.
loop_start
()
# 启动网络循环
logging
.
info
(
"MQTT 客户端连接成功"
)
except
Exception
as
e
:
logging
.
error
(
f
"连接到MQTT服务器时发生错误: {e}"
)
raise
def
print_current_config
(
config
):
"""
打印当前MQTT消息配置信息
"""
print
(
"当前配置信息:"
)
for
key
,
value
in
config
.
items
():
print
(
f
"{key}: {value}"
)
def
disconnect
(
self
):
"""
断开与 MQTT 服务器的连接
...
...
预定系统/Base/__pycache__/Mqtt_Send.cpython-310.pyc
浏览文件 @
04cfae97
No preview for this file type
预定系统/README.md
浏览文件 @
04cfae97
...
...
@@ -304,3 +304,4 @@
-
增加兰州项目定制自动化处理,调试兰州自动化的JSON数据运行。
87.
2025-05-26:
-
使用crate_csv_test脚本生成安卓信息上报与心跳上报的csv文件,并使用MQTT脚本模拟两千台设备上报消息至预定系统。
-
处理MQTT创建客户端实例时补充账号密码的配置。
\ No newline at end of file
预定系统/cases/设备管理/安卓信息.py
浏览文件 @
04cfae97
...
...
@@ -31,7 +31,10 @@ if __name__ == "__main__":
interval_between_repeats
=
1
# 每次重复之间的间隔时间(秒)
# 创建 MQTT 客户端实例
mqtt_client
=
Mqtt
(
broker_address
,
port
)
mqtt_client
=
Mqtt
(
broker_address
,
port
,
username
,
password
)
# 设置 MQTT 服务器的用户名和密码
mqtt_client
.
connect
()
try
:
# 连接到 MQTT 服务器
...
...
@@ -44,7 +47,8 @@ if __name__ == "__main__":
# 遍历配置文件中的每一行数据
for
config
in
configs
:
# 构建消息内容-
#打印当前MQTT消息配置信息
Mqtt
.
print_current_config
(
config
)
# 构建消息内容
topic
=
config
[
"topic"
]
current_time
=
datetime
.
now
()
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论