# -*- 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()