Select Git revision
gen_data.py
receive_create_log.py 2.42 KiB
from src import MQTT
import time
import logging
import asyncio
import datetime
### Ask for settings and individual credentials ###
MQTT_USER = ""
MQTT_PASSWORD = ""
# MQTT_BROKER = "127.0.0.1"
# MQTT_PORT = 1883
# MQTT_VHOST = "/"
# to connect to the central MQTT-Broker of MQ-MS use the following settings:
MQTT_BROKER = "wzl-mbroker01.wzl.rwth-aachen.de"
MQTT_PORT = 1883
MQTT_VHOST = "metrology"
### Ask for settings and individual credentials ###
topic = "#" # set topic to subscribe according to MQTT syntax!
qos = 0 # set QoS according to MQTT specifications!
lasertracker_counter = 0
border = [6e5, 12e5, 18e5, 24e5, 30e5, 36e5, 42e5, 48e5, 54e5, 60e5]
def print_mqtt_message(topic, message):
global lasertracker_counter
line = "{}\r\n### {} ###\r\n{}\r\n".format(datetime.datetime.utcnow().isoformat() + "Z", topic,
message.decode("utf-8"))
with open('./out.txt', 'a') as outfile:
if 'radian-e7ccdff2-764d-42b2-91af-4dd52f9187e6' in topic:
if lasertracker_counter < border[0] or border[1] < lasertracker_counter < border[2] \
or border[5] < lasertracker_counter < border[6]:
if lasertracker_counter % 10 == 0:
outfile.write(line)
elif border[0] < lasertracker_counter < border[1] or border[4] < lasertracker_counter < border[5] \
or lasertracker_counter > border[9]:
return
elif border[2] < lasertracker_counter < border[3] or border[6] < lasertracker_counter < border[7]:
outfile.write(line)
elif border[3] < lasertracker_counter < border[4] or border[7] < lasertracker_counter < border[8]:
if lasertracker_counter % 100 == 0:
outfile.write(line)
lasertracker_counter += 1
else:
outfile.write(line)
if __name__ == "__main__":
console_log = logging.StreamHandler()
console_log.setFormatter(MQTT.formatter)
MQTT.logger.addHandler(console_log)
MQTT.logger.setLevel(logging.INFO)
client = MQTT.MQTTReceiver(MQTT_USER)
client.connect(MQTT_BROKER, MQTT_PORT, MQTT_VHOST + ":" + MQTT_USER, MQTT_PASSWORD)
client.set_callback("PRINT", print_mqtt_message)
client.subscribe(topic, qos)
loop = asyncio.get_event_loop()
while True:
try:
time.sleep(0.001)
except KeyboardInterrupt:
break