Skip to content
Snippets Groups Projects
Select Git revision
  • f7dc36a58fd8dfb4fb5fb3115016d5a1e9ff644c
  • v2.0 default
  • main protected
3 results

thk_ledstrip_controller.h

Blame
  • 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