import logging import time import mariadb import serial.tools.list_ports from PyWeather.weather.stations.davis import VantagePro logging.basicConfig(filename="Stations.log", format='%(asctime)s %(message)s', filemode='a') logger = logging.getLogger('davis_api') logger.setLevel(logging.DEBUG) console_handler = logging.StreamHandler() console_handler.setLevel(logging.DEBUG) console_handler.setFormatter(logging.Formatter('%(asctime)s %(message)s')) logger.addHandler(console_handler) try: conn = mariadb.connect( user="wind", password="wind", host="193.124.203.110", port=3306, database="wind_towers" ) cursor = conn.cursor() except mariadb.Error as e: logger.error('DB_ERR: ' + str(e)) raise e while True: try: ports = serial.tools.list_ports.comports() available_ports = {} for port in ports: if port.serial_number == '0001': available_ports[port.name] = port.vid devices = [VantagePro(port) for port in available_ports.keys()] while True: for i in range(1): if len(devices) != 0: logger.info(devices) else: raise Exception('Can`t connect to device') time.sleep(60) except Exception as e: logger.error('Device_error' + str(e)) time.sleep(60) # todo переписать под influx, для линухи приколы сделать