MQTT/publisher.py

94 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
'''
@project: mqtt
@file: publisher.py
@version: python3.10
@Author: jcq
@Date : 2024/12/11
@
'''
import time
import sys
import random
import json
import paho.mqtt.client as mqtt
from loguru import logger
from simulation import generate_fight_data ,generate_data
# 101.133.163.127
# 1883
# admin
# admin##123
# MQTT Broker 地址和端口
broker = "101.133.163.127" # 在远程服务器上可改为对应的 IP 地址
# broker = "localhost" # 在远程服务器上可改为对应的 IP 地址
port = 1883
topic = "test/topic"
logger.add(sys.stderr,format = "{time}-{level}-{message}",level="INFO")
logger.add("logs/mqtt.log",rotation="1 MB",retention='5 days')
# 创建客户端
client = mqtt.Client()
# 连接到 Broker
client.connect(broker, port)
# 发布消息
#发布假数据做测试用
try:
# 设置初始经纬度
initial_latitude = 31.8250608
initial_longitude = 118.7630802
delta = 0.5
# 发布消息
try:
# 设置初始经纬度
initial_latitude = 31.8250608
initial_longitude = 118.7630802
delta_latitude = 0.5
delta_longitude = 0.5
for i in range(100):
message = f"Hello MQTT {i}"
# 开始生成数据
flight_data_json = generate_fight_data(initial_latitude, initial_longitude)
initial_latitude += delta_latitude
initial_longitude += delta_longitude
messa = json.dumps(flight_data_json)
client.publish(topic, messa)
print(f"Published: {message}")
print(f"Published: {messa}")
time.sleep(0.5)
finally:
client.disconnect()